@preply/ds-docs 1.3.0 → 1.4.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.
- package/dist/assets/{00.LayoutFlex.stories-8tg2E-qV.js → 00.LayoutFlex.stories-ed2lpBeG.js} +1 -1
- package/dist/assets/{00.applications-D2_tGfRf.js → 00.applications-DLWUENDG.js} +1 -1
- package/dist/assets/{00.favicons.guide-C690JGQk.js → 00.favicons.guide-D5-20tQH.js} +1 -1
- package/dist/assets/{00.token-explorer-y6W0f5Yb.js → 00.token-explorer-BIc8vy7H.js} +1 -1
- package/dist/assets/{00.using-responsive-props-D7HIJt3_.js → 00.using-responsive-props-CY9p8v_u.js} +1 -1
- package/dist/assets/01.semantic-tokens-CThrY5Ts.js +2 -0
- package/dist/assets/{01.using-shorthand-props-D5OpTPkW.js → 01.using-shorthand-props-C_vbhNfL.js} +1 -1
- package/dist/assets/{10.Combinations.stories-Ct6685NI.js → 10.Combinations.stories-Bj20QCLY.js} +1 -1
- package/dist/assets/{10.fonts.guide-D9i9sQJH.js → 10.fonts.guide-Dy8fgLU5.js} +1 -1
- package/dist/assets/{10.ssr-DSJl1ffD.js → 10.ssr-D9v_dR0o.js} +1 -1
- package/dist/assets/{11.languageFont.explorer-I7XhZ4Xm.js → 11.languageFont.explorer-BZuqA2Qd.js} +1 -1
- package/dist/assets/{11.ssr.app-router-BuXrSise.js → 11.ssr.app-router-CU9S0P9E.js} +1 -1
- package/dist/assets/{20.libraries-D_xIp-Wv.js → 20.libraries-CG6__ozS.js} +1 -1
- package/dist/assets/{30.icons.explorer-PH1cdaPD.js → 30.icons.explorer-CK_LzlUE.js} +1 -1
- package/dist/assets/{30.storybook-CEe-PiYy.js → 30.storybook-Be_FRDz_.js} +1 -1
- package/dist/assets/{40.illustrations.explorer-D7eLGfu0.js → 40.illustrations.explorer-lGFuCzSa.js} +1 -1
- package/dist/assets/{90.advanced-BE9PXRjl.js → 90.advanced-C4czMsOy.js} +1 -1
- package/dist/assets/AlertDialog-CSUTu5O6.css +1 -0
- package/dist/assets/AlertDialog.stories-DlRWBYYU.js +142 -0
- package/dist/assets/Avatar-CmnrM37w.js +6 -0
- package/dist/assets/Avatar-JE3Hcbkv.css +1 -0
- package/dist/assets/Avatar-_W1s5JpT.css +1 -0
- package/dist/assets/Avatar-iqWOn9Tl.js +1 -0
- package/dist/assets/{Avatar.stories-Bt8pPC1s.js → Avatar.stories-OTgx0pcM.js} +1 -1
- package/dist/assets/AvatarWithStatus-pddO2Nza.css +1 -0
- package/dist/assets/{AvatarWithStatus.stories-DZOf0a9g.js → AvatarWithStatus.stories--mF91ETX.js} +2 -2
- package/dist/assets/Badge-DcbG4N4-.css +1 -0
- package/dist/assets/{Badge.stories-BEJXe-bl.js → Badge.stories-D8nghiXL.js} +2 -2
- package/dist/assets/Box-CJkXzUjZ.css +1 -0
- package/dist/assets/Box.stories-DxW6l-HA.js +44 -0
- package/dist/assets/Button-B1mdczvv.js +1 -0
- package/dist/assets/Button-C6kEKm6h.css +1 -0
- package/dist/assets/Button-CHTJqu07.css +1 -0
- package/dist/assets/{Button-CGkNG45w.js → Button-DqwK0S70.js} +1 -1
- package/dist/assets/{Button.stories-CkilfUVx.js → Button.stories-oW-QBb5C.js} +1 -1
- package/dist/assets/{ButtonBase-CoA6K-It.css → ButtonBase-CuGZo0xf.css} +1 -1
- package/dist/assets/ButtonBase-D31GBWHv.js +8 -0
- package/dist/assets/Chips-Dejf8Sh_.css +1 -0
- package/dist/assets/{Chips.stories-BazAHlkw.js → Chips.stories-DiprPB2i.js} +1 -1
- package/dist/assets/{Color-YHDXOIA2-C4y61ek1.js → Color-YHDXOIA2-C2h0aGNO.js} +1 -1
- package/dist/assets/Dialog-DwZQYtV6.css +1 -0
- package/dist/assets/{Dialog.stories-tKAuFOhG.js → Dialog.stories-CAPNnMI_.js} +16 -16
- package/dist/assets/{DocsRenderer-CFRXHY34-CKni1BW8.js → DocsRenderer-CFRXHY34-C35smYsV.js} +1 -1
- package/dist/assets/FieldAdditionalText-CUu6JGoC.css +1 -0
- package/dist/assets/{FieldAdditionalText-DuEWaFeu.js → FieldAdditionalText-lW7Q1VGp.js} +1 -1
- package/dist/assets/{FieldAdditionalText.stories-BKzJywVE.js → FieldAdditionalText.stories-DcGxrOlS.js} +1 -1
- package/dist/assets/{FieldButton-D-la2Jzn.js → FieldButton-QHhW28uq.js} +1 -1
- package/dist/assets/{FieldButton-DnMkKpFP.css → FieldButton-k7TvuQHy.css} +1 -1
- package/dist/assets/{FieldButton.stories-DNCX_6wX.js → FieldButton.stories-vBmg2O9Q.js} +1 -1
- package/dist/assets/{FieldLayout-ucPtI83J.js → FieldLayout-BGkL1EMg.js} +1 -1
- package/dist/assets/FieldLayout-CG9n-WOS.css +1 -0
- package/dist/assets/{FieldLayout.stories-BaXyFyV0.js → FieldLayout.stories-CtD6-C6l.js} +1 -1
- package/dist/assets/FieldLayoutBase-CoIn-2cd.css +1 -0
- package/dist/assets/{FieldLayoutBase-BmwMSdWE.js → FieldLayoutBase-DQbxDQVA.js} +3 -3
- package/dist/assets/Heading-CifnBvGj.js +2 -0
- package/dist/assets/{Heading-DamS8I5F.css → Heading-DeYpQLgb.css} +1 -1
- package/dist/assets/{Heading.stories-DRr8Hoa4.js → Heading.stories-CROOXvlq.js} +1 -1
- package/dist/assets/Icon-BVvspUlo.js +1 -0
- package/dist/assets/Icon-BwwIOKM_.js +8 -0
- package/dist/assets/Icon-ByJ3-8OT.css +1 -0
- package/dist/assets/Icon-DghDQiVd.css +1 -0
- package/dist/assets/{Icon-RSC-CovqgG20.js → Icon-RSC-BOyrffYC.js} +1 -1
- package/dist/assets/{Icon.stories-CaNkb_vC.js → Icon.stories-BqehTDt3.js} +1 -1
- package/dist/assets/{IconButton-Bh5Ni2UR.js → IconButton-CI9clg4P.js} +1 -1
- package/dist/assets/InputText-DmOW3mdD.js +5 -0
- package/dist/assets/{LayoutFlex-gmvguImq.js → LayoutFlex-CaenMVBF.js} +1 -1
- package/dist/assets/{LayoutFlex-CDowjZxB.js → LayoutFlex-JnKYDcpC.js} +1 -1
- package/dist/assets/LayoutFlexItem-BM0Abp7Y.js +1 -0
- package/dist/assets/LayoutFlexItem-Dv67D5k3.css +1 -0
- package/dist/assets/LayoutGrid-BG6JKtyy.css +1 -0
- package/dist/assets/LayoutGrid-BhioG4bL.js +1 -0
- package/dist/assets/LayoutGrid-CJQpEAmZ.css +1 -0
- package/dist/assets/{LayoutGrid.stories-CQPljoqP.js → LayoutGrid.stories-Dv8lBJmB.js} +3 -3
- package/dist/assets/LayoutGridItem-BDT0sqW-.css +1 -0
- package/dist/assets/LayoutGridItem-CdnUXNtY.js +1 -0
- package/dist/assets/Link-vYql_2wB.css +1 -0
- package/dist/assets/{Link.stories-zLAuWX9B.js → Link.stories-DXbiFw9-.js} +4 -4
- package/dist/assets/Loader-DLP0PI5-.css +1 -0
- package/dist/assets/{Loader.stories-BboqpWt8.js → Loader.stories-DvgUtUpE.js} +2 -2
- package/dist/assets/{NumberField.stories-BpHFB9CV.js → NumberField.stories-BQIOdo90.js} +2 -2
- package/dist/assets/{ObserveIntersection-Ccn6ggRl.js → ObserveIntersection-D396wl1Z.js} +1 -1
- package/dist/assets/{ObserveIntersection.stories-CK5RwCMK.js → ObserveIntersection.stories-DIe0cEvy.js} +1 -1
- package/dist/assets/{OnboardingTooltip-x2DszDmR.js → OnboardingTooltip-IYSphueI.js} +1 -1
- package/dist/assets/OnboardingTooltip-RxaiJe-3.css +1 -0
- package/dist/assets/{OnboardingTooltip.stories-YGWZh7wP.js → OnboardingTooltip.stories-DnfLcLUg.js} +1 -1
- package/dist/assets/{OnboardingTooltip.tests.stories-BK5MQVED.js → OnboardingTooltip.tests.stories-DobHu21P.js} +1 -1
- package/dist/assets/{OnboardingTour-X5M_cS7-.js → OnboardingTour-2YaW_XWj.js} +1 -1
- package/dist/assets/{OnboardingTour-BP4h7xR5.css → OnboardingTour-Dr4ZlIUd.css} +1 -1
- package/dist/assets/{OnboardingTour.stories-BXsH2xpO.js → OnboardingTour.stories-BUBpjiez.js} +2 -2
- package/dist/assets/{OnboardingTour.tests.stories-DPOUFVqx.js → OnboardingTour.tests.stories-Buou9m4A.js} +1 -1
- package/dist/assets/PasswordField.stories-BevSwKGm.js +203 -0
- package/dist/assets/{PortalElementProvider-C0EkDknq.js → PortalElementProvider-DidBkzFe.js} +1 -1
- package/dist/assets/PreplyLogo-CBB3sPr3.css +1 -0
- package/dist/assets/{PreplyLogo.stories-DmXcvjgv.js → PreplyLogo.stories-BReIYVeE.js} +1 -1
- package/dist/assets/{ProgressBar-MHmjD13J.css → ProgressBar-D5aTIWY3.css} +1 -1
- package/dist/assets/{ProgressBar.stories-zcVtMh1i.js → ProgressBar.stories-wrAgHPrO.js} +1 -1
- package/dist/assets/{ProgressSteps-DKRENNWi.js → ProgressSteps-DWp2S1-b.js} +1 -1
- package/dist/assets/ProgressSteps-s9ACrzTy.css +1 -0
- package/dist/assets/{ProgressSteps.stories-BI9GvwsT.js → ProgressSteps.stories-CsWQLVog.js} +1 -1
- package/dist/assets/RootProvider-o_gxYeLh.js +1 -0
- package/dist/assets/SelectField-N7X7yUPn.css +1 -0
- package/dist/assets/SelectField.stories-9iipR200.js +182 -0
- package/dist/assets/{ShowOnIntersection.stories-D4B8EpSn.js → ShowOnIntersection.stories-BYz5GE4A.js} +1 -1
- package/dist/assets/Spinner-CVHMc-T0.css +1 -0
- package/dist/assets/{Spinner-DvSs1_DJ.js → Spinner-Dsa9X0G6.js} +1 -1
- package/dist/assets/Steps-CQWsOQKy.css +1 -0
- package/dist/assets/{Steps-BA9vRUSH.js → Steps-ifU4R9DW.js} +2 -2
- package/dist/assets/{Steps.stories-CArtTlc9.js → Steps.stories-DkI3jK5X.js} +1 -1
- package/dist/assets/{Text-D1nuTHlP.css → Text-BWNSh4D5.css} +1 -1
- package/dist/assets/Text-CDqVYAcD.js +1 -0
- package/dist/assets/Text-CdCGNBj4.js +1 -0
- package/dist/assets/{Text.stories-NYehfxgE.js → Text.stories-B8iegpqH.js} +1 -1
- package/dist/assets/TextField-DAwVD2CM.css +1 -0
- package/dist/assets/TextField-q53ruCuh.js +1 -0
- package/dist/assets/{TextField.stories-BY1H4a9E.js → TextField.stories-Beeq1JfY.js} +1 -1
- package/dist/assets/TextHighlighted-BHCtybuo.css +1 -0
- package/dist/assets/TextHighlighted-BdF2_CZo.js +1 -0
- package/dist/assets/{TextHighlighted.stories-CU-YQh0c.js → TextHighlighted.stories-DdbLv0RQ.js} +1 -1
- package/dist/assets/TextInline-CDFHfvph.css +1 -0
- package/dist/assets/{TextInline.stories-DxQqdyQA.js → TextInline.stories-aCVFO11z.js} +2 -2
- package/dist/assets/TextareaField.stories-bA314Jtt.js +221 -0
- package/dist/assets/Toast-BBn7aSpe.css +1 -0
- package/dist/assets/{Toast.stories-CSVzAKHh.js → Toast.stories-BZFlc1-_.js} +2 -2
- package/dist/assets/{Tooltip-CgNSV1zx.js → Tooltip-BvCJt9jJ.js} +1 -1
- package/dist/assets/Tooltip-Mm-tBuF2.css +1 -0
- package/dist/assets/{Tooltip.stories-BF2zDAu3.js → Tooltip.stories-Crh2sW9L.js} +1 -1
- package/dist/assets/{Tooltip.tests.stories-C_Osfge1.js → Tooltip.tests.stories-bmaSwgkR.js} +1 -1
- package/dist/assets/{breakpoints-Cxi56OGx.js → breakpoints-BELcY-aB.js} +1 -1
- package/dist/assets/{breakpoints-DAR-E6eG.js → breakpoints-CIpR6Rpt.js} +1 -1
- package/dist/assets/{breakpoints-BByG6q2q.js → breakpoints-_joXL0S9.js} +1 -1
- package/dist/assets/{changelog-DCnSoaQc.js → changelog-DdodvQsh.js} +200 -185
- package/dist/assets/{entry-preview-Rs3WVjAk.js → entry-preview-DNvfsvqm.js} +1 -1
- package/dist/assets/{getTokenVar-CD9sYO_0.js → getTokenVar-RiIceD0Y.js} +1 -1
- package/dist/assets/{hover-fULXOCaM.js → hover-BIABQ7bm.js} +1 -1
- package/dist/assets/{hover-BYUspDz3.js → hover-D2OphZ3W.js} +1 -1
- package/dist/assets/{hover-BILa1Jbh.js → hover-DDVoGg-g.js} +1 -1
- package/dist/assets/{iframe-vWKo2WPz.js → iframe-B08s_jqc.js} +2 -2
- package/dist/assets/{index-CWwb_nwj.js → index-B-5rsJjr.js} +1 -1
- package/dist/assets/{index-Cif9ZBgo.js → index-B77PBZuV.js} +1 -1
- package/dist/assets/{index-D1KM2TH6.js → index-BGAhMoqL.js} +3 -3
- package/dist/assets/index-BnaDsecG.js +7 -0
- package/dist/assets/{index-BoUZTGSt.js → index-CJrO-Wtu.js} +1 -1
- package/dist/assets/{index-F5yHvirT.js → index-DSa6qU7h.js} +1 -1
- package/dist/assets/{index-DlTEQ-d3.js → index-DmM0DblE.js} +1 -1
- package/dist/assets/{index-rt3jK62F.js → index-ODU_8Fga.js} +1 -1
- package/dist/assets/{intro-DZn3DHvI.js → intro-9BhCdV9M.js} +1 -1
- package/dist/assets/layout-relative-0-BGcS53.css +1 -0
- package/dist/assets/layout-relative-D-nYASza.css +1 -0
- package/dist/assets/layout-relative-DZ8FL-vJ.js +1 -0
- package/dist/assets/layout-relative-DiL5t_eA.css +1 -0
- package/dist/assets/layout-relative.module-Bf3FithH.js +1 -0
- package/dist/assets/layout-relative.module-CXJ9jc4G--YD8TQc4.js +1 -0
- package/dist/assets/{migrating-from-less-xfxGGfRQ.js → migrating-from-less-DX0PnZZJ.js} +1 -1
- package/dist/assets/options-DSKYF8ow.js +1 -0
- package/dist/assets/playground-BQGD3iU0.css +1 -0
- package/dist/assets/playground.stories-IM0Bn8my.js +857 -0
- package/dist/assets/{preview-BvnzZDeA.js → preview-DSwUvj7R.js} +1 -1
- package/dist/assets/{preview-uG6E6GFr.js → preview-D_cPBI7P.js} +2 -2
- package/dist/assets/{preview-D6yuuWfR.js → preview-E8zsGlo4.js} +1 -1
- package/dist/assets/text-accent-0oTyB6kb.css +1 -0
- package/dist/assets/text-accent-BMcamJQk.js +1 -0
- package/dist/assets/text-accent-CrnHOlvW.js +1 -0
- package/dist/assets/text-centered-1sU8-E1D.js +1 -0
- package/dist/assets/text-centered-BSdMMoT9.js +1 -0
- package/dist/assets/text-centered-BttmHjSJ.css +1 -0
- package/dist/assets/text-centered-V2JhT89g.css +1 -0
- package/dist/assets/{tokens-CIIxcXCS.js → tokens-D2SDDihU.js} +1 -1
- package/dist/assets/{tokens-C8usiAXt.js → tokens-DRcTh2ws.js} +1 -1
- package/dist/assets/tokens-Di5DrZN4.js +1 -0
- package/dist/assets/{tokens-RhSryCef.js → tokens-yG_wYklp.js} +1 -1
- package/dist/assets/{usePortalElement-DNdIYdAm.js → usePortalElement-aOX_O1I5.js} +1 -1
- package/dist/assets/{welcome-Dvt2b5nq.js → welcome-CGkWDS9u.js} +1 -1
- package/dist/assets/{zeroheight-LFw34vvi.js → zeroheight-CH9deXT2.js} +1 -1
- package/dist/iframe.html +1 -1
- package/dist/preview-stats.json +1371 -1188
- package/dist/project.json +1 -1
- package/package.json +3 -3
- package/dist/assets/01.semantic-tokens-Dy0yYUja.js +0 -2
- package/dist/assets/AlertDialog-DW9_6AZ8.css +0 -1
- package/dist/assets/AlertDialog.stories-DL75XA8r.js +0 -148
- package/dist/assets/Avatar-B2F4MHTO.css +0 -1
- package/dist/assets/Avatar-BhQ7jOQj.js +0 -6
- package/dist/assets/Avatar-BmAsMdOp.css +0 -1
- package/dist/assets/Avatar-Bwsmc9lX.js +0 -1
- package/dist/assets/AvatarWithStatus-pY3sCrjp.css +0 -1
- package/dist/assets/Badge-CpgrOePP.css +0 -1
- package/dist/assets/Box-CM3YGFU2.css +0 -1
- package/dist/assets/Box.stories-CH6Mdgpt.js +0 -44
- package/dist/assets/Button-BC_jw4NG.css +0 -1
- package/dist/assets/ButtonBase-DGRySlif.js +0 -8
- package/dist/assets/Chips-npNdfrcI.css +0 -1
- package/dist/assets/Dialog-D_4XJPhu.css +0 -1
- package/dist/assets/FieldAdditionalText-CwUpaFS0.css +0 -1
- package/dist/assets/FieldLayout-n59cZav_.css +0 -1
- package/dist/assets/FieldLayoutBase-DfX79WCU.css +0 -1
- package/dist/assets/Heading-BBi-mqnb.css +0 -1
- package/dist/assets/Heading-D5Sdpx6j.js +0 -2
- package/dist/assets/Heading-DIKUudVW.js +0 -1
- package/dist/assets/Icon-C6rDUkYo.js +0 -8
- package/dist/assets/Icon-CL5fP8-X.css +0 -1
- package/dist/assets/Icon-Cm_cf2-0.css +0 -1
- package/dist/assets/Icon-D7dTFAZz.js +0 -1
- package/dist/assets/InputText-DcyrRnV_.js +0 -5
- package/dist/assets/LayoutFlexItem-B-sXwsal.js +0 -1
- package/dist/assets/LayoutFlexItem-BelX-aXB.css +0 -1
- package/dist/assets/LayoutGrid-DfeGijvV.css +0 -1
- package/dist/assets/LayoutGrid-QZAfTQn5.js +0 -1
- package/dist/assets/LayoutGrid-aWJCovC4.css +0 -1
- package/dist/assets/LayoutGridItem-BTVKItd4.css +0 -1
- package/dist/assets/LayoutGridItem-ChTN54lj.js +0 -1
- package/dist/assets/Link-Be5EvvvY.css +0 -1
- package/dist/assets/Loader-COd8FTp8.css +0 -1
- package/dist/assets/OnboardingTooltip-CWEDWsqF.css +0 -1
- package/dist/assets/PasswordField.stories-Dmzyz9HV.js +0 -203
- package/dist/assets/PreplyLogo-D-EL1nAu.css +0 -1
- package/dist/assets/ProgressSteps-aaWTTKJv.css +0 -1
- package/dist/assets/RootProvider-_OxBHGC3.js +0 -1
- package/dist/assets/SelectField-DRuLQN6Y.css +0 -1
- package/dist/assets/SelectField.stories-D3P13J7b.js +0 -182
- package/dist/assets/Spinner-CdCa7n5q.css +0 -1
- package/dist/assets/Steps-BvugtWzT.css +0 -1
- package/dist/assets/Text-DEPGSVyh.js +0 -1
- package/dist/assets/Text-DYAggeGe.js +0 -1
- package/dist/assets/TextField-CyKhijoj.css +0 -1
- package/dist/assets/TextField-DphTmQSZ.js +0 -1
- package/dist/assets/TextHighlighted-BpMBas3S.js +0 -1
- package/dist/assets/TextHighlighted-D5caZ97j.css +0 -1
- package/dist/assets/TextInline-CcXMe67Y.css +0 -1
- package/dist/assets/TextareaField.stories-CYQV7fgs.js +0 -221
- package/dist/assets/Toast-CLpvlMPv.css +0 -1
- package/dist/assets/Tooltip-C6hVxAqp.css +0 -1
- package/dist/assets/layout-relative-B5qIaygx.css +0 -1
- package/dist/assets/layout-relative-BtZgANvD.css +0 -1
- package/dist/assets/layout-relative-Css93Y6Y.css +0 -1
- package/dist/assets/layout-relative-DHMpxpbw.js +0 -1
- package/dist/assets/layout-relative.module-CictnSCd.js +0 -1
- package/dist/assets/layout-relative.module-CuJ1jHGm-eCgTXz_W.js +0 -1
- package/dist/assets/options-8hBtriF-.js +0 -1
- package/dist/assets/playground-CqRPyHSX.css +0 -1
- package/dist/assets/playground.stories-Bc2EUyjN.js +0 -857
- package/dist/assets/text-accent-BUKnCsGG.css +0 -1
- package/dist/assets/text-accent-CvjwTDtK.js +0 -1
- package/dist/assets/text-accent-DL4_rrDH.js +0 -1
- package/dist/assets/text-centered-B1nRgYwv.js +0 -1
- package/dist/assets/text-centered-BCCtSPST.css +0 -1
- package/dist/assets/text-centered-BMzFcUqk.css +0 -1
- package/dist/assets/text-centered-DqK_kb5q.js +0 -1
- package/dist/assets/tokens-CkwKC70_.js +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import{j as e}from"./jsx-runtime-BTJTZTIL.js";import{T as a}from"./Text-
|
|
1
|
+
import{j as e}from"./jsx-runtime-BTJTZTIL.js";import{T as a}from"./Text-CDqVYAcD.js";import{r as k}from"./index-Cb9e4tly.js";import{f as Y}from"./filterHTMLAttributes-DYdLqcvH.js";import{g as Z}from"./defaults-B1rzzf6M.js";import{u as ee}from"./useHostname-Y3PlXofY.js";import{m as ne,s as f,b as x}from"./classNames-BUL1Zq7e.js";import{w as y}from"./componentNames-Bwls0I02.js";import{a as ae,g as te}from"./index-DdzHuZ-Y.js";import{g as d}from"./getTokenVar-DU_DEzTd.js";import{c as u}from"./tokens-Di5DrZN4.js";import"./index-ChsGqxH_.js";import"./text-accent-CrnHOlvW.js";import"./text-centered-1sU8-E1D.js";import"./_commonjsHelpers-Cpj98o6Y.js";import"./constants-BgBLeZzp.js";const re="_Link_gdoqi_4",ie={Link:re,"Link--inline":"_Link--inline_gdoqi_20","Link--noUnderline":"_Link--noUnderline_gdoqi_23","Link--variant-accentDark":"_Link--variant-accentDark_gdoqi_26","Link--variant-accentDark--dsInternalSimulation-hover":"_Link--variant-accentDark--dsInternalSimulation-hover_gdoqi_30","Link--variant-accentDark--dsInternalSimulation-active":"_Link--variant-accentDark--dsInternalSimulation-active_gdoqi_34","Link--variant-accentDarkInverted":"_Link--variant-accentDarkInverted_gdoqi_37","Link--variant-accentDarkInverted--dsInternalSimulation-hover":"_Link--variant-accentDarkInverted--dsInternalSimulation-hover_gdoqi_41","Link--variant-accentDarkInverted--dsInternalSimulation-active":"_Link--variant-accentDarkInverted--dsInternalSimulation-active_gdoqi_45","Link--variant-neutral":"_Link--variant-neutral_gdoqi_48","Link--variant-neutral--dsInternalSimulation-hover":"_Link--variant-neutral--dsInternalSimulation-hover_gdoqi_52","Link--variant-neutral--dsInternalSimulation-active":"_Link--variant-neutral--dsInternalSimulation-active_gdoqi_56","Link--variant-neutralInverted":"_Link--variant-neutralInverted_gdoqi_59","Link--variant-neutralInverted--dsInternalSimulation-hover":"_Link--variant-neutralInverted--dsInternalSimulation-hover_gdoqi_63","Link--variant-neutralInverted--dsInternalSimulation-active":"_Link--variant-neutralInverted--dsInternalSimulation-active_gdoqi_67","Link--variant-unsetColors":"_Link--variant-unsetColors_gdoqi_70","Link--variant-unsetColors--dsInternalSimulation-hover":"_Link--variant-unsetColors--dsInternalSimulation-hover_gdoqi_74","Link--variant-unsetColors--dsInternalSimulation-active":"_Link--variant-unsetColors--dsInternalSimulation-active_gdoqi_78"},n=k.forwardRef(function(E,P){const{variant:p=Z,href:A,download:R,opensInNewTab:H,nofollow:M,assistiveText:O,onClick:$,as:v,url:z,dataset:F,children:m,inline:J,dsInternalSimulation:K,noUnderline:W,...X}=E,B=ee(),G=ne(ie,y.Link,[f(`variant-${p}--dsInternalSimulation`,K),f("variant",p),x("inline",void 0,J),x("noUnderline",void 0,W)]),c=A||z,Q=c?ae(B,c,H,M):{},h={...Y(X),ref:P,href:c,download:R,"aria-label":O,onClick:$,className:G.join(" "),...te(F,{preplyDsComponent:y.Link})};return v?k.cloneElement(v,{...h},m):e.jsx("a",{...h,...Q,children:m})});try{n.displayName="Link",n.__docgenInfo={description:`This is an inline element and will inherit font-size, line-height and
|
|
2
2
|
font-weight from the parent context. If you need to customise any of these
|
|
3
3
|
styles, all you have to do is wrap the <Link> in a Text or TextInline
|
|
4
|
-
component.`,displayName:"Link",props:{variant:{defaultValue:null,description:"",name:"variant",required:!1,type:{name:"enum",value:[{value:'"
|
|
4
|
+
component.`,displayName:"Link",props:{variant:{defaultValue:null,description:"",name:"variant",required:!1,type:{name:"enum",value:[{value:'"neutral"'},{value:'"accentDark"'},{value:'"accentDarkInverted"'},{value:'"neutralInverted"'},{value:'"unsetColors"'}]}},href:{defaultValue:null,description:"",name:"href",required:!1,type:{name:"enum",value:[{value:"string"}]}},download:{defaultValue:null,description:`When provided, instructs the browser to download the target (the file
|
|
5
5
|
specified in the href attribute) when a user clicks on the hyperlink,
|
|
6
6
|
rather than display it in the browser.`,name:"download",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},opensInNewTab:{defaultValue:null,description:"If `true`, forces internal link to open in a new tab.",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"}]}},assistiveText:{defaultValue:null,description:"Provide an `aria-label` to the link.\nThis is useful if the link wraps non-textual elements, eg. an `img`.",name:"assistiveText",required:!1,type:{name:"enum",value:[{value:"string"}]}},onClick:{defaultValue:null,description:"",name:"onClick",required:!1,type:{name:"enum",value:[{value:"MouseEventHandler<Element>"}]}},as:{defaultValue:null,description:"",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"}]}},dataset:{defaultValue:null,description:`Provide dataset to set data attributes on the DOM element for the purpose
|
|
7
7
|
of e2e tests or integrating with external libraries.`,name:"dataset",required:!1,type:{name:"enum",value:[{value:"Dataset"}]}},inline:{defaultValue:null,description:"If `true`, allows the link to wrap within text.",name:"inline",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},noUnderline:{defaultValue:null,description:"",name:"noUnderline",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},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 | null) => void"},{value:"RefObject<HTMLAnchorElement>"}]}},key:{defaultValue:null,description:"",name:"key",required:!1,type:{name:"enum",value:[{value:"null"},{value:"string"},{value:"number"},{value:"bigint"}]}}}}}catch{}const Ie={title:"components/Link",component:n},r=()=>{const t=d(u.background.primaryInverted);return e.jsxs("div",{style:{display:"flex",gap:"16px"},children:[e.jsx(n,{href:"https://preply.com",variant:"neutral",children:"neutral"}),e.jsx("span",{style:{backgroundColor:t},children:e.jsx(n,{href:"https://preply.com",variant:"neutralInverted",children:"neutralInverted"})}),e.jsx(n,{href:"https://preply.com",variant:"accentDark",children:"accentDark"}),e.jsx("span",{style:{backgroundColor:t},children:e.jsx(n,{href:"https://preply.com",variant:"accentDarkInverted",children:"accentDarkInverted"})}),e.jsx(n,{href:"https://preply.com",variant:"unsetColors",children:"unsetColors"})]})},i=()=>{const t=d(u.background.primaryInverted);return e.jsxs("div",{style:{display:"flex",gap:"16px",flexDirection:"column"},children:[e.jsx(a,{variant:"default-regular-italic",children:"(use the `unsetColors` variant)"}),e.jsxs("div",{children:[e.jsx(a,{variant:"large-semibold-italic",children:"primary"}),e.jsx(a,{variant:"default-regular-italic",children:"normal"}),e.jsxs(a,{accent:"primary",children:["Lorem ipsum ",e.jsx(n,{variant:"unsetColors",children:"dolor sit amet"})," amet."]}),e.jsx(a,{variant:"default-regular-italic",children:"active"}),e.jsxs(a,{accent:"primary",children:["Lorem ipsum"," ",e.jsx(n,{variant:"unsetColors",dsInternalSimulation:"active",children:"dolor sit amet"})," ","amet."]})]}),e.jsxs("div",{style:{backgroundColor:t},children:[e.jsx(a,{variant:"large-semibold-italic",accent:"inverted",children:"inverted"}),e.jsx(a,{variant:"default-regular-italic",accent:"inverted",children:"normal"}),e.jsxs(a,{accent:"inverted",children:["Lorem ipsum ",e.jsx(n,{variant:"unsetColors",children:"dolor sit amet"})," amet."]}),e.jsx(a,{variant:"default-regular-italic",accent:"inverted",children:"active"}),e.jsxs(a,{accent:"inverted",children:["Lorem ipsum"," ",e.jsx(n,{variant:"unsetColors",dsInternalSimulation:"active",children:"dolor sit amet"})," ","amet."]})]}),e.jsxs("div",{children:[e.jsx(a,{variant:"large-semibold-italic",children:"positive"}),e.jsx(a,{variant:"default-regular-italic",children:"normal"}),e.jsxs(a,{accent:"positive",children:["Lorem ipsum ",e.jsx(n,{variant:"unsetColors",children:"dolor sit amet"})," amet."]}),e.jsx(a,{variant:"default-regular-italic",children:"active"}),e.jsxs(a,{accent:"positive",children:["Lorem ipsum"," ",e.jsx(n,{variant:"unsetColors",dsInternalSimulation:"active",children:"dolor sit amet"})," ","amet."]})]}),e.jsxs("div",{children:[e.jsx(a,{variant:"large-semibold-italic",children:"critical"}),e.jsx(a,{variant:"default-regular-italic",children:"normal"}),e.jsxs(a,{accent:"critical",children:["Lorem ipsum ",e.jsx(n,{variant:"unsetColors",children:"dolor sit amet"})," amet."]}),e.jsx(a,{variant:"default-regular-italic",children:"active"}),e.jsxs(a,{accent:"critical",children:["Lorem ipsum"," ",e.jsx(n,{variant:"unsetColors",dsInternalSimulation:"active",children:"dolor sit amet"})," ","amet."]})]})]})},l=()=>{const t=d(u.background.primaryInverted);return e.jsxs("div",{style:{display:"flex",gap:"16px",flexDirection:"column"},children:[e.jsx(a,{variant:"default-regular-italic",children:"normal"}),e.jsxs("div",{style:{display:"flex",gap:"16px"},children:[e.jsx(n,{href:"https://preply.com",variant:"neutral",children:"neutral"}),e.jsx("span",{style:{backgroundColor:t},children:e.jsx(n,{href:"https://preply.com",variant:"neutralInverted",children:"neutralInverted"})}),e.jsx(n,{href:"https://preply.com",variant:"accentDark",children:"accentDark"}),e.jsx("span",{style:{backgroundColor:t},children:e.jsx(n,{href:"https://preply.com",variant:"accentDarkInverted",children:"accentDarkInverted"})}),e.jsx(n,{href:"https://preply.com",variant:"unsetColors",children:"unsetColors"})]}),e.jsx(a,{variant:"default-regular-italic",children:"hover"}),e.jsxs("div",{style:{display:"flex",gap:"16px"},children:[e.jsx(n,{href:"https://preply.com",variant:"neutral",dsInternalSimulation:"hover",children:"neutral"}),e.jsx("span",{style:{backgroundColor:t},children:e.jsx(n,{href:"https://preply.com",variant:"neutralInverted",dsInternalSimulation:"hover",children:"neutralInverted"})}),e.jsx(n,{href:"https://preply.com",variant:"accentDark",dsInternalSimulation:"hover",children:"accentDark"}),e.jsx("span",{style:{backgroundColor:t},children:e.jsx(n,{href:"https://preply.com",variant:"accentDarkInverted",dsInternalSimulation:"hover",children:"accentDarkInverted"})}),e.jsx(n,{href:"https://preply.com",variant:"unsetColors",dsInternalSimulation:"hover",children:"unsetColors"})]}),e.jsx(a,{variant:"default-regular-italic",children:"active"}),e.jsxs("div",{style:{display:"flex",gap:"16px"},children:[e.jsx(n,{href:"https://preply.com",variant:"neutral",dsInternalSimulation:"active",children:"neutral"}),e.jsx("span",{style:{backgroundColor:t},children:e.jsx(n,{href:"https://preply.com",variant:"neutralInverted",dsInternalSimulation:"active",children:"neutralInverted"})}),e.jsx(n,{href:"https://preply.com",variant:"accentDark",dsInternalSimulation:"active",children:"accentDark"}),e.jsx("span",{style:{backgroundColor:t},children:e.jsx(n,{href:"https://preply.com",variant:"accentDarkInverted",dsInternalSimulation:"active",children:"accentDarkInverted"})}),e.jsx(n,{href:"https://preply.com",variant:"unsetColors",dsInternalSimulation:"active",children:"unsetColors"})]})]})},o=()=>e.jsxs("p",{style:{width:"12ch"},children:["Unlock your potential;"," ",e.jsx(n,{href:"https://preply.com",variant:"unsetColors",inline:!0,children:"visit Preply"}),"."]}),s={parameters:{chromatic:{disableSnapshot:!0}},args:{children:"Click me",href:"https://preply.com",variant:"neutral",dataset:{qaid:"link"}},argTypes:{dataset:{control:"object"},inline:{control:"boolean"},noUnderline:{control:"boolean"},opensInNewTab:{control:"boolean"},nofollow:{control:"boolean"},download:{control:"boolean"},assistiveText:{control:"text"},href:{control:"text"},url:{table:{disable:!0}}}};var g,L,I;r.parameters={...r.parameters,docs:{...(g=r.parameters)==null?void 0:g.docs,source:{originalSource:`() => {
|
|
@@ -214,7 +214,7 @@ of e2e tests or integrating with external libraries.`,name:"dataset",required:!1
|
|
|
214
214
|
</Link>
|
|
215
215
|
</div>
|
|
216
216
|
</div>;
|
|
217
|
-
}`,...(S=(_=l.parameters)==null?void 0:_.docs)==null?void 0:S.source}}};var D,w,
|
|
217
|
+
}`,...(S=(_=l.parameters)==null?void 0:_.docs)==null?void 0:S.source}}};var D,w,q;o.parameters={...o.parameters,docs:{...(D=o.parameters)==null?void 0:D.docs,source:{originalSource:`() => <p style={{
|
|
218
218
|
width: '12ch'
|
|
219
219
|
}}>
|
|
220
220
|
Unlock your potential;{' '}
|
|
@@ -222,7 +222,7 @@ of e2e tests or integrating with external libraries.`,name:"dataset",required:!1
|
|
|
222
222
|
visit Preply
|
|
223
223
|
</Link>
|
|
224
224
|
.
|
|
225
|
-
</p>`,...(
|
|
225
|
+
</p>`,...(q=(w=o.parameters)==null?void 0:w.docs)==null?void 0:q.source}}};var V,N,U;s.parameters={...s.parameters,docs:{...(V=s.parameters)==null?void 0:V.docs,source:{originalSource:`{
|
|
226
226
|
parameters: {
|
|
227
227
|
chromatic: {
|
|
228
228
|
disableSnapshot: true
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
._Loader_gqtv4_2{display:inline-flex;width:fit-content;height:fit-content}._Loader--normal_gqtv4_7{color:var(--19bcb6)}._Loader--inverted_gqtv4_10{color:var(--38413d)}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import{j as e}from"./jsx-runtime-BTJTZTIL.js";import{r as h}from"./index-Cb9e4tly.js";import{f as j}from"./filterHTMLAttributes-DYdLqcvH.js";import{S as z}from"./Spinner-
|
|
1
|
+
import{j as e}from"./jsx-runtime-BTJTZTIL.js";import{r as h}from"./index-Cb9e4tly.js";import{f as j}from"./filterHTMLAttributes-DYdLqcvH.js";import{S as z}from"./Spinner-Dsa9X0G6.js";import{m as k,b as q}from"./classNames-BUL1Zq7e.js";import{w as l}from"./componentNames-Bwls0I02.js";import{g as C}from"./index-DdzHuZ-Y.js";import{S as E}from"./consts-KAYct7Gj.js";import{g as N}from"./getTokenVar-DU_DEzTd.js";import{c as R}from"./tokens-Di5DrZN4.js";import"./index-ChsGqxH_.js";import"./_commonjsHelpers-Cpj98o6Y.js";import"./defaults-B1rzzf6M.js";import"./constants-BgBLeZzp.js";const T="_Loader_gqtv4_2",V={Loader:T,"Loader--normal":"_Loader--normal_gqtv4_7","Loader--inverted":"_Loader--inverted_gqtv4_10"},r=h.forwardRef(function({size:t,inverted:y=!1,dataset:L,..._},b){const S=k(V,l.Loader,[q("inverted","normal",y)]),x={...j(_),ref:b,className:S.join(" "),...C(L,{preplyDsComponent:l.Loader})};return e.jsx("span",{...x,children:e.jsx(z,{size:t})})});try{r.displayName="Loader",r.__docgenInfo={description:"",displayName:"Loader",props:{size:{defaultValue:null,description:"",name:"size",required:!1,type:{name:"enum",value:[{value:'"large"'},{value:'"default"'},{value:"ResponsiveProp<SpinnerSize>"}]}},inverted:{defaultValue:{value:"false"},description:"",name:"inverted",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},dataset:{defaultValue:null,description:"",name:"dataset",required:!1,type:{name:"enum",value:[{value:"Dataset"}]}},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: HTMLSpanElement | null) => void"},{value:"RefObject<HTMLSpanElement>"}]}},key:{defaultValue:null,description:"",name:"key",required:!1,type:{name:"enum",value:[{value:"null"},{value:"string"},{value:"number"},{value:"bigint"}]}}}}}catch{}const K={title:"components/Loader",component:r,argTypes:{size:{description:E}}},o=()=>e.jsxs("div",{style:{display:"flex",alignItems:"end",gap:"8px"},children:[e.jsx(r,{size:"default"}),e.jsx(r,{size:"large"})]}),n=()=>e.jsx(r,{inverted:!0});n.decorators=[a=>{const t=N(R.background.primaryInverted);return e.jsx("div",{style:{backgroundColor:t},children:a()})}];const s={parameters:{chromatic:{disableSnapshot:!0}},decorators:[(a,{args:t})=>e.jsx("div",{style:{backgroundColor:t.inverted?"black":void 0},children:a()})],args:{size:"default",inverted:!1,dataset:{qaid:"loader"}},argTypes:{dataset:{control:"object"},size:{control:"select"},inverted:{control:"boolean"}}};var d,i,c;o.parameters={...o.parameters,docs:{...(d=o.parameters)==null?void 0:d.docs,source:{originalSource:`() => <div style={{
|
|
2
2
|
display: 'flex',
|
|
3
3
|
alignItems: 'end',
|
|
4
4
|
gap: '8px'
|
|
5
5
|
}}>
|
|
6
6
|
<Loader size="default" />
|
|
7
7
|
<Loader size="large" />
|
|
8
|
-
</div>`,...(c=(i=o.parameters)==null?void 0:i.docs)==null?void 0:c.source}}};var u,p
|
|
8
|
+
</div>`,...(c=(i=o.parameters)==null?void 0:i.docs)==null?void 0:c.source}}};var u,m,p;n.parameters={...n.parameters,docs:{...(u=n.parameters)==null?void 0:u.docs,source:{originalSource:"() => <Loader inverted />",...(p=(m=n.parameters)==null?void 0:m.docs)==null?void 0:p.source}}};var f,v,g;s.parameters={...s.parameters,docs:{...(f=s.parameters)==null?void 0:f.docs,source:{originalSource:`{
|
|
9
9
|
parameters: {
|
|
10
10
|
chromatic: {
|
|
11
11
|
disableSnapshot: true
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import{j as t}from"./jsx-runtime-BTJTZTIL.js";import{r as s}from"./index-Cb9e4tly.js";import{a as u}from"./chunk-D5ZWXAHU-BhFjjRSl.js";import{e as F,u as Ce,w as xe}from"./index-BVDq5o4N.js";import{F as qe}from"./TokyoUIPhone-CvuBM6jb.js";import{B as T}from"./Button-
|
|
1
|
+
import{j as t}from"./jsx-runtime-BTJTZTIL.js";import{r as s}from"./index-Cb9e4tly.js";import{a as u}from"./chunk-D5ZWXAHU-BhFjjRSl.js";import{e as F,u as Ce,w as xe}from"./index-BVDq5o4N.js";import{F as qe}from"./TokyoUIPhone-CvuBM6jb.js";import{B as T}from"./Button-DqwK0S70.js";import{I as Ee}from"./Icon-BwwIOKM_.js";import{F as He}from"./FieldLayout-BGkL1EMg.js";import{u as Fe,I as Se,s as Ne}from"./FieldLayoutBase-DQbxDQVA.js";import{m as we}from"./classNames-BUL1Zq7e.js";import{w as m}from"./componentNames-Bwls0I02.js";import{u as Re}from"./useForcedRef--iGFM41p.js";import{u as Te}from"./useNumberField-AJNQGstL.js";import{T as ke}from"./Text-CDqVYAcD.js";import"./index-ChsGqxH_.js";import"./_commonjsHelpers-Cpj98o6Y.js";import"./v4-CtRu48qb.js";import"./render-icon-BT0Aq7PA.js";import"./ButtonBase-D31GBWHv.js";import"./Spinner-Dsa9X0G6.js";import"./defaults-B1rzzf6M.js";import"./filterHTMLAttributes-DYdLqcvH.js";import"./useHostname-Y3PlXofY.js";import"./index-DdzHuZ-Y.js";import"./index-CC6DAVyL.js";import"./text-accent-CrnHOlvW.js";import"./FieldAdditionalText-lW7Q1VGp.js";import"./constants-DL6gdbsq.js";import"./index-D1pfvbUR.js";import"./tslib.es6-BntfKcQG.js";import"./hoist-non-react-statics.cjs-C-Qo8PK8.js";import"./message-B1DLZQ1U.js";import"./text-centered-1sU8-E1D.js";const je=({onChange:e,onValueChange:a,...n},r)=>{const i=we(Ne,m.InputNumber),d=Fe(o=>o.target.value?Number(o.target.value):void 0,e,a);return t.jsx(Se,{...n,type:"number",ref:r,className:i.join(" "),onChange:d,preplyDsComponent:m.InputNumber})},N=s.forwardRef(je);try{N.displayName="InputNumber",N.__docgenInfo={description:"",displayName:"InputNumber",props:{dataset:{defaultValue:null,description:"",name:"dataset",required:!1,type:{name:"enum",value:[{value:"Dataset"}]}},id:{defaultValue:null,description:"",name:"id",required:!0,type:{name:"string"}},placeholder:{defaultValue:null,description:"",name:"placeholder",required:!1,type:{name:"enum",value:[{value:"string"}]}},disabled:{defaultValue:null,description:"",name:"disabled",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},onClick:{defaultValue:null,description:"",name:"onClick",required:!1,type:{name:"enum",value:[{value:"MouseEventHandler<Element>"}]}},required:{defaultValue:null,description:"",name:"required",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},hasError:{defaultValue:null,description:"",name:"hasError",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},"aria-describedby":{defaultValue:null,description:`Identifies the element (or elements) that describes the object.
|
|
2
2
|
@see aria-labelledby`,name:"aria-describedby",required:!1,type:{name:"enum",value:[{value:"string"}]}},"aria-disabled":{defaultValue:null,description:`Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable.
|
|
3
3
|
@see aria-hidden
|
|
4
4
|
@see aria-readonly.`,name:"aria-disabled",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"},{value:'"true"'},{value:'"false"'}]}},"aria-invalid":{defaultValue:null,description:`Indicates the entered value does not conform to the format expected by the application.
|
|
5
|
-
@see aria-errormessage.`,name:"aria-invalid",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"},{value:'"true"'},{value:'"false"'},{value:'"grammar"'},{value:'"spelling"'}]}},"aria-required":{defaultValue:null,description:"Indicates that user input is required on the element before a form may be submitted.",name:"aria-required",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"},{value:'"true"'},{value:'"false"'}]}},maxLength:{defaultValue:null,description:"",name:"maxLength",required:!1,type:{name:"enum",value:[{value:"number"}]}},name:{defaultValue:null,description:"",name:"name",required:!1,type:{name:"enum",value:[{value:"string"}]}},onChange:{defaultValue:null,description:"",name:"onChange",required:!1,type:{name:"enum",value:[{value:"ChangeEventHandler<Element>"}]}},onFocus:{defaultValue:null,description:"",name:"onFocus",required:!1,type:{name:"enum",value:[{value:"FocusEventHandler<Element>"}]}},onBlur:{defaultValue:null,description:"",name:"onBlur",required:!1,type:{name:"enum",value:[{value:"FocusEventHandler<Element>"}]}},onKeyDown:{defaultValue:null,description:"",name:"onKeyDown",required:!1,type:{name:"enum",value:[{value:"KeyboardEventHandler<Element>"}]}},onKeyUp:{defaultValue:null,description:"",name:"onKeyUp",required:!1,type:{name:"enum",value:[{value:"KeyboardEventHandler<Element>"}]}},onCopy:{defaultValue:null,description:"",name:"onCopy",required:!1,type:{name:"enum",value:[{value:"ClipboardEventHandler<Element>"}]}},onPaste:{defaultValue:null,description:"",name:"onPaste",required:!1,type:{name:"enum",value:[{value:"ClipboardEventHandler<Element>"}]}},readOnly:{defaultValue:null,description:"",name:"readOnly",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},value:{defaultValue:null,description:"",name:"value",required:!1,type:{name:"enum",value:[{value:"number"}]}},min:{defaultValue:null,description:"",name:"min",required:!1,type:{name:"enum",value:[{value:"number"}]}},max:{defaultValue:null,description:"",name:"max",required:!1,type:{name:"enum",value:[{value:"number"}]}},defaultValue:{defaultValue:null,description:"",name:"defaultValue",required:!1,type:{name:"enum",value:[{value:"number"}]}},onValueChange:{defaultValue:null,description:"",name:"onValueChange",required:!1,type:{name:"enum",value:[{value:"ValueChangeEventHandler<number | undefined>"}]}},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: InputImperativeHandle | null) => void"},{value:"RefObject<InputImperativeHandle>"}]}},key:{defaultValue:null,description:"",name:"key",required:!1,type:{name:"enum",value:[{value:"null"},{value:"string"},{value:"number"},{value:"bigint"}]}}}}}catch{}const Be="_NumberField_kx5jx_1",Pe={NumberField:Be},Le=({id:e,...a},n)=>{const r=s.useRef(null),i=Re();s.useImperativeHandle(n,()=>({setFocus:()=>{var c;return(c=r==null?void 0:r.current)==null?void 0:c.setFocus()},scrollIntoView:()=>{var c;return(c=r==null?void 0:r.current)==null?void 0:c.scrollIntoView()}}));const d=Te({id:e,...a},m.NumberField),{layoutProps:o,inputProps:S}=d,l=we(Pe,m.NumberField),Ie=t.jsx(N,{...S,ref:i});return t.jsx(He,{...o,className:l.join(" "),input:Ie,inputHandle:i.current,ref:r,preplyDsComponent:m.NumberField})},p=s.forwardRef(Le);try{p.displayName="NumberField",p.__docgenInfo={description:"By default, this field acts as a controlled field and expects the parent\ncomponent to manage the state, by reacting to user input via the `onChange` or\n`onValueChange` props, and providing the latest state via the `value` prop.\n\nAlternatively, you can use it as an uncontrolled field using the\n`defaultValue` prop instead of the `value` prop.",displayName:"NumberField",props:{id:{defaultValue:null,description:"",name:"id",required:!1,type:{name:"enum",value:[{value:"string"}]}},label:{defaultValue:null,description:"The field label. This is needed for accessibility purposes, but can be\nhidden using the `hideLabel` prop.",name:"label",required:!0,type:{name:"enum",value:[{value:"undefined"},{value:"null"},{value:"string"},{value:"number"},{value:"false"},{value:"true"},{value:"ReactElement<any, string | JSXElementConstructor<any>>"},{value:"Iterable<ReactNode>"},{value:"ReactPortal"}]}},requiredLabel:{defaultValue:null,description:"",name:"requiredLabel",required:!1,type:{name:"enum",value:[{value:"null"},{value:"string"},{value:"number"},{value:"false"},{value:"true"},{value:"ReactElement<any, string | JSXElementConstructor<any>>"},{value:"Iterable<ReactNode>"},{value:"ReactPortal"}]}},hideLabel:{defaultValue:null,description:"Use this to hide the `label` visually, but keep it in the accessibility\ntree.",name:"hideLabel",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},wrapLabel:{defaultValue:null,description:"",name:"wrapLabel",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},additionalText:{defaultValue:null,description:"",name:"additionalText",required:!1,type:{name:"enum",value:[{value:"null"},{value:"string"},{value:"number"},{value:"false"},{value:"true"},{value:"ReactElement<any, string | JSXElementConstructor<any>>"},{value:"Iterable<ReactNode>"},{value:"ReactPortal"}]}},preserveSpace:{defaultValue:null,description:"",name:"preserveSpace",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},hasError:{defaultValue:null,description:"",name:"hasError",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},errorMessage:{defaultValue:null,description:"",name:"errorMessage",required:!1,type:{name:"enum",value:[{value:"null"},{value:"string"},{value:"number"},{value:"false"},{value:"true"},{value:"ReactElement<any, string | JSXElementConstructor<any>>"},{value:"Iterable<ReactNode>"},{value:"ReactPortal"}]}},dataset:{defaultValue:null,description:"",name:"dataset",required:!1,type:{name:"enum",value:[{value:"Dataset"}]}},inputDataset:{defaultValue:null,description:"",name:"inputDataset",required:!1,type:{name:"enum",value:[{value:"Dataset"}]}},onClick:{defaultValue:null,description:"",name:"onClick",required:!1,type:{name:"enum",value:[{value:"MouseEventHandler<Element>"}]}},disabled:{defaultValue:null,description:"",name:"disabled",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},placeholder:{defaultValue:null,description:"",name:"placeholder",required:!1,type:{name:"enum",value:[{value:"string"}]}},required:{defaultValue:null,description:"",name:"required",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},maxLength:{defaultValue:null,description:"",name:"maxLength",required:!1,type:{name:"enum",value:[{value:"number"}]}},name:{defaultValue:null,description:"",name:"name",required:!1,type:{name:"enum",value:[{value:"string"}]}},value:{defaultValue:null,description:"",name:"value",required:!1,type:{name:"enum",value:[{value:"number"}]}},defaultValue:{defaultValue:null,description:"",name:"defaultValue",required:!1,type:{name:"enum",value:[{value:"number"}]}},onChange:{defaultValue:null,description:"",name:"onChange",required:!1,type:{name:"enum",value:[{value:"ChangeEventHandler<Element>"}]}},onFocus:{defaultValue:null,description:"",name:"onFocus",required:!1,type:{name:"enum",value:[{value:"FocusEventHandler<Element>"}]}},onBlur:{defaultValue:null,description:"",name:"onBlur",required:!1,type:{name:"enum",value:[{value:"FocusEventHandler<Element>"}]}},onKeyDown:{defaultValue:null,description:"",name:"onKeyDown",required:!1,type:{name:"enum",value:[{value:"KeyboardEventHandler<Element>"}]}},onKeyUp:{defaultValue:null,description:"",name:"onKeyUp",required:!1,type:{name:"enum",value:[{value:"KeyboardEventHandler<Element>"}]}},onCopy:{defaultValue:null,description:"",name:"onCopy",required:!1,type:{name:"enum",value:[{value:"ClipboardEventHandler<Element>"}]}},onPaste:{defaultValue:null,description:"",name:"onPaste",required:!1,type:{name:"enum",value:[{value:"ClipboardEventHandler<Element>"}]}},readOnly:{defaultValue:null,description:"",name:"readOnly",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},onValueChange:{defaultValue:null,description:"",name:"onValueChange",required:!1,type:{name:"enum",value:[{value:"ValueChangeEventHandler<number | undefined>"}]}},min:{defaultValue:null,description:"",name:"min",required:!1,type:{name:"enum",value:[{value:"number"}]}},max:{defaultValue:null,description:"",name:"max",required:!1,type:{name:"enum",value:[{value:"number"}]}},icon:{defaultValue:null,description:"",name:"icon",required:!1,type:{name:"enum",value:[{value:"ReactElement<IconProps, 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: InputImperativeHandle | null) => void"},{value:"RefObject<InputImperativeHandle>"}]}},key:{defaultValue:null,description:"",name:"key",required:!1,type:{name:"enum",value:[{value:"null"},{value:"string"},{value:"number"},{value:"bigint"}]}}}}}catch{}const ha={title:"components/NumberField",component:p,args:{label:"Number",placeholder:"Enter a number",inputDataset:{testid:"input"},onChange:u("onChange"),onBlur:u("onBlur"),onFocus:u("onFocus"),onClick:u("onClick"),onCopy:u("onCopy"),onKeyDown:u("onKeyDown"),onKeyUp:u("onKeyUp"),onPaste:u("onPaste"),onValueChange:u("onValueChange")},render:function(a){const n=s.useRef(null);return a.ref=n,t.jsx(p,{...a})}},v={parameters:{docs:{description:{story:"An empty field with a `label` and a `placeholder`."}}}},f={args:{defaultValue:100},play:async({canvas:e,step:a})=>{await a("Validate defaultValue",async()=>{const n=e.getByTestId("input");await F(n).toHaveValue(100)}),await a("Type to value",async()=>{const n=e.getByTestId("input");await Ce.type(n,",500"),await F(n).toHaveValue(100500)})}},y={args:{icon:t.jsx(Ee,{svg:qe})}},h={args:{additionalText:"This is additional text"}},b={args:{required:!0}},g={args:{required:!0,requiredLabel:t.jsx(ke,{accent:"critical",variant:"m-bold",children:"Needed"})}},V={args:{hideLabel:!0}},x={args:{hasError:!0}},q={args:{hasError:!0,errorMessage:"This is an error message"}},E={args:{disabled:!0}},w={args:{readOnly:!0}},I={decorators:[(e,{args:a})=>t.jsxs("div",{style:{padding:"8px",margin:"8px"},children:[t.jsxs("p",{children:["You can"," ",t.jsx(T,{variant:"secondary",dataset:{testid:"focus-button"},onClick:()=>{var n,r;return(r=(n=a.ref)==null?void 0:n.current)==null?void 0:r.setFocus()},children:"Focus"})," ","the input imperatively."]}),t.jsx(e,{})]})],play:async({args:e,canvas:a})=>{if(!R(e.ref))throw new Error("Expected ref.current to be an InputImperativeHandle");const n=a.getByTestId("input");e.ref.current.setFocus(),await xe(()=>F(n).toHaveFocus())}},C={decorators:[(e,{args:a})=>t.jsxs("div",{style:{height:"300px",overflow:"scroll",padding:"8px",margin:"8px"},children:[t.jsxs("p",{children:["You can"," ",t.jsx(T,{variant:"secondary",dataset:{testid:"scroll-button"},onClick:()=>{if(!R(a.ref))throw new Error("Expected ref.current to be an InputImperativeHandle");a.ref.current.scrollIntoView()},children:"Scroll"})," ","the input into view imperatively."]}),t.jsx("div",{style:{height:"1000px",display:"flex",flexDirection:"column",justifyContent:"end",border:"2px dashed lightgray",padding:"16px"},children:t.jsx(e,{})})]})],play:async({args:e,canvas:a})=>{if(!R(e.ref))throw new Error("Expected ref.current to be an InputImperativeHandle");const n=a.getByTestId("input");e.ref.current.scrollIntoView(),await xe(()=>F(n).toBeVisible())}};function R(e){return typeof e=="object"&&e!==null&&"current"in e&&e.current!==null&&typeof e.current=="object"&&"setFocus"in e.current}const H={tags:["!test"],parameters:{docs:{description:{story:'\nThe following code renders a `Numberfield` with the `required` flag, a `min`\nand `max` value, an `icon`, a `placeholder`, and some `additionalText`.\n\nWhen you click the "Submit" button and the input value is empty\n- it displays feedback via the `errorMessage` prop;\n- and uses the `setFocus()` API to bring the focus back to the field.\n\nIt uses the `value` and `onValueChange` props to react to the user input.\n'}},chromatic:{disableSnapshot:!0}},render:function(){const a=s.useRef(null),[n,r]=s.useState(void 0),[i,d]=s.useState(!1),o=l=>{if(l===void 0)return"Please provide a number";if(l!==Math.round(l))return"Please provide a whole number";if(l<10)return"Please book at least 10 lessons";if(l>99)return"Please book less than 100 lessons"},S=()=>{var l;d(!0),n||(l=a==null?void 0:a.current)==null||l.setFocus()};return t.jsxs("div",{style:{maxWidth:"500px",display:"flex",flexDirection:"column"},children:[t.jsx(p,{id:"lessons",name:"lessons",label:"Number of lessons",icon:t.jsx(Ee,{svg:qe}),placeholder:"How about 3?",value:n,additionalText:"These lessons will be scheduled automatically",onValueChange:r,errorMessage:i?o(n):void 0,min:10,max:99,ref:a,required:!0}),t.jsx(T,{onClick:S,children:"Submit"})]})}};var k,j,B;v.parameters={...v.parameters,docs:{...(k=v.parameters)==null?void 0:k.docs,source:{originalSource:`{
|
|
5
|
+
@see aria-errormessage.`,name:"aria-invalid",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"},{value:'"true"'},{value:'"false"'},{value:'"grammar"'},{value:'"spelling"'}]}},"aria-required":{defaultValue:null,description:"Indicates that user input is required on the element before a form may be submitted.",name:"aria-required",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"},{value:'"true"'},{value:'"false"'}]}},maxLength:{defaultValue:null,description:"",name:"maxLength",required:!1,type:{name:"enum",value:[{value:"number"}]}},name:{defaultValue:null,description:"",name:"name",required:!1,type:{name:"enum",value:[{value:"string"}]}},onChange:{defaultValue:null,description:"",name:"onChange",required:!1,type:{name:"enum",value:[{value:"ChangeEventHandler<Element>"}]}},onFocus:{defaultValue:null,description:"",name:"onFocus",required:!1,type:{name:"enum",value:[{value:"FocusEventHandler<Element>"}]}},onBlur:{defaultValue:null,description:"",name:"onBlur",required:!1,type:{name:"enum",value:[{value:"FocusEventHandler<Element>"}]}},onKeyDown:{defaultValue:null,description:"",name:"onKeyDown",required:!1,type:{name:"enum",value:[{value:"KeyboardEventHandler<Element>"}]}},onKeyUp:{defaultValue:null,description:"",name:"onKeyUp",required:!1,type:{name:"enum",value:[{value:"KeyboardEventHandler<Element>"}]}},onCopy:{defaultValue:null,description:"",name:"onCopy",required:!1,type:{name:"enum",value:[{value:"ClipboardEventHandler<Element>"}]}},onPaste:{defaultValue:null,description:"",name:"onPaste",required:!1,type:{name:"enum",value:[{value:"ClipboardEventHandler<Element>"}]}},readOnly:{defaultValue:null,description:"",name:"readOnly",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},value:{defaultValue:null,description:"",name:"value",required:!1,type:{name:"enum",value:[{value:"number"}]}},min:{defaultValue:null,description:"",name:"min",required:!1,type:{name:"enum",value:[{value:"number"}]}},max:{defaultValue:null,description:"",name:"max",required:!1,type:{name:"enum",value:[{value:"number"}]}},defaultValue:{defaultValue:null,description:"",name:"defaultValue",required:!1,type:{name:"enum",value:[{value:"number"}]}},onValueChange:{defaultValue:null,description:"",name:"onValueChange",required:!1,type:{name:"enum",value:[{value:"ValueChangeEventHandler<number | undefined>"}]}},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: InputImperativeHandle | null) => void"},{value:"RefObject<InputImperativeHandle>"}]}},key:{defaultValue:null,description:"",name:"key",required:!1,type:{name:"enum",value:[{value:"null"},{value:"string"},{value:"number"},{value:"bigint"}]}}}}}catch{}const Be="_NumberField_kx5jx_1",Pe={NumberField:Be},Le=({id:e,...a},n)=>{const r=s.useRef(null),i=Re();s.useImperativeHandle(n,()=>({setFocus:()=>{var c;return(c=r==null?void 0:r.current)==null?void 0:c.setFocus()},scrollIntoView:()=>{var c;return(c=r==null?void 0:r.current)==null?void 0:c.scrollIntoView()}}));const d=Te({id:e,...a},m.NumberField),{layoutProps:o,inputProps:S}=d,l=we(Pe,m.NumberField),Ie=t.jsx(N,{...S,ref:i});return t.jsx(He,{...o,className:l.join(" "),input:Ie,inputHandle:i.current,ref:r,preplyDsComponent:m.NumberField})},p=s.forwardRef(Le);try{p.displayName="NumberField",p.__docgenInfo={description:"By default, this field acts as a controlled field and expects the parent\ncomponent to manage the state, by reacting to user input via the `onChange` or\n`onValueChange` props, and providing the latest state via the `value` prop.\n\nAlternatively, you can use it as an uncontrolled field using the\n`defaultValue` prop instead of the `value` prop.",displayName:"NumberField",props:{id:{defaultValue:null,description:"",name:"id",required:!1,type:{name:"enum",value:[{value:"string"}]}},label:{defaultValue:null,description:"The field label. This is needed for accessibility purposes, but can be\nhidden using the `hideLabel` prop.",name:"label",required:!0,type:{name:"enum",value:[{value:"undefined"},{value:"null"},{value:"string"},{value:"number"},{value:"false"},{value:"true"},{value:"ReactElement<any, string | JSXElementConstructor<any>>"},{value:"Iterable<ReactNode>"},{value:"ReactPortal"}]}},requiredLabel:{defaultValue:null,description:"",name:"requiredLabel",required:!1,type:{name:"enum",value:[{value:"null"},{value:"string"},{value:"number"},{value:"false"},{value:"true"},{value:"ReactElement<any, string | JSXElementConstructor<any>>"},{value:"Iterable<ReactNode>"},{value:"ReactPortal"}]}},hideLabel:{defaultValue:null,description:"Use this to hide the `label` visually, but keep it in the accessibility\ntree.",name:"hideLabel",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},wrapLabel:{defaultValue:null,description:"",name:"wrapLabel",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},additionalText:{defaultValue:null,description:"",name:"additionalText",required:!1,type:{name:"enum",value:[{value:"null"},{value:"string"},{value:"number"},{value:"false"},{value:"true"},{value:"ReactElement<any, string | JSXElementConstructor<any>>"},{value:"Iterable<ReactNode>"},{value:"ReactPortal"}]}},preserveSpace:{defaultValue:null,description:"",name:"preserveSpace",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},hasError:{defaultValue:null,description:"",name:"hasError",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},errorMessage:{defaultValue:null,description:"",name:"errorMessage",required:!1,type:{name:"enum",value:[{value:"null"},{value:"string"},{value:"number"},{value:"false"},{value:"true"},{value:"ReactElement<any, string | JSXElementConstructor<any>>"},{value:"Iterable<ReactNode>"},{value:"ReactPortal"}]}},dataset:{defaultValue:null,description:"",name:"dataset",required:!1,type:{name:"enum",value:[{value:"Dataset"}]}},inputDataset:{defaultValue:null,description:"",name:"inputDataset",required:!1,type:{name:"enum",value:[{value:"Dataset"}]}},placeholder:{defaultValue:null,description:"",name:"placeholder",required:!1,type:{name:"enum",value:[{value:"string"}]}},disabled:{defaultValue:null,description:"",name:"disabled",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},onClick:{defaultValue:null,description:"",name:"onClick",required:!1,type:{name:"enum",value:[{value:"MouseEventHandler<Element>"}]}},required:{defaultValue:null,description:"",name:"required",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},min:{defaultValue:null,description:"",name:"min",required:!1,type:{name:"enum",value:[{value:"number"}]}},max:{defaultValue:null,description:"",name:"max",required:!1,type:{name:"enum",value:[{value:"number"}]}},value:{defaultValue:null,description:"",name:"value",required:!1,type:{name:"enum",value:[{value:"number"}]}},maxLength:{defaultValue:null,description:"",name:"maxLength",required:!1,type:{name:"enum",value:[{value:"number"}]}},name:{defaultValue:null,description:"",name:"name",required:!1,type:{name:"enum",value:[{value:"string"}]}},defaultValue:{defaultValue:null,description:"",name:"defaultValue",required:!1,type:{name:"enum",value:[{value:"number"}]}},onChange:{defaultValue:null,description:"",name:"onChange",required:!1,type:{name:"enum",value:[{value:"ChangeEventHandler<Element>"}]}},onFocus:{defaultValue:null,description:"",name:"onFocus",required:!1,type:{name:"enum",value:[{value:"FocusEventHandler<Element>"}]}},onBlur:{defaultValue:null,description:"",name:"onBlur",required:!1,type:{name:"enum",value:[{value:"FocusEventHandler<Element>"}]}},onKeyDown:{defaultValue:null,description:"",name:"onKeyDown",required:!1,type:{name:"enum",value:[{value:"KeyboardEventHandler<Element>"}]}},onKeyUp:{defaultValue:null,description:"",name:"onKeyUp",required:!1,type:{name:"enum",value:[{value:"KeyboardEventHandler<Element>"}]}},onCopy:{defaultValue:null,description:"",name:"onCopy",required:!1,type:{name:"enum",value:[{value:"ClipboardEventHandler<Element>"}]}},onPaste:{defaultValue:null,description:"",name:"onPaste",required:!1,type:{name:"enum",value:[{value:"ClipboardEventHandler<Element>"}]}},readOnly:{defaultValue:null,description:"",name:"readOnly",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},onValueChange:{defaultValue:null,description:"",name:"onValueChange",required:!1,type:{name:"enum",value:[{value:"ValueChangeEventHandler<number | undefined>"}]}},icon:{defaultValue:null,description:"",name:"icon",required:!1,type:{name:"enum",value:[{value:"ReactElement<IconProps, 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: InputImperativeHandle | null) => void"},{value:"RefObject<InputImperativeHandle>"}]}},key:{defaultValue:null,description:"",name:"key",required:!1,type:{name:"enum",value:[{value:"null"},{value:"string"},{value:"number"},{value:"bigint"}]}}}}}catch{}const ha={title:"components/NumberField",component:p,args:{label:"Number",placeholder:"Enter a number",inputDataset:{testid:"input"},onChange:u("onChange"),onBlur:u("onBlur"),onFocus:u("onFocus"),onClick:u("onClick"),onCopy:u("onCopy"),onKeyDown:u("onKeyDown"),onKeyUp:u("onKeyUp"),onPaste:u("onPaste"),onValueChange:u("onValueChange")},render:function(a){const n=s.useRef(null);return a.ref=n,t.jsx(p,{...a})}},v={parameters:{docs:{description:{story:"An empty field with a `label` and a `placeholder`."}}}},f={args:{defaultValue:100},play:async({canvas:e,step:a})=>{await a("Validate defaultValue",async()=>{const n=e.getByTestId("input");await F(n).toHaveValue(100)}),await a("Type to value",async()=>{const n=e.getByTestId("input");await Ce.type(n,",500"),await F(n).toHaveValue(100500)})}},y={args:{icon:t.jsx(Ee,{svg:qe})}},h={args:{additionalText:"This is additional text"}},b={args:{required:!0}},g={args:{required:!0,requiredLabel:t.jsx(ke,{accent:"critical",variant:"m-bold",children:"Needed"})}},V={args:{hideLabel:!0}},x={args:{hasError:!0}},q={args:{hasError:!0,errorMessage:"This is an error message"}},E={args:{disabled:!0}},w={args:{readOnly:!0}},I={decorators:[(e,{args:a})=>t.jsxs("div",{style:{padding:"8px",margin:"8px"},children:[t.jsxs("p",{children:["You can"," ",t.jsx(T,{variant:"secondary",dataset:{testid:"focus-button"},onClick:()=>{var n,r;return(r=(n=a.ref)==null?void 0:n.current)==null?void 0:r.setFocus()},children:"Focus"})," ","the input imperatively."]}),t.jsx(e,{})]})],play:async({args:e,canvas:a})=>{if(!R(e.ref))throw new Error("Expected ref.current to be an InputImperativeHandle");const n=a.getByTestId("input");e.ref.current.setFocus(),await xe(()=>F(n).toHaveFocus())}},C={decorators:[(e,{args:a})=>t.jsxs("div",{style:{height:"300px",overflow:"scroll",padding:"8px",margin:"8px"},children:[t.jsxs("p",{children:["You can"," ",t.jsx(T,{variant:"secondary",dataset:{testid:"scroll-button"},onClick:()=>{if(!R(a.ref))throw new Error("Expected ref.current to be an InputImperativeHandle");a.ref.current.scrollIntoView()},children:"Scroll"})," ","the input into view imperatively."]}),t.jsx("div",{style:{height:"1000px",display:"flex",flexDirection:"column",justifyContent:"end",border:"2px dashed lightgray",padding:"16px"},children:t.jsx(e,{})})]})],play:async({args:e,canvas:a})=>{if(!R(e.ref))throw new Error("Expected ref.current to be an InputImperativeHandle");const n=a.getByTestId("input");e.ref.current.scrollIntoView(),await xe(()=>F(n).toBeVisible())}};function R(e){return typeof e=="object"&&e!==null&&"current"in e&&e.current!==null&&typeof e.current=="object"&&"setFocus"in e.current}const H={tags:["!test"],parameters:{docs:{description:{story:'\nThe following code renders a `Numberfield` with the `required` flag, a `min`\nand `max` value, an `icon`, a `placeholder`, and some `additionalText`.\n\nWhen you click the "Submit" button and the input value is empty\n- it displays feedback via the `errorMessage` prop;\n- and uses the `setFocus()` API to bring the focus back to the field.\n\nIt uses the `value` and `onValueChange` props to react to the user input.\n'}},chromatic:{disableSnapshot:!0}},render:function(){const a=s.useRef(null),[n,r]=s.useState(void 0),[i,d]=s.useState(!1),o=l=>{if(l===void 0)return"Please provide a number";if(l!==Math.round(l))return"Please provide a whole number";if(l<10)return"Please book at least 10 lessons";if(l>99)return"Please book less than 100 lessons"},S=()=>{var l;d(!0),n||(l=a==null?void 0:a.current)==null||l.setFocus()};return t.jsxs("div",{style:{maxWidth:"500px",display:"flex",flexDirection:"column"},children:[t.jsx(p,{id:"lessons",name:"lessons",label:"Number of lessons",icon:t.jsx(Ee,{svg:qe}),placeholder:"How about 3?",value:n,additionalText:"These lessons will be scheduled automatically",onValueChange:r,errorMessage:i?o(n):void 0,min:10,max:99,ref:a,required:!0}),t.jsx(T,{onClick:S,children:"Submit"})]})}};var k,j,B;v.parameters={...v.parameters,docs:{...(k=v.parameters)==null?void 0:k.docs,source:{originalSource:`{
|
|
6
6
|
parameters: {
|
|
7
7
|
docs: {
|
|
8
8
|
description: {
|
|
@@ -5,4 +5,4 @@ Triggers a callback when the wrapped component intersects with the viewport.
|
|
|
5
5
|
This can be useful in several use cases. Examples:
|
|
6
6
|
|
|
7
7
|
- Track an experiment, once a certain component scrolls into view.
|
|
8
|
-
- Trigger an animation, or a feature (e.g.: onboarding instructions).`,displayName:"ObserveIntersection",props:{onIntersect:{defaultValue:null,description:"",name:"onIntersect",required:!0,type:{name:"() => void"}},once:{defaultValue:null,description:"",name:"once",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},threshold:{defaultValue:null,description:"",name:"threshold",required:!1,type:{name:"enum",value:[{value:"number"}]}},tag:{defaultValue:null,description:"",name:"tag",required:!1,type:{name:"enum",value:[{value:'"
|
|
8
|
+
- Trigger an animation, or a feature (e.g.: onboarding instructions).`,displayName:"ObserveIntersection",props:{onIntersect:{defaultValue:null,description:"",name:"onIntersect",required:!0,type:{name:"() => void"}},once:{defaultValue:null,description:"",name:"once",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},threshold:{defaultValue:null,description:"",name:"threshold",required:!1,type:{name:"enum",value:[{value:"number"}]}},tag:{defaultValue:null,description:"",name:"tag",required:!1,type:{name:"enum",value:[{value:'"div"'},{value:'"main"'},{value:'"header"'},{value:'"footer"'},{value:'"article"'},{value:'"section"'},{value:'"ul"'},{value:'"ol"'},{value:'"li"'},{value:'"p"'},{value:'"span"'},{value:'"fieldset"'},{value:'"table"'},{value:'"th"'},{value:'"tr"'},{value:'"td"'},{value:'"thead"'},{value:'"tfoot"'},{value:'"tbody"'},{value:'"caption"'},{value:'"figure"'},{value:'"figcaption"'}]}},dataset:{defaultValue:null,description:"",name:"dataset",required:!1,type:{name:"enum",value:[{value:"Dataset"}]}}}}}catch{}export{o as O};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as t}from"./jsx-runtime-BTJTZTIL.js";import{r as a}from"./index-Cb9e4tly.js";import{O as i}from"./ObserveIntersection-
|
|
1
|
+
import{j as t}from"./jsx-runtime-BTJTZTIL.js";import{r as a}from"./index-Cb9e4tly.js";import{O as i}from"./ObserveIntersection-D396wl1Z.js";import"./index-ChsGqxH_.js";import"./_commonjsHelpers-Cpj98o6Y.js";import"./index-DdzHuZ-Y.js";import"./defaults-B1rzzf6M.js";import"./componentNames-Bwls0I02.js";const g={title:"components/ObserveIntersection",component:i,parameters:{tags:["!test"],chromatic:{disableSnapshot:!0}}},e=()=>{const[o,c]=a.useState(!1);return t.jsxs("div",{tabIndex:0,style:{height:"200px",overflowY:"scroll",position:"relative"},children:[t.jsx("div",{style:{position:"sticky",top:"2px"},children:o?"Intersected":"Scroll down to intersect"}),t.jsx("div",{style:{height:"400px",display:"flex",alignItems:"end"},children:t.jsx(i,{onIntersect:()=>c(!0),children:"Observer"})})]})};e.storyName="ObserveIntersection";var s,n,r;e.parameters={...e.parameters,docs:{...(s=e.parameters)==null?void 0:s.docs,source:{originalSource:`() => {
|
|
2
2
|
const [isIntersecting, setIsIntersecting] = useState(false);
|
|
3
3
|
return (
|
|
4
4
|
// eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex -- This element is interactive; it's scrollable.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as a}from"./jsx-runtime-BTJTZTIL.js";import{r as n}from"./index-Cb9e4tly.js";import{R,A as
|
|
1
|
+
import{j as a}from"./jsx-runtime-BTJTZTIL.js";import{r as n}from"./index-Cb9e4tly.js";import{R as x,A as R,P as V,C as q,a as O,b as N}from"./index-DSa6qU7h.js";import{F as E}from"./TokyoUIClose-thK8sk63.js";import{I as k}from"./Icon-BwwIOKM_.js";import{T as P}from"./Text-CDqVYAcD.js";import{B as j}from"./Button-DqwK0S70.js";import{H as T}from"./Heading-CifnBvGj.js";import{u as S}from"./index-D1pfvbUR.js";import{g as D}from"./shared-strings-Biv7UF3M.js";import{i as L}from"./PortalElementProvider-DidBkzFe.js";import{g as M}from"./index-DdzHuZ-Y.js";import{w as H}from"./componentNames-Bwls0I02.js";import{M as J}from"./message-B1DLZQ1U.js";const X="_content_f6xah_2",B="_header_f6xah_23",U="_close_f6xah_29",A="_footer_f6xah_43",F="_arrow_f6xah_49",o={content:X,header:B,close:U,footer:A,arrow:F},G=e=>{e.scrollIntoViewIfNeeded?e.scrollIntoViewIfNeeded(!1):e.scrollIntoView({behavior:"auto",block:"nearest",inline:"nearest"})},m=({open:e,onOpenChange:i,disabled:r,title:u,text:s,children:t,side:l,dataset:h,actionLabel:b=a.jsx(J,{id:"preply-ds.onboardingTooltip.actionLabel",defaultMessage:"Got it",description:"Default onboarding tooltip action label. Used to acknowledge and close the tooltip."}),actionOnClick:g,actionHref:y,counter:C,autoScroll:f=!0})=>{const{formatMessage:I}=S(),_=L(),v=n.useId(),w=n.useId(),d=n.useId(),c=n.useRef(null);return n.useEffect(()=>{e&&c.current&&f&&G(c.current)},[f,e]),r?t:a.jsxs(x,{open:e,onOpenChange:i,children:[a.jsx(R,{ref:c,id:d,asChild:!0,children:t}),a.jsx(V,{container:_,children:a.jsxs(q,{side:l,className:o.content,"aria-labelledby":v,"aria-describedby":`${d} ${w}`,...M(h,{preplyDsComponent:H.OnboardingTooltip}),children:[a.jsxs("div",{className:o.header,children:[a.jsx(O,{className:o.close,"aria-label":I(D.close),"data-testid":"close",children:a.jsx(k,{accent:"inverted",svg:E})}),a.jsx(T,{tag:"h1",variant:"small",accent:"inverted",id:v,"aria-describedby":d,children:u})]}),a.jsx(P,{variant:"default-regular",accent:"inverted",children:s}),a.jsxs("div",{className:o.footer,children:[C,a.jsx(j,{variant:"inverted",size:"small",onClick:g,href:y,dataset:{testid:"action"},wrap:!0,children:b})]}),a.jsx(N,{"aria-hidden":!0,className:o.arrow,width:18,height:11})]})})]})},p=e=>{const[i,r]=n.useState(!0),u=t=>{var l;t||(l=e.onClose)==null||l.call(e),r(t)},s=()=>{var t,l;(t=e.actionOnClick)==null||t.call(e),r(!1),(l=e.onClose)==null||l.call(e)};return a.jsx(m,{...e,open:i,onOpenChange:u,actionOnClick:s})};try{m.displayName="InternalOnboardingTooltip",m.__docgenInfo={description:"",displayName:"InternalOnboardingTooltip",props:{title:{defaultValue:null,description:"",name:"title",required:!0,type:{name:"enum",value:[{value:"undefined"},{value:"null"},{value:"string"},{value:"number"},{value:"false"},{value:"true"},{value:"ReactElement<any, string | JSXElementConstructor<any>>"},{value:"Iterable<ReactNode>"},{value:"ReactPortal"}]}},text:{defaultValue:null,description:"",name:"text",required:!0,type:{name:"enum",value:[{value:"undefined"},{value:"null"},{value:"string"},{value:"number"},{value:"false"},{value:"true"},{value:"ReactElement<any, string | JSXElementConstructor<any>>"},{value:"Iterable<ReactNode>"},{value:"ReactPortal"}]}},disabled:{defaultValue:null,description:"Disables tooltip completely",name:"disabled",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},onClose:{defaultValue:null,description:"Called when the tooltip is closed",name:"onClose",required:!1,type:{name:"enum",value:[{value:"() => void"}]}},actionLabel:{defaultValue:{value:`(
|
|
2
2
|
<FormattedMessage
|
|
3
3
|
id="preply-ds.onboardingTooltip.actionLabel"
|
|
4
4
|
defaultMessage="Got it"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
._content_f6xah_2{background-color:var(--79dffb);border-radius:var(--fa4b1a);padding:var(--558c4c);box-shadow:var(--df7dbb);width:304px;display:flex;flex-direction:column;gap:var(--813599);z-index:var(--preply-ds-onboarding-tooltip-z-index);animation-duration:.15s;animation-timing-function:cubic-bezier(.25,0,.5,1.3);transform-origin:var(--radix-popover-content-transform-origin);will-change:transform,opacity}._content_f6xah_2[data-state=open]{animation-name:_appear_f6xah_1}._content_f6xah_2[data-state=closed]{animation-name:_disappear_f6xah_1}._header_f6xah_23{display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:flex-start}._close_f6xah_29{background:none;border:none;border-radius:var(--5e8be4);padding:0;margin:0;cursor:pointer}._close_f6xah_29:focus-visible{outline-style:solid;outline-color:var(--603ec6);outline-width:var(--99d31f);outline-offset:var(--c0b12c)}._footer_f6xah_43{display:flex;justify-content:flex-end;gap:var(--813599);align-items:center}._arrow_f6xah_49{fill:var(--79dffb)}@keyframes _appear_f6xah_1{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes _disappear_f6xah_1{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(0)}}
|
package/dist/assets/{OnboardingTooltip.stories-YGWZh7wP.js → OnboardingTooltip.stories-DnfLcLUg.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as e}from"./jsx-runtime-BTJTZTIL.js";import{O as u}from"./OnboardingTooltip-
|
|
1
|
+
import{j as e}from"./jsx-runtime-BTJTZTIL.js";import{O as u}from"./OnboardingTooltip-IYSphueI.js";import{I as g}from"./IconButton-CI9clg4P.js";import{F as x}from"./TokyoUIFav-DOVerCtW.js";import"./index-ChsGqxH_.js";import"./index-Cb9e4tly.js";import"./_commonjsHelpers-Cpj98o6Y.js";import"./index-DSa6qU7h.js";import"./PortalElementProvider-DidBkzFe.js";import"./index-BPrLDK9Y.js";import"./index-C7hTFOIV.js";import"./index-B-5rsJjr.js";import"./tslib.es6-BntfKcQG.js";import"./index-B77PBZuV.js";import"./TokyoUIClose-thK8sk63.js";import"./Icon-BwwIOKM_.js";import"./text-accent-CrnHOlvW.js";import"./classNames-BUL1Zq7e.js";import"./filterHTMLAttributes-DYdLqcvH.js";import"./render-icon-BT0Aq7PA.js";import"./componentNames-Bwls0I02.js";import"./index-DdzHuZ-Y.js";import"./defaults-B1rzzf6M.js";import"./Text-CDqVYAcD.js";import"./text-centered-1sU8-E1D.js";import"./Button-DqwK0S70.js";import"./ButtonBase-D31GBWHv.js";import"./Spinner-Dsa9X0G6.js";import"./useHostname-Y3PlXofY.js";import"./index-CC6DAVyL.js";import"./Heading-CifnBvGj.js";import"./index-D1pfvbUR.js";import"./hoist-non-react-statics.cjs-C-Qo8PK8.js";import"./shared-strings-Biv7UF3M.js";import"./message-B1DLZQ1U.js";const ee={title:"Components/OnboardingTooltip",component:u,parameters:{docs:{story:{inline:!1,height:250},description:{component:"Are you looking for a step-by-step tour? Check out [OnboardingTour](/docs/components-onboardingtour--docs)"}},a11y:{config:{rules:[{id:"color-contrast",enabled:!1}]}}},decorators:[t=>e.jsx("div",{style:{margin:"auto",width:"max-content"},children:t()})]},f=t=>[!1,!1],h=t=>a=>{},o=()=>{const[t,a]=f(),v=h();return e.jsx(u,{title:"New Feature Available!",text:"We've added an exciting new feature to enhance your experience.",disabled:a||t,onClose:()=>v(!0),children:e.jsx(g,{variant:"ghost",svg:e.jsx(x,{}),assistiveText:"Favorite"})})};o.storyName="OnboardingTooltip";const r={tags:["!autodocs"],args:{title:"New Feature Available!",text:"We've added an exciting new feature to enhance your experience.",disabled:!1,onClose:()=>{},children:e.jsx(g,{variant:"ghost",svg:e.jsx(x,{}),assistiveText:"Favorite"})},argTypes:{title:{control:"text"},text:{control:"text"},actionLabel:{control:"text"},actionOnClick:{control:!1},actionHref:{control:"text"},disabled:{control:"boolean"},dataset:{control:"object"},onClose:{control:!1},children:{control:!1}},parameters:{docs:{story:{height:450}},chromatic:{disableSnapshot:!0}},decorators:[t=>e.jsx("div",{style:{minHeight:"100vh",display:"flex"},children:e.jsx("div",{style:{margin:"auto",width:"max-content"},children:t()})})]};var i,n,s,l,c;o.parameters={...o.parameters,docs:{...(i=o.parameters)==null?void 0:i.docs,source:{originalSource:`() => {
|
|
2
2
|
const [wasTooltipSeen, loading] = useIsFeatureActive('new-feature');
|
|
3
3
|
const setTooltipSeen = useToggleFeature('new-feature');
|
|
4
4
|
return <OnboardingTooltip title="New Feature Available!" text="We've added an exciting new feature to enhance your experience." disabled={loading || wasTooltipSeen} onClose={() => setTooltipSeen(true)}>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as c}from"./jsx-runtime-BTJTZTIL.js";import{O as b}from"./OnboardingTooltip-
|
|
1
|
+
import{j as c}from"./jsx-runtime-BTJTZTIL.js";import{O as b}from"./OnboardingTooltip-IYSphueI.js";import{I as T}from"./IconButton-CI9clg4P.js";import{F as g}from"./TokyoUIFav-DOVerCtW.js";import{a as s,w as r,e as p,u as v}from"./index-BVDq5o4N.js";import"./index-ChsGqxH_.js";import"./index-Cb9e4tly.js";import"./_commonjsHelpers-Cpj98o6Y.js";import"./index-DSa6qU7h.js";import"./PortalElementProvider-DidBkzFe.js";import"./index-BPrLDK9Y.js";import"./index-C7hTFOIV.js";import"./index-B-5rsJjr.js";import"./tslib.es6-BntfKcQG.js";import"./index-B77PBZuV.js";import"./TokyoUIClose-thK8sk63.js";import"./Icon-BwwIOKM_.js";import"./text-accent-CrnHOlvW.js";import"./classNames-BUL1Zq7e.js";import"./filterHTMLAttributes-DYdLqcvH.js";import"./render-icon-BT0Aq7PA.js";import"./componentNames-Bwls0I02.js";import"./index-DdzHuZ-Y.js";import"./defaults-B1rzzf6M.js";import"./Text-CDqVYAcD.js";import"./text-centered-1sU8-E1D.js";import"./Button-DqwK0S70.js";import"./ButtonBase-D31GBWHv.js";import"./Spinner-Dsa9X0G6.js";import"./useHostname-Y3PlXofY.js";import"./index-CC6DAVyL.js";import"./Heading-CifnBvGj.js";import"./index-D1pfvbUR.js";import"./hoist-non-react-statics.cjs-C-Qo8PK8.js";import"./shared-strings-Biv7UF3M.js";import"./message-B1DLZQ1U.js";const et={title:"Components/OnboardingTooltip/Tests",component:b,parameters:{layout:"centered",controls:{disable:!0},chromatic:{disableSnapshot:!0}},tags:["!autodocs","!a11y-test","test"],decorators:[e=>c.jsx("div",{style:{margin:"100px 0"},children:e()})],args:{title:"Title",text:"Body text",actionLabel:"Action label",disabled:!1,onClose:()=>{},dataset:{testid:"tooltip"},children:c.jsx(T,{svg:c.jsx(g,{}),assistiveText:"Favorite"})}},n={play:async({canvasElement:e,step:o})=>{const i=s(e);await o("wait for tooltip to be visible",async()=>{await r(()=>{const t=i.getByTestId("tooltip");return p(t).toBeVisible()})}),await o("close the tooltip",()=>{const l=s(i.getByTestId("tooltip")).getByTestId("close");return v.click(l)}),await o("wait for tooltip to be hidden",async()=>{await r(()=>{const t=i.queryByTestId("tooltip");return p(t).toBeNull()})})}},a={play:async({canvasElement:e,step:o})=>{const i=s(e);await o("wait for tooltip to be visible",async()=>{await r(()=>{const t=i.getByTestId("tooltip");return p(t).toBeVisible()})}),await o("close the tooltip",()=>{const l=s(i.getByTestId("tooltip")).getByTestId("action");return v.click(l)}),await o("wait for tooltip to be hidden",async()=>{await r(()=>{const t=i.queryByTestId("tooltip");return p(t).toBeNull()})})}};var m,d,u;n.parameters={...n.parameters,docs:{...(m=n.parameters)==null?void 0:m.docs,source:{originalSource:`{
|
|
2
2
|
play: async ({
|
|
3
3
|
canvasElement,
|
|
4
4
|
step
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as o}from"./jsx-runtime-BTJTZTIL.js";import{r as
|
|
1
|
+
import{j as o}from"./jsx-runtime-BTJTZTIL.js";import{r as l}from"./index-Cb9e4tly.js";import{I as T}from"./OnboardingTooltip-IYSphueI.js";import"./index-D1pfvbUR.js";import{M as f}from"./message-B1DLZQ1U.js";const _="_counter_1uksi_2",j={counter:_},v=({totalSteps:n,nextActionLabel:e=o.jsx(f,{id:"preply-ds.onboardingTour.nextActionLabel",defaultMessage:"Next",description:"Onboarding tour next action label"}),completeActionLabel:a=o.jsx(f,{id:"preply-ds.onboardingTour.completeActionLabel",defaultMessage:"Got it",description:"Onboarding tour complete action label"}),onClose:t,onComplete:r,onStepChange:i,disabled:s,children:p,ctx:x})=>{const[b,u]=l.useState(!0),[d,g]=l.useState(0),c={totalSteps:n,nextActionLabel:e,completeActionLabel:a,onClose:()=>{u(!1),t==null||t()},active:!s&&b,currentStep:d,onActionClick:()=>{if(d===n-1)r==null||r(),u(!1);else{const h=d+1;g(h),i==null||i(h)}}};return o.jsx(x.Provider,{value:c,children:p})},A=({ctx:n,...e})=>{const a=l.useContext(n);if(!a)throw new Error("OnboardingTourContext not found");const{currentStep:t,totalSteps:r,onActionClick:i,onClose:s,active:p,nextActionLabel:x,completeActionLabel:b}=a,u=e.step===r-1,d=e.step===t,g=u?b:x,m=()=>{var c;(c=e.actionOnClick)==null||c.call(e),i()},O=c=>{c||s==null||s()};return o.jsx(T,{...e,counter:o.jsx("p",{className:j.counter,children:o.jsx(f,{id:"preply-ds.onboardingTour.counter",defaultMessage:"{currentStep} of {totalSteps}",description:"Onboarding tour step counter, e.g. '1 of 3'",values:{currentStep:t+1,totalSteps:r}})}),open:p&&d,onOpenChange:O,actionLabel:g,actionOnClick:m})},S=()=>{const n=l.createContext(null);return{Provider:t=>o.jsx(v,{...t,ctx:n}),Step:t=>o.jsx(A,{...t,ctx:n})}};try{S.displayName="createOnboardingTour",S.__docgenInfo={description:`Creates a new onboarding tour.
|
|
2
2
|
|
|
3
3
|
This factory pattern allows multiple independent tours to be nested within each other
|
|
4
4
|
without context conflicts, as each tour maintains its own separate context and state.`,displayName:"createOnboardingTour",props:{}}}catch{}export{S as c};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
._counter_1uksi_2{flex:1;min-width:max-content;color:var(--a924f9);font-size:var(--f7d879);font-weight:var(--87a7e3);line-height:var(--1cb31f)}
|
package/dist/assets/{OnboardingTour.stories-BXsH2xpO.js → OnboardingTour.stories-BUBpjiez.js}
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import{j as e}from"./jsx-runtime-BTJTZTIL.js";import{r as b}from"./index-Cb9e4tly.js";import{c as x}from"./OnboardingTour-
|
|
1
|
+
import{j as e}from"./jsx-runtime-BTJTZTIL.js";import{r as b}from"./index-Cb9e4tly.js";import{c as x}from"./OnboardingTour-2YaW_XWj.js";import{T as n}from"./Text-CDqVYAcD.js";import{L as y}from"./LayoutFlex-CaenMVBF.js";import"./index-ChsGqxH_.js";import"./_commonjsHelpers-Cpj98o6Y.js";import"./OnboardingTooltip-IYSphueI.js";import"./index-DSa6qU7h.js";import"./PortalElementProvider-DidBkzFe.js";import"./index-BPrLDK9Y.js";import"./index-C7hTFOIV.js";import"./index-B-5rsJjr.js";import"./tslib.es6-BntfKcQG.js";import"./index-B77PBZuV.js";import"./TokyoUIClose-thK8sk63.js";import"./Icon-BwwIOKM_.js";import"./text-accent-CrnHOlvW.js";import"./classNames-BUL1Zq7e.js";import"./filterHTMLAttributes-DYdLqcvH.js";import"./render-icon-BT0Aq7PA.js";import"./componentNames-Bwls0I02.js";import"./index-DdzHuZ-Y.js";import"./defaults-B1rzzf6M.js";import"./Button-DqwK0S70.js";import"./ButtonBase-D31GBWHv.js";import"./Spinner-Dsa9X0G6.js";import"./useHostname-Y3PlXofY.js";import"./index-CC6DAVyL.js";import"./Heading-CifnBvGj.js";import"./text-centered-1sU8-E1D.js";import"./index-D1pfvbUR.js";import"./hoist-non-react-statics.cjs-C-Qo8PK8.js";import"./shared-strings-Biv7UF3M.js";import"./message-B1DLZQ1U.js";import"./layout-relative.module-Bf3FithH.js";const l=t=>null,s=t=>null;try{l.displayName="OnboardingTourProvider",l.__docgenInfo={description:`For some reason, storybook fails to render arg tables for the components
|
|
2
2
|
when they're created with the \`createOnboardingTour\` function.
|
|
3
3
|
|
|
4
4
|
As a workaround, we're manually defining fake components with the same
|
|
5
|
-
props as originals just for props parsing ¯\\_(ツ)_/¯`,displayName:"OnboardingTourProvider",props:{totalSteps:{defaultValue:null,description:"Total number of steps in the tour",name:"totalSteps",required:!0,type:{name:"number"}},nextActionLabel:{defaultValue:{value:'"Next"'},description:'Label for the "Next" action button',name:"nextActionLabel",required:!1,type:{name:"enum",value:[{value:"null"},{value:"string"},{value:"number"},{value:"false"},{value:"true"},{value:"ReactElement<any, string | JSXElementConstructor<any>>"},{value:"Iterable<ReactNode>"},{value:"ReactPortal"}]}},completeActionLabel:{defaultValue:{value:'"Got it"'},description:'Label for the "Complete" action button',name:"completeActionLabel",required:!1,type:{name:"enum",value:[{value:"null"},{value:"string"},{value:"number"},{value:"false"},{value:"true"},{value:"ReactElement<any, string | JSXElementConstructor<any>>"},{value:"Iterable<ReactNode>"},{value:"ReactPortal"}]}},disabled:{defaultValue:null,description:"Whether the tour is disabled",name:"disabled",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},onClose:{defaultValue:null,description:"Called when the tour is closed",name:"onClose",required:!1,type:{name:"enum",value:[{value:"() => void"}]}},onComplete:{defaultValue:null,description:"Called when the tour is completed",name:"onComplete",required:!1,type:{name:"enum",value:[{value:"() => void"}]}},onStepChange:{defaultValue:null,description:"Called when the current step index changes",name:"onStepChange",required:!1,type:{name:"enum",value:[{value:"(step: number) => void"}]}}}}}catch{}try{s.displayName="OnboardingTourStep",s.__docgenInfo={description:"",displayName:"OnboardingTourStep",props:{dataset:{defaultValue:null,description:"",name:"dataset",required:!1,type:{name:"enum",value:[{value:"Dataset"}]}},title:{defaultValue:null,description:"",name:"title",required:!0,type:{name:"enum",value:[{value:"undefined"},{value:"null"},{value:"string"},{value:"number"},{value:"false"},{value:"true"},{value:"ReactElement<any, string | JSXElementConstructor<any>>"},{value:"Iterable<ReactNode>"},{value:"ReactPortal"}]}},text:{defaultValue:null,description:"",name:"text",required:!0,type:{name:"enum",value:[{value:"undefined"},{value:"null"},{value:"string"},{value:"number"},{value:"false"},{value:"true"},{value:"ReactElement<any, string | JSXElementConstructor<any>>"},{value:"Iterable<ReactNode>"},{value:"ReactPortal"}]}},
|
|
5
|
+
props as originals just for props parsing ¯\\_(ツ)_/¯`,displayName:"OnboardingTourProvider",props:{totalSteps:{defaultValue:null,description:"Total number of steps in the tour",name:"totalSteps",required:!0,type:{name:"number"}},nextActionLabel:{defaultValue:{value:'"Next"'},description:'Label for the "Next" action button',name:"nextActionLabel",required:!1,type:{name:"enum",value:[{value:"null"},{value:"string"},{value:"number"},{value:"false"},{value:"true"},{value:"ReactElement<any, string | JSXElementConstructor<any>>"},{value:"Iterable<ReactNode>"},{value:"ReactPortal"}]}},completeActionLabel:{defaultValue:{value:'"Got it"'},description:'Label for the "Complete" action button',name:"completeActionLabel",required:!1,type:{name:"enum",value:[{value:"null"},{value:"string"},{value:"number"},{value:"false"},{value:"true"},{value:"ReactElement<any, string | JSXElementConstructor<any>>"},{value:"Iterable<ReactNode>"},{value:"ReactPortal"}]}},disabled:{defaultValue:null,description:"Whether the tour is disabled",name:"disabled",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},onClose:{defaultValue:null,description:"Called when the tour is closed",name:"onClose",required:!1,type:{name:"enum",value:[{value:"() => void"}]}},onComplete:{defaultValue:null,description:"Called when the tour is completed",name:"onComplete",required:!1,type:{name:"enum",value:[{value:"() => void"}]}},onStepChange:{defaultValue:null,description:"Called when the current step index changes",name:"onStepChange",required:!1,type:{name:"enum",value:[{value:"(step: number) => void"}]}}}}}catch{}try{s.displayName="OnboardingTourStep",s.__docgenInfo={description:"",displayName:"OnboardingTourStep",props:{dataset:{defaultValue:null,description:"",name:"dataset",required:!1,type:{name:"enum",value:[{value:"Dataset"}]}},title:{defaultValue:null,description:"",name:"title",required:!0,type:{name:"enum",value:[{value:"undefined"},{value:"null"},{value:"string"},{value:"number"},{value:"false"},{value:"true"},{value:"ReactElement<any, string | JSXElementConstructor<any>>"},{value:"Iterable<ReactNode>"},{value:"ReactPortal"}]}},text:{defaultValue:null,description:"",name:"text",required:!0,type:{name:"enum",value:[{value:"undefined"},{value:"null"},{value:"string"},{value:"number"},{value:"false"},{value:"true"},{value:"ReactElement<any, string | JSXElementConstructor<any>>"},{value:"Iterable<ReactNode>"},{value:"ReactPortal"}]}},side:{defaultValue:null,description:"Preferred side of the tooltip to appear from. Use if default side might block important content.",name:"side",required:!1,type:{name:"enum",value:[{value:'"top"'},{value:'"right"'},{value:'"bottom"'},{value:'"left"'}]}},actionOnClick:{defaultValue:null,description:"By default, the action button closes the tooltip.\n\nProvide `actionOnClick` to also perform other action.",name:"actionOnClick",required:!1,type:{name:"enum",value:[{value:"() => void"}]}},autoScroll:{defaultValue:{value:"true"},description:"If true, the tooltip will automatically scroll into view when it is opened.",name:"autoScroll",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},step:{defaultValue:null,description:"Zero-based step index",name:"step",required:!0,type:{name:"number"}}}}}catch{}const o=x(),le={title:"Components/OnboardingTour",component:l,subcomponents:{OnboardingTourStep:s},parameters:{docs:{story:{inline:!1,height:250},description:{component:"Are you looking for a tooltip to highlight single element? Check out [OnboardingTooltip](/docs/components-onboardingtooltip--docs)"}},a11y:{config:{rules:[{id:"color-contrast",enabled:!1}]}}},decorators:[t=>e.jsx("div",{style:{margin:"auto",width:"max-content"},children:t()})]},C=t=>[!1,!1],j=t=>i=>{},r=()=>{const[t,i]=C(),T=j();return e.jsxs(o.Provider,{totalSteps:3,disabled:i||t,onComplete:()=>T(!0),children:[e.jsx("div",{style:{height:250},children:e.jsx(o.Step,{step:0,title:"Step 1",text:"This is the first step of the onboarding tour.",children:e.jsx(n,{children:"Step 1"})})}),e.jsx("div",{style:{height:250},children:e.jsx(o.Step,{step:1,title:"Step 2",text:"This is the second step of the onboarding tour.",children:e.jsx(n,{children:"Step 2"})})}),e.jsx("div",{style:{height:250},children:e.jsx(o.Step,{step:2,title:"Step 3",text:"This is the final step of the onboarding tour.",children:e.jsx(n,{children:"Step 3"})})})]})};r.storyName="OnboardingTour";const a=()=>{const[t,i]=b.useState(!0);return e.jsx(o.Provider,{totalSteps:3,children:e.jsxs(y,{gap:"12",children:[e.jsx(o.Step,{step:0,title:"First step",text:"This is the first step of the onboarding tour.",children:e.jsx(n,{children:"Step 1"})}),e.jsx(o.Step,{step:1,title:"Second step",text:"This is the second step of the onboarding tour.",actionOnClick:()=>i(!1),children:e.jsx(n,{children:"Step 2"})}),!t&&e.jsx(o.Step,{step:2,title:"Final step",text:"This is the final step of the onboarding tour.",children:e.jsx(n,{children:"Step 3 (I was hidden)"})})]})})};var u,p,d,c,m;r.parameters={...r.parameters,docs:{...(u=r.parameters)==null?void 0:u.docs,source:{originalSource:`() => {
|
|
6
6
|
const [wasTourCompleted, loading] = useIsFeatureActive('my-tour');
|
|
7
7
|
const setTourCompleted = useToggleFeature('my-tour');
|
|
8
8
|
return <Tour.Provider totalSteps={3} disabled={loading || wasTourCompleted} onComplete={() => setTourCompleted(true)}>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{j as e}from"./jsx-runtime-BTJTZTIL.js";import{r as g}from"./index-Cb9e4tly.js";import{c as h}from"./OnboardingTour-
|
|
1
|
+
import{j as e}from"./jsx-runtime-BTJTZTIL.js";import{r as g}from"./index-Cb9e4tly.js";import{c as h}from"./OnboardingTour-2YaW_XWj.js";import{T}from"./Text-CDqVYAcD.js";import{B as S}from"./Button-DqwK0S70.js";import{f as m,a as p,w as c,e as n,u as l}from"./index-BVDq5o4N.js";import{L as V}from"./LayoutFlex-CaenMVBF.js";import"./index-ChsGqxH_.js";import"./_commonjsHelpers-Cpj98o6Y.js";import"./OnboardingTooltip-IYSphueI.js";import"./index-DSa6qU7h.js";import"./PortalElementProvider-DidBkzFe.js";import"./index-BPrLDK9Y.js";import"./index-C7hTFOIV.js";import"./index-B-5rsJjr.js";import"./tslib.es6-BntfKcQG.js";import"./index-B77PBZuV.js";import"./TokyoUIClose-thK8sk63.js";import"./Icon-BwwIOKM_.js";import"./text-accent-CrnHOlvW.js";import"./classNames-BUL1Zq7e.js";import"./filterHTMLAttributes-DYdLqcvH.js";import"./render-icon-BT0Aq7PA.js";import"./componentNames-Bwls0I02.js";import"./index-DdzHuZ-Y.js";import"./defaults-B1rzzf6M.js";import"./Heading-CifnBvGj.js";import"./text-centered-1sU8-E1D.js";import"./index-D1pfvbUR.js";import"./hoist-non-react-statics.cjs-C-Qo8PK8.js";import"./shared-strings-Biv7UF3M.js";import"./message-B1DLZQ1U.js";import"./ButtonBase-D31GBWHv.js";import"./Spinner-Dsa9X0G6.js";import"./useHostname-Y3PlXofY.js";import"./index-CC6DAVyL.js";import"./layout-relative.module-Bf3FithH.js";const d=h(),vt={title:"Components/OnboardingTour/Tests",parameters:{layout:"centered",controls:{disable:!0},chromatic:{disableSnapshot:!0}},tags:["!autodocs","!a11y-test","test"],decorators:[i=>e.jsx("div",{style:{margin:"100px 0"},children:i()})],args:{onComplete:m(),onClose:m(),onStepChange:m()}},y={render:({onComplete:i,onStepChange:s})=>e.jsx(d.Provider,{totalSteps:3,nextActionLabel:"Next",completeActionLabel:"Got it",onComplete:i,onStepChange:s,children:e.jsxs(V,{gap:"24",direction:"column",children:[e.jsx(d.Step,{step:0,title:"Title",text:"Text",dataset:{testid:"step-1"},children:e.jsx(T,{children:"Step 1 Content"})}),e.jsx(d.Step,{step:1,title:"Title",text:"Text",dataset:{testid:"step-2"},children:e.jsx(T,{children:"Step 2 Content"})}),e.jsx(d.Step,{step:2,title:"Title",text:"Text",dataset:{testid:"step-3"},children:e.jsx(T,{children:"Step 3 Content"})})]})}),play:async({canvasElement:i,step:s,args:t})=>{const a=p(i);await s("First step should be visible initially",async()=>{await c(()=>{const o=a.getByTestId("step-1");n(o).toBeVisible()})}),await s("Click Next to advance to second step",async()=>{const r=p(a.getByTestId("step-1")).getByTestId("action");await l.click(r),await c(()=>{const u=a.getByTestId("step-2");n(u).toBeVisible(),n(t.onStepChange).toHaveBeenCalledWith(1)})}),await s("Click Next to advance to final step",async()=>{const r=p(a.getByTestId("step-2")).getByTestId("action");await l.click(r),await c(()=>{const u=a.getByTestId("step-3");n(u).toBeVisible(),n(t.onStepChange).toHaveBeenCalledWith(2)})}),await s("Complete tour",async()=>{const r=p(a.getByTestId("step-3")).getByTestId("action");await l.click(r),await c(()=>{const u=a.queryByTestId("step",{exact:!1});n(u).toBeNull(),n(t.onComplete).toHaveBeenCalled()})})}},x={render:({onClose:i})=>e.jsx(d.Provider,{totalSteps:2,nextActionLabel:"Next",completeActionLabel:"Got it",onClose:i,children:e.jsx(d.Step,{step:0,title:"First step",text:"Try closing this step",dataset:{testid:"step-1"},children:e.jsx(T,{children:"Step 1 Content"})})}),play:async({canvasElement:i,step:s})=>{const t=p(i);await s("Step should be initially visible",async()=>{await c(()=>{const a=t.getByTestId("step-1");n(a).toBeVisible()})}),await s("Click close button to close tour",async({args:a})=>{const r=p(t.getByTestId("step-1")).getByTestId("close");await l.click(r),await c(()=>{const u=t.queryByTestId("step",{exact:!1});n(u).toBeNull(),n(a.onClose).toHaveBeenCalled()})})}},B={render:function(){const[s,t]=g.useState(!0);return e.jsxs(V,{gap:"24",direction:"column",children:[e.jsx(S,{onClick:()=>t(!s),dataset:{testid:"toggle-button"},children:s?"Enable Tour":"Disable Tour"}),e.jsx(d.Provider,{totalSteps:2,nextActionLabel:"Next",completeActionLabel:"Got it",disabled:s,children:e.jsx(d.Step,{step:0,title:"First step",text:"This step should be hidden when disabled",dataset:{testid:"step-1"},children:e.jsx(T,{children:"Step 1 Content"})})})]})},play:async({canvasElement:i,step:s})=>{const t=p(i);await s("Tour should be initially disabled",async()=>{const a=t.queryByTestId("step-1");n(a).toBeNull()}),await s("Click enable button to show tour",async()=>{const a=t.getByTestId("toggle-button");await l.click(a),await c(()=>{const o=t.getByTestId("step-1");n(o).toBeVisible()})})}},b=h(),v=h(),w={render:function(){const[s,t]=g.useState(!1),[a,o]=g.useState(!1);return e.jsxs(b.Provider,{totalSteps:2,disabled:!s,nextActionLabel:"Next",completeActionLabel:"Got it",children:[e.jsx(b.Step,{step:0,title:"Title",text:"Text",dataset:{testid:"outer-step-1"},children:e.jsx(S,{onClick:()=>t(!0),dataset:{testid:"start-outer-tour"},children:"Start outer tour"})}),e.jsxs(v.Provider,{totalSteps:2,disabled:!a,nextActionLabel:"Next",completeActionLabel:"Done",children:[e.jsx(b.Step,{step:1,title:"Title",text:"Text",dataset:{testid:"outer-step-2"},children:e.jsx(T,{children:"Outer Tour Step"})}),e.jsx(v.Step,{step:0,title:"Title",text:"Text",dataset:{testid:"inner-step-1"},children:e.jsx(S,{onClick:()=>o(!0),dataset:{testid:"start-inner-tour"},children:"Start inner tour"})}),e.jsx(v.Step,{step:1,title:"Title",text:"Text",dataset:{testid:"inner-step-2"},children:e.jsx(T,{children:"Inner Tour Step"})})]})]})},play:async({canvasElement:i,step:s})=>{const t=p(i);await s("Start inner tour, step 1 should be visible",async()=>{const a=t.getByTestId("start-inner-tour");await l.click(a),await c(async()=>{const o=t.queryByTestId("inner-step-1");n(o).toBeVisible()})}),await s("Advance inner tour, step 2 should be visible",async()=>{const o=p(t.getByTestId("inner-step-1")).getByTestId("action");await l.click(o),await c(async()=>{const r=t.queryByTestId("inner-step-2");n(r).toBeVisible()})}),await s("Complete inner tour",async()=>{const o=p(t.getByTestId("inner-step-2")).getByTestId("action");await l.click(o),await c(async()=>{const r=t.queryByTestId("inner-step-1",{exact:!1});n(r).toBeNull()})}),await s("Start outer tour, step 1 should be visible",async()=>{const a=t.getByTestId("start-outer-tour");await l.click(a),await c(async()=>{const o=t.queryByTestId("outer-step-1");n(o).toBeVisible()})}),await s("Advance outer tour, step 2 should be visible",async()=>{const o=p(t.getByTestId("outer-step-1")).getByTestId("action");await l.click(o),await c(async()=>{const r=t.queryByTestId("outer-step-2");n(r).toBeVisible()})}),await s("Complete outer tour",async()=>{const o=p(t.getByTestId("outer-step-2")).getByTestId("action");await l.click(o),await c(async()=>{const r=t.queryByTestId("-step-",{exact:!1});n(r).toBeNull()})})}};var I,C,k;y.parameters={...y.parameters,docs:{...(I=y.parameters)==null?void 0:I.docs,source:{originalSource:`{
|
|
2
2
|
render: ({
|
|
3
3
|
onComplete,
|
|
4
4
|
onStepChange
|