@preply/ds-docs 3.5.1 → 3.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (271) hide show
  1. package/dist/assets/00.LayoutFlex.stories-CeV_wdIC.js +85 -0
  2. package/dist/assets/{00.applications-CtD17Uvc.js → 00.applications-CAvTZLs_.js} +2 -2
  3. package/dist/assets/{00.favicons.guide-rDY-MoXZ.js → 00.favicons.guide-BhlxRh9a.js} +2 -2
  4. package/dist/assets/{00.token-explorer-CedppzBQ.js → 00.token-explorer-20FX7CcY.js} +2 -2
  5. package/dist/assets/00.using-responsive-props-BnlhCBRt.js +18 -0
  6. package/dist/assets/01.semantic-tokens-DcnkWzh7.js +2 -0
  7. package/dist/assets/{01.using-shorthand-props-eZLJFDHj.js → 01.using-shorthand-props-Of1iGh33.js} +2 -2
  8. package/dist/assets/10.Combinations.stories-uNix06Cx.js +144 -0
  9. package/dist/assets/{10.fonts.guide-DW9ufzTF.js → 10.fonts.guide-DrwXu-qM.js} +2 -2
  10. package/dist/assets/{10.ssr-DwlffmrT.js → 10.ssr-BLRvX7tP.js} +2 -2
  11. package/dist/assets/{11.languageFont.explorer.stories-Crh2l5Jm.js → 11.languageFont.explorer.stories-8bRkypgA.js} +3 -3
  12. package/dist/assets/{11.ssr.app-router-BZ07Enlf.js → 11.ssr.app-router-Bdj_5bEM.js} +2 -2
  13. package/dist/assets/{20.libraries-lbSLR9_7.js → 20.libraries-BAk4bn7T.js} +2 -2
  14. package/dist/assets/30.icons.explorer-Cw48haes.js +73 -0
  15. package/dist/assets/{30.storybook-C4NNn5Fv.js → 30.storybook-Cl1dKshZ.js} +2 -2
  16. package/dist/assets/40.illustrations.explorer-QST9S1uM.js +21 -0
  17. package/dist/assets/{90.advanced-bdiRxPCx.js → 90.advanced-D0gL86iZ.js} +2 -2
  18. package/dist/assets/{Accordion-BMkC4Xny.js → Accordion-DQdO67t-.js} +1 -1
  19. package/dist/assets/{Accordion.stories-SU6sgvYh.js → Accordion.stories-CIkFS1aB.js} +2 -2
  20. package/dist/assets/{Accordion.tests.stories-CxVZnGoY.js → Accordion.tests.stories-B-CsSb4t.js} +3 -3
  21. package/dist/assets/{AlertDialog.stories-Z5ooiuoO.js → AlertDialog.stories-Cl8Xpqxw.js} +3 -3
  22. package/dist/assets/{Avatar-B2H0W8KL.js → Avatar-BPQkrrdS.js} +1 -1
  23. package/dist/assets/{Avatar-BoLH36O5.js → Avatar-DU9LOGxE.js} +1 -1
  24. package/dist/assets/Avatar.stories-CqMa-0IY.js +42 -0
  25. package/dist/assets/AvatarWithStatus.stories-Bhftrj9g.js +41 -0
  26. package/dist/assets/{Badge-j_a0acGK.css → Badge-DXnHyVME.css} +1 -1
  27. package/dist/assets/{Badge.stories-B2OoKd78.js → Badge.stories-ub7MEo4B.js} +3 -3
  28. package/dist/assets/Box.stories-B-s13PQh.js +44 -0
  29. package/dist/assets/BubbleCounter.stories-CpaMP6xY.js +242 -0
  30. package/dist/assets/{Button-BSyqsKC5.js → Button-C5gzVt4K.js} +1 -1
  31. package/dist/assets/{Button-Bo0EuTg4.js → Button-vy3cIlv9.js} +1 -1
  32. package/dist/assets/{Button.stories-Dc9V2OdS.js → Button.stories-Df_g55it.js} +2 -2
  33. package/dist/assets/{ButtonBase-Bdtn25V2.js → ButtonBase-D5O3MkG2.js} +1 -1
  34. package/dist/assets/{Checkbox-Bq_sNuXJ.js → Checkbox-Bknyi3M6.js} +2 -2
  35. package/dist/assets/{Checkbox.stories-BI-3q1SR.js → Checkbox.stories-DF4d48B_.js} +2 -2
  36. package/dist/assets/Checkbox.tests.stories-CPrt0IT-.js +64 -0
  37. package/dist/assets/Chips-C-y9rHQ4.css +1 -0
  38. package/dist/assets/Chips.stories-DkNJ_zVw.js +146 -0
  39. package/dist/assets/Color-YHDXOIA2-pga7xyrn.js +1 -0
  40. package/dist/assets/{Combination-CCYtWL8C.js → Combination-Cz1uIyPJ.js} +1 -1
  41. package/dist/assets/{CountryFlag-ClC7kEHn.js → CountryFlag-DNvfZC7z.js} +7 -7
  42. package/dist/assets/CountryFlag.stories-xg8q2tp6.js +331 -0
  43. package/dist/assets/CountryFlag.test.stories-CkUCxnsL.js +27 -0
  44. package/dist/assets/{Dialog.stories-ColOPVoz.js → Dialog.stories-C9-6y9u3.js} +3 -3
  45. package/dist/assets/DismissibleChips-D0spWwKB.js +1 -0
  46. package/dist/assets/DismissibleChips-Jfhj9R2Y.css +1 -0
  47. package/dist/assets/DismissibleChips.stories-DAd1oRPH.js +635 -0
  48. package/dist/assets/Divider-DECo0bYW.css +1 -0
  49. package/dist/assets/Divider.stories-Dt8b4I0I.js +9 -0
  50. package/dist/assets/DocsRenderer-CFRXHY34-bxqIrlIk.js +2 -0
  51. package/dist/assets/{FieldButton-Bsa9_rJB.js → FieldButton-DkkntNzT.js} +1 -1
  52. package/dist/assets/FieldButton.stories-CXR_cH-r.js +1 -0
  53. package/dist/assets/{FormControl-CeIJk4_Z.js → FormControl-BBd1k1n3.js} +1 -1
  54. package/dist/assets/{FormControl-BxxTFPCS.css → FormControl-BBqp99uJ.css} +1 -1
  55. package/dist/assets/{FormControl.stories-DekxQG9a.js → FormControl.stories-DukIAZCw.js} +2 -2
  56. package/dist/assets/{Heading-ese4_5Hg.js → Heading-BLxyLk9f.js} +2 -2
  57. package/dist/assets/Heading.stories-DcyjKmJn.js +82 -0
  58. package/dist/assets/{Icon-ZIxauYsE.js → Icon-CsnSNslb.js} +2 -2
  59. package/dist/assets/{Icon-Dlm-jGvW.js → Icon-CytpCOfq.js} +1 -1
  60. package/dist/assets/Icon-RSC-jWx530Uy.js +6 -0
  61. package/dist/assets/{Icon.stories-Cv6aq9BI.js → Icon.stories-CdJp2Kjy.js} +2 -2
  62. package/dist/assets/IconButton-DnBk_U_S.css +1 -0
  63. package/dist/assets/IconButton-NYwQQfnV.js +8 -0
  64. package/dist/assets/{Input-C1hZX5_o.js → Input-MEZGWQfc.js} +5 -5
  65. package/dist/assets/{InputContainer-Bk0tgFnW.js → InputContainer-BZsD6GIE.js} +1 -1
  66. package/dist/assets/IntegrationWithReactHookForm.stories-DbXGbM6L.js +439 -0
  67. package/dist/assets/LayoutFlex-C3k4b85b.js +1 -0
  68. package/dist/assets/{LayoutFlex-Bhu4q65J.js → LayoutFlex-C6z0wWVE.js} +1 -1
  69. package/dist/assets/{LayoutFlexItem-C2t_4vHD.js → LayoutFlexItem-Cwg58STc.js} +1 -1
  70. package/dist/assets/{LayoutGrid-DwWkjrQU.js → LayoutGrid-WPajd7ZP.js} +1 -1
  71. package/dist/assets/LayoutGrid.stories-B-DYu7we.js +88 -0
  72. package/dist/assets/{LayoutGridItem-CZ6SKl8g.js → LayoutGridItem-CPteN7Xi.js} +1 -1
  73. package/dist/assets/{LayoutGridItem-CmZxAA0w.js → LayoutGridItem-sDswLjZs.js} +1 -1
  74. package/dist/assets/{LibraryExplore-C8GqDRwc.js → LibraryExplore-oBYfEgnm.js} +1 -1
  75. package/dist/assets/Link-ppzJSCTf.js +7 -0
  76. package/dist/assets/Link.stories-ClHFTcTp.js +265 -0
  77. package/dist/assets/Loader.stories-ltpe_Net.js +37 -0
  78. package/dist/assets/Messages-VCFIwUal.js +1 -0
  79. package/dist/assets/MultiSelectChips-CwiPSabU.js +2 -0
  80. package/dist/assets/MultiSelectChips.stories-DmtbSk6N.js +618 -0
  81. package/dist/assets/{NumberField-D6cbX2hK.js → NumberField-RsSQ3jKy.js} +5 -5
  82. package/dist/assets/{NumberField.stories-BHt2ErAX.js → NumberField.stories-D7ZfStPF.js} +2 -2
  83. package/dist/assets/{ObserveIntersection-DsqqXq5n.js → ObserveIntersection-B-K9BpyT.js} +2 -2
  84. package/dist/assets/ObserveIntersection.stories-CsECVFcG.js +27 -0
  85. package/dist/assets/{OnboardingTooltip-DVNAQjDc.js → OnboardingTooltip-S86JAVp1.js} +1 -1
  86. package/dist/assets/OnboardingTooltip.stories-yysftpQx.js +66 -0
  87. package/dist/assets/OnboardingTooltip.tests.stories-BGYD6ZgF.js +79 -0
  88. package/dist/assets/{OnboardingTour-DdV7TN6M.js → OnboardingTour-DdoL-ALr.js} +1 -1
  89. package/dist/assets/{OnboardingTour.stories-D0ScuFD6.js → OnboardingTour.stories-CFHFqnUP.js} +3 -3
  90. package/dist/assets/{OnboardingTour.tests.stories-DAxdPYEp.js → OnboardingTour.tests.stories-Zth6eLU9.js} +3 -3
  91. package/dist/assets/{PasswordField-C_KRyf9k.js → PasswordField-Dxf_bax6.js} +5 -5
  92. package/dist/assets/{PasswordField.stories-3X4JtcLm.js → PasswordField.stories-cbjkS8Y4.js} +5 -5
  93. package/dist/assets/{PortalElementProvider-D4ltrA8j.js → PortalElementProvider-CgL8vj5o.js} +1 -1
  94. package/dist/assets/PreplyLogo.stories-uls4oHdg.js +97 -0
  95. package/dist/assets/{ProgressBar.stories-Dpro8fzG.js → ProgressBar.stories-CDcfCVq4.js} +3 -3
  96. package/dist/assets/{ProgressSteps-BBrWCYks.js → ProgressSteps--PLRO2gB.js} +1 -1
  97. package/dist/assets/ProgressSteps.stories-Ds4cZ7wu.js +31 -0
  98. package/dist/assets/{RangeSlider-dSZs_gtw.js → RangeSlider-BYDrLADZ.js} +1 -1
  99. package/dist/assets/{RangeSlider.stories-DVb8mcs1.js → RangeSlider.stories-Cyr-Pro6.js} +2 -2
  100. package/dist/assets/RootProvider-jpy520VQ.js +1 -0
  101. package/dist/assets/{SelectField-CuzFFPz0.js → SelectField-JmD-rzDd.js} +7 -7
  102. package/dist/assets/{SelectField.stories-wb_cAtCV.js → SelectField.stories-BaUnnRxC.js} +2 -2
  103. package/dist/assets/ShowOnIntersection.stories-1-PEYzrA.js +17 -0
  104. package/dist/assets/SingleSelectChips-DLCTUr2z.js +2 -0
  105. package/dist/assets/SingleSelectChips.stories-Dqmrydst.js +637 -0
  106. package/dist/assets/{Slider-6E9fmd7P.js → Slider-CIF6srIP.js} +1 -1
  107. package/dist/assets/{Slider.stories-B5LCqqgS.js → Slider.stories-DPwe4ZY9.js} +2 -2
  108. package/dist/assets/{Spinner-BCTJunNM.js → Spinner-T-vTyHiv.js} +1 -1
  109. package/dist/assets/{Steps-CCm9vCgl.js → Steps-ffbOMhEJ.js} +1 -1
  110. package/dist/assets/{Steps.stories-BLFM3WRM.js → Steps.stories-CPOi2Oi8.js} +2 -2
  111. package/dist/assets/{StorybookGlobalStyle-B1zhYl96.js → StorybookGlobalStyle-CQSpwvw3.js} +1 -1
  112. package/dist/assets/Switch-Dw6ODsdd.js +12 -0
  113. package/dist/assets/Switch-DxL-NADD.css +1 -0
  114. package/dist/assets/Switch.stories-C1Mk3jSk.js +138 -0
  115. package/dist/assets/{Text-BmdJVr9v.js → Text-CykvSLVe.js} +1 -1
  116. package/dist/assets/Text.stories-BM7oD1Ya.js +69 -0
  117. package/dist/assets/{TextField-D2GlsmWF.css → TextField-C5AoK3Cj.css} +1 -1
  118. package/dist/assets/{TextField-Co0wSa5c.js → TextField-DakE_vDk.js} +1 -1
  119. package/dist/assets/{TextField-CMgzC3bX.js → TextField-lnCw6vFm.js} +5 -5
  120. package/dist/assets/{TextField.stories-CAcPkm_s.js → TextField.stories-C8nNbyIm.js} +5 -5
  121. package/dist/assets/{TextHighlighted-B6rrwk3x.js → TextHighlighted-B2n23sPW.js} +1 -1
  122. package/dist/assets/TextHighlighted.stories-Dunl9OsM.js +32 -0
  123. package/dist/assets/TextInline.stories-Cz98O8bG.js +37 -0
  124. package/dist/assets/{TextareaField-CCM1C6lK.js → TextareaField-BDRAFgn6.js} +9 -9
  125. package/dist/assets/{TextareaField.stories-DKNFN3f4.js → TextareaField.stories-CC3YstiD.js} +6 -6
  126. package/dist/assets/{Toast.stories-BzEpckjh.js → Toast.stories-CUVZTvJT.js} +3 -3
  127. package/dist/assets/{TokyoUIAttach-BvBvQVx_.js → TokyoUIAttach-BWl7Jkq1.js} +1 -1
  128. package/dist/assets/{TokyoUIClose-DFIfVIfy.js → TokyoUIClose-thK8sk63.js} +1 -1
  129. package/dist/assets/TokyoUIEmojiFrowning-DTIcabpJ.js +1 -0
  130. package/dist/assets/{TokyoUIExpand-DThzqohx.js → TokyoUIExpand-oMdXmNcg.js} +1 -1
  131. package/dist/assets/{TokyoUIEye-BsOt8ZdC.js → TokyoUIEye-CteyS9_g.js} +1 -1
  132. package/dist/assets/{TokyoUIFav-DGbkVriC.js → TokyoUIFav-DOVerCtW.js} +1 -1
  133. package/dist/assets/{TokyoUIInfo-nHX2jpp7.js → TokyoUIInfo-DbkQBubr.js} +1 -1
  134. package/dist/assets/{TokyoUILanguage-BNq9ng3F.js → TokyoUILanguage-CLpo5Vdq.js} +1 -1
  135. package/dist/assets/{TokyoUILock-C_glX9Ec.js → TokyoUILock-CENLMUf4.js} +1 -1
  136. package/dist/assets/{TokyoUIMinus-B9ja89W6.js → TokyoUIMinus-RacYe9uc.js} +1 -1
  137. package/dist/assets/{TokyoUINotebook-DNjno-oI.js → TokyoUINotebook-kt8pWj_a.js} +1 -1
  138. package/dist/assets/{TokyoUINotesWithPad-Bqcca_-M.js → TokyoUINotesWithPad-B-o4vu0Y.js} +1 -1
  139. package/dist/assets/{TokyoUIPhone-BHLDT6dz.js → TokyoUIPhone-CvuBM6jb.js} +1 -1
  140. package/dist/assets/{TokyoUITag-CulX0-gf.js → TokyoUITag-CS4uarg6.js} +1 -1
  141. package/dist/assets/{TokyoUIUpload-Bi3CuQzX.js → TokyoUIUpload-Bf0gWv4M.js} +1 -1
  142. package/dist/assets/{TokyoUIUser-DG6LLnJu.js → TokyoUIUser-Cvenl_VS.js} +1 -1
  143. package/dist/assets/{Tooltip-IxKOQjjo.js → Tooltip-UjXQy5k6.js} +1 -1
  144. package/dist/assets/{Tooltip.stories-DHYG0ggY.js → Tooltip.stories-DUECVMBB.js} +2 -2
  145. package/dist/assets/Tooltip.tests.stories-DV5HEaze.js +65 -0
  146. package/dist/assets/{align-self-BM6l9H5Z.js → align-self-r3vx00J0.js} +1 -1
  147. package/dist/assets/{breakpoints-DxEeOfvq.js → breakpoints-5Upxf6Y1.js} +2 -2
  148. package/dist/assets/{breakpoints-3Mi8ztBx.js → breakpoints-839jWvyb.js} +2 -2
  149. package/dist/assets/{breakpoints-BPZAI3l-.js → breakpoints-CUqKVgVc.js} +2 -2
  150. package/dist/assets/{changelog-BvX8uMXW.js → changelog-D_f5Tbwt.js} +234 -216
  151. package/dist/assets/{chunk-XP5HYGXS-D5tuasO7.js → chunk-XP5HYGXS-BpfKkqn7.js} +1 -1
  152. package/dist/assets/{client-DXF5tT0h.js → client-C1fTPCwG.js} +1 -1
  153. package/dist/assets/componentNames-NXEPEzbR.js +1 -0
  154. package/dist/assets/createRequiredContext-BW3-EdwI.js +241 -0
  155. package/dist/assets/createRequiredContext-Bv1cwElm.css +1 -0
  156. package/dist/assets/{defaults-B1rzzf6M.js → defaults-Clr6nbGc.js} +1 -1
  157. package/dist/assets/entry-preview-BvEBPG6v.js +2 -0
  158. package/dist/assets/{entry-preview-docs-FEPuDDnY.js → entry-preview-docs-Cyz3fU9E.js} +2 -2
  159. package/dist/assets/getCountryFlagUrl-CP-PpZV_.js +1 -0
  160. package/dist/assets/{getTokenVar-CXvtPVqa.js → getTokenVar-CV6_zRnp.js} +2 -2
  161. package/dist/assets/{hover-sR2377QI.js → hover-Bs7YcuQH.js} +2 -2
  162. package/dist/assets/hover-DniV5Ub7.js +13 -0
  163. package/dist/assets/hover-uZhMPRXi.js +14 -0
  164. package/dist/assets/{iframe-BE13K_u-.js → iframe-DI6VGJCr.js} +2 -2
  165. package/dist/assets/{index-BYp7dUfi.js → index-7S8Dj0J-.js} +1 -1
  166. package/dist/assets/{index-DUJ9kiQB.js → index-BArSnScv.js} +2 -2
  167. package/dist/assets/index-BN6VMYqa.js +1 -0
  168. package/dist/assets/{index-jEDObK_5.js → index-BPrLDK9Y.js} +1 -1
  169. package/dist/assets/{index-v0utLE_k.js → index-BrBqb5Q4.js} +1 -1
  170. package/dist/assets/{index--DZ0VX4g.js → index-Bt5ip-xO.js} +1 -1
  171. package/dist/assets/{index-DRKYGVyc.js → index-C6wF8VM1.js} +1 -1
  172. package/dist/assets/{index-C66nt8TK.js → index-C7hTFOIV.js} +1 -1
  173. package/dist/assets/{index-wFyje0se.js → index-C9SxdfPC.js} +1 -1
  174. package/dist/assets/index-Cb9e4tly.js +1 -0
  175. package/dist/assets/index-ChsGqxH_.js +9 -0
  176. package/dist/assets/{index-DDyIDR-R.js → index-Ctq3gFTp.js} +1 -1
  177. package/dist/assets/{index-CjMmneJr.js → index-CxzwkAAS.js} +3 -3
  178. package/dist/assets/{index-jPlWeKki.js → index-DHRyQyAr.js} +1 -1
  179. package/dist/assets/{index-BfBdt3zW.js → index-DSVnVYmz.js} +1 -1
  180. package/dist/assets/{index-DbgDZDus.js → index-QwIMrChO.js} +1 -1
  181. package/dist/assets/{intro-BQxazeZ4.js → intro-D15hwrBp.js} +2 -2
  182. package/dist/assets/{jsx-runtime-BYouaCF_.js → jsx-runtime-BTJTZTIL.js} +2 -2
  183. package/dist/assets/layout-relative-BNsRKWaJ.css +1 -0
  184. package/dist/assets/layout-relative-iaxAShjd.css +1 -0
  185. package/dist/assets/layout-relative.module-1z75aSwo-BeT2Gxbq.js +1 -0
  186. package/dist/assets/layout-relative.module-ChaXrVQQ.js +1 -0
  187. package/dist/assets/{message-BraTJ16C.js → message-BqoANQez.js} +1 -1
  188. package/dist/assets/{migrating-from-less-_WbBpNno.js → migrating-from-less-ChwDKr-0.js} +2 -2
  189. package/dist/assets/{options-Dn0Ts6qK.js → options-DiZKU5qS.js} +1 -1
  190. package/dist/assets/playground-6Qa0tALi.css +1 -0
  191. package/dist/assets/{playground.stories-DNP6DMoh.js → playground.stories-DBacBF4k.js} +212 -212
  192. package/dist/assets/preview-B7ZgNHfI.js +22 -0
  193. package/dist/assets/{preview-ChKXYagv.js → preview-BTjEYo28.js} +1 -1
  194. package/dist/assets/preview-BtcSDksg.js +2 -0
  195. package/dist/assets/{preview-DqZVArh_.js → preview-Dr3Vhf1y.js} +1 -1
  196. package/dist/assets/react-18-DfUnyR7e.js +1 -0
  197. package/dist/assets/react.esm-BJ_b8t-Z.js +65 -0
  198. package/dist/assets/{render-icon-CVTdrNe-.js → render-icon-BT0Aq7PA.js} +1 -1
  199. package/dist/assets/{render-icon-CwRdpin3.js → render-icon-Du0nasoi.js} +1 -1
  200. package/dist/assets/{shared-strings-CcWGHelY.js → shared-strings-BzaHC9x5.js} +1 -1
  201. package/dist/assets/{styled-components.browser.esm-CwsnEFnS.js → styled-components.browser.esm-BgpGX317.js} +1 -1
  202. package/dist/assets/test-utils-DCJN9LZk.js +9 -0
  203. package/dist/assets/{tokens-Do5DDIVZ.js → tokens-0xptGJP0.js} +2 -2
  204. package/dist/assets/{tokens-rA5iljxB.js → tokens-CGqhbkO_.js} +2 -2
  205. package/dist/assets/tokens-CJh_FSIl.js +1 -0
  206. package/dist/assets/{tokens-BpVbkeg9.js → tokens-pXBi-h95.js} +2 -2
  207. package/dist/assets/useHostname-Y3PlXofY.js +1 -0
  208. package/dist/assets/{useMergeRefs-BKVZOB6R.js → useMergeRefs-D_RfOOSs.js} +1 -1
  209. package/dist/assets/{useMergeRefs-CeyIhNgY.js → useMergeRefs-SFH7Mw4x.js} +1 -1
  210. package/dist/assets/{usePortalElement-D-MBkGYE.js → usePortalElement-M09Zq-L8.js} +2 -2
  211. package/dist/assets/{useTheme-DiEoTTOi.js → useTheme-DFSR9KPZ.js} +1 -1
  212. package/dist/assets/{useToken-BEsvy84L.js → useToken-DI8WZBSr.js} +1 -1
  213. package/dist/assets/{welcome-CjdlfIE9.js → welcome-DyZwhj5C.js} +2 -2
  214. package/dist/assets/{zeroheight-COTIl-YQ.js → zeroheight-B9itFpkD.js} +2 -2
  215. package/dist/iframe.html +1 -1
  216. package/dist/index.json +1 -1
  217. package/dist/preview-stats.json +2217 -1449
  218. package/dist/project.json +1 -1
  219. package/package.json +3 -3
  220. package/dist/assets/00.LayoutFlex.stories-DsoQ41ru.js +0 -85
  221. package/dist/assets/00.using-responsive-props-CXXBchqR.js +0 -18
  222. package/dist/assets/01.semantic-tokens-DA4N50sn.js +0 -2
  223. package/dist/assets/10.Combinations.stories-D5C6zeLo.js +0 -144
  224. package/dist/assets/30.icons.explorer-gDqz6aGC.js +0 -73
  225. package/dist/assets/40.illustrations.explorer-Cw6qUJFV.js +0 -21
  226. package/dist/assets/Avatar.stories-QILX30d4.js +0 -42
  227. package/dist/assets/AvatarWithStatus.stories-CiIZ7860.js +0 -41
  228. package/dist/assets/Box.stories-Bj6O093l.js +0 -44
  229. package/dist/assets/Checkbox.tests.stories-Bn3p5No-.js +0 -64
  230. package/dist/assets/Chips-DAK2so_G.css +0 -1
  231. package/dist/assets/Chips.stories-FqjAsoAI.js +0 -150
  232. package/dist/assets/Color-YHDXOIA2-Brn_ueLX.js +0 -1
  233. package/dist/assets/DocsRenderer-CFRXHY34-Drp94F88.js +0 -2
  234. package/dist/assets/FieldButton.stories-DN08cc4N.js +0 -1
  235. package/dist/assets/Flag.stories-hPDFXFLs.js +0 -114
  236. package/dist/assets/Flag.test.stories-Dn7xe9kp.js +0 -27
  237. package/dist/assets/Heading.stories-Pcuq78-p.js +0 -82
  238. package/dist/assets/Icon-RSC-DHJisRIw.js +0 -6
  239. package/dist/assets/IconButton-BqwVuKH2.js +0 -8
  240. package/dist/assets/IntegrationWithReactHookForm.stories-DjhZzsb9.js +0 -274
  241. package/dist/assets/LayoutFlex-BBGvSVMb.js +0 -1
  242. package/dist/assets/LayoutGrid.stories-CNvZbuzu.js +0 -88
  243. package/dist/assets/Link.stories-DQx9wq8H.js +0 -271
  244. package/dist/assets/Loader.stories-DWRd5a4n.js +0 -37
  245. package/dist/assets/ObserveIntersection.stories-BabE9srq.js +0 -27
  246. package/dist/assets/OnboardingTooltip.stories-BGQM-hLj.js +0 -66
  247. package/dist/assets/OnboardingTooltip.tests.stories-4LRVGnuI.js +0 -79
  248. package/dist/assets/PreplyLogo.stories-CrTgCgF0.js +0 -97
  249. package/dist/assets/ProgressSteps.stories-DDhuAaz0.js +0 -31
  250. package/dist/assets/RootProvider-DLsVkcFn.js +0 -1
  251. package/dist/assets/ShowOnIntersection.stories-ipu84fct.js +0 -17
  252. package/dist/assets/Text.stories-CkC6dvyE.js +0 -69
  253. package/dist/assets/TextHighlighted.stories-BJsM40kL.js +0 -32
  254. package/dist/assets/TextInline.stories-CL1L2t2-.js +0 -37
  255. package/dist/assets/Tooltip.tests.stories-DWwqRNUM.js +0 -65
  256. package/dist/assets/componentNames-CpCJzpB9.js +0 -1
  257. package/dist/assets/entry-preview-Cgr68VmN.js +0 -10
  258. package/dist/assets/hover-BJ9rZrzg.js +0 -13
  259. package/dist/assets/hover-CeDdAnNA.js +0 -14
  260. package/dist/assets/index-B3evPFBL.js +0 -9
  261. package/dist/assets/index-uOP2uDdf.js +0 -1
  262. package/dist/assets/layout-relative-BGyAoF2N.css +0 -1
  263. package/dist/assets/layout-relative-DuJENdo5.css +0 -1
  264. package/dist/assets/layout-relative.module-1z75aSwo-DNAR_Nv2.js +0 -1
  265. package/dist/assets/layout-relative.module-ed9bC4H4.js +0 -1
  266. package/dist/assets/playground-DJaUjyzx.css +0 -1
  267. package/dist/assets/preview-DFIaQ6pR.js +0 -2
  268. package/dist/assets/preview-Dlcr0l4_.js +0 -22
  269. package/dist/assets/react-18-CYoSI7Qu.js +0 -1
  270. package/dist/assets/tokens-ZvFzTwDp.js +0 -1
  271. package/dist/assets/useHostname-CH18gHFj.js +0 -1
