@preply/ds-docs 10.0.0 → 11.0.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 (251) hide show
  1. package/dist/assets/{00.LayoutFlex.stories-DB9Y25qw.js → 00.LayoutFlex.stories-lllooXjc.js} +1 -1
  2. package/dist/assets/{00.applications-C7qyvM1y.js → 00.applications-ApRgtzMF.js} +1 -1
  3. package/dist/assets/{00.favicons.guide-BmYhSQZH.js → 00.favicons.guide-4ivqvu_K.js} +1 -1
  4. package/dist/assets/{00.token-explorer-zaz4V88E.js → 00.token-explorer-DCBSOdHJ.js} +6 -6
  5. package/dist/assets/{00.using-responsive-props-DKW-uWVH.js → 00.using-responsive-props-BhAkr9Gn.js} +1 -1
  6. package/dist/assets/{01.semantic-tokens-Qf9qY_Sk.js → 01.semantic-tokens-BBQKcQ5o.js} +1 -1
  7. package/dist/assets/{01.using-shorthand-props-BedWZyE3.js → 01.using-shorthand-props-SxccG8oR.js} +1 -1
  8. package/dist/assets/{10.Combinations.stories-DL8TmNJ4.js → 10.Combinations.stories-D3XySbv3.js} +1 -1
  9. package/dist/assets/{10.fonts.guide-DWCtIfPx.js → 10.fonts.guide-p4vZ2TE8.js} +1 -1
  10. package/dist/assets/{10.ssr-FDyVDtdm.js → 10.ssr-BLS5aGYV.js} +1 -1
  11. package/dist/assets/11.fonts.explorer-BMm1rcuE.js +2 -0
  12. package/dist/assets/{11.ssr.app-router-C5TwsO2T.js → 11.ssr.app-router-B_LdKMuw.js} +1 -1
  13. package/dist/assets/{20.libraries-Cnl2_NKK.js → 20.libraries-Uutk1t-k.js} +1 -1
  14. package/dist/assets/{2025-q4-ds-cleanup-Bpa9AZ8j.js → 2025-q4-ds-cleanup-D2AonoQX.js} +1 -1
  15. package/dist/assets/30.icons.explorer-D63Br7GU.js +72 -0
  16. package/dist/assets/{30.storybook-C9GpdY6w.js → 30.storybook-B_OtmSNE.js} +1 -1
  17. package/dist/assets/{40.illustrations.explorer-BRtj5sFB.js → 40.illustrations.explorer-Pi9iaQwM.js} +1 -1
  18. package/dist/assets/{90.advanced-hNSc64rO.js → 90.advanced-tEkbHxcl.js} +1 -1
  19. package/dist/assets/{Accordion-CedlUpYk.js → Accordion-2avWtqXz.js} +4 -4
  20. package/dist/assets/{Accordion.stories-K6mzrdt8.js → Accordion.stories-CLwah67K.js} +1 -1
  21. package/dist/assets/{Accordion.tests.stories-B6lTbT6X.js → Accordion.tests.stories-CFH7p1Jq.js} +1 -1
  22. package/dist/assets/{AlertBanner.primitives.stories-CX03Ob-5.js → AlertBanner.primitives.stories-DpA-of6O.js} +1 -1
  23. package/dist/assets/{AlertBanner.stories-Cla7i7qF.js → AlertBanner.stories-B7xxyCn2.js} +2 -2
  24. package/dist/assets/{AlertBannerAction-CW-WBC-Q.js → AlertBannerAction-D14MnnIA.js} +33 -33
  25. package/dist/assets/AlertDialog-B5rRXSxb.js +4 -0
  26. package/dist/assets/AlertDialog.stories-BKT7nitb.js +232 -0
  27. package/dist/assets/{Avatar-Dlo9b83e.js → Avatar-Die_4zu0.js} +1 -1
  28. package/dist/assets/{Avatar.stories-B27rtxK8.js → Avatar.stories-DJHK0lEC.js} +1 -1
  29. package/dist/assets/{AvatarWithStatus.stories-DBeEaQQL.js → AvatarWithStatus.stories-E9QQr3Dr.js} +1 -1
  30. package/dist/assets/{Badge-CEZW6Ww4.js → Badge-BSDHZ3bI.js} +2 -2
  31. package/dist/assets/{Badge.stories-ioY8q4d7.js → Badge.stories-6FOVA96I.js} +1 -1
  32. package/dist/assets/{Box.stories-udfSjNu1.js → Box.stories-DAVs5Qmd.js} +1 -1
  33. package/dist/assets/{BubbleCounter.stories-D2G7jKKI.js → BubbleCounter.stories-DHv_hrNV.js} +1 -1
  34. package/dist/assets/{Button-DS2bg8PO.js → Button-C0Um_QuO.js} +2 -2
  35. package/dist/assets/{Button.stories-VD5Bx8BA.js → Button.stories-CTSwUwYJ.js} +1 -1
  36. package/dist/assets/{ButtonBase-CPJxprWJ.js → ButtonBase-DGinnt2u.js} +1 -1
  37. package/dist/assets/{ButtonBase-sV1YoG7h.js → ButtonBase-HkSfLFbE.js} +1 -1
  38. package/dist/assets/{CalloutBanner.stories-Cda3BZCl.js → CalloutBanner.stories-C62ApsKt.js} +19 -19
  39. package/dist/assets/{Checkbox-Cmmcg7FL.js → Checkbox-U8uzIr-e.js} +3 -3
  40. package/dist/assets/{Checkbox.stories-B0kQw-sr.js → Checkbox.stories-ClI-ZBnj.js} +1 -1
  41. package/dist/assets/{Checkbox.tests.stories-DDyVlpZg.js → Checkbox.tests.stories-CrLxNZ2d.js} +1 -1
  42. package/dist/assets/{Chips.stories-DcxW_jqF.js → Chips.stories-BMxD1fH1.js} +1 -1
  43. package/dist/assets/{Color-ASIRERSW-9q9Af87o.js → Color-ASIRERSW-BsR8auWQ.js} +1 -1
  44. package/dist/assets/ComposingDialogs.stories-DwVqal9K.js +111 -0
  45. package/dist/assets/{ComposingPopovers.stories-Co69SyGH.js → ComposingPopovers.stories-DtmTbsU_.js} +1 -1
  46. package/dist/assets/CountryFlag-D40CtNEa.js +49 -0
  47. package/dist/assets/{CountryFlag.stories-o-8kmOZA.js → CountryFlag.stories-hf40f81N.js} +1 -1
  48. package/dist/assets/{CountryFlag.test.stories-CKkoBStk.js → CountryFlag.test.stories-Bde0Okud.js} +1 -1
  49. package/dist/assets/{Dialog-DaLOtRn0.js → Dialog-CJQmu6iz.js} +1 -1
  50. package/dist/assets/{Dialog.primitives.stories-CDU4GhAO.js → Dialog.primitives.stories-BRGfipHO.js} +2 -2
  51. package/dist/assets/{Dialog.stories-N8LTxdNu.js → Dialog.stories-D4tyIGD0.js} +27 -22
  52. package/dist/assets/Dialog.test.stories-xCqInD69.js +146 -0
  53. package/dist/assets/{DialogActions-_9FMsJ9P.js → DialogActions-GLMqsJfB.js} +30 -30
  54. package/dist/assets/{DialogCloseButton-CDDeMFIL.js → DialogCloseButton-D5YliaRd.js} +47 -55
  55. package/dist/assets/{DismissibleChips-X4A9KOxs.js → DismissibleChips-YCE2ttV-.js} +1 -1
  56. package/dist/assets/{DismissibleChips.stories-DbnvLIw0.js → DismissibleChips.stories-Cx3sJ6UG.js} +1 -1
  57. package/dist/assets/{Divider-WS0wDfQZ.js → Divider-j3vJV734.js} +1 -1
  58. package/dist/assets/{Divider.stories-BO1cg142.js → Divider.stories-CK-PipZt.js} +1 -1
  59. package/dist/assets/{DocsRenderer-GHJI37HO-CzsXSkAO.js → DocsRenderer-GHJI37HO-WuLZQEsz.js} +2 -2
  60. package/dist/assets/{DropdownMenu-CB6xg9YD.js → DropdownMenu-CgNvtJ2F.js} +409 -409
  61. package/dist/assets/{DropdownMenu.stories-E-6mIs-U.js → DropdownMenu.stories-DpmKDI1Q.js} +82 -56
  62. package/dist/assets/{FieldButton-CYcQXg37.js → FieldButton-DpHF49o_.js} +1 -1
  63. package/dist/assets/{FieldButton.stories-UNjMUuGT.js → FieldButton.stories-C7v9WweE.js} +1 -1
  64. package/dist/assets/{FormControl-DgD7Nr_L.js → FormControl-Zqf1cIwP.js} +1 -1
  65. package/dist/assets/{FormControl.stories-DlqjswdS.js → FormControl.stories-D4xKaMaA.js} +1 -1
  66. package/dist/assets/{Heading-BPJGe0Bg.js → Heading-Cj8Si45g.js} +1 -1
  67. package/dist/assets/{Heading.stories-B9_Jr0z3.js → Heading.stories-BG_kLNJz.js} +1 -1
  68. package/dist/assets/{Icon-kphbe0CE.js → Icon-CC0yjdx9.js} +2 -2
  69. package/dist/assets/{Icon-RSC-BcGoz5Ez.js → Icon-RSC-Cl0H44C3.js} +1 -1
  70. package/dist/assets/{Icon.stories-CKAjKBCa.js → Icon.stories-DAIYY4Bp.js} +1 -1
  71. package/dist/assets/IconButton-BpjNyYgD.js +8 -0
  72. package/dist/assets/IconTile-CAnlU9ss.js +1 -0
  73. package/dist/assets/IconTile-DDvHA75S.css +1 -0
  74. package/dist/assets/IconTile.stories-DnUYn3Id.js +88 -0
  75. package/dist/assets/{Input-Cp2OkxN8.js → Input-DuW1_5SG.js} +16 -16
  76. package/dist/assets/{InputContainer-BlXlJbfJ.js → InputContainer-Cmdo_xyq.js} +1 -1
  77. package/dist/assets/{IntegrationWithReactHookForm.stories-BstJWvGF.js → IntegrationWithReactHookForm.stories-9EImL3zR.js} +1 -1
  78. package/dist/assets/{IntlFormattedCurrency.stories-CXBsKa8I.js → IntlFormattedCurrency.stories-j1D4xFto.js} +9 -9
  79. package/dist/assets/{IntlFormattedDateTime.stories-m5rFuyxv.js → IntlFormattedDateTime.stories-BCwbTrw1.js} +7 -7
  80. package/dist/assets/{LayoutFlex-Drgj-jqd.js → LayoutFlex-CTH6ELdm.js} +1 -1
  81. package/dist/assets/{LayoutFlex-p_p7LCCd.js → LayoutFlex-DXRMJ9FH.js} +1 -1
  82. package/dist/assets/{LayoutFlexItem-DrxhQlf5.js → LayoutFlexItem-lmgCv4Y9.js} +1 -1
  83. package/dist/assets/{LayoutGrid-DZv08iKe.js → LayoutGrid-CUGRXgEO.js} +1 -1
  84. package/dist/assets/{LayoutGrid-eROIp1sZ.js → LayoutGrid-SAztDD7Z.js} +1 -1
  85. package/dist/assets/{LayoutGrid.stories-DAnbCvD6.js → LayoutGrid.stories-2dbzhVi7.js} +1 -1
  86. package/dist/assets/{LayoutGridItem-DiU_IdjQ.js → LayoutGridItem-UTn4G6JO.js} +1 -1
  87. package/dist/assets/{Link-BHV5DCu-.js → Link-BAFCJR3T.js} +1 -1
  88. package/dist/assets/{Link.stories-CFRsbzfM.js → Link.stories-6gHkl5xC.js} +1 -1
  89. package/dist/assets/{Loader.stories-bvaq9oGD.js → Loader.stories-CG-Eo8vg.js} +1 -1
  90. package/dist/assets/{MultiSelectChips-CVg9kaKd.js → MultiSelectChips-CBnEtn4N.js} +2 -2
  91. package/dist/assets/{MultiSelectChips.stories-DOiIDnhX.js → MultiSelectChips.stories-Ch4FxGM2.js} +1 -1
  92. package/dist/assets/{NativeSelectField.stories-DojmcjvT.js → NativeSelectField.stories-Pj5dm9hL.js} +21 -21
  93. package/dist/assets/NumberField-klmIiQAi.js +6 -0
  94. package/dist/assets/{NumberField.stories-BEVJXeBn.js → NumberField.stories-D740jISy.js} +1 -1
  95. package/dist/assets/{ObserveIntersection-MtxhRIzU.js → ObserveIntersection-Dx2gD1CU.js} +2 -2
  96. package/dist/assets/{ObserveIntersection.stories-0f-z6V25.js → ObserveIntersection.stories-JJPEw5oG.js} +1 -1
  97. package/dist/assets/{OnboardingTooltip-DdKwzkB-.js → OnboardingTooltip-DzQhJzWc.js} +1 -1
  98. package/dist/assets/OnboardingTooltip-X4QjsIe6.css +1 -0
  99. package/dist/assets/{OnboardingTooltip.stories-DV2yAiRE.js → OnboardingTooltip.stories-BDgRgbzO.js} +1 -1
  100. package/dist/assets/{OnboardingTooltip.tests.stories-32a4fLzf.js → OnboardingTooltip.tests.stories-DrqovP8T.js} +1 -1
  101. package/dist/assets/{OnboardingTour-m4V6QT-X.js → OnboardingTour-B5gEod5H.js} +1 -1
  102. package/dist/assets/OnboardingTour-DoEbirUE.css +1 -0
  103. package/dist/assets/{OnboardingTour.stories-dLZBYgbr.js → OnboardingTour.stories-BzHBS52z.js} +2 -2
  104. package/dist/assets/{OnboardingTour.tests.stories-BnPXyzmi.js → OnboardingTour.tests.stories-CHMykq2a.js} +1 -1
  105. package/dist/assets/PasswordField-BjqiXySY.js +6 -0
  106. package/dist/assets/{PasswordField.stories-BxnBBn2_.js → PasswordField.stories-YCTP14pU.js} +1 -1
  107. package/dist/assets/{PreplyLogo.stories-BuK8vK1R.js → PreplyLogo.stories-lPBmn_E2.js} +1 -1
  108. package/dist/assets/{ProgressBar.stories-CwpXa86g.js → ProgressBar.stories-DqvDJEeF.js} +1 -1
  109. package/dist/assets/{ProgressSteps-DCVAFT7X.js → ProgressSteps-Dce_SjLt.js} +1 -1
  110. package/dist/assets/{ProgressSteps.stories--reXlzAk.js → ProgressSteps.stories-BMDqz7-Z.js} +1 -1
  111. package/dist/assets/{PromoDialog-BPWEGGGS.js → PromoDialog-DdnXVfH8.js} +2 -2
  112. package/dist/assets/{RangeSlider-BKIG-XfV.js → RangeSlider-MZqvjtBp.js} +1 -1
  113. package/dist/assets/{RangeSlider.stories-Dr7UfAUm.js → RangeSlider.stories-BS4-l1u4.js} +1 -1
  114. package/dist/assets/{Rating.stories-Cmpcr64W.js → Rating.stories-wHsrBw3w.js} +1 -1
  115. package/dist/assets/{RatingInput.stories-DWxrhIwu.js → RatingInput.stories-BKAXF4Qv.js} +2 -2
  116. package/dist/assets/{SelectField-BRicVVj7.js → SelectField-DU60q2LU.js} +13 -13
  117. package/dist/assets/{SelectField.stories-D6sJHBcs.js → SelectField.stories-BKCyFPQa.js} +2 -2
  118. package/dist/assets/{ShowOnIntersection.stories-DT94aTYJ.js → ShowOnIntersection.stories-BdO_3n9P.js} +1 -1
  119. package/dist/assets/{SingleSelectChips-B1d9MkC-.js → SingleSelectChips-CDtny-H7.js} +2 -2
  120. package/dist/assets/{SingleSelectChips.stories-QdsPQJO8.js → SingleSelectChips.stories-CTAvW0Y9.js} +1 -1
  121. package/dist/assets/{Slider-CVM0huNa.js → Slider-B8ndK7PX.js} +1 -1
  122. package/dist/assets/{Slider.stories-UCLuhto1.js → Slider.stories-CBV0fePJ.js} +1 -1
  123. package/dist/assets/{Spinner-BG27lVzS.js → Spinner-8-RB4YZR.js} +1 -1
  124. package/dist/assets/{Stars-St7ZRTZK.js → Stars-BSTkfC0i.js} +1 -1
  125. package/dist/assets/{Steps-CBqiqb-6.js → Steps-DUeCVcxV.js} +1 -1
  126. package/dist/assets/{Steps.stories-DOWMlpTM.js → Steps.stories-DqOo6fKy.js} +1 -1
  127. package/dist/assets/{Switch-DJROHOKs.js → Switch-Dyoj_Z1P.js} +1 -1
  128. package/dist/assets/{Switch.stories-C9cCCv8l.js → Switch.stories-CDVDjU2B.js} +1 -1
  129. package/dist/assets/{Text-FXv4P3JX.js → Text-DJTKRzSb.js} +1 -1
  130. package/dist/assets/{Text-C8DrHLQF.js → Text-DvShrljd.js} +1 -1
  131. package/dist/assets/{Text.stories-Cmn2Kn0h.js → Text.stories-DRuLuJwb.js} +1 -1
  132. package/dist/assets/TextField-BSJgR_zK.js +6 -0
  133. package/dist/assets/{TextField.stories-Bly_tLuN.js → TextField.stories-rtu-asgN.js} +1 -1
  134. package/dist/assets/{TextHighlighted.stories-CdIzDMMS.js → TextHighlighted.stories-Bc0bMLCv.js} +1 -1
  135. package/dist/assets/{TextInline.stories-NWWAzVY1.js → TextInline.stories-DKWvwjg6.js} +1 -1
  136. package/dist/assets/{TextareaField-DDEIieQg.js → TextareaField-DUqOyVK5.js} +21 -21
  137. package/dist/assets/{TextareaField.stories-CyuOlu4z.js → TextareaField.stories-CiRYJL_j.js} +1 -1
  138. package/dist/assets/{Toast.stories-BFWVkg8-.js → Toast.stories-S5qFLRPf.js} +1 -1
  139. package/dist/assets/{TokyoUIAttach-Bj2xsZ5E.js → TokyoUIAttach-BsMlsNHQ.js} +1 -1
  140. package/dist/assets/{TokyoUIAvailability7LateNight-CyPCBR0g.js → TokyoUIAvailability7LateNight-BUCnoHXS.js} +1 -1
  141. package/dist/assets/{TokyoUICheck-Cg3ZJnmD.js → TokyoUICheck-DQLX_x10.js} +1 -1
  142. package/dist/assets/{TokyoUICheckmark-CPDgq6wU.js → TokyoUICheckmark-BHJrELn_.js} +1 -1
  143. package/dist/assets/{TokyoUIChevronDown-CqAWFBEe.js → TokyoUIChevronDown-DiBNbDdz.js} +1 -1
  144. package/dist/assets/{TokyoUIChevronRight-UHMBQAxX.js → TokyoUIChevronRight-DRhJYmWB.js} +1 -1
  145. package/dist/assets/{TokyoUIClose-DoJfpCh8.js → TokyoUIClose-BfMyMrDa.js} +1 -1
  146. package/dist/assets/{TokyoUIEmojiFrowning-Bztw_WuD.js → TokyoUIEmojiFrowning-DkxcBN-M.js} +1 -1
  147. package/dist/assets/{TokyoUIErrorWarning-CE6C7y8g.js → TokyoUIErrorWarning-GuwQvo24.js} +1 -1
  148. package/dist/assets/{TokyoUIExerciseClosedGapsJumble-OGZLJcQZ.js → TokyoUIExerciseClosedGapsJumble-C8roFqfh.js} +1 -1
  149. package/dist/assets/{TokyoUIEye-BRl8T4Ci.js → TokyoUIEye-oyrTN--k.js} +1 -1
  150. package/dist/assets/{TokyoUIFav-w08HsdRu.js → TokyoUIFav-C-stY9U_.js} +1 -1
  151. package/dist/assets/{TokyoUIInfo-BoGHBgEW.js → TokyoUIInfo-BSNbI4Gr.js} +1 -1
  152. package/dist/assets/{TokyoUILanguage-Bd98PINi.js → TokyoUILanguage-BcrymOo9.js} +1 -1
  153. package/dist/assets/{TokyoUILibraryExplore-C-3tnEbW.js → TokyoUILibraryExplore-DvvKpWd6.js} +1 -1
  154. package/dist/assets/{TokyoUILock-d81cInRU.js → TokyoUILock-B22xkFQW.js} +1 -1
  155. package/dist/assets/{TokyoUIMessages-0is9ybHR.js → TokyoUIMessages-hZLnK87p.js} +1 -1
  156. package/dist/assets/{TokyoUIMinus-DPJ4shry.js → TokyoUIMinus-C6TctZRw.js} +1 -1
  157. package/dist/assets/{TokyoUINotebook-DLrYm4si.js → TokyoUINotebook-mwleX-o1.js} +1 -1
  158. package/dist/assets/TokyoUINotesWithPad-CG0gLTYm.js +1 -0
  159. package/dist/assets/{TokyoUIPhone-bFlwEn-_.js → TokyoUIPhone-CFykqUer.js} +1 -1
  160. package/dist/assets/{TokyoUISettings-DhHyIlWv.js → TokyoUISettings-BbgnUEy1.js} +1 -1
  161. package/dist/assets/{TokyoUISparkle-B1jtDvOV.js → TokyoUISparkle-DPOw7W2T.js} +1 -1
  162. package/dist/assets/{TokyoUIStarFilled-Cj894376.js → TokyoUIStarFilled-CF0iG37X.js} +1 -1
  163. package/dist/assets/{TokyoUITag-fMAL09F9.js → TokyoUITag-B1Xueyd7.js} +1 -1
  164. package/dist/assets/{TokyoUIUpload-DM2TbvbX.js → TokyoUIUpload-CrasJ02A.js} +1 -1
  165. package/dist/assets/{TokyoUIUser-Ba7_NA45.js → TokyoUIUser-XhPCF9-5.js} +1 -1
  166. package/dist/assets/{Tooltip-DDtzGgNm.js → Tooltip-BiqKWYpo.js} +1 -1
  167. package/dist/assets/{Tooltip.stories-j1bsH2PP.js → Tooltip.stories-DCB24NyS.js} +1 -1
  168. package/dist/assets/{Tooltip.tests.stories-DFas0O9K.js → Tooltip.tests.stories-B3iLlPPq.js} +1 -1
  169. package/dist/assets/{VisuallyHidden-GZBFKPVs.js → VisuallyHidden-fvo3PSUE.js} +1 -1
  170. package/dist/assets/{WithTooltip-IO6J4KBT-2Wz16aqd.js → WithTooltip-IO6J4KBT-BUV9ELqr.js} +1 -1
  171. package/dist/assets/{align-self-D0ug8REo.js → align-self-BYi8giLn.js} +1 -1
  172. package/dist/assets/{axe-BcoLkzU-.js → axe-BG-rWtCi.js} +1 -1
  173. package/dist/assets/{breakpoints-CIy8w3Dv.js → breakpoints-CBpJ5xgl.js} +1 -1
  174. package/dist/assets/{breakpoints-BDFtAvFy.js → breakpoints-Cu9uEe0J.js} +1 -1
  175. package/dist/assets/{breakpoints-BBwYud6y.js → breakpoints-CuJuvIR9.js} +1 -1
  176. package/dist/assets/{changelog-DIkUnuOo.js → changelog-BoskfpJ8.js} +24 -1
  177. package/dist/assets/{client-oIdhQPH3.js → client-BN2KdiJY.js} +1 -1
  178. package/dist/assets/{constants-Cwb-3GQ_.js → constants-DDJ2G0OO.js} +47 -47
  179. package/dist/assets/createRequiredContext-B3Arn9-D.js +241 -0
  180. package/dist/assets/fonts-explorer.stories-CeMUwBuQ.js +130 -0
  181. package/dist/assets/{formatter-QJ4M4OGQ-D2xZe9AO.js → formatter-QJ4M4OGQ-B2Vljo6_.js} +1 -1
  182. package/dist/assets/getTokenVar-CVkrm5Qs.js +1 -0
  183. package/dist/assets/{getTokenVar-B7BEyIpS.js → getTokenVar-DmUJH1GU.js} +1 -1
  184. package/dist/assets/{gradientBorders-B12ps1Or.js → gradientBorders-Q_ip9Ojv.js} +1 -1
  185. package/dist/assets/{hover-5BxL9d9v.js → hover-C8NhPbjk.js} +1 -1
  186. package/dist/assets/{hover-CG8OgvC5.js → hover-C9fsErpn.js} +1 -1
  187. package/dist/assets/{hover-gsGL4vVH.js → hover-D55mJaWK.js} +1 -1
  188. package/dist/assets/{iframe-DjYTJz7A.js → iframe-B_74HtSc.js} +12 -12
  189. package/dist/assets/{index-DHDwwoCu.js → index-BJaBvJhB.js} +1 -1
  190. package/dist/assets/{index-BII7aPfQ.js → index-BW8FBNWq.js} +1 -1
  191. package/dist/assets/{index-C_O4jEc0.js → index-Cnv20V_M.js} +1 -1
  192. package/dist/assets/{index-CUvrBGJo.js → index-DIqvfT2b.js} +1 -1
  193. package/dist/assets/{index-cpi3YaXo.js → index-DWFFXgf1.js} +1 -1
  194. package/dist/assets/{index-DOwxXd3L.js → index-W3BB_3go.js} +1 -1
  195. package/dist/assets/{intro-BXKxOrdm.js → intro-DOuARa_Y.js} +1 -1
  196. package/dist/assets/{layout-relative-DQF7VcUK.js → layout-relative-B9CiYPwj.js} +1 -1
  197. package/dist/assets/{layout-relative.module-1z75aSwo-CsvB7_pT.js → layout-relative.module-1z75aSwo-Dcy7i8oK.js} +1 -1
  198. package/dist/assets/{layout-relative.module-BM7yIsEb.js → layout-relative.module-BIZVul8q.js} +1 -1
  199. package/dist/assets/{mcp-X-VhpP6n.js → mcp-D2eIYE7x.js} +1 -1
  200. package/dist/assets/{message-DiUVdAQd.js → message-DJT5rp5J.js} +1 -1
  201. package/dist/assets/{migrating-from-less-8Nm2XYdW.js → migrating-from-less-CxT_5hNC.js} +1 -1
  202. package/dist/assets/{playground.stories-B4hfD_Uq.js → playground.stories-DqwdOX0P.js} +1 -1
  203. package/dist/assets/{react-18-B4n119qZ.js → react-18-DoE4ZK8O.js} +1 -1
  204. package/dist/assets/{render-icon-DlE4AZJV.js → render-icon-DSbVIpCz.js} +1 -1
  205. package/dist/assets/{render-icon-DZ6hllTG.js → render-icon-MT6RlyNs.js} +1 -1
  206. package/dist/assets/{shared-strings-ZccoNgto.js → shared-strings-ThL9KyH0.js} +1 -1
  207. package/dist/assets/store-B0wM9Zg8.js +9 -0
  208. package/dist/assets/{styled-components.browser.esm-3T8u8x7l.js → styled-components.browser.esm-BHxIJD2_.js} +1 -1
  209. package/dist/assets/{styled-components.browser.esm-DegKtid9.js → styled-components.browser.esm-rrOBirU4.js} +1 -1
  210. package/dist/assets/{syntaxhighlighter-IQDEPFLK-B-ddKj4v.js → syntaxhighlighter-IQDEPFLK-BakL6JIW.js} +1 -1
  211. package/dist/assets/{text-accent-C5-m5mrW.js → text-accent-BQ9POoE5.js} +1 -1
  212. package/dist/assets/{text-centered-D70wah8Y.js → text-centered-BEaaxMgl.js} +1 -1
  213. package/dist/assets/{text-centered-CqZrbSb_.js → text-centered-CYnBFi3a.js} +1 -1
  214. package/dist/assets/{tokens-ChCvx9cz.js → tokens-BEyO2LY-.js} +1 -1
  215. package/dist/assets/{tokens-BXEYWkXR.js → tokens-Cg01svK-.js} +1 -1
  216. package/dist/assets/{tokens-CBFYFIpi.js → tokens-CmSwgWJ8.js} +1 -1
  217. package/dist/assets/{tokens-Cp4gIGSO.js → tokens-im-qJUCZ.js} +1 -1
  218. package/dist/assets/{useControllableState-DQg81cp5.js → useControllableState-BB4EHwEp.js} +1 -1
  219. package/dist/assets/useHostname-CbpnzdHv.js +1 -0
  220. package/dist/assets/{useMergeRefs-jFGYKOXz.js → useMergeRefs-CFhXCqbA.js} +1 -1
  221. package/dist/assets/{useMergeRefs-CL5DIjXV.js → useMergeRefs-Caz9hOck.js} +1 -1
  222. package/dist/assets/{useOpenInteractionType-B976GY1b.js → useOpenInteractionType-D3sASQWj.js} +3 -3
  223. package/dist/assets/{usePortalElement-B3bWjUcx.js → usePortalElement-Cbyb850w.js} +1 -1
  224. package/dist/assets/{useStableCallback-662ysKf2.js → useStableCallback-D5P5kDx5.js} +1 -1
  225. package/dist/assets/{useToken-CJ7hsZh9.js → useToken-OSVftwxQ.js} +1 -1
  226. package/dist/assets/{welcome-bR5y4uLm.js → welcome-QqBTVkpV.js} +1 -1
  227. package/dist/assets/{zeroheight-D-Xst36e.js → zeroheight-BXMq4jvo.js} +1 -1
  228. package/dist/iframe.html +1 -1
  229. package/dist/index.json +1 -1
  230. package/dist/preview-stats.json +10562 -10490
  231. package/dist/project.json +1 -1
  232. package/package.json +5 -5
  233. package/pages/30.guides/70.assets/constants/icon-imports.ts +2 -0
  234. package/dist/assets/11.fonts.explorer-Bh_GOQIH.js +0 -2
  235. package/dist/assets/30.icons.explorer-BBtz-vBk.js +0 -72
  236. package/dist/assets/AlertDialog.stories-BKmaZZoo.js +0 -243
  237. package/dist/assets/CountryFlag-BKEpYyWK.js +0 -49
  238. package/dist/assets/Dialog.test.stories-tViVBTuF.js +0 -127
  239. package/dist/assets/IconButton-D4lbFOKH.js +0 -8
  240. package/dist/assets/IconTile-CanD5Ibh.css +0 -1
  241. package/dist/assets/IconTile.stories-BlATLdyV.js +0 -88
  242. package/dist/assets/NumberField-FWK2ErPL.js +0 -6
  243. package/dist/assets/OnboardingTooltip-CsmroJZe.css +0 -1
  244. package/dist/assets/OnboardingTour-D0hvRI8H.css +0 -1
  245. package/dist/assets/PasswordField-Bp2beBoD.js +0 -6
  246. package/dist/assets/TextField--Ctd_eHi.js +0 -6
  247. package/dist/assets/TokyoUINotesWithPad-D6VO7CbF.js +0 -1
  248. package/dist/assets/createRequiredContext-5BPDYgIa.js +0 -241
  249. package/dist/assets/fonts-explorer.stories-Bp_9af2z.js +0 -130
  250. package/dist/assets/getTokenVar-B8jDl0Ui.js +0 -1
  251. package/dist/assets/useHostname-By9vNKnQ.js +0 -1