@@ -1,114 +0,0 @@
1
- import{j as e}from"./jsx-runtime-BYouaCF_.js";import{r as u}from"./index-B3evPFBL.js";import{e as m}from"./index-DDyIDR-R.js";import{c as n,C as o}from"./CountryFlag-ClC7kEHn.js";import{L as F}from"./LayoutFlex-BBGvSVMb.js";import{L as y,a as r}from"./LayoutGridItem-CZ6SKl8g.js";import{T as a}from"./Text-BmdJVr9v.js";import"./_commonjsHelpers-Cpj98o6Y.js";import"./index-DdzHuZ-Y.js";import"./componentNames-CpCJzpB9.js";import"./filterAttributesPassedByRadixUIAtRuntime-B7QTVwVw.js";import"./layout-relative.module-ed9bC4H4.js";import"./classNames-BUL1Zq7e.js";import"./defaults-B1rzzf6M.js";import"./breakpoints-BfMlrtxE.js";import"./align-self-BM6l9H5Z.js";import"./constants-DYYVurUY.js";import"./text-accent-DZDDtpIt.js";import"./text-centered-CznToR0o.js";const J={title:"components/CountryFlag",component:o,args:{code:"ua",alt:n.ua}},s={render:function(){return e.jsxs("div",{style:{maxWidth:"1000px"},children:[e.jsx(a,{variant:"default-semibold",children:"For some countries, simplified flags are automatically used (unless `simplified` is set to `false`)"}),e.jsxs(y,{columns:4,children:[e.jsx(r,{children:e.jsx(a,{variant:"default-semibold",children:"Code"})}),e.jsx(r,{children:e.jsx(a,{variant:"default-semibold",children:"Country name"})}),e.jsx(r,{children:e.jsx(a,{variant:"default-semibold",children:"4x3"})}),e.jsx(r,{children:e.jsx(a,{variant:"default-semibold",children:"4x3 (with `simplified=false`)"})}),["es","mx"].map(t=>e.jsxs(u.Fragment,{children:[e.jsx(r,{children:t}),e.jsx(r,{children:n[t]}),e.jsx(r,{children:e.jsx(o,{code:t,alt:n[t],size:"large"})}),e.jsx(r,{children:e.jsx(o,{code:t,alt:n[t],size:"large",simplified:!1})})]},t))]}),e.jsx("br",{}),e.jsx(a,{variant:"default-semibold",children:"All countries"}),e.jsxs(y,{columns:3,children:[e.jsx(r,{children:e.jsx(a,{variant:"default-semibold",children:"Code"})}),e.jsx(r,{children:e.jsx(a,{variant:"default-semibold",children:"Country name"})}),e.jsx(r,{children:e.jsx(a,{variant:"default-semibold",children:"4x3"})}),Object.keys(n).map(t=>e.jsxs(u.Fragment,{children:[e.jsx(r,{children:t}),e.jsx(r,{children:n[t]}),e.jsx(r,{children:e.jsx(o,{code:t,alt:n[t],size:"large"})})]},t))]})]})}},d={render:i=>e.jsxs(F,{gap:"16",children:[e.jsx(o,{...i,size:"small"}),e.jsx(o,{...i,size:"medium"}),e.jsx(o,{...i,size:"large"})]})},l={render:function(){return e.jsxs(e.Fragment,{children:[e.jsx(a,{variant:"default-regular-italic",children:"Invalid country code"}),e.jsx(o,{code:"invalidCountryCode",alt:"Invalid country code"}),e.jsx(a,{variant:"default-regular-italic",children:"`undefined` country code"}),e.jsx(o,{code:void 0,alt:"Undefined country code"})]})},play:async({canvas:i})=>{const t=i.getByAltText("Invalid country code");m(t).toBeVisible();const b=i.getByAltText("Undefined country code");m(b).toBeVisible()}},c={parameters:{chromatic:{disableSnapshot:!0}},args:{dataset:{qaid:"flag"}},argTypes:{dataset:{control:"object"}}};var x,p,f;s.parameters={...s.parameters,docs:{...(x=s.parameters)==null?void 0:x.docs,source:{originalSource:`{
2
- render: function Story() {
3
- return <div style={{
4
- maxWidth: '1000px'
5
- }}>
6
- <Text variant="default-semibold">
7
- For some countries, simplified flags are automatically used (unless \`simplified\`
8
- is set to \`false\`)
9
- </Text>
10
- <LayoutGrid columns={4}>
11
- <LayoutGridItem>
12
- <Text variant="default-semibold">Code</Text>
13
- </LayoutGridItem>
14
- <LayoutGridItem>
15
- <Text variant="default-semibold">Country name</Text>
16
- </LayoutGridItem>
17
- <LayoutGridItem>
18
- <Text variant="default-semibold">4x3</Text>
19
- </LayoutGridItem>
20
- <LayoutGridItem>
21
- <Text variant="default-semibold">4x3 (with \`simplified=false\`)</Text>
22
- </LayoutGridItem>
23
-
24
- {['es', 'mx'].map(code => {
25
- return <Fragment key={code}>
26
- <LayoutGridItem>{code}</LayoutGridItem>
27
- <LayoutGridItem>{countryNames[code]}</LayoutGridItem>
28
- <LayoutGridItem>
29
- <CountryFlag
30
- // @ts-expect-error TS doesn't infer .map's type correctly
31
- code={code} alt={countryNames[code]} size="large" />
32
- </LayoutGridItem>
33
- <LayoutGridItem>
34
- <CountryFlag
35
- // @ts-expect-error TS doesn't infer .map's type correctly
36
- code={code} alt={countryNames[code]} size="large" simplified={false} />
37
- </LayoutGridItem>
38
- </Fragment>;
39
- })}
40
- </LayoutGrid>
41
- <br />
42
- <Text variant="default-semibold">All countries</Text>
43
-
44
- <LayoutGrid columns={3}>
45
- <LayoutGridItem>
46
- <Text variant="default-semibold">Code</Text>
47
- </LayoutGridItem>
48
- <LayoutGridItem>
49
- <Text variant="default-semibold">Country name</Text>
50
- </LayoutGridItem>
51
- <LayoutGridItem>
52
- <Text variant="default-semibold">4x3</Text>
53
- </LayoutGridItem>
54
- {Object.keys(countryNames).map(code => {
55
- return <Fragment key={code}>
56
- <LayoutGridItem>{code}</LayoutGridItem>
57
- <LayoutGridItem>{countryNames[code]}</LayoutGridItem>
58
- <LayoutGridItem>
59
- <CountryFlag
60
- // @ts-expect-error TS doesn't infer .map's type correctly
61
- code={code} alt={countryNames[code]} size="large" />
62
- </LayoutGridItem>
63
- </Fragment>;
64
- })}
65
- </LayoutGrid>
66
- </div>;
67
- }
68
- }`,...(f=(p=s.parameters)==null?void 0:p.docs)==null?void 0:f.source}}};var h,g,j;d.parameters={...d.parameters,docs:{...(h=d.parameters)==null?void 0:h.docs,source:{originalSource:`{
69
- render: args => <LayoutFlex gap="16">
70
- <CountryFlag {...args} size="small" />
71
- <CountryFlag {...args} size="medium" />
72
- <CountryFlag {...args} size="large" />
73
- </LayoutFlex>
74
- }`,...(j=(g=d.parameters)==null?void 0:g.docs)==null?void 0:j.source}}};var v,L,I;l.parameters={...l.parameters,docs:{...(v=l.parameters)==null?void 0:v.docs,source:{originalSource:`{
75
- render: function Story() {
76
- return <>
77
- <Text variant="default-regular-italic">Invalid country code</Text>
78
- <CountryFlag
79
- // GraphQL types countries as \`string\`, so the Product doesn't have real type safety over the Country
80
- // code. If new countries are added and we miss it, the CountryFlag shouldn't throw an error.
81
- // @ts-expect-error the wrong country code is intentional for this test
82
- code="invalidCountryCode" alt="Invalid country code" />
83
- <Text variant="default-regular-italic">\`undefined\` country code</Text>
84
- <CountryFlag
85
- // GraphQL types could be nullable, and the developer could miss that the
86
- // @ts-expect-error the wrong country code is intentional for this test
87
- code={undefined} alt="Undefined country code" />
88
- </>;
89
- },
90
- play: async ({
91
- canvas
92
- }) => {
93
- const invalidCountry = canvas.getByAltText('Invalid country code');
94
- expect(invalidCountry).toBeVisible();
95
- const undefinedCountry = canvas.getByAltText('Undefined country code');
96
- expect(undefinedCountry).toBeVisible();
97
- }
98
- }`,...(I=(L=l.parameters)==null?void 0:L.docs)==null?void 0:I.source}}};var G,C,T;c.parameters={...c.parameters,docs:{...(G=c.parameters)==null?void 0:G.docs,source:{originalSource:`{
99
- parameters: {
100
- chromatic: {
101
- disableSnapshot: true
102
- }
103
- },
104
- args: {
105
- dataset: {
106
- qaid: 'flag'
107
- }
108
- },
109
- argTypes: {
110
- dataset: {
111
- control: 'object'
112
- }
113
- }
114
- }`,...(T=(C=c.parameters)==null?void 0:C.docs)==null?void 0:T.source}}};const K=["Countries","Sizes","ShowPlaceholderOnInvalidCode","Playground"];export{s as Countries,c as Playground,l as ShowPlaceholderOnInvalidCode,d as Sizes,K as __namedExportsOrder,J as default};
@@ -1,27 +0,0 @@
1
- import{j as d}from"./jsx-runtime-BYouaCF_.js";import{e as o}from"./index-DDyIDR-R.js";import{C as s}from"./CountryFlag-ClC7kEHn.js";import"./index-B3evPFBL.js";import"./_commonjsHelpers-Cpj98o6Y.js";import"./index-DdzHuZ-Y.js";import"./componentNames-CpCJzpB9.js";const v={title:"components/CountryFlag/Tests",component:s,args:{},tags:["!autodocs","!a11y-test","test"]},a={render:function(){return d.jsx(s,{code:"ua",alt:"Ukraine",dataset:{foo:1,bar:"2",baz:!1}})},play:async({canvas:t})=>{const e=t.getByAltText("Ukraine");o(e).toHaveAttribute("data-foo","1"),o(e).toHaveAttribute("data-bar","2"),o(e).toHaveAttribute("data-baz","false")}},r={render:function(){return d.jsx(s,{code:"ua",alt:"Ukraine",loading:"lazy"})},play:async({canvas:t})=>{const e=t.getByAltText("Ukraine");o(e).toHaveAttribute("loading","lazy")}};var n,c,l;a.parameters={...a.parameters,docs:{...(n=a.parameters)==null?void 0:n.docs,source:{originalSource:`{
2
- render: function Story() {
3
- return <CountryFlag code="ua" alt="Ukraine" dataset={{
4
- foo: 1,
5
- bar: '2',
6
- baz: false
7
- }} />;
8
- },
9
- play: async ({
10
- canvas
11
- }) => {
12
- const element = canvas.getByAltText('Ukraine');
13
- expect(element).toHaveAttribute('data-foo', '1');
14
- expect(element).toHaveAttribute('data-bar', '2');
15
- expect(element).toHaveAttribute('data-baz', 'false');
16
- }
17
- }`,...(l=(c=a.parameters)==null?void 0:c.docs)==null?void 0:l.source}}};var i,m,u;r.parameters={...r.parameters,docs:{...(i=r.parameters)==null?void 0:i.docs,source:{originalSource:`{
18
- render: function Story() {
19
- return <CountryFlag code="ua" alt="Ukraine" loading="lazy" />;
20
- },
21
- play: async ({
22
- canvas
23
- }) => {
24
- const element = canvas.getByAltText('Ukraine');
25
- expect(element).toHaveAttribute('loading', 'lazy');
26
- }
27
- }`,...(u=(m=r.parameters)==null?void 0:m.docs)==null?void 0:u.source}}};const T=["TestDataset","ImgAttributesArePassedToImg"];export{r as ImgAttributesArePassedToImg,a as TestDataset,T as __namedExportsOrder,v as default};
@@ -1,82 +0,0 @@
1
- import{j as a}from"./jsx-runtime-BYouaCF_.js";import{H as e}from"./Heading-ese4_5Hg.js";import{S as s}from"./consts-KAYct7Gj.js";import"./index-B3evPFBL.js";import"./_commonjsHelpers-Cpj98o6Y.js";import"./text-accent-DZDDtpIt.js";import"./classNames-BUL1Zq7e.js";import"./text-centered-CznToR0o.js";import"./filterAttributesPassedByRadixUIAtRuntime-B7QTVwVw.js";import"./componentNames-CpCJzpB9.js";import"./index-DdzHuZ-Y.js";const T={title:"components/Heading",component:e,argTypes:{centered:{description:s},variant:{description:s}}},r=()=>a.jsxs("div",{style:{padding:"16px",display:"grid",gridTemplateColumns:"auto 3fr",alignItems:"center",gap:"16px"},children:[a.jsx("span",{children:"h1 / massive"}),a.jsx(e,{tag:"h1",variant:"massive",children:"Lorem ipsum"}),a.jsx("span",{children:"h2 / huge"}),a.jsx(e,{tag:"h2",variant:"huge",children:"Lorem ipsum"}),a.jsx("span",{children:"h3 / extraLarge"}),a.jsx(e,{tag:"h3",variant:"extraLarge",children:"Lorem ipsum"}),a.jsx("span",{children:"h4 / large"}),a.jsx(e,{tag:"h4",variant:"large",children:"Lorem ipsum"}),a.jsx("span",{children:"h5 / medium"}),a.jsx(e,{tag:"h5",variant:"medium",children:"Lorem ipsum"}),a.jsx("span",{children:"p / small"}),a.jsx(e,{tag:"p",variant:"small",children:"Lorem ipsum"})]}),n={parameters:{chromatic:{disableSnapshot:!0}},decorators:[(m,{args:g})=>a.jsx("div",{style:{backgroundColor:g.accent==="inverted"?"black":void 0},children:m()})],args:{tag:"h1",variant:"massive",children:"Lorem ipsum",dataset:{qaid:"heading"}},argTypes:{centered:{control:"boolean"},dataset:{control:"object"},strong:{table:{disable:!0}},level:{table:{disable:!0}},color:{table:{disable:!0}},large:{table:{disable:!0}}}};var t,i,o;r.parameters={...r.parameters,docs:{...(t=r.parameters)==null?void 0:t.docs,source:{originalSource:`() => <div style={{
2
- padding: '16px',
3
- display: 'grid',
4
- gridTemplateColumns: 'auto 3fr',
5
- alignItems: 'center',
6
- gap: '16px'
7
- }}>
8
- <span>h1 / massive</span>
9
- <Heading tag="h1" variant="massive">
10
- Lorem ipsum
11
- </Heading>
12
- <span>h2 / huge</span>
13
- <Heading tag="h2" variant="huge">
14
- Lorem ipsum
15
- </Heading>
16
- <span>h3 / extraLarge</span>
17
- <Heading tag="h3" variant="extraLarge">
18
- Lorem ipsum
19
- </Heading>
20
- <span>h4 / large</span>
21
- <Heading tag="h4" variant="large">
22
- Lorem ipsum
23
- </Heading>
24
- <span>h5 / medium</span>
25
- <Heading tag="h5" variant="medium">
26
- Lorem ipsum
27
- </Heading>
28
- <span>p / small</span>
29
- <Heading tag="p" variant="small">
30
- Lorem ipsum
31
- </Heading>
32
- </div>`,...(o=(i=r.parameters)==null?void 0:i.docs)==null?void 0:o.source}}};var d,p,l;n.parameters={...n.parameters,docs:{...(d=n.parameters)==null?void 0:d.docs,source:{originalSource:`{
33
- parameters: {
34
- chromatic: {
35
- disableSnapshot: true
36
- }
37
- },
38
- decorators: [(story, {
39
- args
40
- }) => <div style={{
41
- backgroundColor: args.accent === 'inverted' ? 'black' : undefined
42
- }}>
43
- {story()}
44
- </div>],
45
- args: {
46
- tag: 'h1',
47
- variant: 'massive',
48
- children: 'Lorem ipsum',
49
- dataset: {
50
- qaid: 'heading'
51
- }
52
- },
53
- argTypes: {
54
- centered: {
55
- control: 'boolean'
56
- },
57
- dataset: {
58
- control: 'object'
59
- },
60
- // Disable deprecated props
61
- strong: {
62
- table: {
63
- disable: true
64
- }
65
- },
66
- level: {
67
- table: {
68
- disable: true
69
- }
70
- },
71
- color: {
72
- table: {
73
- disable: true
74
- }
75
- },
76
- large: {
77
- table: {
78
- disable: true
79
- }
80
- }
81
- }
82
- }`,...(l=(p=n.parameters)==null?void 0:p.docs)==null?void 0:l.source}}};const f=["Typeset","Playground"];export{n as Playground,r as Typeset,f as __namedExportsOrder,T as default};
@@ -1,6 +0,0 @@
1
- import{j as o}from"./jsx-runtime-BYouaCF_.js";import{useMDXComponents as n}from"./index-uOP2uDdf.js";import{M as m,S as s}from"./index-CjMmneJr.js";import{ServerComponent as i}from"./Icon.stories-Cv6aq9BI.js";import"./index-B3evPFBL.js";import"./_commonjsHelpers-Cpj98o6Y.js";import"./iframe-BE13K_u-.js";import"./index-jEDObK_5.js";import"./index-C66nt8TK.js";import"./index-Cu4lwwaE.js";import"./index-CXQShRbs.js";import"./index-DrFu-skq.js";import"./TokyoUINotesWithPad-Bqcca_-M.js";import"./Icon-ZIxauYsE.js";import"./text-accent-DZDDtpIt.js";import"./classNames-BUL1Zq7e.js";import"./filterAttributesPassedByRadixUIAtRuntime-B7QTVwVw.js";import"./render-icon-CVTdrNe-.js";import"./componentNames-CpCJzpB9.js";import"./index-DdzHuZ-Y.js";import"./defaults-B1rzzf6M.js";import"./options-Dn0Ts6qK.js";function r(t){const e={code:"code",h1:"h1",p:"p",pre:"pre",...n(),...t.components};return o.jsxs(o.Fragment,{children:[o.jsx(m,{title:"components/Icon/Server Component"}),`
2
- `,o.jsx(e.h1,{id:"use-icon-as-react-server-component",children:"Use Icon as react server component"}),`
3
- `,o.jsxs(e.p,{children:["To use Icon as react server component, provide ",o.jsx(e.code,{children:"svg"})," as element:"]}),`
4
- `,o.jsx(s,{of:i}),`
5
- `,o.jsx(e.pre,{children:o.jsx(e.code,{className:"language-jsx",children:`<Icon svg={<TokyoUINotesWithPad />} />
6
- `})})]})}function _(t={}){const{wrapper:e}={...n(),...t.components};return e?o.jsx(e,{...t,children:o.jsx(r,{...t})}):r(t)}export{_ as default};
@@ -1,8 +0,0 @@
1
- import{j as o}from"./jsx-runtime-BYouaCF_.js";import{r as m}from"./index-B3evPFBL.js";import{r as d}from"./render-icon-CVTdrNe-.js";import{B as v}from"./ButtonBase-Bdtn25V2.js";import{w as p}from"./componentNames-CpCJzpB9.js";import{B as c,a as f}from"./defaults-B1rzzf6M.js";const e=m.forwardRef(function({variant:l=f,size:n=c,url:t,a11yLabel:u,svg:r,...s},i){return o.jsx(v,{...s,ref:i,isIconButton:!0,variant:l,size:n,url:t,a11yLabel:u,preplyDsComponent:p.IconButton,children:d(r,{"aria-hidden":"true",focusable:"false"})})});try{e.displayName="IconButton",e.__docgenInfo={description:"",displayName:"IconButton",props:{id:{defaultValue:null,description:"",name:"id",required:!1,type:{name:"enum",value:[{value:"string"}]}},dataset:{defaultValue:null,description:"",name:"dataset",required:!1,type:{name:"enum",value:[{value:"Dataset"}]}},onClick:{defaultValue:null,description:"",name:"onClick",required:!1,type:{name:"enum",value:[{value:"MouseEventHandler<Element>"}]}},variant:{defaultValue:{value:"primary"},description:"",name:"variant",required:!1,type:{name:"enum",value:[{value:'"primary"'},{value:'"secondary"'},{value:'"tertiary"'},{value:'"inverted"'},{value:'"critical"'},{value:'"quaternary"'},{value:'"ghost"'},{value:'"plain"'},{value:'"dangerous"'},{value:'"onColor"'},{value:'"classroom"'},{value:'"primaryB2b"'},{value:'"primaryTutor"'},{value:'"newFeature"'},{value:'"ai"'}]}},size:{defaultValue:{value:"s"},description:"",name:"size",required:!1,type:{name:"enum",value:[{value:'"xs"'},{value:'"s"'},{value:'"m"'},{value:'"l"'},{value:'"xl"'},{value:'"large"'},{value:'"medium"'},{value:'"small"'},{value:"ResponsiveProp<ButtonSize>"}]}},disabled:{defaultValue:null,description:"",name:"disabled",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},href:{defaultValue:null,description:"",name:"href",required:!1,type:{name:"enum",value:[{value:"string"}]}},download:{defaultValue:null,description:"",name:"download",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},opensInNewTab:{defaultValue:null,description:"",name:"opensInNewTab",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},nofollow:{defaultValue:null,description:"",name:"nofollow",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},submitsForm:{defaultValue:null,description:"",name:"submitsForm",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},assistiveText:{defaultValue:null,description:"",name:"assistiveText",required:!1,type:{name:"string"}},busy:{defaultValue:null,description:"Replaces the content with a loading indicator.",name:"busy",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},as:{defaultValue:null,description:`Custom element to render the button.
2
-
3
- Allows rendering the button using a different React element or component.
4
- This is particularly useful for integrating with router libraries like \`react-router\` or \`next/router\`.
5
- @example // Render as a react router link component
6
- import { Link } from 'react-router-dom';
7
-
8
- <ButtonBase as={<Link to="/home" />} />`,name:"as",required:!1,type:{name:"enum",value:[{value:"ReactElement<any, string | JSXElementConstructor<any>>"}]}},url:{defaultValue:null,description:"@deprecated Use `href` instead",name:"url",required:!1,type:{name:"enum",value:[{value:"string"}]}},a11yLabel:{defaultValue:null,description:"@deprecated Use `assistiveText` instead",name:"a11yLabel",required:!1,type:{name:"enum",value:[{value:"string"}]}},svg:{defaultValue:null,description:"",name:"svg",required:!0,type:{name:"enum",value:[{value:"ComponentClass<SVGAttributes<SVGElement>, any>"},{value:"FunctionComponent<SVGAttributes<SVGElement>>"},{value:"ReactElement<any, string | JSXElementConstructor<any>>"}]}},ref:{defaultValue:null,description:"Allows getting a ref to the component instance.\nOnce the component unmounts, React will set `ref.current` to `null`\n(or call the ref with `null` if you passed a callback ref).\n@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}",name:"ref",required:!1,type:{name:"enum",value:[{value:"null"},{value:"string"},{value:"(instance: HTMLAnchorElement | HTMLButtonElement | null) => void"},{value:"RefObject<HTMLAnchorElement | HTMLButtonElement>"}]}},key:{defaultValue:null,description:"",name:"key",required:!1,type:{name:"enum",value:[{value:"null"},{value:"string"},{value:"number"},{value:"bigint"}]}},selected:{defaultValue:null,description:"",name:"selected",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}}}}}catch{}export{e as I};
@@ -1,274 +0,0 @@
1
- import{j as w}from"./jsx-runtime-BYouaCF_.js";import{e as A}from"./index-B3evPFBL.js";import{f as qt,w as Nt,u as U,a as Qe,e as $}from"./index-DDyIDR-R.js";import{L as Xe}from"./LayoutFlex-BBGvSVMb.js";import{H as Ut}from"./Heading-ese4_5Hg.js";import{T as et}from"./TextField-CMgzC3bX.js";import{N as Ht}from"./NumberField-D6cbX2hK.js";import{S as It,a as Z}from"./SelectField-CuzFFPz0.js";import{P as tt}from"./PasswordField-C_KRyf9k.js";import{T as Wt}from"./TextareaField-CCM1C6lK.js";import{F as ke}from"./FormControl-CeIJk4_Z.js";import{S as $t}from"./Slider-6E9fmd7P.js";import{R as Jt}from"./RangeSlider-dSZs_gtw.js";import{C as zt}from"./Checkbox-Bq_sNuXJ.js";import{B as rt}from"./Button-BSyqsKC5.js";import"./_commonjsHelpers-Cpj98o6Y.js";import"./filterAttributesPassedByRadixUIAtRuntime-B7QTVwVw.js";import"./layout-relative.module-ed9bC4H4.js";import"./classNames-BUL1Zq7e.js";import"./defaults-B1rzzf6M.js";import"./index-DdzHuZ-Y.js";import"./componentNames-CpCJzpB9.js";import"./text-accent-DZDDtpIt.js";import"./text-centered-CznToR0o.js";import"./Input-C1hZX5_o.js";import"./InputContainer-Bk0tgFnW.js";import"./TokyoUIExpand-DThzqohx.js";import"./Icon-ZIxauYsE.js";import"./render-icon-CVTdrNe-.js";import"./TokyoUIEye-BsOt8ZdC.js";import"./FieldButton-Bsa9_rJB.js";import"./index-BfBdt3zW.js";import"./tslib.es6-BntfKcQG.js";import"./hoist-non-react-statics.cjs-C-Qo8PK8.js";import"./useMergeRefs-BKVZOB6R.js";import"./index-DRKYGVyc.js";import"./message-BraTJ16C.js";import"./index--DZ0VX4g.js";import"./index-jEDObK_5.js";import"./index-C66nt8TK.js";import"./useMergeRefs-CeyIhNgY.js";import"./ButtonBase-Bdtn25V2.js";import"./Spinner-BCTJunNM.js";import"./useHostname-CH18gHFj.js";import"./index-CC6DAVyL.js";var be=e=>e.type==="checkbox",oe=e=>e instanceof Date,N=e=>e==null;const bt=e=>typeof e=="object";var B=e=>!N(e)&&!Array.isArray(e)&&bt(e)&&!oe(e),pt=e=>B(e)&&e.target?be(e.target)?e.target.checked:e.target.value:e,Yt=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,xt=(e,s)=>e.has(Yt(s)),Gt=e=>{const s=e.constructor&&e.constructor.prototype;return B(s)&&s.hasOwnProperty("isPrototypeOf")},Oe=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function H(e){let s;const t=Array.isArray(e),a=typeof FileList<"u"?e instanceof FileList:!1;if(e instanceof Date)s=new Date(e);else if(e instanceof Set)s=new Set(e);else if(!(Oe&&(e instanceof Blob||a))&&(t||B(e)))if(s=t?[]:{},!t&&!Gt(e))s=e;else for(const o in e)e.hasOwnProperty(o)&&(s[o]=H(e[o]));else return e;return s}var Se=e=>Array.isArray(e)?e.filter(Boolean):[],P=e=>e===void 0,f=(e,s,t)=>{if(!s||!B(e))return t;const a=Se(s.split(/[,[\].]+?/)).reduce((o,n)=>N(o)?o:o[n],e);return P(a)||a===e?P(e[s])?t:e[s]:a},Y=e=>typeof e=="boolean",je=e=>/^\w*$/.test(e),wt=e=>Se(e.replace(/["|']|\]/g,"").split(/\.|\[/)),S=(e,s,t)=>{let a=-1;const o=je(s)?[s]:wt(s),n=o.length,c=n-1;for(;++a<n;){const y=o[a];let p=t;if(a!==c){const R=e[y];p=B(R)||Array.isArray(R)?R:isNaN(+o[a+1])?{}:[]}if(y==="__proto__"||y==="constructor"||y==="prototype")return;e[y]=p,e=e[y]}return e};const Fe={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},K={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},re={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},Kt=A.createContext(null),Me=()=>A.useContext(Kt);var Ft=(e,s,t,a=!0)=>{const o={defaultValues:s._defaultValues};for(const n in e)Object.defineProperty(o,n,{get:()=>{const c=n;return s._proxyFormState[c]!==K.all&&(s._proxyFormState[c]=!a||K.all),t&&(t[c]=!0),e[c]}});return o},I=e=>B(e)&&!Object.keys(e).length,_t=(e,s,t,a)=>{t(e);const{name:o,...n}=e;return I(n)||Object.keys(n).length>=Object.keys(s).length||Object.keys(n).find(c=>s[c]===(!a||K.all))},ve=e=>Array.isArray(e)?e:[e],At=(e,s,t)=>!e||!s||e===s||ve(e).some(a=>a&&(t?a===s:a.startsWith(s)||s.startsWith(a)));function qe(e){const s=A.useRef(e);s.current=e,A.useEffect(()=>{const t=!e.disabled&&s.current.subject&&s.current.subject.subscribe({next:s.current.next});return()=>{t&&t.unsubscribe()}},[e.disabled])}function Zt(e){const s=Me(),{control:t=s.control,disabled:a,name:o,exact:n}=e||{},[c,y]=A.useState(t._formState),p=A.useRef(!0),R=A.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1}),x=A.useRef(o);return x.current=o,qe({disabled:a,next:v=>p.current&&At(x.current,v.name,n)&&_t(v,R.current,t._updateFormState)&&y({...t._formState,...v}),subject:t._subjects.state}),A.useEffect(()=>(p.current=!0,R.current.isValid&&t._updateValid(!0),()=>{p.current=!1}),[t]),A.useMemo(()=>Ft(c,t,R.current,!1),[c,t])}var X=e=>typeof e=="string",Vt=(e,s,t,a,o)=>X(e)?(a&&s.watch.add(e),f(t,e,o)):Array.isArray(e)?e.map(n=>(a&&s.watch.add(n),f(t,n))):(a&&(s.watchAll=!0),t);function Qt(e){const s=Me(),{control:t=s.control,name:a,defaultValue:o,disabled:n,exact:c}=e||{},y=A.useRef(a);y.current=a,qe({disabled:n,subject:t._subjects.values,next:x=>{At(y.current,x.name,c)&&R(H(Vt(y.current,t._names,x.values||t._formValues,!1,o)))}});const[p,R]=A.useState(t._getWatch(a,o));return A.useEffect(()=>t._removeUnmounted()),p}function Xt(e){const s=Me(),{name:t,disabled:a,control:o=s.control,shouldUnregister:n}=e,c=xt(o._names.array,t),y=Qt({control:o,name:t,defaultValue:f(o._formValues,t,f(o._defaultValues,t,e.defaultValue)),exact:!0}),p=Zt({control:o,name:t,exact:!0}),R=A.useRef(o.register(t,{...e.rules,value:y,...Y(e.disabled)?{disabled:e.disabled}:{}})),x=A.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!f(p.errors,t)},isDirty:{enumerable:!0,get:()=>!!f(p.dirtyFields,t)},isTouched:{enumerable:!0,get:()=>!!f(p.touchedFields,t)},isValidating:{enumerable:!0,get:()=>!!f(p.validatingFields,t)},error:{enumerable:!0,get:()=>f(p.errors,t)}}),[p,t]),v=A.useMemo(()=>({name:t,value:y,...Y(a)||p.disabled?{disabled:p.disabled||a}:{},onChange:E=>R.current.onChange({target:{value:pt(E),name:t},type:Fe.CHANGE}),onBlur:()=>R.current.onBlur({target:{value:f(o._formValues,t),name:t},type:Fe.BLUR}),ref:E=>{const W=f(o._fields,t);W&&E&&(W._f.ref={focus:()=>E.focus(),select:()=>E.select(),setCustomValidity:k=>E.setCustomValidity(k),reportValidity:()=>E.reportValidity()})}}),[t,o._formValues,a,p.disabled,y,o._fields]);return A.useEffect(()=>{const E=o._options.shouldUnregister||n,W=(k,T)=>{const V=f(o._fields,k);V&&V._f&&(V._f.mount=T)};if(W(t,!0),E){const k=H(f(o._options.defaultValues,t));S(o._defaultValues,t,k),P(f(o._formValues,t))&&S(o._formValues,t,k)}return!c&&o.register(t),()=>{(c?E&&!o._state.action:E)?o.unregister(t):W(t,!1)}},[t,o,c,n]),A.useEffect(()=>{o._updateDisabledField({disabled:a,fields:o._fields,name:t})},[a,t,o]),A.useMemo(()=>({field:v,formState:p,fieldState:x}),[v,p,x])}const st=e=>e.render(Xt(e));var er=(e,s,t,a,o)=>s?{...t[e],types:{...t[e]&&t[e].types?t[e].types:{},[a]:o||!0}}:{},at=e=>({isOnSubmit:!e||e===K.onSubmit,isOnBlur:e===K.onBlur,isOnChange:e===K.onChange,isOnAll:e===K.all,isOnTouch:e===K.onTouched}),it=(e,s,t)=>!t&&(s.watchAll||s.watch.has(e)||[...s.watch].some(a=>e.startsWith(a)&&/^\.\w+/.test(e.slice(a.length))));const he=(e,s,t,a)=>{for(const o of t||Object.keys(e)){const n=f(e,o);if(n){const{_f:c,...y}=n;if(c){if(c.refs&&c.refs[0]&&s(c.refs[0],o)&&!a)return!0;if(c.ref&&s(c.ref,c.name)&&!a)return!0;if(he(y,s))break}else if(B(y)&&he(y,s))break}}};var tr=(e,s,t)=>{const a=ve(f(e,t));return S(a,"root",s[t]),S(e,t,a),e},Ne=e=>e.type==="file",Q=e=>typeof e=="function",_e=e=>{if(!Oe)return!1;const s=e?e.ownerDocument:0;return e instanceof(s&&s.defaultView?s.defaultView.HTMLElement:HTMLElement)},we=e=>X(e),Ue=e=>e.type==="radio",Ae=e=>e instanceof RegExp;const ot={value:!1,isValid:!1},nt={value:!0,isValid:!0};var St=e=>{if(Array.isArray(e)){if(e.length>1){const s=e.filter(t=>t&&t.checked&&!t.disabled).map(t=>t.value);return{value:s,isValid:!!s.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!P(e[0].attributes.value)?P(e[0].value)||e[0].value===""?nt:{value:e[0].value,isValid:!0}:nt:ot}return ot};const lt={isValid:!1,value:null};var Rt=e=>Array.isArray(e)?e.reduce((s,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:s,lt):lt;function ut(e,s,t="validate"){if(we(e)||Array.isArray(e)&&e.every(we)||Y(e)&&!e)return{type:t,message:we(e)?e:"",ref:s}}var ue=e=>B(e)&&!Ae(e)?e:{value:e,message:""},ct=async(e,s,t,a,o,n)=>{const{ref:c,refs:y,required:p,maxLength:R,minLength:x,min:v,max:E,pattern:W,validate:k,name:T,valueAsNumber:V,mount:M}=e._f,F=f(t,T);if(!M||s.has(T))return{};const ee=y?y[0]:c,te=b=>{o&&ee.reportValidity&&(ee.setCustomValidity(Y(b)?"":b||""),ee.reportValidity())},C={},ne=Ue(c),pe=be(c),ie=ne||pe,le=(V||Ne(c))&&P(c.value)&&P(F)||_e(c)&&c.value===""||F===""||Array.isArray(F)&&!F.length,J=er.bind(null,T,a,C),xe=(b,_,L,q=re.maxLength,G=re.minLength)=>{const z=b?_:L;C[T]={type:b?q:G,message:z,ref:c,...J(b?q:G,z)}};if(n?!Array.isArray(F)||!F.length:p&&(!ie&&(le||N(F))||Y(F)&&!F||pe&&!St(y).isValid||ne&&!Rt(y).isValid)){const{value:b,message:_}=we(p)?{value:!!p,message:p}:ue(p);if(b&&(C[T]={type:re.required,message:_,ref:ee,...J(re.required,_)},!a))return te(_),C}if(!le&&(!N(v)||!N(E))){let b,_;const L=ue(E),q=ue(v);if(!N(F)&&!isNaN(F)){const G=c.valueAsNumber||F&&+F;N(L.value)||(b=G>L.value),N(q.value)||(_=G<q.value)}else{const G=c.valueAsDate||new Date(F),z=fe=>new Date(new Date().toDateString()+" "+fe),ce=c.type=="time",de=c.type=="week";X(L.value)&&F&&(b=ce?z(F)>z(L.value):de?F>L.value:G>new Date(L.value)),X(q.value)&&F&&(_=ce?z(F)<z(q.value):de?F<q.value:G<new Date(q.value))}if((b||_)&&(xe(!!b,L.message,q.message,re.max,re.min),!a))return te(C[T].message),C}if((R||x)&&!le&&(X(F)||n&&Array.isArray(F))){const b=ue(R),_=ue(x),L=!N(b.value)&&F.length>+b.value,q=!N(_.value)&&F.length<+_.value;if((L||q)&&(xe(L,b.message,_.message),!a))return te(C[T].message),C}if(W&&!le&&X(F)){const{value:b,message:_}=ue(W);if(Ae(b)&&!F.match(b)&&(C[T]={type:re.pattern,message:_,ref:c,...J(re.pattern,_)},!a))return te(_),C}if(k){if(Q(k)){const b=await k(F,t),_=ut(b,ee);if(_&&(C[T]={..._,...J(re.validate,_.message)},!a))return te(_.message),C}else if(B(k)){let b={};for(const _ in k){if(!I(b)&&!a)break;const L=ut(await k[_](F,t),ee,_);L&&(b={...L,...J(_,L.message)},te(L.message),a&&(C[T]=b))}if(!I(b)&&(C[T]={ref:ee,...b},!a))return C}}return te(!0),C};function rr(e,s){const t=s.slice(0,-1).length;let a=0;for(;a<t;)e=P(e)?a++:e[s[a++]];return e}function sr(e){for(const s in e)if(e.hasOwnProperty(s)&&!P(e[s]))return!1;return!0}function D(e,s){const t=Array.isArray(s)?s:je(s)?[s]:wt(s),a=t.length===1?e:rr(e,t),o=t.length-1,n=t[o];return a&&delete a[n],o!==0&&(B(a)&&I(a)||Array.isArray(a)&&sr(a))&&D(e,t.slice(0,-1)),e}var Ce=()=>{let e=[];return{get observers(){return e},next:o=>{for(const n of e)n.next&&n.next(o)},subscribe:o=>(e.push(o),{unsubscribe:()=>{e=e.filter(n=>n!==o)}}),unsubscribe:()=>{e=[]}}},Te=e=>N(e)||!bt(e);function ae(e,s){if(Te(e)||Te(s))return e===s;if(oe(e)&&oe(s))return e.getTime()===s.getTime();const t=Object.keys(e),a=Object.keys(s);if(t.length!==a.length)return!1;for(const o of t){const n=e[o];if(!a.includes(o))return!1;if(o!=="ref"){const c=s[o];if(oe(n)&&oe(c)||B(n)&&B(c)||Array.isArray(n)&&Array.isArray(c)?!ae(n,c):n!==c)return!1}}return!0}var Pt=e=>e.type==="select-multiple",ar=e=>Ue(e)||be(e),Le=e=>_e(e)&&e.isConnected,Bt=e=>{for(const s in e)if(Q(e[s]))return!0;return!1};function Ve(e,s={}){const t=Array.isArray(e);if(B(e)||t)for(const a in e)Array.isArray(e[a])||B(e[a])&&!Bt(e[a])?(s[a]=Array.isArray(e[a])?[]:{},Ve(e[a],s[a])):N(e[a])||(s[a]=!0);return s}function Et(e,s,t){const a=Array.isArray(e);if(B(e)||a)for(const o in e)Array.isArray(e[o])||B(e[o])&&!Bt(e[o])?P(s)||Te(t[o])?t[o]=Array.isArray(e[o])?Ve(e[o],[]):{...Ve(e[o])}:Et(e[o],N(s)?{}:s[o],t[o]):t[o]=!ae(e[o],s[o]);return t}var me=(e,s)=>Et(e,s,Ve(s)),kt=(e,{valueAsNumber:s,valueAsDate:t,setValueAs:a})=>P(e)?e:s?e===""?NaN:e&&+e:t&&X(e)?new Date(e):a?a(e):e;function De(e){const s=e.ref;return Ne(s)?s.files:Ue(s)?Rt(e.refs).value:Pt(s)?[...s.selectedOptions].map(({value:t})=>t):be(s)?St(e.refs).value:kt(P(s.value)?e.ref.value:s.value,e)}var ir=(e,s,t,a)=>{const o={};for(const n of e){const c=f(s,n);c&&S(o,n,c._f)}return{criteriaMode:t,names:[...e],fields:o,shouldUseNativeValidation:a}},ye=e=>P(e)?e:Ae(e)?e.source:B(e)?Ae(e.value)?e.value.source:e.value:e;const dt="AsyncFunction";var or=e=>!!e&&!!e.validate&&!!(Q(e.validate)&&e.validate.constructor.name===dt||B(e.validate)&&Object.values(e.validate).find(s=>s.constructor.name===dt)),nr=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate);function ft(e,s,t){const a=f(e,t);if(a||je(t))return{error:a,name:t};const o=t.split(".");for(;o.length;){const n=o.join("."),c=f(s,n),y=f(e,n);if(c&&!Array.isArray(c)&&t!==n)return{name:t};if(y&&y.type)return{name:n,error:y};o.pop()}return{name:t}}var lr=(e,s,t,a,o)=>o.isOnAll?!1:!t&&o.isOnTouch?!(s||e):(t?a.isOnBlur:o.isOnBlur)?!e:(t?a.isOnChange:o.isOnChange)?e:!0,ur=(e,s)=>!Se(f(e,s)).length&&D(e,s);const cr={mode:K.onSubmit,reValidateMode:K.onChange,shouldFocusError:!0};function dr(e={}){let s={...cr,...e},t={submitCount:0,isDirty:!1,isLoading:Q(s.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:s.errors||{},disabled:s.disabled||!1},a={},o=B(s.defaultValues)||B(s.values)?H(s.defaultValues||s.values)||{}:{},n=s.shouldUnregister?{}:H(o),c={action:!1,mount:!1,watch:!1},y={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},p,R=0;const x={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},v={values:Ce(),array:Ce(),state:Ce()},E=at(s.mode),W=at(s.reValidateMode),k=s.criteriaMode===K.all,T=r=>i=>{clearTimeout(R),R=setTimeout(r,i)},V=async r=>{if(!s.disabled&&(x.isValid||r)){const i=s.resolver?I((await ie()).errors):await J(a,!0);i!==t.isValid&&v.state.next({isValid:i})}},M=(r,i)=>{!s.disabled&&(x.isValidating||x.validatingFields)&&((r||Array.from(y.mount)).forEach(l=>{l&&(i?S(t.validatingFields,l,i):D(t.validatingFields,l))}),v.state.next({validatingFields:t.validatingFields,isValidating:!I(t.validatingFields)}))},F=(r,i=[],l,m,d=!0,u=!0)=>{if(m&&l&&!s.disabled){if(c.action=!0,u&&Array.isArray(f(a,r))){const g=l(f(a,r),m.argA,m.argB);d&&S(a,r,g)}if(u&&Array.isArray(f(t.errors,r))){const g=l(f(t.errors,r),m.argA,m.argB);d&&S(t.errors,r,g),ur(t.errors,r)}if(x.touchedFields&&u&&Array.isArray(f(t.touchedFields,r))){const g=l(f(t.touchedFields,r),m.argA,m.argB);d&&S(t.touchedFields,r,g)}x.dirtyFields&&(t.dirtyFields=me(o,n)),v.state.next({name:r,isDirty:b(r,i),dirtyFields:t.dirtyFields,errors:t.errors,isValid:t.isValid})}else S(n,r,i)},ee=(r,i)=>{S(t.errors,r,i),v.state.next({errors:t.errors})},te=r=>{t.errors=r,v.state.next({errors:t.errors,isValid:!1})},C=(r,i,l,m)=>{const d=f(a,r);if(d){const u=f(n,r,P(l)?f(o,r):l);P(u)||m&&m.defaultChecked||i?S(n,r,i?u:De(d._f)):q(r,u),c.mount&&V()}},ne=(r,i,l,m,d)=>{let u=!1,g=!1;const h={name:r};if(!s.disabled){const O=!!(f(a,r)&&f(a,r)._f&&f(a,r)._f.disabled);if(!l||m){x.isDirty&&(g=t.isDirty,t.isDirty=h.isDirty=b(),u=g!==h.isDirty);const j=O||ae(f(o,r),i);g=!!(!O&&f(t.dirtyFields,r)),j||O?D(t.dirtyFields,r):S(t.dirtyFields,r,!0),h.dirtyFields=t.dirtyFields,u=u||x.dirtyFields&&g!==!j}if(l){const j=f(t.touchedFields,r);j||(S(t.touchedFields,r,l),h.touchedFields=t.touchedFields,u=u||x.touchedFields&&j!==l)}u&&d&&v.state.next(h)}return u?h:{}},pe=(r,i,l,m)=>{const d=f(t.errors,r),u=x.isValid&&Y(i)&&t.isValid!==i;if(s.delayError&&l?(p=T(()=>ee(r,l)),p(s.delayError)):(clearTimeout(R),p=null,l?S(t.errors,r,l):D(t.errors,r)),(l?!ae(d,l):d)||!I(m)||u){const g={...m,...u&&Y(i)?{isValid:i}:{},errors:t.errors,name:r};t={...t,...g},v.state.next(g)}},ie=async r=>{M(r,!0);const i=await s.resolver(n,s.context,ir(r||y.mount,a,s.criteriaMode,s.shouldUseNativeValidation));return M(r),i},le=async r=>{const{errors:i}=await ie(r);if(r)for(const l of r){const m=f(i,l);m?S(t.errors,l,m):D(t.errors,l)}else t.errors=i;return i},J=async(r,i,l={valid:!0})=>{for(const m in r){const d=r[m];if(d){const{_f:u,...g}=d;if(u){const h=y.array.has(u.name),O=d._f&&or(d._f);O&&x.validatingFields&&M([m],!0);const j=await ct(d,y.disabled,n,k,s.shouldUseNativeValidation&&!i,h);if(O&&x.validatingFields&&M([m]),j[u.name]&&(l.valid=!1,i))break;!i&&(f(j,u.name)?h?tr(t.errors,j,u.name):S(t.errors,u.name,j[u.name]):D(t.errors,u.name))}!I(g)&&await J(g,i,l)}}return l.valid},xe=()=>{for(const r of y.unMount){const i=f(a,r);i&&(i._f.refs?i._f.refs.every(l=>!Le(l)):!Le(i._f.ref))&&Re(r)}y.unMount=new Set},b=(r,i)=>!s.disabled&&(r&&i&&S(n,r,i),!ae(He(),o)),_=(r,i,l)=>Vt(r,y,{...c.mount?n:P(i)?o:X(r)?{[r]:i}:i},l,i),L=r=>Se(f(c.mount?n:o,r,s.shouldUnregister?f(o,r,[]):[])),q=(r,i,l={})=>{const m=f(a,r);let d=i;if(m){const u=m._f;u&&(!u.disabled&&S(n,r,kt(i,u)),d=_e(u.ref)&&N(i)?"":i,Pt(u.ref)?[...u.ref.options].forEach(g=>g.selected=d.includes(g.value)):u.refs?be(u.ref)?u.refs.length>1?u.refs.forEach(g=>(!g.defaultChecked||!g.disabled)&&(g.checked=Array.isArray(d)?!!d.find(h=>h===g.value):d===g.value)):u.refs[0]&&(u.refs[0].checked=!!d):u.refs.forEach(g=>g.checked=g.value===d):Ne(u.ref)?u.ref.value="":(u.ref.value=d,u.ref.type||v.values.next({name:r,values:{...n}})))}(l.shouldDirty||l.shouldTouch)&&ne(r,d,l.shouldTouch,l.shouldDirty,!0),l.shouldValidate&&fe(r)},G=(r,i,l)=>{for(const m in i){const d=i[m],u=`${r}.${m}`,g=f(a,u);(y.array.has(r)||B(d)||g&&!g._f)&&!oe(d)?G(u,d,l):q(u,d,l)}},z=(r,i,l={})=>{const m=f(a,r),d=y.array.has(r),u=H(i);S(n,r,u),d?(v.array.next({name:r,values:{...n}}),(x.isDirty||x.dirtyFields)&&l.shouldDirty&&v.state.next({name:r,dirtyFields:me(o,n),isDirty:b(r,u)})):m&&!m._f&&!N(u)?G(r,u,l):q(r,u,l),it(r,y)&&v.state.next({...t}),v.values.next({name:c.mount?r:void 0,values:{...n}})},ce=async r=>{c.mount=!0;const i=r.target;let l=i.name,m=!0;const d=f(a,l),u=()=>i.type?De(d._f):pt(r),g=h=>{m=Number.isNaN(h)||oe(h)&&isNaN(h.getTime())||ae(h,f(n,l,h))};if(d){let h,O;const j=u(),se=r.type===Fe.BLUR||r.type===Fe.FOCUS_OUT,Ot=!nr(d._f)&&!s.resolver&&!f(t.errors,l)&&!d._f.deps||lr(se,f(t.touchedFields,l),t.isSubmitted,W,E),Be=it(l,y,se);S(n,l,j),se?(d._f.onBlur&&d._f.onBlur(r),p&&p(0)):d._f.onChange&&d._f.onChange(r);const Ee=ne(l,j,se,!1),jt=!I(Ee)||Be;if(!se&&v.values.next({name:l,type:r.type,values:{...n}}),Ot)return x.isValid&&(s.mode==="onBlur"&&se?V():se||V()),jt&&v.state.next({name:l,...Be?{}:Ee});if(!se&&Be&&v.state.next({...t}),s.resolver){const{errors:Ke}=await ie([l]);if(g(j),m){const Mt=ft(t.errors,a,l),Ze=ft(Ke,a,Mt.name||l);h=Ze.error,l=Ze.name,O=I(Ke)}}else M([l],!0),h=(await ct(d,y.disabled,n,k,s.shouldUseNativeValidation))[l],M([l]),g(j),m&&(h?O=!1:x.isValid&&(O=await J(a,!0)));m&&(d._f.deps&&fe(d._f.deps),pe(l,O,h,Ee))}},de=(r,i)=>{if(f(t.errors,i)&&r.focus)return r.focus(),1},fe=async(r,i={})=>{let l,m;const d=ve(r);if(s.resolver){const u=await le(P(r)?r:d);l=I(u),m=r?!d.some(g=>f(u,g)):l}else r?(m=(await Promise.all(d.map(async u=>{const g=f(a,u);return await J(g&&g._f?{[u]:g}:g)}))).every(Boolean),!(!m&&!t.isValid)&&V()):m=l=await J(a);return v.state.next({...!X(r)||x.isValid&&l!==t.isValid?{}:{name:r},...s.resolver||!r?{isValid:l}:{},errors:t.errors}),i.shouldFocus&&!m&&he(a,de,r?d:y.mount),m},He=r=>{const i={...c.mount?n:o};return P(r)?i:X(r)?f(i,r):r.map(l=>f(i,l))},Ie=(r,i)=>({invalid:!!f((i||t).errors,r),isDirty:!!f((i||t).dirtyFields,r),error:f((i||t).errors,r),isValidating:!!f(t.validatingFields,r),isTouched:!!f((i||t).touchedFields,r)}),Ct=r=>{r&&ve(r).forEach(i=>D(t.errors,i)),v.state.next({errors:r?t.errors:{}})},We=(r,i,l)=>{const m=(f(a,r,{_f:{}})._f||{}).ref,d=f(t.errors,r)||{},{ref:u,message:g,type:h,...O}=d;S(t.errors,r,{...O,...i,ref:m}),v.state.next({name:r,errors:t.errors,isValid:!1}),l&&l.shouldFocus&&m&&m.focus&&m.focus()},Lt=(r,i)=>Q(r)?v.values.subscribe({next:l=>r(_(void 0,i),l)}):_(r,i,!0),Re=(r,i={})=>{for(const l of r?ve(r):y.mount)y.mount.delete(l),y.array.delete(l),i.keepValue||(D(a,l),D(n,l)),!i.keepError&&D(t.errors,l),!i.keepDirty&&D(t.dirtyFields,l),!i.keepTouched&&D(t.touchedFields,l),!i.keepIsValidating&&D(t.validatingFields,l),!s.shouldUnregister&&!i.keepDefaultValue&&D(o,l);v.values.next({values:{...n}}),v.state.next({...t,...i.keepDirty?{isDirty:b()}:{}}),!i.keepIsValid&&V()},$e=({disabled:r,name:i,field:l,fields:m})=>{(Y(r)&&c.mount||r||y.disabled.has(i))&&(r?y.disabled.add(i):y.disabled.delete(i),ne(i,De(l?l._f:f(m,i)._f),!1,!1,!0))},Pe=(r,i={})=>{let l=f(a,r);const m=Y(i.disabled)||Y(s.disabled);return S(a,r,{...l||{},_f:{...l&&l._f?l._f:{ref:{name:r}},name:r,mount:!0,...i}}),y.mount.add(r),l?$e({field:l,disabled:Y(i.disabled)?i.disabled:s.disabled,name:r}):C(r,!0,i.value),{...m?{disabled:i.disabled||s.disabled}:{},...s.progressive?{required:!!i.required,min:ye(i.min),max:ye(i.max),minLength:ye(i.minLength),maxLength:ye(i.maxLength),pattern:ye(i.pattern)}:{},name:r,onChange:ce,onBlur:ce,ref:d=>{if(d){Pe(r,i),l=f(a,r);const u=P(d.value)&&d.querySelectorAll&&d.querySelectorAll("input,select,textarea")[0]||d,g=ar(u),h=l._f.refs||[];if(g?h.find(O=>O===u):u===l._f.ref)return;S(a,r,{_f:{...l._f,...g?{refs:[...h.filter(Le),u,...Array.isArray(f(o,r))?[{}]:[]],ref:{type:u.type,name:r}}:{ref:u}}}),C(r,!1,void 0,u)}else l=f(a,r,{}),l._f&&(l._f.mount=!1),(s.shouldUnregister||i.shouldUnregister)&&!(xt(y.array,r)&&c.action)&&y.unMount.add(r)}}},Je=()=>s.shouldFocusError&&he(a,de,y.mount),Dt=r=>{Y(r)&&(v.state.next({disabled:r}),he(a,(i,l)=>{const m=f(a,l);m&&(i.disabled=m._f.disabled||r,Array.isArray(m._f.refs)&&m._f.refs.forEach(d=>{d.disabled=m._f.disabled||r}))},0,!1))},ze=(r,i)=>async l=>{let m;l&&(l.preventDefault&&l.preventDefault(),l.persist&&l.persist());let d=H(n);if(y.disabled.size)for(const u of y.disabled)S(d,u,void 0);if(v.state.next({isSubmitting:!0}),s.resolver){const{errors:u,values:g}=await ie();t.errors=u,d=g}else await J(a);if(D(t.errors,"root"),I(t.errors)){v.state.next({errors:{}});try{await r(d,l)}catch(u){m=u}}else i&&await i({...t.errors},l),Je(),setTimeout(Je);if(v.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:I(t.errors)&&!m,submitCount:t.submitCount+1,errors:t.errors}),m)throw m},Tt=(r,i={})=>{f(a,r)&&(P(i.defaultValue)?z(r,H(f(o,r))):(z(r,i.defaultValue),S(o,r,H(i.defaultValue))),i.keepTouched||D(t.touchedFields,r),i.keepDirty||(D(t.dirtyFields,r),t.isDirty=i.defaultValue?b(r,H(f(o,r))):b()),i.keepError||(D(t.errors,r),x.isValid&&V()),v.state.next({...t}))},Ye=(r,i={})=>{const l=r?H(r):o,m=H(l),d=I(r),u=d?o:m;if(i.keepDefaultValues||(o=l),!i.keepValues){if(i.keepDirtyValues){const g=new Set([...y.mount,...Object.keys(me(o,n))]);for(const h of Array.from(g))f(t.dirtyFields,h)?S(u,h,f(n,h)):z(h,f(u,h))}else{if(Oe&&P(r))for(const g of y.mount){const h=f(a,g);if(h&&h._f){const O=Array.isArray(h._f.refs)?h._f.refs[0]:h._f.ref;if(_e(O)){const j=O.closest("form");if(j){j.reset();break}}}}a={}}n=s.shouldUnregister?i.keepDefaultValues?H(o):{}:H(u),v.array.next({values:{...u}}),v.values.next({values:{...u}})}y={mount:i.keepDirtyValues?y.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},c.mount=!x.isValid||!!i.keepIsValid||!!i.keepDirtyValues,c.watch=!!s.shouldUnregister,v.state.next({submitCount:i.keepSubmitCount?t.submitCount:0,isDirty:d?!1:i.keepDirty?t.isDirty:!!(i.keepDefaultValues&&!ae(r,o)),isSubmitted:i.keepIsSubmitted?t.isSubmitted:!1,dirtyFields:d?{}:i.keepDirtyValues?i.keepDefaultValues&&n?me(o,n):t.dirtyFields:i.keepDefaultValues&&r?me(o,r):i.keepDirty?t.dirtyFields:{},touchedFields:i.keepTouched?t.touchedFields:{},errors:i.keepErrors?t.errors:{},isSubmitSuccessful:i.keepIsSubmitSuccessful?t.isSubmitSuccessful:!1,isSubmitting:!1})},Ge=(r,i)=>Ye(Q(r)?r(n):r,i);return{control:{register:Pe,unregister:Re,getFieldState:Ie,handleSubmit:ze,setError:We,_executeSchema:ie,_getWatch:_,_getDirty:b,_updateValid:V,_removeUnmounted:xe,_updateFieldArray:F,_updateDisabledField:$e,_getFieldArray:L,_reset:Ye,_resetDefaultValues:()=>Q(s.defaultValues)&&s.defaultValues().then(r=>{Ge(r,s.resetOptions),v.state.next({isLoading:!1})}),_updateFormState:r=>{t={...t,...r}},_disableForm:Dt,_subjects:v,_proxyFormState:x,_setErrors:te,get _fields(){return a},get _formValues(){return n},get _state(){return c},set _state(r){c=r},get _defaultValues(){return o},get _names(){return y},set _names(r){y=r},get _formState(){return t},set _formState(r){t=r},get _options(){return s},set _options(r){s={...s,...r}}},trigger:fe,register:Pe,handleSubmit:ze,watch:Lt,setValue:z,getValues:He,reset:Ge,resetField:Tt,clearErrors:Ct,unregister:Re,setError:We,setFocus:(r,i={})=>{const l=f(a,r),m=l&&l._f;if(m){const d=m.refs?m.refs[0]:m.ref;d.focus&&(d.focus(),i.shouldSelect&&Q(d.select)&&d.select())}},getFieldState:Ie}}function fr(e={}){const s=A.useRef(void 0),t=A.useRef(void 0),[a,o]=A.useState({isDirty:!1,isValidating:!1,isLoading:Q(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,defaultValues:Q(e.defaultValues)?void 0:e.defaultValues});s.current||(s.current={...dr(e),formState:a});const n=s.current.control;return n._options=e,qe({subject:n._subjects.state,next:c=>{_t(c,n._proxyFormState,n._updateFormState,!0)&&o({...n._formState})}}),A.useEffect(()=>n._disableForm(e.disabled),[n,e.disabled]),A.useEffect(()=>{if(n._proxyFormState.isDirty){const c=n._getDirty();c!==a.isDirty&&n._subjects.state.next({isDirty:c})}},[n,a.isDirty]),A.useEffect(()=>{e.values&&!ae(e.values,t.current)?(n._reset(e.values,n._options.resetOptions),t.current=e.values,o(c=>({...c}))):n._resetDefaultValues()},[e.values,n]),A.useEffect(()=>{e.errors&&n._setErrors(e.errors)},[e.errors,n]),A.useEffect(()=>{n._state.mount||(n._updateValid(),n._state.mount=!0),n._state.watch&&(n._state.watch=!1,n._subjects.state.next({...n._formState})),n._removeUnmounted()}),A.useEffect(()=>{e.shouldUnregister&&n._subjects.values.next({values:n._getWatch()})},[e.shouldUnregister,n]),s.current.formState=Ft(a,n),s.current}const ns={title:"Guides/Integration with React Hook Form",args:{onSubmit:qt(e=>{console.log("Form submitted:",e)})}},ge={render:function(s){const t=()=>{var p,R,x,v,E,W,k,T;const{register:a,handleSubmit:o,formState:{errors:n},reset:c,control:y}=fr({defaultValues:{fullName:"",email:"",age:void 0,country:"",password:"",confirmPassword:"",bio:"",privacyPolicyAccepted:!1,experienceLevel:50,priceRange:[25,75]}});return w.jsx("div",{style:{maxWidth:"600px",margin:"0 auto",padding:"20px"},children:w.jsxs(Xe,{direction:"column",gap:"16",children:[w.jsx(Ut,{variant:"extraLarge",tag:"h1",children:"User Registration Form"}),w.jsxs("form",{onSubmit:o(s.onSubmit),style:{display:"contents"},noValidate:!0,children:[w.jsx(et,{label:"Full Name",...a("fullName",{required:"Full name is required"}),error:(p=n.fullName)==null?void 0:p.message,required:!0}),w.jsx(et,{label:"Email",type:"email",...a("email",{required:"Email is required"}),error:(R=n.email)==null?void 0:R.message,required:!0}),w.jsx(Ht,{label:"Age",...a("age",{valueAsNumber:!0,required:"Age is required",min:{value:18,message:"You must be at least 18 years old"}}),min:18,max:120,error:(x=n.age)==null?void 0:x.message,required:!0}),w.jsxs(It,{label:"Country",placeholder:"",...a("country",{required:"Country is required"}),error:(v=n.country)==null?void 0:v.message,required:!0,children:[w.jsx(Z,{value:"us",children:"United States"}),w.jsx(Z,{value:"ca",children:"Canada"}),w.jsx(Z,{value:"uk",children:"United Kingdom"}),w.jsx(Z,{value:"de",children:"Germany"}),w.jsx(Z,{value:"fr",children:"France"}),w.jsx(Z,{value:"it",children:"Italy"}),w.jsx(Z,{value:"es",children:"Spain"}),w.jsx(Z,{value:"au",children:"Australia"}),w.jsx(Z,{value:"jp",children:"Japan"}),w.jsx(Z,{value:"other",children:"Other"})]}),w.jsx(tt,{label:"Password",...a("password",{required:"Password is required",minLength:{value:8,message:"Password must be at least 8 characters"},pattern:{value:/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]/,message:"Password must contain at least one uppercase letter, one lowercase letter, one number, and one special character"}}),error:(E=n.password)==null?void 0:E.message,required:!0}),w.jsx(tt,{label:"Confirm Password",...a("confirmPassword",{required:"Please confirm your password",validate:(V,M)=>V===M.password||"Passwords do not match"}),error:(W=n.confirmPassword)==null?void 0:W.message,required:!0}),w.jsx(Wt,{label:"Bio",...a("bio",{maxLength:{value:500,message:"Bio must be less than 500 characters"}}),error:(k=n.bio)==null?void 0:k.message}),w.jsx(st,{name:"experienceLevel",control:y,rules:{validate:{minValue:V=>V<50?"Must be above 50":!0}},render:({field:V})=>{var M;return w.jsx(ke,{label:"Experience Level",error:(M=n.experienceLevel)==null?void 0:M.message,children:w.jsx($t,{value:V.value,onValueChange:V.onChange,min:0,max:100,"aria-label":"Experience Level"})})}}),w.jsx(st,{name:"priceRange",control:y,rules:{validate:{minValue:([V])=>V<=25?"Minimum must be above 25":!0,maxValue:([,V])=>V>=75?"Maximum must be below 75":!0}},render:({field:V})=>{var M;return w.jsx(ke,{label:"Price",error:(M=n.priceRange)==null?void 0:M.message,children:w.jsx(Jt,{value:V.value,onValueChange:V.onChange,min:0,max:100,"aria-label":"Price Range"})})}}),w.jsx(ke,{label:"Accept Privacy Policy",description:"I accept the Privacy Policy",error:(T=n.privacyPolicyAccepted)==null?void 0:T.message,hideLabel:!0,children:w.jsx(zt,{...a("privacyPolicyAccepted",{required:"You must accept the Privacy Policy"})})}),w.jsxs(Xe,{gap:"12",padding:["20","0","0"],justifyContent:"end",children:[w.jsx(rt,{onClick:()=>c(),variant:"secondary",children:"Reset"}),w.jsx(rt,{submitsForm:!0,children:"Submit"})]})]})]})})};return w.jsx(t,{})},play:async({args:e,canvasElement:s,step:t})=>{const a=Nt(s);await t("Fill all form fields",async()=>{console.log(await a.findAllByRole("textbox")),await U.type(a.getByRole("textbox",{name:"Full Name"}),"John Doe"),await U.type(a.getByRole("textbox",{name:"Email"}),"john.doe@example.com"),await U.clear(a.getByRole("spinbutton",{name:"Age"})),await U.type(a.getByRole("spinbutton",{name:"Age"}),"25"),await U.selectOptions(a.getByRole("combobox",{name:"Country"}),"us"),await U.type(a.getByLabelText(/^Password/),"TestPassword123!"),await U.type(a.getByLabelText(/^Confirm Password/),"TestPassword123!"),await U.type(a.getByRole("textbox",{name:"Bio"}),"I am a software engineer with 5 years of experience."),a.getByRole("slider",{name:"Experience Level"}).focus(),await U.keyboard("{ArrowRight}".repeat(5));const n=a.getByRole("slider",{name:"Minimum Price Range"}),c=a.getByRole("slider",{name:"Maximum Price Range"});n.focus(),await U.keyboard("{ArrowRight}".repeat(2)),c.focus(),await U.keyboard("{ArrowLeft}".repeat(2)),await U.click(a.getByRole("checkbox",{name:"Accept Privacy Policy"}))}),await t("Submit the form",async()=>{await U.click(a.getByRole("button",{name:"Submit"}))}),await t("Assert that onSubmit was called with correct data",async()=>{await Qe(()=>{$(e.onSubmit).toHaveBeenCalledWith({fullName:"John Doe",email:"john.doe@example.com",age:25,country:"us",password:"TestPassword123!",confirmPassword:"TestPassword123!",bio:"I am a software engineer with 5 years of experience.",privacyPolicyAccepted:!0,experienceLevel:55,priceRange:[27,73]},$.anything())})}),await t("Reset the form",async()=>{await U.click(a.getByRole("button",{name:"Reset"}))}),await t("Assert all fields are cleared",async()=>{await Qe(()=>{$(a.getByRole("textbox",{name:"Full Name"})).not.toHaveValue(),$(a.getByRole("textbox",{name:"Email"})).not.toHaveValue(),$(a.getByRole("spinbutton",{name:"Age"})).not.toHaveValue(),$(a.getByRole("combobox",{name:"Country"})).not.toHaveValue(),$(a.getByLabelText(/^Password/)).not.toHaveValue(),$(a.getByLabelText(/^Confirm Password/)).not.toHaveValue(),$(a.getByRole("textbox",{name:"Bio"})).not.toHaveValue(),$(a.getByRole("checkbox",{name:"Accept Privacy Policy"})).not.toBeChecked(),$(a.getByRole("slider",{name:"Experience Level"})).toHaveAttribute("aria-valuenow","50"),$(a.getByRole("slider",{name:"Minimum Price Range"})).toHaveAttribute("aria-valuenow","25"),$(a.getByRole("slider",{name:"Maximum Price Range"})).toHaveAttribute("aria-valuenow","75")})})}};var mt,yt,gt,vt,ht;ge.parameters={...ge.parameters,docs:{...(mt=ge.parameters)==null?void 0:mt.docs,source:{originalSource:`{
2
- render: function Story(args) {
3
- /**
4
- * This \`Story\` component is a hacky workaround; without it, the
5
- * react-hook-form \`Controller\` component causes a memory leak (and
6
- * subsequent crash) on submit.
7
- *
8
- * We're not sure why yet, but it may have to do with the fact that the
9
- * Storybook \`render\` function isn't actually a component, and so some
10
- * code inside \`Controller\` runs in an unexpected context.
11
- */
12
- const Story = () => {
13
- const {
14
- register,
15
- handleSubmit,
16
- formState: {
17
- errors
18
- },
19
- reset,
20
- control
21
- } = useForm<FormData>({
22
- defaultValues: {
23
- fullName: '',
24
- email: '',
25
- age: undefined,
26
- country: '',
27
- password: '',
28
- confirmPassword: '',
29
- bio: '',
30
- privacyPolicyAccepted: false,
31
- experienceLevel: 50,
32
- priceRange: [25, 75]
33
- }
34
- });
35
- return <div style={{
36
- maxWidth: '600px',
37
- margin: '0 auto',
38
- padding: '20px'
39
- }}>
40
- <LayoutFlex direction="column" gap="16">
41
- <Heading variant="extraLarge" tag="h1">
42
- User Registration Form
43
- </Heading>
44
-
45
- <form onSubmit={handleSubmit(args.onSubmit)} style={{
46
- display: 'contents'
47
- }}
48
- // Since we're using react-hook-form, we can disable the default HTML5 validation
49
- // to keep error messages visually consistent
50
- noValidate>
51
- <TextField label="Full Name" {...register('fullName', {
52
- required: 'Full name is required'
53
- })} error={errors.fullName?.message} required />
54
-
55
- <TextField label="Email" type="email" {...register('email', {
56
- required: 'Email is required'
57
- })} error={errors.email?.message} required />
58
-
59
- <NumberField label="Age" {...register('age', {
60
- valueAsNumber: true,
61
- required: 'Age is required',
62
- min: {
63
- value: 18,
64
- message: 'You must be at least 18 years old'
65
- }
66
- })} min={18} max={120} error={errors.age?.message} required />
67
-
68
- <SelectField label="Country" placeholder="" {...register('country', {
69
- required: 'Country is required'
70
- })} error={errors.country?.message} required>
71
- <SelectFieldOption value="us">United States</SelectFieldOption>
72
- <SelectFieldOption value="ca">Canada</SelectFieldOption>
73
- <SelectFieldOption value="uk">United Kingdom</SelectFieldOption>
74
- <SelectFieldOption value="de">Germany</SelectFieldOption>
75
- <SelectFieldOption value="fr">France</SelectFieldOption>
76
- <SelectFieldOption value="it">Italy</SelectFieldOption>
77
- <SelectFieldOption value="es">Spain</SelectFieldOption>
78
- <SelectFieldOption value="au">Australia</SelectFieldOption>
79
- <SelectFieldOption value="jp">Japan</SelectFieldOption>
80
- <SelectFieldOption value="other">Other</SelectFieldOption>
81
- </SelectField>
82
-
83
- <PasswordField label="Password" {...register('password', {
84
- required: 'Password is required',
85
- minLength: {
86
- value: 8,
87
- message: 'Password must be at least 8 characters'
88
- },
89
- pattern: {
90
- value: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@$!%*?&])[A-Za-z\\d@$!%*?&]/,
91
- message: 'Password must contain at least one uppercase letter, one lowercase letter, one number, and one special character'
92
- }
93
- })} error={errors.password?.message} required />
94
-
95
- <PasswordField label="Confirm Password" {...register('confirmPassword', {
96
- required: 'Please confirm your password',
97
- validate: (value, formValues) => value === formValues.password || 'Passwords do not match'
98
- })} error={errors.confirmPassword?.message} required />
99
-
100
- <TextareaField label="Bio" {...register('bio', {
101
- maxLength: {
102
- value: 500,
103
- message: 'Bio must be less than 500 characters'
104
- }
105
- })} error={errors.bio?.message} />
106
-
107
- <Controller name="experienceLevel" control={control} rules={{
108
- validate: {
109
- minValue: value => {
110
- if (value < 50) {
111
- return 'Must be above 50';
112
- }
113
- return true;
114
- }
115
- }
116
- }} render={({
117
- field
118
- }) => <FormControl label="Experience Level" error={errors.experienceLevel?.message}>
119
- <Slider value={field.value} onValueChange={field.onChange} min={0} max={100} aria-label="Experience Level" />
120
- </FormControl>} />
121
-
122
- <Controller name="priceRange" control={control} rules={{
123
- validate: {
124
- minValue: ([min]) => {
125
- if (min <= 25) {
126
- return 'Minimum must be above 25';
127
- }
128
- return true;
129
- },
130
- maxValue: ([, max]) => {
131
- if (max >= 75) {
132
- return 'Maximum must be below 75';
133
- }
134
- return true;
135
- }
136
- }
137
- }} render={({
138
- field
139
- }) => <FormControl label="Price" error={errors.priceRange?.message}>
140
- <RangeSlider value={field.value} onValueChange={field.onChange} min={0} max={100} aria-label="Price Range" />
141
- </FormControl>} />
142
-
143
- <FormControl label="Accept Privacy Policy" description="I accept the Privacy Policy" error={errors.privacyPolicyAccepted?.message} hideLabel>
144
- <Checkbox {...register('privacyPolicyAccepted', {
145
- required: 'You must accept the Privacy Policy'
146
- })} />
147
- </FormControl>
148
-
149
- <LayoutFlex gap="12" padding={['20', '0', '0']} justifyContent="end">
150
- <Button onClick={() => reset()} variant="secondary">
151
- Reset
152
- </Button>
153
- <Button submitsForm>Submit</Button>
154
- </LayoutFlex>
155
- </form>
156
- </LayoutFlex>
157
- </div>;
158
- };
159
- return <Story />;
160
- },
161
- play: async ({
162
- args,
163
- canvasElement,
164
- step
165
- }) => {
166
- const canvas = within(canvasElement);
167
- await step('Fill all form fields', async () => {
168
- console.log(await canvas.findAllByRole('textbox'));
169
- await userEvent.type(canvas.getByRole('textbox', {
170
- name: 'Full Name'
171
- }), 'John Doe');
172
- await userEvent.type(canvas.getByRole('textbox', {
173
- name: 'Email'
174
- }), 'john.doe@example.com');
175
- await userEvent.clear(canvas.getByRole('spinbutton', {
176
- name: 'Age'
177
- }));
178
- await userEvent.type(canvas.getByRole('spinbutton', {
179
- name: 'Age'
180
- }), '25');
181
- await userEvent.selectOptions(canvas.getByRole('combobox', {
182
- name: 'Country'
183
- }), 'us');
184
-
185
- // Password fields doesn't have implicit role, so we need to use getByLabelText
186
- await userEvent.type(canvas.getByLabelText(/^Password/), 'TestPassword123!');
187
- await userEvent.type(canvas.getByLabelText(/^Confirm Password/), 'TestPassword123!');
188
- await userEvent.type(canvas.getByRole('textbox', {
189
- name: 'Bio'
190
- }), 'I am a software engineer with 5 years of experience.');
191
- const experienceSlider = canvas.getByRole('slider', {
192
- name: 'Experience Level'
193
- });
194
- experienceSlider.focus();
195
- await userEvent.keyboard('{ArrowRight}'.repeat(5));
196
- const priceRangeMin = canvas.getByRole('slider', {
197
- name: 'Minimum Price Range'
198
- });
199
- const priceRangeMax = canvas.getByRole('slider', {
200
- name: 'Maximum Price Range'
201
- });
202
- priceRangeMin.focus();
203
- await userEvent.keyboard('{ArrowRight}'.repeat(2));
204
- priceRangeMax.focus();
205
- await userEvent.keyboard('{ArrowLeft}'.repeat(2));
206
- await userEvent.click(canvas.getByRole('checkbox', {
207
- name: 'Accept Privacy Policy'
208
- }));
209
- });
210
- await step('Submit the form', async () => {
211
- await userEvent.click(canvas.getByRole('button', {
212
- name: 'Submit'
213
- }));
214
- });
215
- await step('Assert that onSubmit was called with correct data', async () => {
216
- await waitFor(() => {
217
- expect(args.onSubmit).toHaveBeenCalledWith({
218
- fullName: 'John Doe',
219
- email: 'john.doe@example.com',
220
- age: 25,
221
- country: 'us',
222
- password: 'TestPassword123!',
223
- confirmPassword: 'TestPassword123!',
224
- bio: 'I am a software engineer with 5 years of experience.',
225
- privacyPolicyAccepted: true,
226
- experienceLevel: 55,
227
- priceRange: [27, 73]
228
- }, expect.anything());
229
- });
230
- });
231
- await step('Reset the form', async () => {
232
- await userEvent.click(canvas.getByRole('button', {
233
- name: 'Reset'
234
- }));
235
- });
236
- await step('Assert all fields are cleared', async () => {
237
- await waitFor(() => {
238
- expect(canvas.getByRole('textbox', {
239
- name: 'Full Name'
240
- })).not.toHaveValue();
241
- expect(canvas.getByRole('textbox', {
242
- name: 'Email'
243
- })).not.toHaveValue();
244
- expect(canvas.getByRole('spinbutton', {
245
- name: 'Age'
246
- })).not.toHaveValue();
247
- expect(canvas.getByRole('combobox', {
248
- name: 'Country'
249
- })).not.toHaveValue();
250
-
251
- // Password fields doesn't have implicit role, so we need to use getByLabelText
252
- expect(canvas.getByLabelText(/^Password/)).not.toHaveValue();
253
- expect(canvas.getByLabelText(/^Confirm Password/)).not.toHaveValue();
254
- expect(canvas.getByRole('textbox', {
255
- name: 'Bio'
256
- })).not.toHaveValue();
257
- expect(canvas.getByRole('checkbox', {
258
- name: 'Accept Privacy Policy'
259
- })).not.toBeChecked();
260
- expect(canvas.getByRole('slider', {
261
- name: 'Experience Level'
262
- })).toHaveAttribute('aria-valuenow', '50');
263
- expect(canvas.getByRole('slider', {
264
- name: 'Minimum Price Range'
265
- })).toHaveAttribute('aria-valuenow', '25');
266
- expect(canvas.getByRole('slider', {
267
- name: 'Maximum Price Range'
268
- })).toHaveAttribute('aria-valuenow', '75');
269
- });
270
- });
271
- }
272
- }`,...(gt=(yt=ge.parameters)==null?void 0:yt.docs)==null?void 0:gt.source},description:{story:`This example demonstrates how to integrate design system fields with react-hook-form.
273
-
274
- See [react-hook-form docs](https://react-hook-form.com/docs) for more information.`,...(ht=(vt=ge.parameters)==null?void 0:vt.docs)==null?void 0:ht.description}}};const ls=["IntegrationWithReactHookForm"];export{ge as IntegrationWithReactHookForm,ls as __namedExportsOrder,ns as default};