@@ -1,9 +1,9 @@
1
- import{j as a,r as b}from"./iframe-DjYTJz7A.js";import{D as h,a as A,b as V,c as L,d as ne,e as x,f,g as s,h as F}from"./DropdownMenu-CB6xg9YD.js";import{B as oe}from"./Button-DS2bg8PO.js";import{I as v}from"./Icon-kphbe0CE.js";import{F as ko,a as Bo}from"./TokyoUISettings-DhHyIlWv.js";import{F as vo}from"./TokyoUIMessages-0is9ybHR.js";import{C as Ie}from"./CountryFlag-BKEpYyWK.js";import{A as je}from"./Avatar-Dlo9b83e.js";import{F as O}from"./TokyoUIEmojiFrowning-Bztw_WuD.js";import{D as Fe}from"./Dialog-DaLOtRn0.js";import{D as xo}from"./Divider-WS0wDfQZ.js";import{I as Ro}from"./IconButton-D4lbFOKH.js";import{c as So}from"./OnboardingTour-m4V6QT-X.js";import"./preload-helper-Dp1pzeXC.js";import"./TokyoUIChevronRight-UHMBQAxX.js";import"./TokyoUICheck-Cg3ZJnmD.js";import"./breakpoints-BfMlrtxE.js";import"./useOpenInteractionType-B976GY1b.js";import"./filterAttributesPassedByRadixUIAtRuntime-B7QTVwVw.js";import"./VisuallyHidden-GZBFKPVs.js";import"./index-CUvrBGJo.js";import"./useControllableState-DQg81cp5.js";import"./useStableCallback-662ysKf2.js";import"./message-DiUVdAQd.js";import"./componentNames-hc9KR2nX.js";import"./render-icon-DZ6hllTG.js";import"./ButtonBase-sV1YoG7h.js";import"./Spinner-BG27lVzS.js";import"./useMergeRefs-CL5DIjXV.js";import"./useHostname-By9vNKnQ.js";import"./index-CC6DAVyL.js";import"./text-accent-C5-m5mrW.js";import"./constants-5om8Ptru.js";import"./DialogCloseButton-CDDeMFIL.js";import"./TokyoUIClose-DoJfpCh8.js";import"./shared-strings-ZccoNgto.js";import"./OnboardingTooltip-DdKwzkB-.js";import"./Text-C8DrHLQF.js";import"./text-centered-D70wah8Y.js";import"./Heading-BPJGe0Bg.js";import"./index-DOwxXd3L.js";const{fn:m,expect:t,userEvent:i,waitFor:r,within:ie}=__STORYBOOK_MODULE_TEST__,u={onOpenChange:m(),items:{transferBalance:m(),addExtraHours:m(),currency:m(),language:m()}},gi={title:"Components/DropdownMenu",component:F,subcomponents:{DropdownMenuItem:s,DropdownMenuGroup:f,DropdownSubmenu:x,DropdownMenuRadioGroup:ne,DropdownMenuRadioItem:L,DropdownMenuCheckboxItem:V,DropdownMenuSelect:A,DropdownMenuSelectOption:h},parameters:{preventIframeFromScrollingParent:!0,layout:"fullscreen",docs:{story:{inline:!1,height:400,autoplay:!1}}},decorators:[(e,n)=>a.jsx("div",{style:{height:n.parameters.containerHeight||"100%",padding:24,display:"flex",justifyContent:"center",alignItems:"center"},children:a.jsx(e,{})})],args:{onOpenChange:u.onOpenChange,trigger:a.jsx(oe,{children:"Settings"}),children:a.jsxs(a.Fragment,{children:[a.jsx(s,{label:"Transfer balance",onClick:u.items.transferBalance}),a.jsx(s,{label:"Add extra hours",onClick:u.items.addExtraHours})]})}},re={tags:["!autodocs","!dev"],args:{defaultOpen:!0}},R=t.anything(),W={play:async({canvas:e,step:n,args:o})=>{await n("Initially closed",async()=>{t(e.queryByRole("menu")).not.toBeInTheDocument()}),await n("Open dropdown",async()=>{await i.click(e.getByRole("button",{name:"Settings"})),await r(()=>{t(e.queryByRole("menu")).toBeVisible()}),t(o.onOpenChange).toHaveBeenLastCalledWith(!0,R)}),await n("Click outside to close the menu",async()=>{await i.click(document.body),await r(()=>{t(e.queryByRole("menu")).not.toBeInTheDocument()}),t(o.onOpenChange).toHaveBeenLastCalledWith(!1,R)}),await n("Open dropdown again",async()=>{await i.click(e.getByRole("button",{name:"Settings"})),await r(()=>{t(e.queryByRole("menu")).toBeVisible()})}),await n('Click on "Transfer balance"',async()=>{await i.click(e.getByRole("menuitem",{name:"Transfer balance"})),t(u.items.transferBalance).toHaveBeenCalled(),await r(()=>{t(e.queryByRole("menu")).not.toBeInTheDocument()}),t(u.onOpenChange).toHaveBeenLastCalledWith(!1,R)})}},se={tags:["!autodocs"],args:{defaultOpen:!0},play:async({canvas:e,step:n})=>{await n("Initially open",async()=>{await r(()=>{t(e.queryByRole("menu")).toBeVisible()})}),await n("Click outside to close the menu",async()=>{await i.click(document.body),await r(()=>{t(e.queryByRole("menu")).not.toBeInTheDocument()}),t(u.onOpenChange).toHaveBeenLastCalledWith(!1,R)})}};let Me;const E={decorators:[(e,n)=>{const[o,l]=b.useState(!!n.args.open);Me=l;const c=(d,k)=>{var g,B;l(d),(B=(g=n.args).onOpenChange)==null||B.call(g,d,k)};return a.jsx(e,{args:{...n.args,open:o,onOpenChange:c}})}],args:{open:!1},play:async({canvas:e,step:n,args:o})=>{await n("Open dropdown",async()=>{await i.click(e.getByRole("button",{name:"Settings"})),await r(()=>{t(e.queryByRole("menu")).toBeVisible()}),t(o.onOpenChange).toHaveBeenLastCalledWith(!0,R)}),await n("Click outside to close the menu",async()=>{await i.click(document.body),await r(()=>{t(e.queryByRole("menu")).not.toBeInTheDocument()}),t(o.onOpenChange).toHaveBeenLastCalledWith(!1,R)}),await n("Open dropdown via open prop",async()=>{u.onOpenChange.mockClear(),Me(!0),await r(()=>{t(e.queryByRole("menu")).toBeVisible()}),t(o.onOpenChange).not.toHaveBeenCalled()}),await n("Close dropdown via open prop",async()=>{u.onOpenChange.mockClear(),Me(!1),await r(()=>{t(e.queryByRole("menu")).not.toBeInTheDocument()}),t(o.onOpenChange).not.toHaveBeenCalled()})}},le={...E,tags:["!autodocs"],args:{...E.args,open:!0},play:async({canvas:e,step:n,args:o})=>{await n("Initially open",async()=>{await r(()=>{t(e.queryByRole("menu")).toBeVisible()})}),await n("Click outside to close the menu",async()=>{await i.click(document.body),await r(()=>{t(e.queryByRole("menu")).not.toBeInTheDocument()}),t(o.onOpenChange).toHaveBeenLastCalledWith(!1,R)})}},U={parameters:{containerHeight:"500px"},args:{side:"top",align:"start",defaultOpen:!0}},ce={parameters:{containerHeight:"500px"},tags:["!autodocs"],args:{side:"inline-end",defaultOpen:!0}},ue={parameters:{containerHeight:"500px"},tags:["!autodocs"],args:{side:"inline-start",defaultOpen:!0}},de={parameters:{containerHeight:"500px"},tags:["!autodocs"],args:{side:"left",defaultOpen:!0}},me={parameters:{containerHeight:"500px"},tags:["!autodocs"],args:{side:"right",defaultOpen:!0}},pe={parameters:{containerHeight:"500px"},tags:["!autodocs"],args:{side:"top",defaultOpen:!0}},ge={tags:["!autodocs"],args:{align:"start",defaultOpen:!0}},ye={tags:["!autodocs"],args:{align:"end",defaultOpen:!0}},z={args:{children:a.jsxs(a.Fragment,{children:[a.jsx(s,{label:"Transfer balance",onClick:u.items.transferBalance}),a.jsx(s,{label:"Add extra hours",onClick:u.items.addExtraHours,disabled:!0})]})},play:async({canvas:e,step:n})=>{await n("Open dropdown",async()=>{await i.click(e.getByRole("button",{name:"Settings"})),await r(()=>{t(e.queryByRole("menu")).toBeVisible()})}),await n('Click on "Add extra hours"',async()=>{u.onOpenChange.mockClear();const o=e.getByRole("menuitem",{name:"Add extra hours"});t(o).toHaveAttribute("aria-disabled","true"),await i.click(o),t(u.items.addExtraHours).not.toHaveBeenCalled(),t(u.onOpenChange).not.toHaveBeenCalled(),t(e.queryByRole("menu")).toBeVisible()})}},P={args:{trigger:a.jsx(oe,{children:"Language"}),children:a.jsxs(a.Fragment,{children:[a.jsx(s,{label:"Español",description:"Spanish"}),a.jsx(s,{label:"Українська",description:"Ukrainian"})]})},play:async({canvas:e,step:n})=>{await n("Open dropdown",async()=>{await i.click(e.getByRole("button",{name:"Language"})),await r(()=>{t(e.queryByRole("menu")).toBeVisible()})}),await n("Verify items a11y names and descriptions",async()=>{const o=e.getByRole("menuitem",{name:"Español"});t(o).toHaveAccessibleName("Español"),t(o).toHaveAccessibleDescription("Spanish");const l=e.getByRole("menuitem",{name:"Українська"});t(l).toHaveAccessibleName("Українська"),t(l).toHaveAccessibleDescription("Ukrainian")})}},G={args:{defaultOpen:!0,children:a.jsxs(a.Fragment,{children:[a.jsxs(f,{label:"Region",children:[a.jsx(s,{label:"Currency"}),a.jsx(s,{label:"Language"}),a.jsx(s,{label:"Time zone"})]}),a.jsxs(f,{label:"Subscription",children:[a.jsx(s,{label:"Transfer balance"}),a.jsx(s,{label:"Add extra hours"})]})]})}},K={args:{defaultOpen:!0,children:a.jsxs(a.Fragment,{children:[a.jsx(s,{label:"User profile"}),a.jsx(s,{label:"Payments & subscriptions"}),a.jsx(xo,{}),a.jsx(s,{label:"Logout"})]})}},Y={parameters:{docs:{story:{height:600}}},args:{defaultOpen:!0,children:a.jsxs(a.Fragment,{children:[a.jsxs(f,{label:"Icons",children:[a.jsx(s,{leadingElement:a.jsx(v,{svg:ko,size:"24"}),label:"Reschedule"}),a.jsx(s,{leadingElement:a.jsx(v,{svg:vo,size:"24"}),label:"Message tutor"})]}),a.jsxs(f,{label:"Flags",children:[a.jsx(s,{leadingElement:a.jsx(Ie,{code:"es",alt:"",size:"medium"}),label:"Spain"}),a.jsx(s,{leadingElement:a.jsx(Ie,{code:"ua",alt:"",size:"medium"}),label:"Ukraine"})]}),a.jsxs(f,{label:"Avatars",children:[a.jsx(s,{leadingElement:a.jsx(je,{size:"24"}),label:"Kobe B."}),a.jsx(s,{leadingElement:a.jsx(je,{size:"24"}),label:"Jenny R."})]})]})}},Ae=b.forwardRef(function({to:n,...o},l){return a.jsx("a",{href:n,...o,ref:l})});Ae.displayName="Link";const S={findATutor:m(e=>{e.preventDefault()}),becomeATutor:m(e=>{e.preventDefault()}),myLessons:m(e=>{e.preventDefault()}),referAFriend:m(e=>{e.preventDefault()})},_={args:{trigger:a.jsx(oe,{children:"Links"}),children:a.jsxs(a.Fragment,{children:[a.jsx(s,{label:"Find a Tutor",onClick:S.findATutor,as:a.jsx("a",{href:"/en/online/english-tutors"})}),a.jsx(s,{label:"Become a Tutor",onClick:S.becomeATutor,as:a.jsx("a",{href:"/en/teach"}),disabled:!0}),a.jsx(s,{label:"My Lessons",onClick:S.myLessons,as:a.jsx(Ae,{to:"/en/lessons"})}),a.jsx(s,{label:"Refer a Friend",onClick:S.referAFriend,as:a.jsx(Ae,{to:"/en/referral"}),disabled:!0})]})},play:async({canvas:e,step:n})=>{await n("Open dropdown",async()=>{await i.click(e.getByRole("button",{name:"Links"})),await r(()=>{t(e.queryByRole("menu")).toBeVisible()})}),await n("Assert links are rendered correctly",async()=>{const o=e.getByRole("menuitem",{name:"Find a Tutor"});t(o.tagName).toBe("A"),t(o).toHaveAttribute("href","/en/online/english-tutors");const l=e.getByRole("menuitem",{name:"Become a Tutor"});t(l.tagName).toBe("A"),t(l).toHaveAttribute("href","/en/teach"),t(l).toHaveAttribute("aria-disabled","true");const c=e.getByRole("menuitem",{name:"My Lessons"});t(c.tagName).toBe("A"),t(c).toHaveAttribute("href","/en/lessons");const d=e.getByRole("menuitem",{name:"Refer a Friend"});t(d.tagName).toBe("A"),t(d).toHaveAttribute("href","/en/referral"),t(d).toHaveAttribute("aria-disabled","true")}),await n('Click on "Find a Tutor"',async()=>{const o=e.getByRole("menuitem",{name:"Find a Tutor"});await i.click(o),t(S.findATutor).toHaveBeenCalled()}),await n("Open dropdown",async()=>{await i.click(e.getByRole("button",{name:"Links"})),await r(()=>{t(e.queryByRole("menu")).toBeVisible()})}),await n('Click on "Become a Tutor"',async()=>{const o=e.getByRole("menuitem",{name:"Become a Tutor"});await i.click(o),t(S.becomeATutor).not.toHaveBeenCalled(),await r(()=>{t(e.queryByRole("menu")).toBeVisible()})}),await n('Click on "My Lessons"',async()=>{const o=e.getByRole("menuitem",{name:"My Lessons"});await i.click(o),t(S.myLessons).toHaveBeenCalled(),await r(()=>{t(e.queryByRole("menu")).not.toBeInTheDocument()})}),await n("Open dropdown",async()=>{await i.click(e.getByRole("button",{name:"Links"})),await r(()=>{t(e.queryByRole("menu")).toBeVisible()})}),await n('Click on "Refer a Friend"',async()=>{const o=e.getByRole("menuitem",{name:"Refer a Friend"});await i.click(o),t(S.referAFriend).not.toHaveBeenCalled()})}},C={dayOfTheWeek:m(),timeOfTheDay:m(),frequency:m()},$={args:{children:a.jsxs(a.Fragment,{children:[a.jsx(f,{label:"Day of the week",children:a.jsx(ne,{defaultValue:"mon",onValueChange:C.dayOfTheWeek,items:[{label:"Monday",value:"mon"},{label:"Tuesday",value:"tue"},{label:"Wednesday",value:"wed"},{label:"Thursday",value:"thu"},{label:"Friday",value:"fri"},{label:"Saturday",value:"sat",disabled:!0},{label:"Sunday",value:"sun",disabled:!0}]})}),a.jsx(f,{label:"Time of the day",children:a.jsxs(ne,{onValueChange:C.timeOfTheDay,children:[a.jsx(L,{label:"Morning",value:"morning"}),a.jsx(L,{label:"Afternoon",value:"afternoon"})]})}),a.jsx(f,{label:"Frequency",children:a.jsxs(ne,{value:"once",onValueChange:C.frequency,disabled:!0,children:[a.jsx(L,{label:"Once",value:"once"}),a.jsx(L,{label:"Weekly",value:"weekly"})]})})]})},play:async({canvas:e,step:n})=>{await n("Open dropdown",async()=>{await i.click(e.getByRole("button",{name:"Settings"})),await r(()=>{t(e.queryByRole("menu")).toBeVisible()})});const o=e.getByRole("menuitemradio",{name:"Monday"}),l=e.getByRole("menuitemradio",{name:"Tuesday"}),c=e.getByRole("menuitemradio",{name:"Saturday"});await n("Day of the week: default value is selected",async()=>{t(o).toHaveAttribute("aria-checked","true")}),await n('Click on "Tuesday"',async()=>{await i.click(l),t(C.dayOfTheWeek).toHaveBeenCalledWith("tue"),await r(()=>{t(o).toHaveAttribute("aria-checked","false"),t(l).toHaveAttribute("aria-checked","true")})}),await n('Click on "Saturday"',async()=>{C.dayOfTheWeek.mockClear(),await i.click(c),t(C.dayOfTheWeek).not.toHaveBeenCalled(),await r(()=>{t(l).toHaveAttribute("aria-checked","true")})});const d=e.getByRole("menuitemradio",{name:"Morning"}),k=e.getByRole("menuitemradio",{name:"Afternoon"});await n("Time of the day: none is selected",async()=>{t(d).toHaveAttribute("aria-checked","false"),t(k).toHaveAttribute("aria-checked","false")}),await n('Click on "Morning"',async()=>{await i.click(d),t(C.timeOfTheDay).toHaveBeenCalledWith("morning"),await r(()=>{t(d).toHaveAttribute("aria-checked","true")})});const g=e.getByRole("menuitemradio",{name:"Once"}),B=e.getByRole("menuitemradio",{name:"Weekly"});await n("Frequency: everything is disabled, once is selected",async()=>{t(g).toHaveAttribute("aria-disabled","true"),t(B).toHaveAttribute("aria-disabled","true"),t(g).toHaveAttribute("aria-checked","true"),t(B).toHaveAttribute("aria-checked","false")}),await n('Click on "Weekly"',async()=>{await i.click(B),t(C.frequency).not.toHaveBeenCalled(),await r(()=>{t(g).toHaveAttribute("aria-checked","true")})})}},D={email:m(),sms:m(),push:m(),alerts:m()},J={args:{children:a.jsxs(a.Fragment,{children:[a.jsx(V,{label:"Email notifications",onCheckedChange:D.email,defaultChecked:!0}),a.jsx(V,{label:"SMS notifications",onCheckedChange:D.sms}),a.jsx(V,{label:"Push notifications",onCheckedChange:D.push,disabled:!0}),a.jsx(V,{label:"System alerts (required)",onCheckedChange:D.alerts,disabled:!0,checked:!0})]})},play:async({canvas:e,step:n})=>{await n("Open dropdown",async()=>{await i.click(e.getByRole("button",{name:"Settings"})),await r(()=>{t(e.queryByRole("menu")).toBeVisible()})});const o=e.getByRole("menuitemcheckbox",{name:"Email notifications"}),l=e.getByRole("menuitemcheckbox",{name:"SMS notifications"}),c=e.getByRole("menuitemcheckbox",{name:"Push notifications"}),d=e.getByRole("menuitemcheckbox",{name:"System alerts (required)"});await n("Email notifications is checked by default",async()=>{t(o).toHaveAttribute("aria-checked","true")}),await n('Uncheck "Email notifications"',async()=>{await i.click(o),t(D.email).toHaveBeenCalledWith(!1,R),await r(()=>{t(o).toHaveAttribute("aria-checked","false")})}),await n('"SMS notifications" is not checked',async()=>{t(l).toHaveAttribute("aria-checked","false")}),await n('Check "SMS notifications"',async()=>{await i.click(l),t(D.sms).toHaveBeenCalledWith(!0,R),await r(()=>{t(l).toHaveAttribute("aria-checked","true")})}),await n('"Push notifications" is disabled and not checked',async()=>{t(c).toHaveAttribute("aria-disabled","true"),t(c).toHaveAttribute("aria-checked","false")}),await n('Click on "Push notifications"',async()=>{await i.click(c),t(D.push).not.toHaveBeenCalled(),await r(()=>{t(c).toHaveAttribute("aria-checked","false")})}),await n('"System alerts (required)" is disabled and checked',async()=>{t(d).toHaveAttribute("aria-disabled","true"),t(d).toHaveAttribute("aria-checked","true")}),await n('Click on "System alerts (required)"',async()=>{await i.click(d),t(D.alerts).not.toHaveBeenCalled(),await r(()=>{t(d).toHaveAttribute("aria-checked","true")})})}},N={dayOfTheWeek:m(),timeOfTheDay:m(),frequency:m()},I=e=>{const[n,o]=b.useState("mon"),[l,c]=b.useState(),d=g=>{o(g),N.dayOfTheWeek(g)},k=g=>{c(g),N.timeOfTheDay(g)};return a.jsxs(F,{...e,children:[a.jsx(A,{label:"Day of the week",value:n,onValueChange:d,items:[{label:"Monday",value:"mon"},{label:"Tuesday",value:"tue"},{label:"Wednesday",value:"wed"},{label:"Thursday",value:"thu"},{label:"Friday",value:"fri"},{label:"Saturday",value:"sat",disabled:!0},{label:"Sunday",value:"sun",disabled:!0}]}),a.jsxs(A,{label:"Time of the day",defaultValue:l,onValueChange:k,children:[a.jsx(h,{value:"morning",label:"Morning"}),a.jsx(h,{value:"afternoon",label:"Afternoon"})]}),a.jsxs(A,{label:"Frequency",onValueChange:N.frequency,disabled:!0,children:[a.jsx(h,{label:"Once",value:"once"}),a.jsx(h,{label:"Weekly",value:"weekly"})]})]})};I.play=async({canvas:e,step:n})=>{await n("Open dropdown",async()=>{await i.click(e.getByRole("button",{name:"Settings"})),await r(()=>{t(e.queryByRole("menu")).toBeVisible()})});const o=e.getByRole("menuitem",{name:/^Day of the week/});await n("Day of the week: default value is selected",async()=>{t(o).toHaveAccessibleName(/Selected: Monday$/)}),await n("Open day of the week submenu",async()=>{await i.hover(o),await r(()=>{t(e.queryByRole("menu",{name:/^Day of the week/})).toBeVisible()})}),await n('Click on "Tuesday"',async()=>{await i.click(e.getByRole("menuitemradio",{name:"Tuesday"})),t(N.dayOfTheWeek).toHaveBeenCalledWith("tue"),await r(()=>{t(e.queryByRole("menu",{name:/^Day of the week/,hidden:!0})).not.toBeVisible(),t(o).toHaveAccessibleName(/Selected: Tuesday$/)})});const l=e.getByRole("menuitem",{name:/^Time of the day/});await n("Time of the day: nothing is selected",async()=>{t(l).toHaveAccessibleName("Time of the day")}),await n("Open time of the day submenu",async()=>{l.focus(),await i.keyboard(" "),await r(()=>{t(e.queryByRole("menu",{name:/^Time of the day/})).toBeVisible()})}),await n('Click on "Morning"',async()=>{await i.click(e.getByRole("menuitemradio",{name:"Morning"})),t(N.timeOfTheDay).toHaveBeenCalledWith("morning"),await r(()=>{t(e.queryByRole("menu",{name:/^Time of the day/,hidden:!0})).not.toBeVisible(),t(l).toHaveAccessibleName(/Selected: Morning$/)})}),await n("Open dropdown",async()=>{await i.click(e.getByRole("button",{name:"Settings"})),await r(()=>{t(e.queryByRole("menu")).toBeVisible()})}),await n("Frequency is disabled",async()=>{const c=e.getByRole("menuitem",{name:"Frequency"});t(c).toHaveAttribute("aria-disabled","true"),await i.click(c,{pointerEventsCheck:0}),t(N.frequency).not.toHaveBeenCalled(),await r(()=>{t(e.queryByRole("menu",{name:"Frequency",hidden:!0})).not.toBeVisible()})})};const y={render:function({align:n,side:o,...l}){return a.jsx(F,{...l,defaultOpen:!0,children:a.jsxs(A,{label:"Time of the day",side:o,align:n,defaultOpen:!0,children:[a.jsx(h,{value:"morning",label:"Morning"}),a.jsx(h,{value:"afternoon",label:"Afternoon"})]})})},parameters:{containerHeight:"500px"},args:{side:"top",align:"start"}},we={render:y.render,parameters:{containerHeight:"500px"},tags:["!autodocs"],args:{side:"inline-end"}},be={render:y.render,parameters:{containerHeight:"500px"},tags:["!autodocs"],args:{side:"inline-start",defaultOpen:!0}},he={render:y.render,parameters:{containerHeight:"500px"},tags:["!autodocs"],args:{side:"left",defaultOpen:!0}},fe={render:y.render,parameters:{containerHeight:"500px"},tags:["!autodocs"],args:{side:"right",defaultOpen:!0}},ke={render:y.render,parameters:{containerHeight:"500px"},tags:["!autodocs"],args:{side:"top",defaultOpen:!0}},Be={render:y.render,tags:["!autodocs"],args:{align:"start",defaultOpen:!0}},ve={render:y.render,tags:["!autodocs"],args:{align:"end",defaultOpen:!0}},H={args:{children:a.jsxs(a.Fragment,{children:[a.jsxs(x,{label:"Region",children:[a.jsx(s,{label:"Currency"}),a.jsx(s,{label:"Language"}),a.jsx(s,{label:"Time zone"})]}),a.jsxs(x,{label:"Subscription",children:[a.jsx(s,{label:"Transfer balance"}),a.jsx(s,{label:"Add extra hours"})]}),a.jsxs(x,{label:"Integrations",disabled:!0,children:[a.jsx(s,{label:"Connect calendar"}),a.jsx(s,{label:"Slack integration"}),a.jsx(s,{label:"Email sync"})]})]})},play:async({canvas:e,step:n})=>{await n("Open dropdown",async()=>{await i.click(e.getByRole("button",{name:"Settings"})),await r(()=>{t(e.queryByRole("menu")).toBeVisible()})});const o=e.getByRole("menuitem",{name:"Region"});await n("Region submenu opens on hover",async()=>{await i.hover(o),await r(()=>{t(e.queryByRole("menu",{name:"Region"})).toBeVisible()})}),await n("Region submenu closes on hover out",async()=>{await i.unhover(o),await r(()=>{t(e.queryByRole("menu",{name:"Region"})).not.toBeInTheDocument()})}),await n("Integrations submenu is disabled",async()=>{const l=e.getByRole("menuitem",{name:"Integrations"});t(l).toHaveAttribute("aria-disabled","true"),await i.click(l),await r(()=>{t(e.queryByRole("menu",{name:"Integrations"})).not.toBeInTheDocument()})})}},w={render:function({align:n,side:o,...l}){return a.jsx(F,{...l,defaultOpen:!0,children:a.jsxs(x,{label:"Region",side:o,align:n,defaultOpen:!0,children:[a.jsx(s,{label:"Currency"}),a.jsx(s,{label:"Language"}),a.jsx(s,{label:"Time zone"})]})})},parameters:{containerHeight:"500px"},args:{side:"top",align:"start"}},xe={render:w.render,parameters:{containerHeight:"500px"},tags:["!autodocs"],args:{side:"inline-end"}},Re={render:w.render,parameters:{containerHeight:"500px"},tags:["!autodocs"],args:{side:"inline-start",defaultOpen:!0}},Se={render:w.render,parameters:{containerHeight:"500px"},tags:["!autodocs"],args:{side:"left",defaultOpen:!0}},Ce={render:w.render,parameters:{containerHeight:"500px"},tags:["!autodocs"],args:{side:"right",defaultOpen:!0}},De={render:w.render,parameters:{containerHeight:"500px"},tags:["!autodocs"],args:{side:"top",defaultOpen:!0}},Oe={render:w.render,tags:["!autodocs"],args:{align:"start",defaultOpen:!0}},Te={render:w.render,tags:["!autodocs"],args:{align:"end",defaultOpen:!0}},{Provider:ho,Step:T}=So();ho.displayName="Tour.Provider";T.displayName="Tour.Step";const Q={parameters:{docs:{source:{type:"dynamic"}}},decorators:[e=>{const[n,o]=b.useState(0),l=()=>o(n+1);return a.jsxs(a.Fragment,{children:[a.jsx(e,{},n),a.jsx("div",{style:{position:"fixed",left:0,bottom:0,margin:8},children:a.jsx(oe,{variant:"ghost",size:"small",onClick:l,children:"Reset story"})})]})}],render:function(){const[n,o]=b.useState(!1),[l,c]=b.useState(!1),[d,k]=b.useState(!1),g=fo=>{switch(fo){case 1:o(!0);return;case 3:c(!0);return;case 5:k(!0);return}},B=()=>{o(!1),c(!1),k(!1)};return a.jsx(ho,{totalSteps:6,onStepChange:g,onComplete:B,onClose:B,children:a.jsx(T,{step:0,title:"New settings menu",text:"All settings are now in one place.",children:a.jsxs(F,{open:n,onOpenChange:o,trigger:a.jsx(Ro,{svg:Bo,variant:"ghost",assistiveText:"Settings"}),children:[a.jsx(T,{step:1,title:"Transfer balance",text:"You can now transfer your balance to another tutor.",side:"right",children:a.jsx(s,{label:"Transfer balance"})}),a.jsx(s,{label:"Add extra hours"}),a.jsx(T,{step:2,title:"Region",text:"Region settings are grouped together.",side:"top",children:a.jsxs(x,{label:"Region",keepMounted:!0,open:l,onOpenChange:c,children:[a.jsx(s,{label:"Language"}),a.jsx(T,{step:3,title:"Time zone",text:"You can now select your time zone.",side:"right",children:a.jsx(s,{label:"Time zone"})})]})}),a.jsx(T,{step:4,title:"Currency",text:"Currency settings moved here.",side:"right",children:a.jsxs(A,{open:d,onOpenChange:k,defaultValue:"USD",label:"Currency",children:[a.jsx(h,{value:"USD",label:"US Dollar"}),a.jsx(h,{value:"EUR",label:"Euro"}),a.jsx(T,{step:5,title:"New currency!",text:"Pay and receive payments in british pounds.",children:a.jsx(h,{value:"GBP",label:"British Pound"})})]})})]})})})},play:async({canvas:e,step:n})=>{await n("Tour tooltip should be visible",async()=>{await r(()=>{t(e.getByRole("dialog",{name:"New settings menu"})).toBeVisible()})}),await n("Click Next to advance to second step",async()=>{await i.click(e.getByRole("button",{name:"Next"})),await r(()=>{t(e.getByRole("dialog",{name:"Transfer balance"})).toBeVisible(),t(e.getByRole("menu")).toBeVisible()})}),await n("Click Next to advance to third step",async()=>{const o=ie(e.getByRole("dialog",{name:"Transfer balance"}));await i.click(o.getByRole("button",{name:"Next"})),await r(()=>{t(e.getByRole("dialog",{name:"Region"})).toBeVisible()})}),await n("Click Next to advance to fourth step",async()=>{const o=ie(e.getByRole("dialog",{name:"Region"}));await i.click(o.getByRole("button",{name:"Next"})),await r(()=>{t(e.getByRole("dialog",{name:"Time zone"})).toBeVisible(),t(e.getByRole("menu",{name:"Region"})).toBeVisible()})}),await n("Click Next to advance to fifth step",async()=>{const o=ie(e.getByRole("dialog",{name:"Time zone"}));await i.click(o.getByRole("button",{name:"Next"})),await r(()=>{t(e.getByRole("dialog",{name:"Currency"})).toBeVisible()})}),await n("Click Next to advance to the last step",async()=>{const o=ie(e.getByRole("dialog",{name:"Currency"}));await i.click(o.getByRole("button",{name:"Next"})),await r(()=>{t(e.getByRole("dialog",{name:"New currency!"})).toBeVisible(),t(e.getByRole("menu",{name:/Currency/})).toBeVisible()})}),await i.click(e.getByRole("button",{name:"Reset story"}))}},Ee=e=>{if(!e)return!1;const{top:n,left:o,bottom:l,right:c}=e.getBoundingClientRect();return!(n>=window.innerHeight||l<=0||o>=window.innerWidth||c<=0)},X={args:{keepMounted:!0,children:a.jsxs(a.Fragment,{children:[a.jsx(s,{label:"Transfer balance"}),a.jsx(s,{label:"Add extra hours"}),a.jsxs(x,{label:"Region",keepMounted:!0,children:[a.jsx(s,{label:"Currency"}),a.jsx(s,{label:"Language"}),a.jsx(s,{label:"Time zone"})]})]})},play:async({canvas:e,step:n})=>{const o=await e.findByRole("menu",{name:"Settings",hidden:!0}),l=await e.findByRole("menu",{name:"Region",hidden:!0});await n("Menus are mounted, but not visible",async()=>{t(o).toBeInTheDocument(),t(o).not.toBeVisible(),t(l).toBeInTheDocument(),t(l).not.toBeVisible()}),await n("Open the menu",async()=>{await i.click(e.getByRole("button",{name:"Settings"})),await r(()=>{t(o).toBeVisible()})}),await n("Submenu is visible",async()=>{await i.click(e.getByRole("menuitem",{name:"Region"})),await r(()=>{t(l).toBeVisible()})}),await n("Close the submenu.",async()=>{await i.keyboard("{Escape}"),await r(()=>{t(l).not.toBeVisible()}),t(l).toBeInTheDocument()}),await n("Close the menu.",async()=>{await i.keyboard("{Escape}"),await r(()=>{t(o).not.toBeVisible()}),t(o).toBeInTheDocument()})}},M={args:H.args,globals:{viewport:{value:"narrow-l",isRotated:!1}},parameters:{layout:"centered"},play:async({canvas:e,step:n})=>{await n("Open dropdown",async()=>{await i.click(e.getByRole("button",{name:"Settings"})),await r(()=>{t(e.queryByRole("menu")).toBeVisible()})}),await n('Click on "Region"',async()=>{await i.click(e.getByRole("menuitem",{name:"Region"})),await r(async()=>{t(Ee(e.queryByRole("menu",{name:"Settings"})),"Main menu should be hidden").toBe(!1),t(Ee(e.queryByRole("menu",{name:"Region"})),"Submenu should be visible").toBe(!0)})}),await n("Tap away to return to main menu",async()=>{const o=e.getByRole("menu",{name:"Region"}).closest("[data-base-ui-portal]").querySelector("[data-backdrop]");await i.click(o),await r(async()=>{t(Ee(e.queryByRole("menu",{name:"Region"})),"Submenu should be hidden").toBe(!1),t(Ee(e.queryByRole("menu",{name:"Settings"})),"Main menu should be visible").toBe(!0)})}),await n("Tap away to close menu",async()=>{await i.click(document.querySelector("[data-backdrop]")),await r(async()=>{t(e.queryByRole("menu")).not.toBeInTheDocument()})})}},j={args:{children:a.jsxs(a.Fragment,{children:[a.jsx(s,{label:"Transfer balance",onClick:u.items.transferBalance}),a.jsx(s,{label:"Add extra hours",onClick:u.items.addExtraHours,disabled:!0}),a.jsxs(x,{label:"Region",children:[a.jsx(s,{label:"Currency",onClick:u.items.currency}),a.jsx(s,{label:"Language",onClick:u.items.language}),a.jsx(s,{label:"Time zone"})]})]})},play:async({canvas:e,step:n})=>{const o=e.getByRole("button",{name:"Settings"});await n("Focus on the trigger element",async()=>{o.focus()}),await n("Open the menu via Enter key. First item should be focused",async()=>{await i.keyboard("{Enter}"),await r(()=>{t(e.queryByRole("menu")).toBeVisible(),t(e.getByRole("menuitem",{name:"Transfer balance"})).toHaveFocus()})}),await n("Close the menu via Escape key. Trigger should be focused",async()=>{await i.keyboard("{Escape}"),await r(()=>{t(e.queryByRole("menu")).not.toBeInTheDocument(),t(o).toHaveFocus()})}),await n("Open the menu via Space key. First item should be focused",async()=>{await i.keyboard(" "),await r(()=>{t(e.queryByRole("menu")).toBeVisible(),t(e.getByRole("menuitem",{name:"Transfer balance"})).toHaveFocus()})}),await n("Select the first item via Enter key. Menu should be closed and trigger should be focused",async()=>{await i.keyboard("{Enter}"),t(u.items.transferBalance).toHaveBeenCalled(),await r(()=>{t(e.queryByRole("menu")).not.toBeInTheDocument(),t(o).toHaveFocus()})}),await n("Open the menu via Enter key. First item should be focused",async()=>{await i.keyboard("{Enter}"),await r(()=>{t(e.queryByRole("menu")).toBeVisible(),t(e.getByRole("menuitem",{name:"Transfer balance"})).toHaveFocus()})}),await n("Navigate through the menu using Arrow keys",async()=>{await i.keyboard("{ArrowDown}"),await r(()=>{t(e.getByRole("menuitem",{name:"Add extra hours"})).toHaveFocus()}),await i.keyboard("{ArrowDown}"),await r(()=>{t(e.getByRole("menuitem",{name:"Region"})).toHaveFocus()}),await i.keyboard("{ArrowDown}"),await r(()=>{t(e.getByRole("menuitem",{name:"Transfer balance"})).toHaveFocus()}),await i.keyboard("{ArrowUp}"),await i.keyboard("{ArrowUp}"),await r(()=>{t(e.getByRole("menuitem",{name:"Add extra hours"})).toHaveFocus()})}),await n("Enter key does nothing for disabled item",async()=>{await i.keyboard("{Enter}"),t(u.items.addExtraHours).not.toHaveBeenCalled()}),await n("Space key does nothing for disabled item",async()=>{await i.keyboard(" "),t(u.items.addExtraHours).not.toHaveBeenCalled()}),await n("Navigate to submenu trigger using Arrow down key",async()=>{await i.keyboard("{ArrowDown}"),await r(()=>{t(e.getByRole("menuitem",{name:"Region"})).toHaveFocus()})}),await n("Open the submenu via Enter key. First item should be focused",async()=>{await i.keyboard("{Enter}"),await r(()=>{t(e.getByRole("menuitem",{name:"Currency"})).toHaveFocus()})}),await n("Navigate back to main menu using Arrow left key. Submenu trigger should be focused",async()=>{await i.keyboard("{ArrowLeft}"),await r(()=>{t(e.getByRole("menuitem",{name:"Region"})).toHaveFocus()})}),await n("Open submenu using Arrow right key. First item should be focused",async()=>{await i.keyboard("{ArrowRight}"),await r(()=>{t(e.getByRole("menuitem",{name:"Currency"})).toHaveFocus()})}),await n("Navigate back to main menu using Escape key. Submenu trigger should be focused",async()=>{await i.keyboard("{Escape}"),await r(()=>{t(e.getByRole("menuitem",{name:"Region"})).toHaveFocus()})}),await n("Open submenu using Enter key. First item should be focused",async()=>{await i.keyboard("{Enter}"),await r(()=>{t(e.getByRole("menuitem",{name:"Currency"})).toHaveFocus()})}),await n("Close the menu via Tab key. Trigger should be focused",async()=>{await i.keyboard("{Tab}"),await r(()=>{t(e.queryByRole("menu")).not.toBeInTheDocument(),t(o).toHaveFocus()})})}},He={...j,globals:M.globals,parameters:M.parameters,tags:["!autodocs"]},Z={args:{defaultOpen:!0,children:a.jsx(a.Fragment,{children:Array.from({length:100}).map((e,n)=>a.jsx(s,{label:`Item ${n+1}`},n))})}},p=Array.from({length:5}).map(()=>"I won't use long labels for menu items.").join(" "),ee={args:{defaultOpen:!0,children:a.jsxs(f,{label:p,children:[a.jsx(s,{leadingElement:a.jsx(v,{size:"24",svg:O}),label:p,description:p}),a.jsx(x,{leadingElement:a.jsx(v,{size:"24",svg:O}),label:p,description:p,children:a.jsx(s,{leadingElement:a.jsx(v,{size:"24",svg:O}),label:p,description:p})}),a.jsx(A,{leadingElement:a.jsx(v,{size:"24",svg:O}),label:p,description:p,defaultValue:"1",children:a.jsx(h,{leadingElement:a.jsx(v,{size:"24",svg:O}),label:p,description:p,value:"1"})}),a.jsx(V,{leadingElement:a.jsx(v,{size:"24",svg:O}),label:p,description:p}),a.jsx(ne,{defaultValue:"1",children:a.jsx(L,{leadingElement:a.jsx(v,{size:"24",svg:O}),label:p,description:p,value:"1"})})]})}},ae={args:H.args,render:function(n){const[o,l]=b.useState(!1);return a.jsxs(a.Fragment,{children:[a.jsx(oe,{onClick:()=>l(!0),children:"Open dialog"}),a.jsx(Fe,{open:o,onClose:()=>l(!1),title:"Dialog",description:void 0,children:a.jsx(F,{...n})})]})},play:async({canvas:e,step:n})=>{await n("Open dialog",async()=>{await i.click(e.getByRole("button",{name:"Open dialog"})),await r(()=>{t(e.getByRole("dialog",{name:"Dialog"})).toBeVisible()})}),await n("Open dropdown with mouse",async()=>{await i.click(e.getByRole("button",{name:"Settings"})),await r(()=>{t(e.queryByRole("menu",{name:"Settings"})).toBeVisible()})}),await n("Open Region submenu with mouse",async()=>{await i.click(e.getByRole("menuitem",{name:"Region"})),await r(()=>{t(e.queryByRole("menu",{name:"Region"})).toBeVisible()})}),await n("Click on Currency item",async()=>{await i.click(e.getByRole("menuitem",{name:"Currency"})),await r(()=>{t(e.queryByRole("menu",{name:"Settings"})).not.toBeInTheDocument()})}),await n("Open dropdown with keyboard",async()=>{e.getByRole("button",{name:"Settings"}).focus(),await i.keyboard("{Enter}"),await r(()=>{t(e.queryByRole("menu",{name:"Settings"})).toBeVisible(),t(e.getByRole("menuitem",{name:"Region"})).toHaveFocus()})}),await n("Open Region submenu with keyboard",async()=>{await i.keyboard("{Enter}"),await r(()=>{t(e.queryByRole("menu",{name:"Region"})).toBeVisible(),t(e.getByRole("menuitem",{name:"Currency"})).toHaveFocus()})}),await n("Navigate to Language item with keyboard",async()=>{await i.keyboard("{ArrowDown}"),await r(()=>{t(e.getByRole("menuitem",{name:"Language"})).toHaveFocus()})}),await n("Select Language item with keyboard",async()=>{await i.keyboard("{Enter}"),await r(()=>{t(e.queryByRole("menu",{name:"Settings"})).not.toBeInTheDocument()})}),await n("Close dialog",async()=>{await i.keyboard("{Escape}"),await r(()=>{t(e.queryByRole("dialog",{name:"Dialog"})).not.toBeInTheDocument()})})}},q={render:function(n){const[o,l]=b.useState(!1);return a.jsxs(a.Fragment,{children:[a.jsx(F,{...n,children:a.jsx(s,{label:"Open dialog",onClick:()=>l(!0)})}),a.jsx(Fe,{title:"Dialog",description:void 0,open:o,onClose:()=>l(!1),children:"Dialog content"})]})},play:async({canvas:e,step:n})=>{await n("Open dropdown",async()=>{await i.click(e.getByRole("button",{name:"Settings"})),await r(()=>{t(e.getByRole("menu")).toBeVisible()})}),await n("Open dialog",async()=>{await i.click(e.getByRole("menuitem",{name:"Open dialog"})),await r(()=>{t(e.getByRole("dialog",{name:"Dialog"})).toBeVisible()})}),await n("Close dialog",async()=>{await i.keyboard("{Escape}")})}},Co=()=>{const[e,n]=b.useState(!1);return a.jsxs(a.Fragment,{children:[a.jsx(s,{label:"Open dialog",onClick:()=>n(!0)}),a.jsx(Fe,{title:"Dialog",description:void 0,open:e,onClose:()=>n(!1),children:"Dialog content"})]})},te={args:{keepMounted:!0,children:a.jsx(Co,{})},play:q.play};var qe,Ve,Le;re.parameters={...re.parameters,docs:{...(qe=re.parameters)==null?void 0:qe.docs,source:{originalSource:`{
1
+ import{j as t,r as b}from"./iframe-B_74HtSc.js";import{D as h,a as F,b as V,c as L,d as N,e as x,f,g as s,h as O}from"./DropdownMenu-CgNvtJ2F.js";import{B as re}from"./Button-C0Um_QuO.js";import{I as v}from"./Icon-CC0yjdx9.js";import{F as Co,a as Do}from"./TokyoUISettings-BbgnUEy1.js";import{F as Oo}from"./TokyoUIMessages-hZLnK87p.js";import{C as je}from"./CountryFlag-D40CtNEa.js";import{A as qe}from"./Avatar-Die_4zu0.js";import{F as T}from"./TokyoUIEmojiFrowning-DkxcBN-M.js";import{D as Ie}from"./Dialog-CJQmu6iz.js";import{D as To}from"./Divider-j3vJV734.js";import{I as Eo}from"./IconButton-BpjNyYgD.js";import{c as Mo}from"./OnboardingTour-B5gEod5H.js";import"./preload-helper-Dp1pzeXC.js";import"./TokyoUIChevronRight-DRhJYmWB.js";import"./TokyoUICheck-DQLX_x10.js";import"./breakpoints-BfMlrtxE.js";import"./useOpenInteractionType-D3sASQWj.js";import"./filterAttributesPassedByRadixUIAtRuntime-B7QTVwVw.js";import"./VisuallyHidden-fvo3PSUE.js";import"./index-DIqvfT2b.js";import"./useControllableState-BB4EHwEp.js";import"./useStableCallback-D5P5kDx5.js";import"./message-DJT5rp5J.js";import"./componentNames-hc9KR2nX.js";import"./render-icon-MT6RlyNs.js";import"./ButtonBase-HkSfLFbE.js";import"./Spinner-8-RB4YZR.js";import"./useMergeRefs-Caz9hOck.js";import"./useHostname-CbpnzdHv.js";import"./index-CC6DAVyL.js";import"./text-accent-BQ9POoE5.js";import"./constants-5om8Ptru.js";import"./DialogCloseButton-D5YliaRd.js";import"./store-B0wM9Zg8.js";import"./TokyoUIClose-BfMyMrDa.js";import"./shared-strings-ThL9KyH0.js";import"./OnboardingTooltip-DzQhJzWc.js";import"./Text-DvShrljd.js";import"./text-centered-BEaaxMgl.js";import"./Heading-Cj8Si45g.js";import"./index-W3BB_3go.js";const{fn:m,expect:a,userEvent:r,waitFor:i,within:ie}=__STORYBOOK_MODULE_TEST__,u={onOpenChange:m(),items:{transferBalance:m(),addExtraHours:m(),currency:m(),language:m()}},Br={title:"Components/DropdownMenu",component:O,subcomponents:{DropdownMenuItem:s,DropdownMenuGroup:f,DropdownSubmenu:x,DropdownMenuRadioGroup:N,DropdownMenuRadioItem:L,DropdownMenuCheckboxItem:V,DropdownMenuSelect:F,DropdownMenuSelectOption:h},parameters:{preventIframeFromScrollingParent:!0,layout:"fullscreen",docs:{story:{inline:!1,height:400,autoplay:!1}}},decorators:[(e,n)=>t.jsx("div",{style:{height:n.parameters.containerHeight||"100%",padding:24,display:"flex",justifyContent:"center",alignItems:"center"},children:t.jsx(e,{})})],args:{onOpenChange:u.onOpenChange,trigger:t.jsx(re,{children:"Settings"}),children:t.jsxs(t.Fragment,{children:[t.jsx(s,{label:"Transfer balance",onClick:u.items.transferBalance}),t.jsx(s,{label:"Add extra hours",onClick:u.items.addExtraHours})]})}},se={tags:["!autodocs","!dev"],args:{defaultOpen:!0}},R=a.anything(),U={play:async({canvas:e,step:n,args:o})=>{await n("Initially closed",async()=>{a(e.queryByRole("menu")).not.toBeInTheDocument()}),await n("Open dropdown",async()=>{await r.click(e.getByRole("button",{name:"Settings"})),await i(()=>{a(e.queryByRole("menu")).toBeVisible()}),a(o.onOpenChange).toHaveBeenLastCalledWith(!0,R)}),await n("Click outside to close the menu",async()=>{await r.click(document.body),await i(()=>{a(e.queryByRole("menu")).not.toBeInTheDocument()}),a(o.onOpenChange).toHaveBeenLastCalledWith(!1,R)}),await n("Open dropdown again",async()=>{await r.click(e.getByRole("button",{name:"Settings"})),await i(()=>{a(e.queryByRole("menu")).toBeVisible()})}),await n('Click on "Transfer balance"',async()=>{await r.click(e.getByRole("menuitem",{name:"Transfer balance"})),a(u.items.transferBalance).toHaveBeenCalled(),await i(()=>{a(e.queryByRole("menu")).not.toBeInTheDocument()}),a(u.onOpenChange).toHaveBeenLastCalledWith(!1,R)})}},le={tags:["!autodocs"],args:{defaultOpen:!0},play:async({canvas:e,step:n})=>{await n("Initially open",async()=>{await i(()=>{a(e.queryByRole("menu")).toBeVisible()})}),await n("Click outside to close the menu",async()=>{await r.click(document.body),await i(()=>{a(e.queryByRole("menu")).not.toBeInTheDocument()}),a(u.onOpenChange).toHaveBeenLastCalledWith(!1,R)})}};let Ae;const M={decorators:[(e,n)=>{const[o,l]=b.useState(!!n.args.open);Ae=l;const c=(d,k)=>{var g,B;l(d),(B=(g=n.args).onOpenChange)==null||B.call(g,d,k)};return t.jsx(e,{args:{...n.args,open:o,onOpenChange:c}})}],args:{open:!1},play:async({canvas:e,step:n,args:o})=>{await n("Open dropdown",async()=>{await r.click(e.getByRole("button",{name:"Settings"})),await i(()=>{a(e.queryByRole("menu")).toBeVisible()}),a(o.onOpenChange).toHaveBeenLastCalledWith(!0,R)}),await n("Click outside to close the menu",async()=>{await r.click(document.body),await i(()=>{a(e.queryByRole("menu")).not.toBeInTheDocument()}),a(o.onOpenChange).toHaveBeenLastCalledWith(!1,R)}),await n("Open dropdown via open prop",async()=>{u.onOpenChange.mockClear(),Ae(!0),await i(()=>{a(e.queryByRole("menu")).toBeVisible()}),a(o.onOpenChange).not.toHaveBeenCalled()}),await n("Close dropdown via open prop",async()=>{u.onOpenChange.mockClear(),Ae(!1),await i(()=>{a(e.queryByRole("menu")).not.toBeInTheDocument()}),a(o.onOpenChange).not.toHaveBeenCalled()})}},ce={...M,tags:["!autodocs"],args:{...M.args,open:!0},play:async({canvas:e,step:n,args:o})=>{await n("Initially open",async()=>{await i(()=>{a(e.queryByRole("menu")).toBeVisible()})}),await n("Click outside to close the menu",async()=>{await r.click(document.body),await i(()=>{a(e.queryByRole("menu")).not.toBeInTheDocument()}),a(o.onOpenChange).toHaveBeenLastCalledWith(!1,R)})}},z={parameters:{containerHeight:"500px"},args:{side:"top",align:"start",defaultOpen:!0}},ue={parameters:{containerHeight:"500px"},tags:["!autodocs"],args:{side:"inline-end",defaultOpen:!0}},de={parameters:{containerHeight:"500px"},tags:["!autodocs"],args:{side:"inline-start",defaultOpen:!0}},me={parameters:{containerHeight:"500px"},tags:["!autodocs"],args:{side:"left",defaultOpen:!0}},pe={parameters:{containerHeight:"500px"},tags:["!autodocs"],args:{side:"right",defaultOpen:!0}},ge={parameters:{containerHeight:"500px"},tags:["!autodocs"],args:{side:"top",defaultOpen:!0}},ye={tags:["!autodocs"],args:{align:"start",defaultOpen:!0}},we={tags:["!autodocs"],args:{align:"end",defaultOpen:!0}},P={args:{children:t.jsxs(t.Fragment,{children:[t.jsx(s,{label:"Transfer balance",onClick:u.items.transferBalance}),t.jsx(s,{label:"Add extra hours",onClick:u.items.addExtraHours,disabled:!0})]})},play:async({canvas:e,step:n})=>{await n("Open dropdown",async()=>{await r.click(e.getByRole("button",{name:"Settings"})),await i(()=>{a(e.queryByRole("menu")).toBeVisible()})}),await n('Click on "Add extra hours"',async()=>{u.onOpenChange.mockClear();const o=e.getByRole("menuitem",{name:"Add extra hours"});a(o).toHaveAttribute("aria-disabled","true"),await r.click(o),a(u.items.addExtraHours).not.toHaveBeenCalled(),a(u.onOpenChange).not.toHaveBeenCalled(),a(e.queryByRole("menu")).toBeVisible()})}},G={args:{trigger:t.jsx(re,{children:"Language"}),children:t.jsxs(t.Fragment,{children:[t.jsx(s,{label:"Español",description:"Spanish"}),t.jsx(s,{label:"Українська",description:"Ukrainian"})]})},play:async({canvas:e,step:n})=>{await n("Open dropdown",async()=>{await r.click(e.getByRole("button",{name:"Language"})),await i(()=>{a(e.queryByRole("menu")).toBeVisible()})}),await n("Verify items a11y names and descriptions",async()=>{const o=e.getByRole("menuitem",{name:"Español"});a(o).toHaveAccessibleName("Español"),a(o).toHaveAccessibleDescription("Spanish");const l=e.getByRole("menuitem",{name:"Українська"});a(l).toHaveAccessibleName("Українська"),a(l).toHaveAccessibleDescription("Ukrainian")})}},K={args:{defaultOpen:!0,children:t.jsxs(t.Fragment,{children:[t.jsxs(f,{label:"Region",children:[t.jsx(s,{label:"Currency"}),t.jsx(s,{label:"Language"}),t.jsx(s,{label:"Time zone"})]}),t.jsxs(f,{label:"Subscription",children:[t.jsx(s,{label:"Transfer balance"}),t.jsx(s,{label:"Add extra hours"})]})]})}},Y={args:{defaultOpen:!0,children:t.jsxs(t.Fragment,{children:[t.jsx(s,{label:"User profile"}),t.jsx(s,{label:"Payments & subscriptions"}),t.jsx(To,{}),t.jsx(s,{label:"Logout"})]})}},_={parameters:{docs:{story:{height:600}}},args:{defaultOpen:!0,children:t.jsxs(t.Fragment,{children:[t.jsxs(f,{label:"Icons",children:[t.jsx(s,{leadingElement:t.jsx(v,{svg:Co,size:"24"}),label:"Reschedule"}),t.jsx(s,{leadingElement:t.jsx(v,{svg:Oo,size:"24"}),label:"Message tutor"})]}),t.jsxs(f,{label:"Flags",children:[t.jsx(s,{leadingElement:t.jsx(je,{code:"es",alt:"",size:"medium"}),label:"Spain"}),t.jsx(s,{leadingElement:t.jsx(je,{code:"ua",alt:"",size:"medium"}),label:"Ukraine"})]}),t.jsxs(f,{label:"Avatars",children:[t.jsx(s,{leadingElement:t.jsx(qe,{size:"24"}),label:"Kobe B."}),t.jsx(s,{leadingElement:t.jsx(qe,{size:"24"}),label:"Jenny R."})]})]})}},Fe=b.forwardRef(function({to:n,...o},l){return t.jsx("a",{href:n,...o,ref:l})});Fe.displayName="Link";const S={findATutor:m(e=>{e.preventDefault()}),becomeATutor:m(e=>{e.preventDefault()}),myLessons:m(e=>{e.preventDefault()}),referAFriend:m(e=>{e.preventDefault()})},$={args:{trigger:t.jsx(re,{children:"Links"}),children:t.jsxs(t.Fragment,{children:[t.jsx(s,{label:"Find a Tutor",onClick:S.findATutor,as:t.jsx("a",{href:"/en/online/english-tutors"})}),t.jsx(s,{label:"Become a Tutor",onClick:S.becomeATutor,as:t.jsx("a",{href:"/en/teach"}),disabled:!0}),t.jsx(s,{label:"My Lessons",onClick:S.myLessons,as:t.jsx(Fe,{to:"/en/lessons"})}),t.jsx(s,{label:"Refer a Friend",onClick:S.referAFriend,as:t.jsx(Fe,{to:"/en/referral"}),disabled:!0})]})},play:async({canvas:e,step:n})=>{await n("Open dropdown",async()=>{await r.click(e.getByRole("button",{name:"Links"})),await i(()=>{a(e.queryByRole("menu")).toBeVisible()})}),await n("Assert links are rendered correctly",async()=>{const o=e.getByRole("menuitem",{name:"Find a Tutor"});a(o.tagName).toBe("A"),a(o).toHaveAttribute("href","/en/online/english-tutors");const l=e.getByRole("menuitem",{name:"Become a Tutor"});a(l.tagName).toBe("A"),a(l).toHaveAttribute("href","/en/teach"),a(l).toHaveAttribute("aria-disabled","true");const c=e.getByRole("menuitem",{name:"My Lessons"});a(c.tagName).toBe("A"),a(c).toHaveAttribute("href","/en/lessons");const d=e.getByRole("menuitem",{name:"Refer a Friend"});a(d.tagName).toBe("A"),a(d).toHaveAttribute("href","/en/referral"),a(d).toHaveAttribute("aria-disabled","true")}),await n('Click on "Find a Tutor"',async()=>{const o=e.getByRole("menuitem",{name:"Find a Tutor"});await r.click(o),a(S.findATutor).toHaveBeenCalled()}),await n("Open dropdown",async()=>{await r.click(e.getByRole("button",{name:"Links"})),await i(()=>{a(e.queryByRole("menu")).toBeVisible()})}),await n('Click on "Become a Tutor"',async()=>{const o=e.getByRole("menuitem",{name:"Become a Tutor"});await r.click(o),a(S.becomeATutor).not.toHaveBeenCalled(),await i(()=>{a(e.queryByRole("menu")).toBeVisible()})}),await n('Click on "My Lessons"',async()=>{const o=e.getByRole("menuitem",{name:"My Lessons"});await r.click(o),a(S.myLessons).toHaveBeenCalled(),await i(()=>{a(e.queryByRole("menu")).not.toBeInTheDocument()})}),await n("Open dropdown",async()=>{await r.click(e.getByRole("button",{name:"Links"})),await i(()=>{a(e.queryByRole("menu")).toBeVisible()})}),await n('Click on "Refer a Friend"',async()=>{const o=e.getByRole("menuitem",{name:"Refer a Friend"});await r.click(o),a(S.referAFriend).not.toHaveBeenCalled()})}},C={dayOfTheWeek:m(),timeOfTheDay:m(),frequency:m()},J={args:{children:t.jsxs(t.Fragment,{children:[t.jsx(f,{label:"Day of the week",children:t.jsx(N,{defaultValue:"mon",onValueChange:C.dayOfTheWeek,items:[{label:"Monday",value:"mon"},{label:"Tuesday",value:"tue"},{label:"Wednesday",value:"wed"},{label:"Thursday",value:"thu"},{label:"Friday",value:"fri"},{label:"Saturday",value:"sat",disabled:!0},{label:"Sunday",value:"sun",disabled:!0}]})}),t.jsx(f,{label:"Time of the day",children:t.jsxs(N,{onValueChange:C.timeOfTheDay,children:[t.jsx(L,{label:"Morning",value:"morning"}),t.jsx(L,{label:"Afternoon",value:"afternoon"})]})}),t.jsx(f,{label:"Frequency",children:t.jsxs(N,{value:"once",onValueChange:C.frequency,disabled:!0,children:[t.jsx(L,{label:"Once",value:"once"}),t.jsx(L,{label:"Weekly",value:"weekly"})]})})]})},play:async({canvas:e,step:n})=>{await n("Open dropdown",async()=>{await r.click(e.getByRole("button",{name:"Settings"})),await i(()=>{a(e.queryByRole("menu")).toBeVisible()})});const o=e.getByRole("menuitemradio",{name:"Monday"}),l=e.getByRole("menuitemradio",{name:"Tuesday"}),c=e.getByRole("menuitemradio",{name:"Saturday"});await n("Day of the week: default value is selected",async()=>{a(o).toHaveAttribute("aria-checked","true")}),await n('Click on "Tuesday"',async()=>{await r.click(l),a(C.dayOfTheWeek).toHaveBeenCalledWith("tue"),await i(()=>{a(o).toHaveAttribute("aria-checked","false"),a(l).toHaveAttribute("aria-checked","true")})}),await n('Click on "Saturday"',async()=>{C.dayOfTheWeek.mockClear(),await r.click(c),a(C.dayOfTheWeek).not.toHaveBeenCalled(),await i(()=>{a(l).toHaveAttribute("aria-checked","true")})});const d=e.getByRole("menuitemradio",{name:"Morning"}),k=e.getByRole("menuitemradio",{name:"Afternoon"});await n("Time of the day: none is selected",async()=>{a(d).toHaveAttribute("aria-checked","false"),a(k).toHaveAttribute("aria-checked","false")}),await n('Click on "Morning"',async()=>{await r.click(d),a(C.timeOfTheDay).toHaveBeenCalledWith("morning"),await i(()=>{a(d).toHaveAttribute("aria-checked","true")})});const g=e.getByRole("menuitemradio",{name:"Once"}),B=e.getByRole("menuitemradio",{name:"Weekly"});await n("Frequency: everything is disabled, once is selected",async()=>{a(g).toHaveAttribute("aria-disabled","true"),a(B).toHaveAttribute("aria-disabled","true"),a(g).toHaveAttribute("aria-checked","true"),a(B).toHaveAttribute("aria-checked","false")}),await n('Click on "Weekly"',async()=>{await r.click(B),a(C.frequency).not.toHaveBeenCalled(),await i(()=>{a(g).toHaveAttribute("aria-checked","true")})})}},D={email:m(),sms:m(),push:m(),alerts:m()},Q={args:{children:t.jsxs(t.Fragment,{children:[t.jsx(V,{label:"Email notifications",onCheckedChange:D.email,defaultChecked:!0}),t.jsx(V,{label:"SMS notifications",onCheckedChange:D.sms}),t.jsx(V,{label:"Push notifications",onCheckedChange:D.push,disabled:!0}),t.jsx(V,{label:"System alerts (required)",onCheckedChange:D.alerts,disabled:!0,checked:!0})]})},play:async({canvas:e,step:n})=>{await n("Open dropdown",async()=>{await r.click(e.getByRole("button",{name:"Settings"})),await i(()=>{a(e.queryByRole("menu")).toBeVisible()})});const o=e.getByRole("menuitemcheckbox",{name:"Email notifications"}),l=e.getByRole("menuitemcheckbox",{name:"SMS notifications"}),c=e.getByRole("menuitemcheckbox",{name:"Push notifications"}),d=e.getByRole("menuitemcheckbox",{name:"System alerts (required)"});await n("Email notifications is checked by default",async()=>{a(o).toHaveAttribute("aria-checked","true")}),await n('Uncheck "Email notifications"',async()=>{await r.click(o),a(D.email).toHaveBeenCalledWith(!1,R),await i(()=>{a(o).toHaveAttribute("aria-checked","false")})}),await n('"SMS notifications" is not checked',async()=>{a(l).toHaveAttribute("aria-checked","false")}),await n('Check "SMS notifications"',async()=>{await r.click(l),a(D.sms).toHaveBeenCalledWith(!0,R),await i(()=>{a(l).toHaveAttribute("aria-checked","true")})}),await n('"Push notifications" is disabled and not checked',async()=>{a(c).toHaveAttribute("aria-disabled","true"),a(c).toHaveAttribute("aria-checked","false")}),await n('Click on "Push notifications"',async()=>{await r.click(c),a(D.push).not.toHaveBeenCalled(),await i(()=>{a(c).toHaveAttribute("aria-checked","false")})}),await n('"System alerts (required)" is disabled and checked',async()=>{a(d).toHaveAttribute("aria-disabled","true"),a(d).toHaveAttribute("aria-checked","true")}),await n('Click on "System alerts (required)"',async()=>{await r.click(d),a(D.alerts).not.toHaveBeenCalled(),await i(()=>{a(d).toHaveAttribute("aria-checked","true")})})}},W={dayOfTheWeek:m(),timeOfTheDay:m(),frequency:m()},I=e=>{const[n,o]=b.useState("mon"),[l,c]=b.useState(),d=g=>{o(g),W.dayOfTheWeek(g)},k=g=>{c(g),W.timeOfTheDay(g)};return t.jsxs(O,{...e,children:[t.jsx(F,{label:"Day of the week",value:n,onValueChange:d,items:[{label:"Monday",value:"mon"},{label:"Tuesday",value:"tue"},{label:"Wednesday",value:"wed"},{label:"Thursday",value:"thu"},{label:"Friday",value:"fri"},{label:"Saturday",value:"sat",disabled:!0},{label:"Sunday",value:"sun",disabled:!0}]}),t.jsxs(F,{label:"Time of the day",defaultValue:l,onValueChange:k,children:[t.jsx(h,{value:"morning",label:"Morning"}),t.jsx(h,{value:"afternoon",label:"Afternoon"})]}),t.jsxs(F,{label:"Frequency",onValueChange:W.frequency,disabled:!0,children:[t.jsx(h,{label:"Once",value:"once"}),t.jsx(h,{label:"Weekly",value:"weekly"})]})]})};I.play=async({canvas:e,step:n})=>{await n("Open dropdown",async()=>{await r.click(e.getByRole("button",{name:"Settings"})),await i(()=>{a(e.queryByRole("menu")).toBeVisible()})});const o=e.getByRole("menuitem",{name:/^Day of the week/});await n("Day of the week: default value is selected",async()=>{a(o).toHaveAccessibleName(/Selected: Monday$/)}),await n("Open day of the week submenu",async()=>{await r.hover(o),await i(()=>{a(e.queryByRole("menu",{name:/^Day of the week/})).toBeVisible()})}),await n('Click on "Tuesday"',async()=>{await r.click(e.getByRole("menuitemradio",{name:"Tuesday"})),a(W.dayOfTheWeek).toHaveBeenCalledWith("tue"),await i(()=>{a(e.queryByRole("menu",{name:/^Day of the week/,hidden:!0})).not.toBeVisible(),a(o).toHaveAccessibleName(/Selected: Tuesday$/)})});const l=e.getByRole("menuitem",{name:/^Time of the day/});await n("Time of the day: nothing is selected",async()=>{a(l).toHaveAccessibleName("Time of the day")}),await n("Open time of the day submenu",async()=>{l.focus(),await r.keyboard(" "),await i(()=>{a(e.queryByRole("menu",{name:/^Time of the day/})).toBeVisible()})}),await n('Click on "Morning"',async()=>{await r.click(e.getByRole("menuitemradio",{name:"Morning"})),a(W.timeOfTheDay).toHaveBeenCalledWith("morning"),await i(()=>{a(e.queryByRole("menu",{name:/^Time of the day/,hidden:!0})).not.toBeVisible(),a(l).toHaveAccessibleName(/Selected: Morning$/)})}),await n("Open dropdown",async()=>{await r.click(e.getByRole("button",{name:"Settings"})),await i(()=>{a(e.queryByRole("menu")).toBeVisible()})}),await n("Frequency is disabled",async()=>{const c=e.getByRole("menuitem",{name:"Frequency"});a(c).toHaveAttribute("aria-disabled","true"),await r.click(c,{pointerEventsCheck:0}),a(W.frequency).not.toHaveBeenCalled(),await i(()=>{a(e.queryByRole("menu",{name:"Frequency",hidden:!0})).not.toBeVisible()})})};const y={render:function({align:n,side:o,...l}){return t.jsx(O,{...l,defaultOpen:!0,children:t.jsxs(F,{label:"Time of the day",side:o,align:n,defaultOpen:!0,children:[t.jsx(h,{value:"morning",label:"Morning"}),t.jsx(h,{value:"afternoon",label:"Afternoon"})]})})},parameters:{containerHeight:"500px"},args:{side:"top",align:"start"}},be={render:y.render,parameters:{containerHeight:"500px"},tags:["!autodocs"],args:{side:"inline-end"}},he={render:y.render,parameters:{containerHeight:"500px"},tags:["!autodocs"],args:{side:"inline-start",defaultOpen:!0}},fe={render:y.render,parameters:{containerHeight:"500px"},tags:["!autodocs"],args:{side:"left",defaultOpen:!0}},ke={render:y.render,parameters:{containerHeight:"500px"},tags:["!autodocs"],args:{side:"right",defaultOpen:!0}},Be={render:y.render,parameters:{containerHeight:"500px"},tags:["!autodocs"],args:{side:"top",defaultOpen:!0}},ve={render:y.render,tags:["!autodocs"],args:{align:"start",defaultOpen:!0}},xe={render:y.render,tags:["!autodocs"],args:{align:"end",defaultOpen:!0}},H={args:{children:t.jsxs(t.Fragment,{children:[t.jsxs(x,{label:"Region",children:[t.jsx(s,{label:"Currency"}),t.jsx(s,{label:"Language"}),t.jsx(s,{label:"Time zone"})]}),t.jsxs(x,{label:"Subscription",children:[t.jsx(s,{label:"Transfer balance"}),t.jsx(s,{label:"Add extra hours"})]}),t.jsxs(x,{label:"Integrations",disabled:!0,children:[t.jsx(s,{label:"Connect calendar"}),t.jsx(s,{label:"Slack integration"}),t.jsx(s,{label:"Email sync"})]})]})},play:async({canvas:e,step:n})=>{await n("Open dropdown",async()=>{await r.click(e.getByRole("button",{name:"Settings"})),await i(()=>{a(e.queryByRole("menu")).toBeVisible()})});const o=e.getByRole("menuitem",{name:"Region"});await n("Region submenu opens on hover",async()=>{await r.hover(o),await i(()=>{a(e.queryByRole("menu",{name:"Region"})).toBeVisible()})}),await n("Region submenu closes on hover out",async()=>{await r.unhover(o),await i(()=>{a(e.queryByRole("menu",{name:"Region"})).not.toBeInTheDocument()})}),await n("Integrations submenu is disabled",async()=>{const l=e.getByRole("menuitem",{name:"Integrations"});a(l).toHaveAttribute("aria-disabled","true"),await r.click(l),await i(()=>{a(e.queryByRole("menu",{name:"Integrations"})).not.toBeInTheDocument()})})}},w={render:function({align:n,side:o,...l}){return t.jsx(O,{...l,defaultOpen:!0,children:t.jsxs(x,{label:"Region",side:o,align:n,defaultOpen:!0,children:[t.jsx(s,{label:"Currency"}),t.jsx(s,{label:"Language"}),t.jsx(s,{label:"Time zone"})]})})},parameters:{containerHeight:"500px"},args:{side:"top",align:"start"}},Re={render:w.render,parameters:{containerHeight:"500px"},tags:["!autodocs"],args:{side:"inline-end"}},Se={render:w.render,parameters:{containerHeight:"500px"},tags:["!autodocs"],args:{side:"inline-start",defaultOpen:!0}},Ce={render:w.render,parameters:{containerHeight:"500px"},tags:["!autodocs"],args:{side:"left",defaultOpen:!0}},De={render:w.render,parameters:{containerHeight:"500px"},tags:["!autodocs"],args:{side:"right",defaultOpen:!0}},Oe={render:w.render,parameters:{containerHeight:"500px"},tags:["!autodocs"],args:{side:"top",defaultOpen:!0}},Te={render:w.render,tags:["!autodocs"],args:{align:"start",defaultOpen:!0}},Ee={render:w.render,tags:["!autodocs"],args:{align:"end",defaultOpen:!0}},{Provider:Ro,Step:E}=Mo();Ro.displayName="Tour.Provider";E.displayName="Tour.Step";const X={parameters:{docs:{source:{type:"dynamic"}}},decorators:[e=>{const[n,o]=b.useState(0),l=()=>o(n+1);return t.jsxs(t.Fragment,{children:[t.jsx(e,{},n),t.jsx("div",{style:{position:"fixed",left:0,bottom:0,margin:8},children:t.jsx(re,{variant:"ghost",size:"small",onClick:l,children:"Reset story"})})]})}],render:function(){const[n,o]=b.useState(!1),[l,c]=b.useState(!1),[d,k]=b.useState(!1),g=So=>{switch(So){case 1:o(!0);return;case 3:c(!0);return;case 5:k(!0);return}},B=()=>{o(!1),c(!1),k(!1)};return t.jsx(Ro,{totalSteps:6,onStepChange:g,onComplete:B,onClose:B,children:t.jsx(E,{step:0,title:"New settings menu",text:"All settings are now in one place.",children:t.jsxs(O,{open:n,onOpenChange:o,trigger:t.jsx(Eo,{svg:Do,variant:"ghost",assistiveText:"Settings"}),children:[t.jsx(E,{step:1,title:"Transfer balance",text:"You can now transfer your balance to another tutor.",side:"right",children:t.jsx(s,{label:"Transfer balance"})}),t.jsx(s,{label:"Add extra hours"}),t.jsx(E,{step:2,title:"Region",text:"Region settings are grouped together.",side:"top",children:t.jsxs(x,{label:"Region",keepMounted:!0,open:l,onOpenChange:c,children:[t.jsx(s,{label:"Language"}),t.jsx(E,{step:3,title:"Time zone",text:"You can now select your time zone.",side:"right",children:t.jsx(s,{label:"Time zone"})})]})}),t.jsx(E,{step:4,title:"Currency",text:"Currency settings moved here.",side:"right",children:t.jsxs(F,{open:d,onOpenChange:k,defaultValue:"USD",label:"Currency",children:[t.jsx(h,{value:"USD",label:"US Dollar"}),t.jsx(h,{value:"EUR",label:"Euro"}),t.jsx(E,{step:5,title:"New currency!",text:"Pay and receive payments in british pounds.",children:t.jsx(h,{value:"GBP",label:"British Pound"})})]})})]})})})},play:async({canvas:e,step:n})=>{await n("Tour tooltip should be visible",async()=>{await i(()=>{a(e.getByRole("dialog",{name:"New settings menu"})).toBeVisible()})}),await n("Click Next to advance to second step",async()=>{await r.click(e.getByRole("button",{name:"Next"})),await i(()=>{a(e.getByRole("dialog",{name:"Transfer balance"})).toBeVisible(),a(e.getByRole("menu")).toBeVisible()})}),await n("Click Next to advance to third step",async()=>{const o=ie(e.getByRole("dialog",{name:"Transfer balance"}));await r.click(o.getByRole("button",{name:"Next"})),await i(()=>{a(e.getByRole("dialog",{name:"Region"})).toBeVisible()})}),await n("Click Next to advance to fourth step",async()=>{const o=ie(e.getByRole("dialog",{name:"Region"}));await r.click(o.getByRole("button",{name:"Next"})),await i(()=>{a(e.getByRole("dialog",{name:"Time zone"})).toBeVisible(),a(e.getByRole("menu",{name:"Region"})).toBeVisible()})}),await n("Click Next to advance to fifth step",async()=>{const o=ie(e.getByRole("dialog",{name:"Time zone"}));await r.click(o.getByRole("button",{name:"Next"})),await i(()=>{a(e.getByRole("dialog",{name:"Currency"})).toBeVisible()})}),await n("Click Next to advance to the last step",async()=>{const o=ie(e.getByRole("dialog",{name:"Currency"}));await r.click(o.getByRole("button",{name:"Next"})),await i(()=>{a(e.getByRole("dialog",{name:"New currency!"})).toBeVisible(),a(e.getByRole("menu",{name:/Currency/})).toBeVisible()})}),await r.click(e.getByRole("button",{name:"Reset story"}))}},Me=e=>{if(!e)return!1;const{top:n,left:o,bottom:l,right:c}=e.getBoundingClientRect();return!(n>=window.innerHeight||l<=0||o>=window.innerWidth||c<=0)},Z={args:{keepMounted:!0,children:t.jsxs(t.Fragment,{children:[t.jsx(s,{label:"Transfer balance"}),t.jsx(s,{label:"Add extra hours"}),t.jsxs(x,{label:"Region",keepMounted:!0,children:[t.jsx(s,{label:"Currency"}),t.jsx(s,{label:"Language"}),t.jsx(s,{label:"Time zone"})]})]})},play:async({canvas:e,step:n})=>{const o=await e.findByRole("menu",{name:"Settings",hidden:!0}),l=await e.findByRole("menu",{name:"Region",hidden:!0});await n("Menus are mounted, but not visible",async()=>{a(o).toBeInTheDocument(),a(o).not.toBeVisible(),a(l).toBeInTheDocument(),a(l).not.toBeVisible()}),await n("Open the menu",async()=>{await r.click(e.getByRole("button",{name:"Settings"})),await i(()=>{a(o).toBeVisible()})}),await n("Submenu is visible",async()=>{await r.click(e.getByRole("menuitem",{name:"Region"})),await i(()=>{a(l).toBeVisible()})}),await n("Close the submenu.",async()=>{await r.keyboard("{Escape}"),await i(()=>{a(l).not.toBeVisible()}),a(l).toBeInTheDocument()}),await n("Close the menu.",async()=>{await r.keyboard("{Escape}"),await i(()=>{a(o).not.toBeVisible()}),a(o).toBeInTheDocument()})}},A={args:H.args,globals:{viewport:{value:"narrow-l",isRotated:!1}},parameters:{layout:"centered"},play:async({canvas:e,step:n})=>{await n("Open dropdown",async()=>{await r.click(e.getByRole("button",{name:"Settings"})),await i(()=>{a(e.queryByRole("menu")).toBeVisible()})}),await n('Click on "Region"',async()=>{await r.click(e.getByRole("menuitem",{name:"Region"})),await i(async()=>{a(Me(e.queryByRole("menu",{name:"Settings"})),"Main menu should be hidden").toBe(!1),a(Me(e.queryByRole("menu",{name:"Region"})),"Submenu should be visible").toBe(!0)})}),await n("Tap away to return to main menu",async()=>{const o=e.getByRole("menu",{name:"Region"}).closest("[data-base-ui-portal]").querySelector("[data-backdrop]");await r.click(o),await i(async()=>{a(Me(e.queryByRole("menu",{name:"Region"})),"Submenu should be hidden").toBe(!1),a(Me(e.queryByRole("menu",{name:"Settings"})),"Main menu should be visible").toBe(!0)})}),await n("Tap away to close menu",async()=>{await r.click(document.querySelector("[data-backdrop]")),await i(async()=>{a(e.queryByRole("menu")).not.toBeInTheDocument()})})}},j={args:{children:t.jsxs(t.Fragment,{children:[t.jsx(s,{label:"Transfer balance",onClick:u.items.transferBalance}),t.jsx(s,{label:"Add extra hours",onClick:u.items.addExtraHours,disabled:!0}),t.jsxs(x,{label:"Region",children:[t.jsx(s,{label:"Currency",onClick:u.items.currency}),t.jsx(s,{label:"Language",onClick:u.items.language}),t.jsx(s,{label:"Time zone"})]})]})},play:async({canvas:e,step:n})=>{const o=e.getByRole("button",{name:"Settings"});await n("Focus on the trigger element",async()=>{o.focus()}),await n("Open the menu via Enter key. First item should be focused",async()=>{await r.keyboard("{Enter}"),await i(()=>{a(e.queryByRole("menu")).toBeVisible(),a(e.getByRole("menuitem",{name:"Transfer balance"})).toHaveFocus()})}),await n("Close the menu via Escape key. Trigger should be focused",async()=>{await r.keyboard("{Escape}"),await i(()=>{a(e.queryByRole("menu")).not.toBeInTheDocument(),a(o).toHaveFocus()})}),await n("Open the menu via Space key. First item should be focused",async()=>{await r.keyboard(" "),await i(()=>{a(e.queryByRole("menu")).toBeVisible(),a(e.getByRole("menuitem",{name:"Transfer balance"})).toHaveFocus()})}),await n("Select the first item via Enter key. Menu should be closed and trigger should be focused",async()=>{await r.keyboard("{Enter}"),a(u.items.transferBalance).toHaveBeenCalled(),await i(()=>{a(e.queryByRole("menu")).not.toBeInTheDocument(),a(o).toHaveFocus()})}),await n("Open the menu via Enter key. First item should be focused",async()=>{await r.keyboard("{Enter}"),await i(()=>{a(e.queryByRole("menu")).toBeVisible(),a(e.getByRole("menuitem",{name:"Transfer balance"})).toHaveFocus()})}),await n("Navigate through the menu using Arrow keys",async()=>{await r.keyboard("{ArrowDown}"),await i(()=>{a(e.getByRole("menuitem",{name:"Add extra hours"})).toHaveFocus()}),await r.keyboard("{ArrowDown}"),await i(()=>{a(e.getByRole("menuitem",{name:"Region"})).toHaveFocus()}),await r.keyboard("{ArrowDown}"),await i(()=>{a(e.getByRole("menuitem",{name:"Transfer balance"})).toHaveFocus()}),await r.keyboard("{ArrowUp}"),await r.keyboard("{ArrowUp}"),await i(()=>{a(e.getByRole("menuitem",{name:"Add extra hours"})).toHaveFocus()})}),await n("Enter key does nothing for disabled item",async()=>{await r.keyboard("{Enter}"),a(u.items.addExtraHours).not.toHaveBeenCalled()}),await n("Space key does nothing for disabled item",async()=>{await r.keyboard(" "),a(u.items.addExtraHours).not.toHaveBeenCalled()}),await n("Navigate to submenu trigger using Arrow down key",async()=>{await r.keyboard("{ArrowDown}"),await i(()=>{a(e.getByRole("menuitem",{name:"Region"})).toHaveFocus()})}),await n("Open the submenu via Enter key. First item should be focused",async()=>{await r.keyboard("{Enter}"),await i(()=>{a(e.getByRole("menuitem",{name:"Currency"})).toHaveFocus()})}),await n("Navigate back to main menu using Arrow left key. Submenu trigger should be focused",async()=>{await r.keyboard("{ArrowLeft}"),await i(()=>{a(e.getByRole("menuitem",{name:"Region"})).toHaveFocus()})}),await n("Open submenu using Arrow right key. First item should be focused",async()=>{await r.keyboard("{ArrowRight}"),await i(()=>{a(e.getByRole("menuitem",{name:"Currency"})).toHaveFocus()})}),await n("Navigate back to main menu using Escape key. Submenu trigger should be focused",async()=>{await r.keyboard("{Escape}"),await i(()=>{a(e.getByRole("menuitem",{name:"Region"})).toHaveFocus()})}),await n("Open submenu using Enter key. First item should be focused",async()=>{await r.keyboard("{Enter}"),await i(()=>{a(e.getByRole("menuitem",{name:"Currency"})).toHaveFocus()})}),await n("Close the menu via Tab key. Trigger should be focused",async()=>{await r.keyboard("{Tab}"),await i(()=>{a(e.queryByRole("menu")).not.toBeInTheDocument(),a(o).toHaveFocus()})})}},He={...j,globals:A.globals,parameters:A.parameters,tags:["!autodocs"]},ee={args:{defaultOpen:!0,children:t.jsx(t.Fragment,{children:Array.from({length:100}).map((e,n)=>t.jsx(s,{label:`Item ${n+1}`},n))})}},p=Array.from({length:5}).map(()=>"I won't use long labels for menu items.").join(" "),te={args:{defaultOpen:!0,children:t.jsxs(f,{label:p,children:[t.jsx(s,{leadingElement:t.jsx(v,{size:"24",svg:T}),label:p,description:p}),t.jsx(x,{leadingElement:t.jsx(v,{size:"24",svg:T}),label:p,description:p,children:t.jsx(s,{leadingElement:t.jsx(v,{size:"24",svg:T}),label:p,description:p})}),t.jsx(F,{leadingElement:t.jsx(v,{size:"24",svg:T}),label:p,description:p,defaultValue:"1",children:t.jsx(h,{leadingElement:t.jsx(v,{size:"24",svg:T}),label:p,description:p,value:"1"})}),t.jsx(V,{leadingElement:t.jsx(v,{size:"24",svg:T}),label:p,description:p}),t.jsx(N,{defaultValue:"1",children:t.jsx(L,{leadingElement:t.jsx(v,{size:"24",svg:T}),label:p,description:p,value:"1"})})]})}},ae={args:H.args,render:function(n){const[o,l]=b.useState(!1);return t.jsxs(t.Fragment,{children:[t.jsx(re,{onClick:()=>l(!0),children:"Open dialog"}),t.jsx(Ie,{open:o,onClose:()=>l(!1),title:"Dialog",description:void 0,children:t.jsx(O,{...n})})]})},play:async({canvas:e,step:n})=>{await n("Open dialog",async()=>{await r.click(e.getByRole("button",{name:"Open dialog"})),await i(()=>{a(e.getByRole("dialog",{name:"Dialog"})).toBeVisible()})}),await n("Open dropdown with mouse",async()=>{await r.click(e.getByRole("button",{name:"Settings"})),await i(()=>{a(e.queryByRole("menu",{name:"Settings"})).toBeVisible()})}),await n("Open Region submenu with mouse",async()=>{await r.click(e.getByRole("menuitem",{name:"Region"})),await i(()=>{a(e.queryByRole("menu",{name:"Region"})).toBeVisible()})}),await n("Click on Currency item",async()=>{await r.click(e.getByRole("menuitem",{name:"Currency"})),await i(()=>{a(e.queryByRole("menu",{name:"Settings"})).not.toBeInTheDocument()})}),await n("Open dropdown with keyboard",async()=>{e.getByRole("button",{name:"Settings"}).focus(),await r.keyboard("{Enter}"),await i(()=>{a(e.queryByRole("menu",{name:"Settings"})).toBeVisible(),a(e.getByRole("menuitem",{name:"Region"})).toHaveFocus()})}),await n("Open Region submenu with keyboard",async()=>{await r.keyboard("{Enter}"),await i(()=>{a(e.queryByRole("menu",{name:"Region"})).toBeVisible(),a(e.getByRole("menuitem",{name:"Currency"})).toHaveFocus()})}),await n("Navigate to Language item with keyboard",async()=>{await r.keyboard("{ArrowDown}"),await i(()=>{a(e.getByRole("menuitem",{name:"Language"})).toHaveFocus()})}),await n("Select Language item with keyboard",async()=>{await r.keyboard("{Enter}"),await i(()=>{a(e.queryByRole("menu",{name:"Settings"})).not.toBeInTheDocument()})}),await n("Close dialog",async()=>{await r.keyboard("{Escape}"),await i(()=>{a(e.queryByRole("dialog",{name:"Dialog"})).not.toBeInTheDocument()})})}},q={render:function(n){const[o,l]=b.useState(!1);return t.jsxs(t.Fragment,{children:[t.jsx(O,{...n,children:t.jsx(s,{label:"Open dialog",onClick:()=>l(!0)})}),t.jsx(Ie,{title:"Dialog",description:void 0,open:o,onClose:()=>l(!1),children:"Dialog content"})]})},play:async({canvas:e,step:n})=>{await n("Open dropdown",async()=>{await r.click(e.getByRole("button",{name:"Settings"})),await i(()=>{a(e.getByRole("menu")).toBeVisible()})}),await n("Open dialog",async()=>{await r.click(e.getByRole("menuitem",{name:"Open dialog"})),await i(()=>{a(e.getByRole("dialog",{name:"Dialog"})).toBeVisible()})}),await n("Close dialog",async()=>{await r.keyboard("{Escape}")})}},Ho=()=>{const[e,n]=b.useState(!1);return t.jsxs(t.Fragment,{children:[t.jsx(s,{label:"Open dialog",onClick:()=>n(!0)}),t.jsx(Ie,{title:"Dialog",description:void 0,open:e,onClose:()=>n(!1),children:"Dialog content"})]})},ne={args:{keepMounted:!0,children:t.jsx(Ho,{})},play:q.play},oe={render:()=>{const e=b.forwardRef((n,o)=>t.jsx("button",{...n,ref:o,children:"Button"}));return t.jsx(O,{open:!0,trigger:t.jsx(e,{}),children:t.jsxs(N,{children:[t.jsx(s,{label:"Transfer balance",onClick:u.items.transferBalance}),t.jsx(s,{label:"Add extra hours",onClick:u.items.addExtraHours})]})})}};var Ve,Le,Ne;se.parameters={...se.parameters,docs:{...(Ve=se.parameters)==null?void 0:Ve.docs,source:{originalSource:`{
2
2
  tags: ['!autodocs', '!dev'],
3
3
  args: {
4
4
  defaultOpen: true
5
5
  }
6
- }`,...(Le=(Ve=re.parameters)==null?void 0:Ve.docs)==null?void 0:Le.source}}};var Ne,We,Ue,ze,Pe;W.parameters={...W.parameters,docs:{...(Ne=W.parameters)==null?void 0:Ne.docs,source:{originalSource:`{
6
+ }`,...(Ne=(Le=se.parameters)==null?void 0:Le.docs)==null?void 0:Ne.source}}};var We,Ue,ze,Pe,Ge;U.parameters={...U.parameters,docs:{...(We=U.parameters)==null?void 0:We.docs,source:{originalSource:`{
7
7
  play: async ({
8
8
  canvas,
9
9
  step,
@@ -47,7 +47,7 @@ import{j as a,r as b}from"./iframe-DjYTJz7A.js";import{D as h,a as A,b as V,c as
47
47
  expect(callbacks.onOpenChange).toHaveBeenLastCalledWith(false, BaseUiEventDetails);
48
48
  });
49
49
  }
50
- }`,...(Ue=(We=W.parameters)==null?void 0:We.docs)==null?void 0:Ue.source},description:{story:"Dropdown menu is uncontrolled by default, managing its own open/closed state internally.\nUse the `defaultOpen` prop to set the initial open state.",...(Pe=(ze=W.parameters)==null?void 0:ze.docs)==null?void 0:Pe.description}}};var Ge,Ke,Ye;se.parameters={...se.parameters,docs:{...(Ge=se.parameters)==null?void 0:Ge.docs,source:{originalSource:`{
50
+ }`,...(ze=(Ue=U.parameters)==null?void 0:Ue.docs)==null?void 0:ze.source},description:{story:"Dropdown menu is uncontrolled by default, managing its own open/closed state internally.\nUse the `defaultOpen` prop to set the initial open state.",...(Ge=(Pe=U.parameters)==null?void 0:Pe.docs)==null?void 0:Ge.description}}};var Ke,Ye,_e;le.parameters={...le.parameters,docs:{...(Ke=le.parameters)==null?void 0:Ke.docs,source:{originalSource:`{
51
51
  tags: ['!autodocs'],
52
52
  args: {
53
53
  defaultOpen: true
@@ -69,7 +69,7 @@ import{j as a,r as b}from"./iframe-DjYTJz7A.js";import{D as h,a as A,b as V,c as
69
69
  expect(callbacks.onOpenChange).toHaveBeenLastCalledWith(false, BaseUiEventDetails);
70
70
  });
71
71
  }
72
- }`,...(Ye=(Ke=se.parameters)==null?void 0:Ke.docs)==null?void 0:Ye.source}}};var _e,$e,Je,Qe,Xe;E.parameters={...E.parameters,docs:{...(_e=E.parameters)==null?void 0:_e.docs,source:{originalSource:`{
72
+ }`,...(_e=(Ye=le.parameters)==null?void 0:Ye.docs)==null?void 0:_e.source}}};var $e,Je,Qe,Xe,Ze;M.parameters={...M.parameters,docs:{...($e=M.parameters)==null?void 0:$e.docs,source:{originalSource:`{
73
73
  decorators: [(Story, ctx) => {
74
74
  const [open, setOpen] = useState(!!ctx.args.open);
75
75
  setOpenFromPlayFunction = setOpen;
@@ -124,7 +124,7 @@ import{j as a,r as b}from"./iframe-DjYTJz7A.js";import{D as h,a as A,b as V,c as
124
124
  expect(args.onOpenChange).not.toHaveBeenCalled();
125
125
  });
126
126
  }
127
- }`,...(Je=($e=E.parameters)==null?void 0:$e.docs)==null?void 0:Je.source},description:{story:"Use the `open` prop along with `onOpenChange` to make the dropdown menu controlled.\nThis gives you full control over the menu's open/closed state, useful for complex\ninteractions or when you need to coordinate the menu state with other UI elements.",...(Xe=(Qe=E.parameters)==null?void 0:Qe.docs)==null?void 0:Xe.description}}};var Ze,ea,aa;le.parameters={...le.parameters,docs:{...(Ze=le.parameters)==null?void 0:Ze.docs,source:{originalSource:`{
127
+ }`,...(Qe=(Je=M.parameters)==null?void 0:Je.docs)==null?void 0:Qe.source},description:{story:"Use the `open` prop along with `onOpenChange` to make the dropdown menu controlled.\nThis gives you full control over the menu's open/closed state, useful for complex\ninteractions or when you need to coordinate the menu state with other UI elements.",...(Ze=(Xe=M.parameters)==null?void 0:Xe.docs)==null?void 0:Ze.description}}};var et,tt,at;ce.parameters={...ce.parameters,docs:{...(et=ce.parameters)==null?void 0:et.docs,source:{originalSource:`{
128
128
  ...Controlled,
129
129
  tags: ['!autodocs'],
130
130
  args: {
@@ -149,7 +149,7 @@ import{j as a,r as b}from"./iframe-DjYTJz7A.js";import{D as h,a as A,b as V,c as
149
149
  expect(args.onOpenChange).toHaveBeenLastCalledWith(false, BaseUiEventDetails);
150
150
  });
151
151
  }
152
- }`,...(aa=(ea=le.parameters)==null?void 0:ea.docs)==null?void 0:aa.source}}};var ta,na,oa,ia,ra;U.parameters={...U.parameters,docs:{...(ta=U.parameters)==null?void 0:ta.docs,source:{originalSource:`{
152
+ }`,...(at=(tt=ce.parameters)==null?void 0:tt.docs)==null?void 0:at.source}}};var nt,ot,rt,it,st;z.parameters={...z.parameters,docs:{...(nt=z.parameters)==null?void 0:nt.docs,source:{originalSource:`{
153
153
  parameters: {
154
154
  containerHeight: '500px'
155
155
  },
@@ -158,7 +158,7 @@ import{j as a,r as b}from"./iframe-DjYTJz7A.js";import{D as h,a as A,b as V,c as
158
158
  align: 'start',
159
159
  defaultOpen: true
160
160
  }
161
- }`,...(oa=(na=U.parameters)==null?void 0:na.docs)==null?void 0:oa.source},description:{story:"Use the `side` and `align` props to control where the menu appears relative to the trigger.\nThe `side` prop determines which side of the trigger the menu opens on,\nwhile `align` controls alignment along that side.\nThe menu might automatically reposition to avoid viewport collisions.",...(ra=(ia=U.parameters)==null?void 0:ia.docs)==null?void 0:ra.description}}};var sa,la,ca;ce.parameters={...ce.parameters,docs:{...(sa=ce.parameters)==null?void 0:sa.docs,source:{originalSource:`{
161
+ }`,...(rt=(ot=z.parameters)==null?void 0:ot.docs)==null?void 0:rt.source},description:{story:"Use the `side` and `align` props to control where the menu appears relative to the trigger.\nThe `side` prop determines which side of the trigger the menu opens on,\nwhile `align` controls alignment along that side.\nThe menu might automatically reposition to avoid viewport collisions.",...(st=(it=z.parameters)==null?void 0:it.docs)==null?void 0:st.description}}};var lt,ct,ut;ue.parameters={...ue.parameters,docs:{...(lt=ue.parameters)==null?void 0:lt.docs,source:{originalSource:`{
162
162
  parameters: {
163
163
  containerHeight: '500px'
164
164
  },
@@ -167,7 +167,7 @@ import{j as a,r as b}from"./iframe-DjYTJz7A.js";import{D as h,a as A,b as V,c as
167
167
  side: 'inline-end',
168
168
  defaultOpen: true
169
169
  }
170
- }`,...(ca=(la=ce.parameters)==null?void 0:la.docs)==null?void 0:ca.source}}};var ua,da,ma;ue.parameters={...ue.parameters,docs:{...(ua=ue.parameters)==null?void 0:ua.docs,source:{originalSource:`{
170
+ }`,...(ut=(ct=ue.parameters)==null?void 0:ct.docs)==null?void 0:ut.source}}};var dt,mt,pt;de.parameters={...de.parameters,docs:{...(dt=de.parameters)==null?void 0:dt.docs,source:{originalSource:`{
171
171
  parameters: {
172
172
  containerHeight: '500px'
173
173
  },
@@ -176,7 +176,7 @@ import{j as a,r as b}from"./iframe-DjYTJz7A.js";import{D as h,a as A,b as V,c as
176
176
  side: 'inline-start',
177
177
  defaultOpen: true
178
178
  }
179
- }`,...(ma=(da=ue.parameters)==null?void 0:da.docs)==null?void 0:ma.source}}};var pa,ga,ya;de.parameters={...de.parameters,docs:{...(pa=de.parameters)==null?void 0:pa.docs,source:{originalSource:`{
179
+ }`,...(pt=(mt=de.parameters)==null?void 0:mt.docs)==null?void 0:pt.source}}};var gt,yt,wt;me.parameters={...me.parameters,docs:{...(gt=me.parameters)==null?void 0:gt.docs,source:{originalSource:`{
180
180
  parameters: {
181
181
  containerHeight: '500px'
182
182
  },
@@ -185,7 +185,7 @@ import{j as a,r as b}from"./iframe-DjYTJz7A.js";import{D as h,a as A,b as V,c as
185
185
  side: 'left',
186
186
  defaultOpen: true
187
187
  }
188
- }`,...(ya=(ga=de.parameters)==null?void 0:ga.docs)==null?void 0:ya.source}}};var wa,ba,ha;me.parameters={...me.parameters,docs:{...(wa=me.parameters)==null?void 0:wa.docs,source:{originalSource:`{
188
+ }`,...(wt=(yt=me.parameters)==null?void 0:yt.docs)==null?void 0:wt.source}}};var bt,ht,ft;pe.parameters={...pe.parameters,docs:{...(bt=pe.parameters)==null?void 0:bt.docs,source:{originalSource:`{
189
189
  parameters: {
190
190
  containerHeight: '500px'
191
191
  },
@@ -194,7 +194,7 @@ import{j as a,r as b}from"./iframe-DjYTJz7A.js";import{D as h,a as A,b as V,c as
194
194
  side: 'right',
195
195
  defaultOpen: true
196
196
  }
197
- }`,...(ha=(ba=me.parameters)==null?void 0:ba.docs)==null?void 0:ha.source}}};var fa,ka,Ba;pe.parameters={...pe.parameters,docs:{...(fa=pe.parameters)==null?void 0:fa.docs,source:{originalSource:`{
197
+ }`,...(ft=(ht=pe.parameters)==null?void 0:ht.docs)==null?void 0:ft.source}}};var kt,Bt,vt;ge.parameters={...ge.parameters,docs:{...(kt=ge.parameters)==null?void 0:kt.docs,source:{originalSource:`{
198
198
  parameters: {
199
199
  containerHeight: '500px'
200
200
  },
@@ -203,19 +203,19 @@ import{j as a,r as b}from"./iframe-DjYTJz7A.js";import{D as h,a as A,b as V,c as
203
203
  side: 'top',
204
204
  defaultOpen: true
205
205
  }
206
- }`,...(Ba=(ka=pe.parameters)==null?void 0:ka.docs)==null?void 0:Ba.source}}};var va,xa,Ra;ge.parameters={...ge.parameters,docs:{...(va=ge.parameters)==null?void 0:va.docs,source:{originalSource:`{
206
+ }`,...(vt=(Bt=ge.parameters)==null?void 0:Bt.docs)==null?void 0:vt.source}}};var xt,Rt,St;ye.parameters={...ye.parameters,docs:{...(xt=ye.parameters)==null?void 0:xt.docs,source:{originalSource:`{
207
207
  tags: ['!autodocs'],
208
208
  args: {
209
209
  align: 'start',
210
210
  defaultOpen: true
211
211
  }
212
- }`,...(Ra=(xa=ge.parameters)==null?void 0:xa.docs)==null?void 0:Ra.source}}};var Sa,Ca,Da;ye.parameters={...ye.parameters,docs:{...(Sa=ye.parameters)==null?void 0:Sa.docs,source:{originalSource:`{
212
+ }`,...(St=(Rt=ye.parameters)==null?void 0:Rt.docs)==null?void 0:St.source}}};var Ct,Dt,Ot;we.parameters={...we.parameters,docs:{...(Ct=we.parameters)==null?void 0:Ct.docs,source:{originalSource:`{
213
213
  tags: ['!autodocs'],
214
214
  args: {
215
215
  align: 'end',
216
216
  defaultOpen: true
217
217
  }
218
- }`,...(Da=(Ca=ye.parameters)==null?void 0:Ca.docs)==null?void 0:Da.source}}};var Oa,Ta,Ea,Ha,Ma;z.parameters={...z.parameters,docs:{...(Oa=z.parameters)==null?void 0:Oa.docs,source:{originalSource:`{
218
+ }`,...(Ot=(Dt=we.parameters)==null?void 0:Dt.docs)==null?void 0:Ot.source}}};var Tt,Et,Mt,Ht,At;P.parameters={...P.parameters,docs:{...(Tt=P.parameters)==null?void 0:Tt.docs,source:{originalSource:`{
219
219
  args: {
220
220
  children: <>
221
221
  <DropdownMenuItem label="Transfer balance" onClick={callbacks.items.transferBalance} />
@@ -246,9 +246,9 @@ import{j as a,r as b}from"./iframe-DjYTJz7A.js";import{D as h,a as A,b as V,c as
246
246
  expect(canvas.queryByRole('menu')).toBeVisible();
247
247
  });
248
248
  }
249
- }`,...(Ea=(Ta=z.parameters)==null?void 0:Ta.docs)==null?void 0:Ea.source},description:{story:`Menu items can be disabled to prevent user interaction. Disabled items are visually
249
+ }`,...(Mt=(Et=P.parameters)==null?void 0:Et.docs)==null?void 0:Mt.source},description:{story:`Menu items can be disabled to prevent user interaction. Disabled items are visually
250
250
  distinguished and cannot be clicked or selected, useful for showing unavailable options
251
- or actions that require certain conditions to be met.`,...(Ma=(Ha=z.parameters)==null?void 0:Ha.docs)==null?void 0:Ma.description}}};var Aa,Fa,Ia,ja,qa;P.parameters={...P.parameters,docs:{...(Aa=P.parameters)==null?void 0:Aa.docs,source:{originalSource:`{
251
+ or actions that require certain conditions to be met.`,...(At=(Ht=P.parameters)==null?void 0:Ht.docs)==null?void 0:At.description}}};var Ft,It,jt,qt,Vt;G.parameters={...G.parameters,docs:{...(Ft=G.parameters)==null?void 0:Ft.docs,source:{originalSource:`{
252
252
  args: {
253
253
  trigger: <Button>Language</Button>,
254
254
  children: <>
@@ -281,7 +281,7 @@ or actions that require certain conditions to be met.`,...(Ma=(Ha=z.parameters)=
281
281
  expect(ukrainianItem).toHaveAccessibleDescription('Ukrainian');
282
282
  });
283
283
  }
284
- }`,...(Ia=(Fa=P.parameters)==null?void 0:Fa.docs)==null?void 0:Ia.source},description:{story:"Menu items can display additional context below the label using the `description` prop.\nThis is particularly useful for language selectors, settings options, or any scenario\nwhere extra information helps users make informed choices.",...(qa=(ja=P.parameters)==null?void 0:ja.docs)==null?void 0:qa.description}}};var Va,La,Na,Wa,Ua;G.parameters={...G.parameters,docs:{...(Va=G.parameters)==null?void 0:Va.docs,source:{originalSource:`{
284
+ }`,...(jt=(It=G.parameters)==null?void 0:It.docs)==null?void 0:jt.source},description:{story:"Menu items can display additional context below the label using the `description` prop.\nThis is particularly useful for language selectors, settings options, or any scenario\nwhere extra information helps users make informed choices.",...(Vt=(qt=G.parameters)==null?void 0:qt.docs)==null?void 0:Vt.description}}};var Lt,Nt,Wt,Ut,zt;K.parameters={...K.parameters,docs:{...(Lt=K.parameters)==null?void 0:Lt.docs,source:{originalSource:`{
285
285
  args: {
286
286
  defaultOpen: true,
287
287
  children: <>
@@ -296,7 +296,7 @@ or actions that require certain conditions to be met.`,...(Ma=(Ha=z.parameters)=
296
296
  </DropdownMenuGroup>
297
297
  </>
298
298
  }
299
- }`,...(Na=(La=G.parameters)==null?void 0:La.docs)==null?void 0:Na.source},description:{story:"Organize related menu items into logical sections using `DropdownMenuGroup`. Groups have\na label and visually separate different categories of actions or options. This improves\nscannability and helps users quickly find what they're looking for in longer menus.",...(Ua=(Wa=G.parameters)==null?void 0:Wa.docs)==null?void 0:Ua.description}}};var za,Pa,Ga,Ka,Ya;K.parameters={...K.parameters,docs:{...(za=K.parameters)==null?void 0:za.docs,source:{originalSource:`{
299
+ }`,...(Wt=(Nt=K.parameters)==null?void 0:Nt.docs)==null?void 0:Wt.source},description:{story:"Organize related menu items into logical sections using `DropdownMenuGroup`. Groups have\na label and visually separate different categories of actions or options. This improves\nscannability and helps users quickly find what they're looking for in longer menus.",...(zt=(Ut=K.parameters)==null?void 0:Ut.docs)==null?void 0:zt.description}}};var Pt,Gt,Kt,Yt,_t;Y.parameters={...Y.parameters,docs:{...(Pt=Y.parameters)==null?void 0:Pt.docs,source:{originalSource:`{
300
300
  args: {
301
301
  defaultOpen: true,
302
302
  children: <>
@@ -306,10 +306,10 @@ or actions that require certain conditions to be met.`,...(Ma=(Ha=z.parameters)=
306
306
  <DropdownMenuItem label="Logout" />
307
307
  </>
308
308
  }
309
- }`,...(Ga=(Pa=K.parameters)==null?void 0:Pa.docs)==null?void 0:Ga.source},description:{story:`In some cases, you might want to separate outstanding items without creating a labeled group.
309
+ }`,...(Kt=(Gt=Y.parameters)==null?void 0:Gt.docs)==null?void 0:Kt.source},description:{story:`In some cases, you might want to separate outstanding items without creating a labeled group.
310
310
  Use dividers to create subtle visual separation, particularly useful for isolating destructive
311
311
  or important actions (like logout or delete) from regular options. Dividers provide a lightweight
312
- way to organize menus when explicit group labels would be unnecessary or too verbose.`,...(Ya=(Ka=K.parameters)==null?void 0:Ka.docs)==null?void 0:Ya.description}}};var _a,$a,Ja,Qa,Xa;Y.parameters={...Y.parameters,docs:{...(_a=Y.parameters)==null?void 0:_a.docs,source:{originalSource:`{
312
+ way to organize menus when explicit group labels would be unnecessary or too verbose.`,...(_t=(Yt=Y.parameters)==null?void 0:Yt.docs)==null?void 0:_t.description}}};var $t,Jt,Qt,Xt,Zt;_.parameters={..._.parameters,docs:{...($t=_.parameters)==null?void 0:$t.docs,source:{originalSource:`{
313
313
  parameters: {
314
314
  docs: {
315
315
  story: {
@@ -334,7 +334,7 @@ way to organize menus when explicit group labels would be unnecessary or too ver
334
334
  </DropdownMenuGroup>
335
335
  </>
336
336
  }
337
- }`,...(Ja=($a=Y.parameters)==null?void 0:$a.docs)==null?void 0:Ja.source},description:{story:"Enhance menu items with visual context using the `leadingElement` prop. You can add icons\nto indicate actions, flags to represent countries or languages, or avatars to show users.\nLeading elements help users quickly identify and distinguish between different menu options.",...(Xa=(Qa=Y.parameters)==null?void 0:Qa.docs)==null?void 0:Xa.description}}};var Za,et,at,tt,nt;_.parameters={..._.parameters,docs:{...(Za=_.parameters)==null?void 0:Za.docs,source:{originalSource:`{
337
+ }`,...(Qt=(Jt=_.parameters)==null?void 0:Jt.docs)==null?void 0:Qt.source},description:{story:"Enhance menu items with visual context using the `leadingElement` prop. You can add icons\nto indicate actions, flags to represent countries or languages, or avatars to show users.\nLeading elements help users quickly identify and distinguish between different menu options.",...(Zt=(Xt=_.parameters)==null?void 0:Xt.docs)==null?void 0:Zt.description}}};var ea,ta,aa,na,oa;$.parameters={...$.parameters,docs:{...(ea=$.parameters)==null?void 0:ea.docs,source:{originalSource:`{
338
338
  args: {
339
339
  trigger: <Button>Links</Button>,
340
340
  children: <>
@@ -431,7 +431,7 @@ way to organize menus when explicit group labels would be unnecessary or too ver
431
431
  expect(linksCallbacks.referAFriend).not.toHaveBeenCalled();
432
432
  });
433
433
  }
434
- }`,...(at=(et=_.parameters)==null?void 0:et.docs)==null?void 0:at.source},description:{story:"You can use the `as` prop to render a custom element for the menu item.\nYou can use that to render anchors or custom link components (e.g. Next.js or React Router Link)",...(nt=(tt=_.parameters)==null?void 0:tt.docs)==null?void 0:nt.description}}};var ot,it,rt,st,lt;$.parameters={...$.parameters,docs:{...(ot=$.parameters)==null?void 0:ot.docs,source:{originalSource:`{
434
+ }`,...(aa=(ta=$.parameters)==null?void 0:ta.docs)==null?void 0:aa.source},description:{story:"You can use the `as` prop to render a custom element for the menu item.\nYou can use that to render anchors or custom link components (e.g. Next.js or React Router Link)",...(oa=(na=$.parameters)==null?void 0:na.docs)==null?void 0:oa.description}}};var ra,ia,sa,la,ca;J.parameters={...J.parameters,docs:{...(ra=J.parameters)==null?void 0:ra.docs,source:{originalSource:`{
435
435
  args: {
436
436
  children: <>
437
437
  <DropdownMenuGroup label="Day of the week">
@@ -551,7 +551,7 @@ way to organize menus when explicit group labels would be unnecessary or too ver
551
551
  });
552
552
  });
553
553
  }
554
- }`,...(rt=(it=$.parameters)==null?void 0:it.docs)==null?void 0:rt.source},description:{story:"Radio groups allow users to select a single option from a list of mutually exclusive options.\nUse `DropdownMenuRadioGroup` with `DropdownMenuRadioItem` components to create radio groups.\nMultiple independent radio groups can coexist in the same dropdown menu.\n\nYou can define radio group options either with type-safe `items` prop or by\npassing `DropdownMenuRadioItem` as children if you need more flexibility.",...(lt=(st=$.parameters)==null?void 0:st.docs)==null?void 0:lt.description}}};var ct,ut,dt,mt,pt;J.parameters={...J.parameters,docs:{...(ct=J.parameters)==null?void 0:ct.docs,source:{originalSource:`{
554
+ }`,...(sa=(ia=J.parameters)==null?void 0:ia.docs)==null?void 0:sa.source},description:{story:"Radio groups allow users to select a single option from a list of mutually exclusive options.\nUse `DropdownMenuRadioGroup` with `DropdownMenuRadioItem` components to create radio groups.\nMultiple independent radio groups can coexist in the same dropdown menu.\n\nYou can define radio group options either with type-safe `items` prop or by\npassing `DropdownMenuRadioItem` as children if you need more flexibility.",...(ca=(la=J.parameters)==null?void 0:la.docs)==null?void 0:ca.description}}};var ua,da,ma,pa,ga;Q.parameters={...Q.parameters,docs:{...(ua=Q.parameters)==null?void 0:ua.docs,source:{originalSource:`{
555
555
  args: {
556
556
  children: <>
557
557
  <DropdownMenuCheckboxItem label="Email notifications" onCheckedChange={checkboxCallbacks.email} defaultChecked />
@@ -627,7 +627,7 @@ way to organize menus when explicit group labels would be unnecessary or too ver
627
627
  });
628
628
  });
629
629
  }
630
- }`,...(dt=(ut=J.parameters)==null?void 0:ut.docs)==null?void 0:dt.source},description:{story:"Checkbox items allow users to select multiple independent options from a list.\nUse `DropdownMenuCheckboxItem` to add checkboxes to the menu. Each checkbox maintains\nits own state and can be checked or unchecked independently of others.",...(pt=(mt=J.parameters)==null?void 0:mt.docs)==null?void 0:pt.description}}};var gt,yt,wt,bt,ht;I.parameters={...I.parameters,docs:{...(gt=I.parameters)==null?void 0:gt.docs,source:{originalSource:`args => {
630
+ }`,...(ma=(da=Q.parameters)==null?void 0:da.docs)==null?void 0:ma.source},description:{story:"Checkbox items allow users to select multiple independent options from a list.\nUse `DropdownMenuCheckboxItem` to add checkboxes to the menu. Each checkbox maintains\nits own state and can be checked or unchecked independently of others.",...(ga=(pa=Q.parameters)==null?void 0:pa.docs)==null?void 0:ga.description}}};var ya,wa,ba,ha,fa;I.parameters={...I.parameters,docs:{...(ya=I.parameters)==null?void 0:ya.docs,source:{originalSource:`args => {
631
631
  const [dayOfTheWeek, setDayOfTheWeek] = useState('mon');
632
632
  const [timeOfTheDay, setTimeOfTheDay] = useState<string | undefined>();
633
633
  const handleDayOfTheWeekChange = (value: string) => {
@@ -672,7 +672,7 @@ way to organize menus when explicit group labels would be unnecessary or too ver
672
672
  <DropdownMenuSelectOption label="Weekly" value="weekly" />
673
673
  </DropdownMenuSelect>
674
674
  </DropdownMenu>;
675
- }`,...(wt=(yt=I.parameters)==null?void 0:yt.docs)==null?void 0:wt.source},description:{story:"Select items provide a nested menu for choosing from a list of options, similar to a dropdown within a dropdown.\nUse `DropdownMenuSelect` with `DropdownMenuSelectOption` components to create select menus.\nThe selected value is displayed in the trigger label, and hovering over it opens a submenu with all available options.\n\nYou can define select options either with type-safe `items` prop or by\npassing `DropdownMenuSelectOption` as children if you need more flexibility.",...(ht=(bt=I.parameters)==null?void 0:bt.docs)==null?void 0:ht.description}}};var ft,kt,Bt,vt,xt;y.parameters={...y.parameters,docs:{...(ft=y.parameters)==null?void 0:ft.docs,source:{originalSource:`{
675
+ }`,...(ba=(wa=I.parameters)==null?void 0:wa.docs)==null?void 0:ba.source},description:{story:"Select items provide a nested menu for choosing from a list of options, similar to a dropdown within a dropdown.\nUse `DropdownMenuSelect` with `DropdownMenuSelectOption` components to create select menus.\nThe selected value is displayed in the trigger label, and hovering over it opens a submenu with all available options.\n\nYou can define select options either with type-safe `items` prop or by\npassing `DropdownMenuSelectOption` as children if you need more flexibility.",...(fa=(ha=I.parameters)==null?void 0:ha.docs)==null?void 0:fa.description}}};var ka,Ba,va,xa,Ra;y.parameters={...y.parameters,docs:{...(ka=y.parameters)==null?void 0:ka.docs,source:{originalSource:`{
676
676
  render: function Render({
677
677
  align,
678
678
  side,
@@ -692,7 +692,7 @@ way to organize menus when explicit group labels would be unnecessary or too ver
692
692
  side: 'top',
693
693
  align: 'start'
694
694
  }
695
- }`,...(Bt=(kt=y.parameters)==null?void 0:kt.docs)==null?void 0:Bt.source},description:{story:"Similar to DropdownMenu, DropdownMenuSelect position can be controlled with `side` and `align` props.",...(xt=(vt=y.parameters)==null?void 0:vt.docs)==null?void 0:xt.description}}};var Rt,St,Ct;we.parameters={...we.parameters,docs:{...(Rt=we.parameters)==null?void 0:Rt.docs,source:{originalSource:`{
695
+ }`,...(va=(Ba=y.parameters)==null?void 0:Ba.docs)==null?void 0:va.source},description:{story:"Similar to DropdownMenu, DropdownMenuSelect position can be controlled with `side` and `align` props.",...(Ra=(xa=y.parameters)==null?void 0:xa.docs)==null?void 0:Ra.description}}};var Sa,Ca,Da;be.parameters={...be.parameters,docs:{...(Sa=be.parameters)==null?void 0:Sa.docs,source:{originalSource:`{
696
696
  render: ControllingSelectPosition.render,
697
697
  parameters: {
698
698
  containerHeight: '500px'
@@ -701,7 +701,7 @@ way to organize menus when explicit group labels would be unnecessary or too ver
701
701
  args: {
702
702
  side: 'inline-end'
703
703
  }
704
- }`,...(Ct=(St=we.parameters)==null?void 0:St.docs)==null?void 0:Ct.source}}};var Dt,Ot,Tt;be.parameters={...be.parameters,docs:{...(Dt=be.parameters)==null?void 0:Dt.docs,source:{originalSource:`{
704
+ }`,...(Da=(Ca=be.parameters)==null?void 0:Ca.docs)==null?void 0:Da.source}}};var Oa,Ta,Ea;he.parameters={...he.parameters,docs:{...(Oa=he.parameters)==null?void 0:Oa.docs,source:{originalSource:`{
705
705
  render: ControllingSelectPosition.render,
706
706
  parameters: {
707
707
  containerHeight: '500px'
@@ -711,7 +711,7 @@ way to organize menus when explicit group labels would be unnecessary or too ver
711
711
  side: 'inline-start',
712
712
  defaultOpen: true
713
713
  }
714
- }`,...(Tt=(Ot=be.parameters)==null?void 0:Ot.docs)==null?void 0:Tt.source}}};var Et,Ht,Mt;he.parameters={...he.parameters,docs:{...(Et=he.parameters)==null?void 0:Et.docs,source:{originalSource:`{
714
+ }`,...(Ea=(Ta=he.parameters)==null?void 0:Ta.docs)==null?void 0:Ea.source}}};var Ma,Ha,Aa;fe.parameters={...fe.parameters,docs:{...(Ma=fe.parameters)==null?void 0:Ma.docs,source:{originalSource:`{
715
715
  render: ControllingSelectPosition.render,
716
716
  parameters: {
717
717
  containerHeight: '500px'
@@ -721,7 +721,7 @@ way to organize menus when explicit group labels would be unnecessary or too ver
721
721
  side: 'left',
722
722
  defaultOpen: true
723
723
  }
724
- }`,...(Mt=(Ht=he.parameters)==null?void 0:Ht.docs)==null?void 0:Mt.source}}};var At,Ft,It;fe.parameters={...fe.parameters,docs:{...(At=fe.parameters)==null?void 0:At.docs,source:{originalSource:`{
724
+ }`,...(Aa=(Ha=fe.parameters)==null?void 0:Ha.docs)==null?void 0:Aa.source}}};var Fa,Ia,ja;ke.parameters={...ke.parameters,docs:{...(Fa=ke.parameters)==null?void 0:Fa.docs,source:{originalSource:`{
725
725
  render: ControllingSelectPosition.render,
726
726
  parameters: {
727
727
  containerHeight: '500px'
@@ -731,7 +731,7 @@ way to organize menus when explicit group labels would be unnecessary or too ver
731
731
  side: 'right',
732
732
  defaultOpen: true
733
733
  }
734
- }`,...(It=(Ft=fe.parameters)==null?void 0:Ft.docs)==null?void 0:It.source}}};var jt,qt,Vt;ke.parameters={...ke.parameters,docs:{...(jt=ke.parameters)==null?void 0:jt.docs,source:{originalSource:`{
734
+ }`,...(ja=(Ia=ke.parameters)==null?void 0:Ia.docs)==null?void 0:ja.source}}};var qa,Va,La;Be.parameters={...Be.parameters,docs:{...(qa=Be.parameters)==null?void 0:qa.docs,source:{originalSource:`{
735
735
  render: ControllingSelectPosition.render,
736
736
  parameters: {
737
737
  containerHeight: '500px'
@@ -741,21 +741,21 @@ way to organize menus when explicit group labels would be unnecessary or too ver
741
741
  side: 'top',
742
742
  defaultOpen: true
743
743
  }
744
- }`,...(Vt=(qt=ke.parameters)==null?void 0:qt.docs)==null?void 0:Vt.source}}};var Lt,Nt,Wt;Be.parameters={...Be.parameters,docs:{...(Lt=Be.parameters)==null?void 0:Lt.docs,source:{originalSource:`{
744
+ }`,...(La=(Va=Be.parameters)==null?void 0:Va.docs)==null?void 0:La.source}}};var Na,Wa,Ua;ve.parameters={...ve.parameters,docs:{...(Na=ve.parameters)==null?void 0:Na.docs,source:{originalSource:`{
745
745
  render: ControllingSelectPosition.render,
746
746
  tags: ['!autodocs'],
747
747
  args: {
748
748
  align: 'start',
749
749
  defaultOpen: true
750
750
  }
751
- }`,...(Wt=(Nt=Be.parameters)==null?void 0:Nt.docs)==null?void 0:Wt.source}}};var Ut,zt,Pt;ve.parameters={...ve.parameters,docs:{...(Ut=ve.parameters)==null?void 0:Ut.docs,source:{originalSource:`{
751
+ }`,...(Ua=(Wa=ve.parameters)==null?void 0:Wa.docs)==null?void 0:Ua.source}}};var za,Pa,Ga;xe.parameters={...xe.parameters,docs:{...(za=xe.parameters)==null?void 0:za.docs,source:{originalSource:`{
752
752
  render: ControllingSelectPosition.render,
753
753
  tags: ['!autodocs'],
754
754
  args: {
755
755
  align: 'end',
756
756
  defaultOpen: true
757
757
  }
758
- }`,...(Pt=(zt=ve.parameters)==null?void 0:zt.docs)==null?void 0:Pt.source}}};var Gt,Kt,Yt,_t,$t;H.parameters={...H.parameters,docs:{...(Gt=H.parameters)==null?void 0:Gt.docs,source:{originalSource:`{
758
+ }`,...(Ga=(Pa=xe.parameters)==null?void 0:Pa.docs)==null?void 0:Ga.source}}};var Ka,Ya,_a,$a,Ja;H.parameters={...H.parameters,docs:{...(Ka=H.parameters)==null?void 0:Ka.docs,source:{originalSource:`{
759
759
  args: {
760
760
  children: <>
761
761
  <DropdownSubmenu label="Region">
@@ -818,10 +818,10 @@ way to organize menus when explicit group labels would be unnecessary or too ver
818
818
  });
819
819
  });
820
820
  }
821
- }`,...(Yt=(Kt=H.parameters)==null?void 0:Kt.docs)==null?void 0:Yt.source},description:{story:`Create nested menu structures using \`DropdownSubmenu\` to organize complex navigation hierarchies.
821
+ }`,...(_a=(Ya=H.parameters)==null?void 0:Ya.docs)==null?void 0:_a.source},description:{story:`Create nested menu structures using \`DropdownSubmenu\` to organize complex navigation hierarchies.
822
822
  Submenus appear when hovering over or clicking their parent item, and can contain any menu items,
823
823
  including additional submenus for deeper nesting. This pattern is ideal for settings menus or
824
- complex action lists where options naturally group into categories.`,...($t=(_t=H.parameters)==null?void 0:_t.docs)==null?void 0:$t.description}}};var Jt,Qt,Xt,Zt,en;w.parameters={...w.parameters,docs:{...(Jt=w.parameters)==null?void 0:Jt.docs,source:{originalSource:`{
824
+ complex action lists where options naturally group into categories.`,...(Ja=($a=H.parameters)==null?void 0:$a.docs)==null?void 0:Ja.description}}};var Qa,Xa,Za,en,tn;w.parameters={...w.parameters,docs:{...(Qa=w.parameters)==null?void 0:Qa.docs,source:{originalSource:`{
825
825
  render: function Render({
826
826
  align,
827
827
  side,
@@ -842,7 +842,7 @@ complex action lists where options naturally group into categories.`,...($t=(_t=
842
842
  side: 'top',
843
843
  align: 'start'
844
844
  }
845
- }`,...(Xt=(Qt=w.parameters)==null?void 0:Qt.docs)==null?void 0:Xt.source},description:{story:"Similar to DropdownMenu, DropdownSubmenu position can be controlled with `side` and `align` props.",...(en=(Zt=w.parameters)==null?void 0:Zt.docs)==null?void 0:en.description}}};var an,tn,nn;xe.parameters={...xe.parameters,docs:{...(an=xe.parameters)==null?void 0:an.docs,source:{originalSource:`{
845
+ }`,...(Za=(Xa=w.parameters)==null?void 0:Xa.docs)==null?void 0:Za.source},description:{story:"Similar to DropdownMenu, DropdownSubmenu position can be controlled with `side` and `align` props.",...(tn=(en=w.parameters)==null?void 0:en.docs)==null?void 0:tn.description}}};var an,nn,on;Re.parameters={...Re.parameters,docs:{...(an=Re.parameters)==null?void 0:an.docs,source:{originalSource:`{
846
846
  render: ControllingSubmenuPosition.render,
847
847
  parameters: {
848
848
  containerHeight: '500px'
@@ -851,7 +851,7 @@ complex action lists where options naturally group into categories.`,...($t=(_t=
851
851
  args: {
852
852
  side: 'inline-end'
853
853
  }
854
- }`,...(nn=(tn=xe.parameters)==null?void 0:tn.docs)==null?void 0:nn.source}}};var on,rn,sn;Re.parameters={...Re.parameters,docs:{...(on=Re.parameters)==null?void 0:on.docs,source:{originalSource:`{
854
+ }`,...(on=(nn=Re.parameters)==null?void 0:nn.docs)==null?void 0:on.source}}};var rn,sn,ln;Se.parameters={...Se.parameters,docs:{...(rn=Se.parameters)==null?void 0:rn.docs,source:{originalSource:`{
855
855
  render: ControllingSubmenuPosition.render,
856
856
  parameters: {
857
857
  containerHeight: '500px'
@@ -861,7 +861,7 @@ complex action lists where options naturally group into categories.`,...($t=(_t=
861
861
  side: 'inline-start',
862
862
  defaultOpen: true
863
863
  }
864
- }`,...(sn=(rn=Re.parameters)==null?void 0:rn.docs)==null?void 0:sn.source}}};var ln,cn,un;Se.parameters={...Se.parameters,docs:{...(ln=Se.parameters)==null?void 0:ln.docs,source:{originalSource:`{
864
+ }`,...(ln=(sn=Se.parameters)==null?void 0:sn.docs)==null?void 0:ln.source}}};var cn,un,dn;Ce.parameters={...Ce.parameters,docs:{...(cn=Ce.parameters)==null?void 0:cn.docs,source:{originalSource:`{
865
865
  render: ControllingSubmenuPosition.render,
866
866
  parameters: {
867
867
  containerHeight: '500px'
@@ -871,7 +871,7 @@ complex action lists where options naturally group into categories.`,...($t=(_t=
871
871
  side: 'left',
872
872
  defaultOpen: true
873
873
  }
874
- }`,...(un=(cn=Se.parameters)==null?void 0:cn.docs)==null?void 0:un.source}}};var dn,mn,pn;Ce.parameters={...Ce.parameters,docs:{...(dn=Ce.parameters)==null?void 0:dn.docs,source:{originalSource:`{
874
+ }`,...(dn=(un=Ce.parameters)==null?void 0:un.docs)==null?void 0:dn.source}}};var mn,pn,gn;De.parameters={...De.parameters,docs:{...(mn=De.parameters)==null?void 0:mn.docs,source:{originalSource:`{
875
875
  render: ControllingSubmenuPosition.render,
876
876
  parameters: {
877
877
  containerHeight: '500px'
@@ -881,7 +881,7 @@ complex action lists where options naturally group into categories.`,...($t=(_t=
881
881
  side: 'right',
882
882
  defaultOpen: true
883
883
  }
884
- }`,...(pn=(mn=Ce.parameters)==null?void 0:mn.docs)==null?void 0:pn.source}}};var gn,yn,wn;De.parameters={...De.parameters,docs:{...(gn=De.parameters)==null?void 0:gn.docs,source:{originalSource:`{
884
+ }`,...(gn=(pn=De.parameters)==null?void 0:pn.docs)==null?void 0:gn.source}}};var yn,wn,bn;Oe.parameters={...Oe.parameters,docs:{...(yn=Oe.parameters)==null?void 0:yn.docs,source:{originalSource:`{
885
885
  render: ControllingSubmenuPosition.render,
886
886
  parameters: {
887
887
  containerHeight: '500px'
@@ -891,21 +891,21 @@ complex action lists where options naturally group into categories.`,...($t=(_t=
891
891
  side: 'top',
892
892
  defaultOpen: true
893
893
  }
894
- }`,...(wn=(yn=De.parameters)==null?void 0:yn.docs)==null?void 0:wn.source}}};var bn,hn,fn;Oe.parameters={...Oe.parameters,docs:{...(bn=Oe.parameters)==null?void 0:bn.docs,source:{originalSource:`{
894
+ }`,...(bn=(wn=Oe.parameters)==null?void 0:wn.docs)==null?void 0:bn.source}}};var hn,fn,kn;Te.parameters={...Te.parameters,docs:{...(hn=Te.parameters)==null?void 0:hn.docs,source:{originalSource:`{
895
895
  render: ControllingSubmenuPosition.render,
896
896
  tags: ['!autodocs'],
897
897
  args: {
898
898
  align: 'start',
899
899
  defaultOpen: true
900
900
  }
901
- }`,...(fn=(hn=Oe.parameters)==null?void 0:hn.docs)==null?void 0:fn.source}}};var kn,Bn,vn;Te.parameters={...Te.parameters,docs:{...(kn=Te.parameters)==null?void 0:kn.docs,source:{originalSource:`{
901
+ }`,...(kn=(fn=Te.parameters)==null?void 0:fn.docs)==null?void 0:kn.source}}};var Bn,vn,xn;Ee.parameters={...Ee.parameters,docs:{...(Bn=Ee.parameters)==null?void 0:Bn.docs,source:{originalSource:`{
902
902
  render: ControllingSubmenuPosition.render,
903
903
  tags: ['!autodocs'],
904
904
  args: {
905
905
  align: 'end',
906
906
  defaultOpen: true
907
907
  }
908
- }`,...(vn=(Bn=Te.parameters)==null?void 0:Bn.docs)==null?void 0:vn.source}}};var xn,Rn,Sn,Cn,Dn;Q.parameters={...Q.parameters,docs:{...(xn=Q.parameters)==null?void 0:xn.docs,source:{originalSource:`{
908
+ }`,...(xn=(vn=Ee.parameters)==null?void 0:vn.docs)==null?void 0:xn.source}}};var Rn,Sn,Cn,Dn,On;X.parameters={...X.parameters,docs:{...(Rn=X.parameters)==null?void 0:Rn.docs,source:{originalSource:`{
909
909
  parameters: {
910
910
  docs: {
911
911
  source: {
@@ -1066,8 +1066,8 @@ complex action lists where options naturally group into categories.`,...($t=(_t=
1066
1066
  name: 'Reset story'
1067
1067
  }));
1068
1068
  }
1069
- }`,...(Sn=(Rn=Q.parameters)==null?void 0:Rn.docs)==null?void 0:Sn.source},description:{story:`Submenu and select open state also can be controlled.
1070
- This is useful for creating coordinated onboarding tours.`,...(Dn=(Cn=Q.parameters)==null?void 0:Cn.docs)==null?void 0:Dn.description}}};var On,Tn,En,Hn,Mn;X.parameters={...X.parameters,docs:{...(On=X.parameters)==null?void 0:On.docs,source:{originalSource:`{
1069
+ }`,...(Cn=(Sn=X.parameters)==null?void 0:Sn.docs)==null?void 0:Cn.source},description:{story:`Submenu and select open state also can be controlled.
1070
+ This is useful for creating coordinated onboarding tours.`,...(On=(Dn=X.parameters)==null?void 0:Dn.docs)==null?void 0:On.description}}};var Tn,En,Mn,Hn,An;Z.parameters={...Z.parameters,docs:{...(Tn=Z.parameters)==null?void 0:Tn.docs,source:{originalSource:`{
1071
1071
  args: {
1072
1072
  keepMounted: true,
1073
1073
  children: <>
@@ -1129,7 +1129,7 @@ This is useful for creating coordinated onboarding tours.`,...(Dn=(Cn=Q.paramete
1129
1129
  expect(menu).toBeInTheDocument();
1130
1130
  });
1131
1131
  }
1132
- }`,...(En=(Tn=X.parameters)==null?void 0:Tn.docs)==null?void 0:En.source},description:{story:"Use the `keepMounted` prop to keep the menu in the DOM when closed, hidden with CSS instead of\nunmounted. This is useful for preserving state, enabling exit animations, or improving performance\nwhen the menu opens and closes frequently. Both the main menu and submenus can be kept mounted independently.",...(Mn=(Hn=X.parameters)==null?void 0:Hn.docs)==null?void 0:Mn.description}}};var An,Fn,In,jn,qn;M.parameters={...M.parameters,docs:{...(An=M.parameters)==null?void 0:An.docs,source:{originalSource:`{
1132
+ }`,...(Mn=(En=Z.parameters)==null?void 0:En.docs)==null?void 0:Mn.source},description:{story:"Use the `keepMounted` prop to keep the menu in the DOM when closed, hidden with CSS instead of\nunmounted. This is useful for preserving state, enabling exit animations, or improving performance\nwhen the menu opens and closes frequently. Both the main menu and submenus can be kept mounted independently.",...(An=(Hn=Z.parameters)==null?void 0:Hn.docs)==null?void 0:An.description}}};var Fn,In,jn,qn,Vn;A.parameters={...A.parameters,docs:{...(Fn=A.parameters)==null?void 0:Fn.docs,source:{originalSource:`{
1133
1133
  args: Submenus.args,
1134
1134
  globals: {
1135
1135
  viewport: {
@@ -1196,7 +1196,7 @@ This is useful for creating coordinated onboarding tours.`,...(Dn=(Cn=Q.paramete
1196
1196
  });
1197
1197
  });
1198
1198
  }
1199
- }`,...(In=(Fn=M.parameters)==null?void 0:Fn.docs)==null?void 0:In.source},description:{story:"On mobile devices, the menu will be rendered as a bottom sheet instead of a dropdown.",...(qn=(jn=M.parameters)==null?void 0:jn.docs)==null?void 0:qn.description}}};var Vn,Ln,Nn,Wn,Un;j.parameters={...j.parameters,docs:{...(Vn=j.parameters)==null?void 0:Vn.docs,source:{originalSource:`{
1199
+ }`,...(jn=(In=A.parameters)==null?void 0:In.docs)==null?void 0:jn.source},description:{story:"On mobile devices, the menu will be rendered as a bottom sheet instead of a dropdown.",...(Vn=(qn=A.parameters)==null?void 0:qn.docs)==null?void 0:Vn.description}}};var Ln,Nn,Wn,Un,zn;j.parameters={...j.parameters,docs:{...(Ln=j.parameters)==null?void 0:Ln.docs,source:{originalSource:`{
1200
1200
  args: {
1201
1201
  children: <>
1202
1202
  <DropdownMenuItem label="Transfer balance" onClick={callbacks.items.transferBalance} />
@@ -1351,7 +1351,7 @@ This is useful for creating coordinated onboarding tours.`,...(Dn=(Cn=Q.paramete
1351
1351
  });
1352
1352
  });
1353
1353
  }
1354
- }`,...(Nn=(Ln=j.parameters)==null?void 0:Ln.docs)==null?void 0:Nn.source},description:{story:`The DropdownMenu component implements comprehensive keyboard navigation following the
1354
+ }`,...(Wn=(Nn=j.parameters)==null?void 0:Nn.docs)==null?void 0:Wn.source},description:{story:`The DropdownMenu component implements comprehensive keyboard navigation following the
1355
1355
  [WAI-ARIA Menu pattern](https://www.w3.org/WAI/ARIA/apg/patterns/menubar/) and accessibility
1356
1356
  best practices. This ensures users who rely on keyboard navigation or assistive technologies
1357
1357
  can efficiently interact with menus.
@@ -1377,12 +1377,12 @@ can efficiently interact with menus.
1377
1377
 
1378
1378
  - **Enter** or **Arrow Right**: Opens a submenu and moves focus to its first item
1379
1379
  - **Arrow Left** or **Escape**: Closes the submenu and returns focus to the submenu trigger
1380
- - Submenus maintain the same navigation patterns as the main menu`,...(Un=(Wn=j.parameters)==null?void 0:Wn.docs)==null?void 0:Un.description}}};var zn,Pn,Gn;He.parameters={...He.parameters,docs:{...(zn=He.parameters)==null?void 0:zn.docs,source:{originalSource:`{
1380
+ - Submenus maintain the same navigation patterns as the main menu`,...(zn=(Un=j.parameters)==null?void 0:Un.docs)==null?void 0:zn.description}}};var Pn,Gn,Kn;He.parameters={...He.parameters,docs:{...(Pn=He.parameters)==null?void 0:Pn.docs,source:{originalSource:`{
1381
1381
  ...KeyboardNavigation,
1382
1382
  globals: OnMobile.globals,
1383
1383
  parameters: OnMobile.parameters,
1384
1384
  tags: ['!autodocs']
1385
- }`,...(Gn=(Pn=He.parameters)==null?void 0:Pn.docs)==null?void 0:Gn.source}}};var Kn,Yn,_n,$n,Jn;Z.parameters={...Z.parameters,docs:{...(Kn=Z.parameters)==null?void 0:Kn.docs,source:{originalSource:`{
1385
+ }`,...(Kn=(Gn=He.parameters)==null?void 0:Gn.docs)==null?void 0:Kn.source}}};var Yn,_n,$n,Jn,Qn;ee.parameters={...ee.parameters,docs:{...(Yn=ee.parameters)==null?void 0:Yn.docs,source:{originalSource:`{
1386
1386
  args: {
1387
1387
  defaultOpen: true,
1388
1388
  children: <>
@@ -1391,7 +1391,7 @@ can efficiently interact with menus.
1391
1391
  }).map((_, index) => <DropdownMenuItem key={index} label={\`Item \${index + 1}\`} />)}
1392
1392
  </>
1393
1393
  }
1394
- }`,...(_n=(Yn=Z.parameters)==null?void 0:Yn.docs)==null?void 0:_n.source},description:{story:"When the menu has a lot of items, it will be rendered as a scrollable container.",...(Jn=($n=Z.parameters)==null?void 0:$n.docs)==null?void 0:Jn.description}}};var Qn,Xn,Zn,eo,ao;ee.parameters={...ee.parameters,docs:{...(Qn=ee.parameters)==null?void 0:Qn.docs,source:{originalSource:`{
1394
+ }`,...($n=(_n=ee.parameters)==null?void 0:_n.docs)==null?void 0:$n.source},description:{story:"When the menu has a lot of items, it will be rendered as a scrollable container.",...(Qn=(Jn=ee.parameters)==null?void 0:Jn.docs)==null?void 0:Qn.description}}};var Xn,Zn,eo,to,ao;te.parameters={...te.parameters,docs:{...(Xn=te.parameters)==null?void 0:Xn.docs,source:{originalSource:`{
1395
1395
  args: {
1396
1396
  defaultOpen: true,
1397
1397
  children: <DropdownMenuGroup label={longText}>
@@ -1408,7 +1408,7 @@ can efficiently interact with menus.
1408
1408
  </DropdownMenuRadioGroup>
1409
1409
  </DropdownMenuGroup>
1410
1410
  }
1411
- }`,...(Zn=(Xn=ee.parameters)==null?void 0:Xn.docs)==null?void 0:Zn.source},description:{story:"Please don't use long labels and descriptions for menu items.",...(ao=(eo=ee.parameters)==null?void 0:eo.docs)==null?void 0:ao.description}}};var to,no,oo,io,ro;ae.parameters={...ae.parameters,docs:{...(to=ae.parameters)==null?void 0:to.docs,source:{originalSource:`{
1411
+ }`,...(eo=(Zn=te.parameters)==null?void 0:Zn.docs)==null?void 0:eo.source},description:{story:"Please don't use long labels and descriptions for menu items.",...(ao=(to=te.parameters)==null?void 0:to.docs)==null?void 0:ao.description}}};var no,oo,ro,io,so;ae.parameters={...ae.parameters,docs:{...(no=ae.parameters)==null?void 0:no.docs,source:{originalSource:`{
1412
1412
  args: Submenus.args,
1413
1413
  render: function StoryRender(args) {
1414
1414
  const [dialogOpen, setDialogOpen] = useState(false);
@@ -1514,7 +1514,7 @@ can efficiently interact with menus.
1514
1514
  });
1515
1515
  });
1516
1516
  }
1517
- }`,...(oo=(no=ae.parameters)==null?void 0:no.docs)==null?void 0:oo.source},description:{story:"Dropdown menu can be used inside a dialog or other popups.",...(ro=(io=ae.parameters)==null?void 0:io.docs)==null?void 0:ro.description}}};var so,lo,co,uo,mo;q.parameters={...q.parameters,docs:{...(so=q.parameters)==null?void 0:so.docs,source:{originalSource:`{
1517
+ }`,...(ro=(oo=ae.parameters)==null?void 0:oo.docs)==null?void 0:ro.source},description:{story:"Dropdown menu can be used inside a dialog or other popups.",...(so=(io=ae.parameters)==null?void 0:io.docs)==null?void 0:so.description}}};var lo,co,uo,mo,po;q.parameters={...q.parameters,docs:{...(lo=q.parameters)==null?void 0:lo.docs,source:{originalSource:`{
1518
1518
  render: function WithItemOpeningDialog(args) {
1519
1519
  const [open, setOpen] = useState(false);
1520
1520
  return <>
@@ -1552,13 +1552,13 @@ can efficiently interact with menus.
1552
1552
  await userEvent.keyboard('{Escape}');
1553
1553
  });
1554
1554
  }
1555
- }`,...(co=(lo=q.parameters)==null?void 0:lo.docs)==null?void 0:co.source},description:{story:"Dropdown menu items can also open external dialogs.",...(mo=(uo=q.parameters)==null?void 0:uo.docs)==null?void 0:mo.description}}};var po,go,yo,wo,bo;te.parameters={...te.parameters,docs:{...(po=te.parameters)==null?void 0:po.docs,source:{originalSource:`{
1555
+ }`,...(uo=(co=q.parameters)==null?void 0:co.docs)==null?void 0:uo.source},description:{story:"Dropdown menu items can also open external dialogs.",...(po=(mo=q.parameters)==null?void 0:mo.docs)==null?void 0:po.description}}};var go,yo,wo,bo,ho;ne.parameters={...ne.parameters,docs:{...(go=ne.parameters)==null?void 0:go.docs,source:{originalSource:`{
1556
1556
  args: {
1557
1557
  keepMounted: true,
1558
1558
  children: <CustomDropdownMenuItemWithDialog />
1559
1559
  },
1560
1560
  play: ItemOpeningDialog.play
1561
- }`,...(yo=(go=te.parameters)==null?void 0:go.docs)==null?void 0:yo.source},description:{story:`In some cases you might want to wrap DropdownMenuItem with a custom component, which might have a dialog inside:
1561
+ }`,...(wo=(yo=ne.parameters)==null?void 0:yo.docs)==null?void 0:wo.source},description:{story:`In some cases you might want to wrap DropdownMenuItem with a custom component, which might have a dialog inside:
1562
1562
 
1563
1563
  \`\`\`tsx
1564
1564
  const CustomDropdownMenuItemWithDialog = () => {
@@ -1574,4 +1574,30 @@ const CustomDropdownMenuItemWithDialog = () => {
1574
1574
  };
1575
1575
  \`\`\`
1576
1576
 
1577
- In this case you need to use the \`keepMounted\` prop to prevent dialog from closing when menu unmounts.`,...(bo=(wo=te.parameters)==null?void 0:wo.docs)==null?void 0:bo.description}}};const yi=["Default","Uncontrolled","UncontrolledDefaultOpen","Controlled","ControlledDefaultOpen","ControllingPosition","SideInlineEnd","SideInlineStart","SideLeft","SideRight","SideTop","AlignStart","AlignEnd","DisabledItems","Description","Groups","Dividers","LeadingElements","Links","RadioGroups","CheckboxItems","SelectItems","ControllingSelectPosition","SelectSideInlineEnd","SelectSideInlineStart","SelectSideLeft","SelectSideRight","SelectSideTop","SelectAlignStart","SelectAlignEnd","Submenus","ControllingSubmenuPosition","SubmenuSideInlineEnd","SubmenuSideInlineStart","SubmenuSideLeft","SubmenuSideRight","SubmenuSideTop","SubmenuAlignStart","SubmenuAlignEnd","ControlledSubmenusAndSelects","KeepMounted","OnMobile","KeyboardNavigation","KeyboardNavigationOnMobile","Scroll","LongLabels","InsideDialog","ItemOpeningDialog","DialogInsideCustomItemComponent"];export{ye as AlignEnd,ge as AlignStart,J as CheckboxItems,E as Controlled,le as ControlledDefaultOpen,Q as ControlledSubmenusAndSelects,U as ControllingPosition,y as ControllingSelectPosition,w as ControllingSubmenuPosition,re as Default,P as Description,te as DialogInsideCustomItemComponent,z as DisabledItems,K as Dividers,G as Groups,ae as InsideDialog,q as ItemOpeningDialog,X as KeepMounted,j as KeyboardNavigation,He as KeyboardNavigationOnMobile,Y as LeadingElements,_ as Links,ee as LongLabels,M as OnMobile,$ as RadioGroups,Z as Scroll,ve as SelectAlignEnd,Be as SelectAlignStart,I as SelectItems,we as SelectSideInlineEnd,be as SelectSideInlineStart,he as SelectSideLeft,fe as SelectSideRight,ke as SelectSideTop,ce as SideInlineEnd,ue as SideInlineStart,de as SideLeft,me as SideRight,pe as SideTop,Te as SubmenuAlignEnd,Oe as SubmenuAlignStart,xe as SubmenuSideInlineEnd,Re as SubmenuSideInlineStart,Se as SubmenuSideLeft,Ce as SubmenuSideRight,De as SubmenuSideTop,H as Submenus,W as Uncontrolled,se as UncontrolledDefaultOpen,yi as __namedExportsOrder,gi as default};
1577
+ In this case you need to use the \`keepMounted\` prop to prevent dialog from closing when menu unmounts.`,...(ho=(bo=ne.parameters)==null?void 0:bo.docs)==null?void 0:ho.description}}};var fo,ko,Bo,vo,xo;oe.parameters={...oe.parameters,docs:{...(fo=oe.parameters)==null?void 0:fo.docs,source:{originalSource:`{
1578
+ render: () => {
1579
+ const CustomButton = forwardRef<HTMLButtonElement, Record<string, unknown>>((props, ref) => {
1580
+ return <button {...props} ref={ref}>
1581
+ Button
1582
+ </button>;
1583
+ });
1584
+ return <DropdownMenu open={true} trigger={<CustomButton />}>
1585
+ <DropdownMenuRadioGroup>
1586
+ <DropdownMenuItem label="Transfer balance" onClick={callbacks.items.transferBalance} />
1587
+ <DropdownMenuItem label="Add extra hours" onClick={callbacks.items.addExtraHours} />
1588
+ </DropdownMenuRadioGroup>
1589
+ </DropdownMenu>;
1590
+ }
1591
+ }`,...(Bo=(ko=oe.parameters)==null?void 0:ko.docs)==null?void 0:Bo.source},description:{story:`Custom DropDownMenu triggers must forward the ref and props to the underlying DOM node to ensure proper dropdown positioning.
1592
+
1593
+ \`\`\`tsx
1594
+ const CustomButton = forwardRef<HTMLButtonElement, {}>(
1595
+ (props, ref) => {
1596
+ return <button {...props} ref={ref} />;
1597
+ },
1598
+ );
1599
+
1600
+ <DropdownMenu open={true} trigger={<CustomButton />}>
1601
+ ...
1602
+ </DropdownMenu>
1603
+ \`\`\``,...(xo=(vo=oe.parameters)==null?void 0:vo.docs)==null?void 0:xo.description}}};const vr=["Default","Uncontrolled","UncontrolledDefaultOpen","Controlled","ControlledDefaultOpen","ControllingPosition","SideInlineEnd","SideInlineStart","SideLeft","SideRight","SideTop","AlignStart","AlignEnd","DisabledItems","Description","Groups","Dividers","LeadingElements","Links","RadioGroups","CheckboxItems","SelectItems","ControllingSelectPosition","SelectSideInlineEnd","SelectSideInlineStart","SelectSideLeft","SelectSideRight","SelectSideTop","SelectAlignStart","SelectAlignEnd","Submenus","ControllingSubmenuPosition","SubmenuSideInlineEnd","SubmenuSideInlineStart","SubmenuSideLeft","SubmenuSideRight","SubmenuSideTop","SubmenuAlignStart","SubmenuAlignEnd","ControlledSubmenusAndSelects","KeepMounted","OnMobile","KeyboardNavigation","KeyboardNavigationOnMobile","Scroll","LongLabels","InsideDialog","ItemOpeningDialog","DialogInsideCustomItemComponent","CustomChildComponent"];export{we as AlignEnd,ye as AlignStart,Q as CheckboxItems,M as Controlled,ce as ControlledDefaultOpen,X as ControlledSubmenusAndSelects,z as ControllingPosition,y as ControllingSelectPosition,w as ControllingSubmenuPosition,oe as CustomChildComponent,se as Default,G as Description,ne as DialogInsideCustomItemComponent,P as DisabledItems,Y as Dividers,K as Groups,ae as InsideDialog,q as ItemOpeningDialog,Z as KeepMounted,j as KeyboardNavigation,He as KeyboardNavigationOnMobile,_ as LeadingElements,$ as Links,te as LongLabels,A as OnMobile,J as RadioGroups,ee as Scroll,xe as SelectAlignEnd,ve as SelectAlignStart,I as SelectItems,be as SelectSideInlineEnd,he as SelectSideInlineStart,fe as SelectSideLeft,ke as SelectSideRight,Be as SelectSideTop,ue as SideInlineEnd,de as SideInlineStart,me as SideLeft,pe as SideRight,ge as SideTop,Ee as SubmenuAlignEnd,Te as SubmenuAlignStart,Re as SubmenuSideInlineEnd,Se as SubmenuSideInlineStart,Ce as SubmenuSideLeft,De as SubmenuSideRight,Oe as SubmenuSideTop,H as Submenus,U as Uncontrolled,le as UncontrolledDefaultOpen,vr as __namedExportsOrder,Br as default};