@preply/ds-docs 2.5.0 → 2.5.1
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-BIbJrgog.js → 00.LayoutFlex.stories-Dr66d0uq.js} +1 -1
- package/dist/assets/{00.applications-H4FwFVcL.js → 00.applications-DTjn-6jv.js} +1 -1
- package/dist/assets/{00.favicons.guide-B0ClUkqX.js → 00.favicons.guide-Y4RLo0AR.js} +1 -1
- package/dist/assets/{00.token-explorer-Cv-6JSjw.js → 00.token-explorer-D4ANPauC.js} +1 -1
- package/dist/assets/{00.using-responsive-props-Cifu7ZZ6.js → 00.using-responsive-props-B7sMsIFj.js} +1 -1
- package/dist/assets/{01.semantic-tokens-Dzc9bPC4.js → 01.semantic-tokens-DBFiJe-9.js} +1 -1
- package/dist/assets/{01.using-shorthand-props-DT_qp4ZC.js → 01.using-shorthand-props-CVkb5j3D.js} +1 -1
- package/dist/assets/{10.Combinations.stories-DSLXqRpv.js → 10.Combinations.stories-CTJstqtT.js} +1 -1
- package/dist/assets/{10.fonts.guide-b3pi2wvE.js → 10.fonts.guide-B1uhI0zm.js} +1 -1
- package/dist/assets/{10.ssr-J8fXhpAE.js → 10.ssr-BMx8wS3o.js} +1 -1
- package/dist/assets/{11.languageFont.explorer-EE7VKVe0.js → 11.languageFont.explorer-CLMF3TaX.js} +1 -1
- package/dist/assets/{11.ssr.app-router-D1BTRiIA.js → 11.ssr.app-router-De1MnsLG.js} +1 -1
- package/dist/assets/{20.libraries-CfQRe3Ra.js → 20.libraries-D2rNevEA.js} +1 -1
- package/dist/assets/{30.icons.explorer-xt53ty7p.js → 30.icons.explorer-Dzb5flz4.js} +1 -1
- package/dist/assets/{30.storybook-BEPNsluP.js → 30.storybook-CPr2L2y5.js} +1 -1
- package/dist/assets/{40.illustrations.explorer-DQ-gJ01J.js → 40.illustrations.explorer-uqGJUpVF.js} +1 -1
- package/dist/assets/{90.advanced-BlS7SCWo.js → 90.advanced-718ONyrj.js} +1 -1
- package/dist/assets/{Accordion-C72mS_k1.js → Accordion-DPN7BrWj.js} +1 -1
- package/dist/assets/{Accordion.stories-D9fz5hUj.js → Accordion.stories-CfNdgxHK.js} +1 -1
- package/dist/assets/{Accordion.tests.stories-yEfVlFIY.js → Accordion.tests.stories-DETQtOdn.js} +1 -1
- package/dist/assets/{AlertDialog.stories-DnSOQFyv.js → AlertDialog.stories-BU9LOPmX.js} +1 -1
- package/dist/assets/{Badge.stories-DqIOc5md.js → Badge.stories-BuQGFZ2U.js} +1 -1
- package/dist/assets/{Box.stories-CCVW1lK-.js → Box.stories-nCy-qxXD.js} +1 -1
- package/dist/assets/{Button-BqUC5HSd.js → Button-BnZPebye.js} +1 -1
- package/dist/assets/{Button.stories-CdvaewOd.js → Button.stories-CDd8EOF0.js} +1 -1
- package/dist/assets/{ButtonBase-BAooW9wV.js → ButtonBase-Cl5EzY6D.js} +1 -1
- package/dist/assets/{Checkbox-Qcz5TWnM.js → Checkbox-Bt8TULIo.js} +2 -2
- package/dist/assets/{Checkbox.stories-CRNFDVaT.js → Checkbox.stories-D5GIpl5C.js} +1 -1
- package/dist/assets/{Checkbox.tests.stories-CcMDqZsr.js → Checkbox.tests.stories-BpJWqLrm.js} +1 -1
- package/dist/assets/{Color-YHDXOIA2-mFDTaqb6.js → Color-YHDXOIA2-7mglEoRb.js} +1 -1
- package/dist/assets/{Dialog.stories-Clk2ZXkG.js → Dialog.stories-CkFU0RlE.js} +1 -1
- package/dist/assets/{DocsRenderer-CFRXHY34-BSwOyOvw.js → DocsRenderer-CFRXHY34-qkmmfBSb.js} +1 -1
- package/dist/assets/{FieldLayout-C7WB7-7o.js → FieldLayout-DYZlWQ1D.js} +1 -1
- package/dist/assets/{FieldLayout.stories-CEDiXVaX.js → FieldLayout.stories-CGjP8vHO.js} +1 -1
- package/dist/assets/{FieldLayoutBase-Cl3m9tA1.js → FieldLayoutBase-DbLlwrS7.js} +1 -1
- package/dist/assets/{Heading-CV_Sf_zv.js → Heading-D9GwzJST.js} +1 -1
- package/dist/assets/{Heading.stories-LwVxZ9gO.js → Heading.stories-Bs7ggMPd.js} +1 -1
- package/dist/assets/{Icon-RSC-CU73tiJa.js → Icon-RSC-Bho8jWqn.js} +1 -1
- package/dist/assets/{IconButton-CWZrAfFB.js → IconButton-ldp0ofLZ.js} +1 -1
- package/dist/assets/InputText-BusXp_Sv.js +5 -0
- package/dist/assets/{LayoutFlex-B2vuN2pP.js → LayoutFlex-D1qTNI1T.js} +1 -1
- package/dist/assets/{LayoutFlexItem-DZGZPiq9.js → LayoutFlexItem-Cjuta4OI.js} +1 -1
- package/dist/assets/{LayoutGrid.stories-C7d7gHkh.js → LayoutGrid.stories-BVwemZN7.js} +1 -1
- package/dist/assets/{Link.stories-BXMBmoSQ.js → Link.stories-DhKS_mMM.js} +2 -2
- package/dist/assets/NumberField.stories-DGVMfPiP.js +203 -0
- package/dist/assets/{ObserveIntersection-otv7lXFR.js → ObserveIntersection-Dlq2fSZk.js} +1 -1
- package/dist/assets/{ObserveIntersection.stories-BZQrJcU-.js → ObserveIntersection.stories-Bsk9fa5T.js} +1 -1
- package/dist/assets/{OnboardingTooltip-pTldfpzz.js → OnboardingTooltip-DkE7k1BP.js} +1 -1
- package/dist/assets/{OnboardingTooltip.stories-BDhmLxH3.js → OnboardingTooltip.stories-WJNzUlGF.js} +1 -1
- package/dist/assets/{OnboardingTooltip.tests.stories-DtGW6Ont.js → OnboardingTooltip.tests.stories-DyeSpHwy.js} +1 -1
- package/dist/assets/{OnboardingTour-C77c5Kdq.js → OnboardingTour-VMVs8Xxw.js} +1 -1
- package/dist/assets/{OnboardingTour.stories-BBtWXCoV.js → OnboardingTour.stories-o4PJOyHM.js} +2 -2
- package/dist/assets/{OnboardingTour.tests.stories-xZM700CC.js → OnboardingTour.tests.stories-DCv7UuAA.js} +1 -1
- package/dist/assets/PasswordField.stories-9UhmWNNH.js +203 -0
- package/dist/assets/{ProgressBar.stories-BybW_bCK.js → ProgressBar.stories-Cwx9vLRu.js} +1 -1
- package/dist/assets/{ProgressSteps.stories-DlmAeyvG.js → ProgressSteps.stories-ChHDvvDf.js} +1 -1
- package/dist/assets/SelectField.stories-D3VtQPNg.js +182 -0
- package/dist/assets/{ShowOnIntersection.stories-Cp7q6ugf.js → ShowOnIntersection.stories-f7qsV79j.js} +1 -1
- package/dist/assets/{Steps-Ceq46dUw.js → Steps-DvOspyw4.js} +1 -1
- package/dist/assets/{Steps.stories-CiTej_cx.js → Steps.stories-BNrCcusp.js} +1 -1
- package/dist/assets/{Text-0413ycXu.js → Text-BnXfkCNb.js} +1 -1
- package/dist/assets/{Text.stories-H11xOWU5.js → Text.stories-POROaVit.js} +1 -1
- package/dist/assets/{TextField.stories-BFT5GGuw.js → TextField.stories-BaCyCP-d.js} +1 -1
- package/dist/assets/{TextHighlighted.stories-CYFfViL-.js → TextHighlighted.stories-BtihmwdB.js} +1 -1
- package/dist/assets/{TextInline.stories-DbP4mYFf.js → TextInline.stories-CC0i1Dwf.js} +1 -1
- package/dist/assets/TextareaField.stories-BcSqzGGD.js +221 -0
- package/dist/assets/{Tooltip.stories-BWHNjUgP.js → Tooltip.stories-BhOFaVTm.js} +1 -1
- package/dist/assets/{Tooltip.tests.stories-p-BQ7qru.js → Tooltip.tests.stories-DTA0esjb.js} +1 -1
- package/dist/assets/{breakpoints-DtHlYZxT.js → breakpoints-Bx88UvDJ.js} +1 -1
- package/dist/assets/{breakpoints-DcgKC_qA.js → breakpoints-DapDGNJK.js} +1 -1
- package/dist/assets/{breakpoints-ENSF4vnz.js → breakpoints-q3Q7wLjI.js} +1 -1
- package/dist/assets/{changelog-DCVVPIKj.js → changelog-yhmOvKQt.js} +1 -1
- package/dist/assets/{entry-preview-BKM_XNDK.js → entry-preview-Bc7rmtO2.js} +1 -1
- package/dist/assets/{getTokenVar-C-aLLuRH.js → getTokenVar-B8rehe17.js} +1 -1
- package/dist/assets/{hover-CVqLaEzN.js → hover-EENK1oZ2.js} +1 -1
- package/dist/assets/{hover-BCR2bzfC.js → hover-JspyvNai.js} +1 -1
- package/dist/assets/{hover-D2auHQjx.js → hover-rQzkcwzB.js} +1 -1
- package/dist/assets/{iframe-CMkYi43z.js → iframe-Cq1_BgP4.js} +2 -2
- package/dist/assets/{index-yAeUeMac.js → index-BuMAo9js.js} +1 -1
- package/dist/assets/{index-Dg07ICzV.js → index-DCiFp8xr.js} +3 -3
- package/dist/assets/{intro-B4axME9D.js → intro-CDdXChPN.js} +1 -1
- package/dist/assets/{migrating-from-less-D5lBBNvs.js → migrating-from-less-jPaCpUxb.js} +1 -1
- package/dist/assets/{playground.stories-DqcgG_B2.js → playground.stories-BwhqQLs8.js} +146 -146
- package/dist/assets/{preview-DEgrW_yV.js → preview-BE59sizd.js} +1 -1
- package/dist/assets/{preview-EJvw023p.js → preview-Bn4AyPIC.js} +1 -1
- package/dist/assets/{preview-Cyo8J0vE.js → preview-C-Q15BQ3.js} +2 -2
- package/dist/assets/{tokens-dNJgWIfY.js → tokens-BJkNxQmZ.js} +1 -1
- package/dist/assets/{tokens-D_nEByTS.js → tokens-BtCTMuNa.js} +1 -1
- package/dist/assets/{tokens-DaY_38LJ.js → tokens-Dbl5_Bwv.js} +1 -1
- package/dist/assets/{usePortalElement-tHhz4QRX.js → usePortalElement-C6aDTe14.js} +1 -1
- package/dist/assets/{welcome-BkE-H2lF.js → welcome-9_ayTI9s.js} +1 -1
- package/dist/assets/{zeroheight-CX_XGIKM.js → zeroheight-DkYeEYeU.js} +1 -1
- package/dist/iframe.html +1 -1
- package/dist/preview-stats.json +1323 -1323
- package/dist/project.json +1 -1
- package/package.json +3 -3
- package/dist/assets/InputText-BsBFqChw.js +0 -5
- package/dist/assets/NumberField.stories-B7ZeZhhE.js +0 -203
- package/dist/assets/PasswordField.stories-DOOGa0bP.js +0 -203
- package/dist/assets/SelectField.stories-ByABCV4u.js +0 -182
- package/dist/assets/TextareaField.stories-BLiFTFHK.js +0 -221
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
import{j as a}from"./jsx-runtime-BTJTZTIL.js";import{r as u}from"./index-Cb9e4tly.js";import{a as c}from"./chunk-D5ZWXAHU-BhFjjRSl.js";import{e as k,u as Ce,a as Re}from"./index-DDyIDR-R.js";import{F as Le}from"./TokyoUILanguage-CLpo5Vdq.js";import{B as P}from"./Button-BqUC5HSd.js";import{I as W}from"./Icon-BheIwZf_.js";import{g as Be}from"./index-DdzHuZ-Y.js";import{w as o}from"./componentNames-s6s-Nnrd.js";import{u as De,I as Oe,s as Pe,F as We}from"./FieldLayoutBase-Cl3m9tA1.js";import{m as _e,a as b,b as f}from"./classNames-BUL1Zq7e.js";import{u as Ke}from"./useForcedRef--iGFM41p.js";import{u as Me}from"./useSelectField-DdxM1zlV.js";import{T as Je}from"./Text-0413ycXu.js";import"./index-ChsGqxH_.js";import"./_commonjsHelpers-Cpj98o6Y.js";import"./v4-CtRu48qb.js";import"./render-icon-BT0Aq7PA.js";import"./ButtonBase-BAooW9wV.js";import"./filterAttributesPassedByRadixUIAtRuntime-B7QTVwVw.js";import"./Spinner-B2C3RkCF.js";import"./defaults-B1rzzf6M.js";import"./useMergeRefs-SFH7Mw4x.js";import"./useHostname-Y3PlXofY.js";import"./index-CC6DAVyL.js";import"./text-accent-DZDDtpIt.js";import"./FieldAdditionalText-DfpPfG3b.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-CznToR0o.js";const p=({...e})=>a.jsx("option",{...e,...Be(void 0,{preplyDsComponent:o.SelectFieldOption})});try{p.displayName="SelectFieldOption",p.__docgenInfo={description:"Use this as a child of `SelectField` to render a `select` option.",displayName:"SelectFieldOption",props:{value:{defaultValue:null,description:"",name:"value",required:!0,type:{name:"string"}},disabled:{defaultValue:null,description:"",name:"disabled",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}}}}}catch{}const Xe=({onChange:e,onValueChange:n,children:t,placeholder:l,...i},m)=>{const v=_e(Pe,o.Select),r=De(N=>N.target.value,e,n),{required:d}=i,s=typeof l<"u"?a.jsx("option",{value:"",disabled:d,"aria-hidden":!0,children:l}):null,T=a.jsxs(a.Fragment,{children:[s,t]});return a.jsx(Oe,{...i,ref:m,type:"select",className:v.join(" "),onChange:r,preplyDsComponent:o.Select,children:T})},B=u.forwardRef(Xe);try{B.displayName="Select",B.__docgenInfo={description:"",displayName:"Select",props:{dataset:{defaultValue:null,description:"",name:"dataset",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>"}]}},id:{defaultValue:null,description:"",name:"id",required:!0,type:{name:"string"}},"aria-describedby":{defaultValue:null,description:`Identifies the element (or elements) that describes the object.
|
|
2
|
-
@see aria-labelledby`,name:"aria-describedby",required:!1,type:{name:"enum",value:[{value:"string"}]}},name:{defaultValue:null,description:"",name:"name",required:!1,type:{name:"enum",value:[{value:"string"}]}},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-disabled":{defaultValue:null,description:`Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable.
|
|
3
|
-
@see aria-hidden
|
|
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"'}]}},value:{defaultValue:null,description:"",name:"value",required:!1,type:{name:"enum",value:[{value:"string"}]}},defaultValue:{defaultValue:null,description:"",name:"defaultValue",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"}]}},onValueChange:{defaultValue:null,description:"",name:"onValueChange",required:!1,type:{name:"enum",value:[{value:"ValueChangeEventHandler<string>"}]}},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 S={"SelectFieldLayout--input":"SelectFieldLayout--input__ogrEq","SelectFieldLayout--icon":"SelectFieldLayout--icon__ggHbN","SelectFieldLayout--dropdown-indicator":"SelectFieldLayout--dropdown-indicator__-xFg9","SelectFieldLayout--has-value":"SelectFieldLayout--has-value__Touz2","SelectFieldLayout--has-icon":"SelectFieldLayout--has-icon__Ned1T","SelectFieldLayout--has-error":"SelectFieldLayout--has-error__O7se1","SelectFieldLayout--is-focused":"SelectFieldLayout--is-focused__RaJEM","SelectFieldLayout--is-disabled":"SelectFieldLayout--is-disabled__s-zOz"},Ae=({title:e,titleId:n,...t},l)=>u.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",ref:l,"aria-labelledby":n,...t},e?u.createElement("title",{id:n},e):null,u.createElement("path",{fillRule:"evenodd",d:"m12 16-6-5.61L7.487 9 12 13.22 16.513 9 18 10.39 12 16Z",clipRule:"evenodd"})),Ue=u.forwardRef(Ae),ze=({id:e,className:n,input:t,icon:l,disabled:i,isFocused:m,hasError:v,inputHandle:r,onClick:d,hasValue:s,...T},N)=>{const h=u.useRef(null);u.useImperativeHandle(N,()=>({setFocus:()=>r==null?void 0:r.setFocus(),scrollIntoView:()=>{var g;return(g=h==null?void 0:h.current)==null?void 0:g.scrollIntoView()}}));const K=b(S,o.SelectFieldLayout,[f("is-disabled",void 0,i),f("is-focused",void 0,m),f("has-error",void 0,v),f("has-icon",void 0,!!l),f("has-value",void 0,s)]),je=n?[n,...K]:K,He=b(S,o.SelectFieldLayout,["input"]),ke=b(S,o.SelectFieldLayout,["icon"]),Te=b(S,o.SelectFieldLayout,["dropdown-indicator"]),Ne=g=>{r==null||r.setFocus(),d==null||d(g)};return a.jsx(We,{id:e,className:je.join(" "),disabled:i,isFocused:m,hasError:v,hasValue:s,...T,preplyDsComponent:o.SelectFieldLayout,ref:h,children:a.jsxs("div",{className:He.join(" "),onClick:Ne,children:[l&&a.jsx("span",{style:{lineHeight:"initial"},className:ke.join(" "),children:l}),t,a.jsx("span",{style:{lineHeight:"initial"},className:Te.join(" "),children:a.jsx(W,{svg:Ue})})]})})},D=u.forwardRef(ze);try{D.displayName="SelectFieldLayout",D.__docgenInfo={description:"",displayName:"SelectFieldLayout",props:{dataset:{defaultValue:null,description:"",name:"dataset",required:!1,type:{name:"enum",value:[{value:"Dataset"}]}},disabled:{defaultValue:null,description:"",name:"disabled",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},preplyDsComponent:{defaultValue:null,description:"@see getDatasetProps",name:"preplyDsComponent",required:!1,type:{name:"enum",value:[{value:"string"}]}},id:{defaultValue:null,description:"",name:"id",required:!0,type:{name:"string"}},label:{defaultValue:null,description:"",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"}]}},className:{defaultValue:null,description:"",name:"className",required:!1,type:{name:"enum",value:[{value:"string"}]}},hideLabel:{defaultValue:null,description:"",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"}]}},required:{defaultValue:null,description:"",name:"required",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},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"}]}},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"}]}},isFocused:{defaultValue:null,description:"",name:"isFocused",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},isTouched:{defaultValue:null,description:"",name:"isTouched",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},isChanged:{defaultValue:null,description:"",name:"isChanged",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},hasValue:{defaultValue:null,description:"",name:"hasValue",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"}]}},input:{defaultValue:null,description:"An `<input>` element.",name:"input",required:!0,type:{name:"ReactElement<any, string | JSXElementConstructor<any>>"}},inputHandle:{defaultValue:null,description:"A ref handle to the `<input>` element, used to manage focus when\nclicking on elements within the layout, such as the button and icon.",name:"inputHandle",required:!0,type:{name:"enum",value:[{value:"null"},{value:"InputImperativeHandle"}]}},icon:{defaultValue:null,description:"",name:"icon",required:!1,type:{name:"enum",value:[{value:"ReactElement<IconProps, string | JSXElementConstructor<any>>"}]}},button:{defaultValue:null,description:"",name:"button",required:!1,type:{name:"enum",value:[{value:"ReactElement<FieldButtonProps, string | JSXElementConstructor<any>>"}]}},onClick:{defaultValue:null,description:"",name:"onClick",required:!1,type:{name:"enum",value:[{value:"MouseEventHandler<Element>"}]}},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 Ye="SelectField__3gpGp",$e={SelectField:Ye},Ge=({id:e,...n},t)=>{const l=u.useRef(null),i=Ke();u.useImperativeHandle(t,()=>({setFocus:()=>{var s;return(s=l==null?void 0:l.current)==null?void 0:s.setFocus()},scrollIntoView:()=>{var s;return(s=l==null?void 0:l.current)==null?void 0:s.scrollIntoView()}}));const{layoutProps:m,inputProps:v}=Me({id:e,...n},o.SelectField),r=_e($e,o.SelectField),d=a.jsx(B,{...v,ref:i});return a.jsx(D,{...m,className:r.join(" "),input:d,inputHandle:i.current,ref:l})},y=u.forwardRef(Ge);try{y.displayName="SelectField",y.__docgenInfo={description:"Use this with `SelectFieldOption`s to render a `select` dropdown.\n\nBy 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:"SelectField",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>"}]}},name:{defaultValue:null,description:"",name:"name",required:!1,type:{name:"enum",value:[{value:"string"}]}},required:{defaultValue:null,description:"",name:"required",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},value:{defaultValue:null,description:"",name:"value",required:!1,type:{name:"enum",value:[{value:"string"}]}},defaultValue:{defaultValue:null,description:"",name:"defaultValue",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"}]}},onValueChange:{defaultValue:null,description:"",name:"onValueChange",required:!1,type:{name:"enum",value:[{value:"ValueChangeEventHandler<string>"}]}},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 _a={title:"components/SelectField",component:y,subcomponents:{SelectFieldOption:p},args:{label:"Language",placeholder:"Select a language",defaultValue:"",inputDataset:{testid:"input"},onChange:c("onChange"),onBlur:c("onBlur"),onFocus:c("onFocus"),onClick:c("onClick"),onCopy:c("onCopy"),onKeyDown:c("onKeyDown"),onKeyUp:c("onKeyUp"),onPaste:c("onPaste"),onValueChange:c("onValueChange")},render:function(n){const t=u.useRef(null);return n.ref=t,a.jsxs(y,{...n,children:[a.jsx(p,{value:"english",children:"English"}),a.jsx(p,{value:"spanish",children:"Spanish"}),a.jsx(p,{value:"french",children:"French"})]})}},V={parameters:{docs:{description:{story:"An empty field with a `label` and a `placeholder`."}}}},q={args:{defaultValue:"english"},play:async({canvas:e})=>{const n=e.getByTestId("input");return await k(n).toHaveValue("english"),await Ce.selectOptions(n,"spanish"),k(n).toHaveValue("spanish")}},x={args:{icon:a.jsx(W,{svg:Le})}},E={args:{additionalText:"This is additional text"}},w={args:{required:!0}},F={args:{required:!0,requiredLabel:a.jsx(Je,{accent:"critical",variant:"m-bold",children:"Needed"})}},I={args:{hideLabel:!0}},C={args:{hasError:!0}},R={args:{hasError:!0,errorMessage:"This is an error message"}},L={args:{disabled:!0}},_={decorators:[(e,{args:n})=>a.jsxs("div",{style:{padding:"8px",margin:"8px"},children:[a.jsxs("p",{children:["You can"," ",a.jsx(P,{variant:"secondary",dataset:{testid:"focus-button"},onClick:()=>{var t,l;return(l=(t=n.ref)==null?void 0:t.current)==null?void 0:l.setFocus()},children:"Focus"})," ","the input imperatively."]}),a.jsx(e,{})]})],play:async({args:e,canvas:n})=>{if(!O(e.ref))throw new Error("Expected ref.current to be an InputImperativeHandle");const t=n.getByTestId("input");await Ce.click(n.getByTestId("focus-button")),await Re(()=>k(t).toHaveFocus())}},j={decorators:[(e,{args:n})=>a.jsxs("div",{style:{height:"300px",overflow:"scroll",padding:"8px",margin:"8px"},children:[a.jsxs("p",{children:["You can"," ",a.jsx(P,{variant:"secondary",dataset:{testid:"scroll-button"},onClick:()=>{if(!O(n.ref))throw new Error("Expected ref.current to be an InputImperativeHandle");n.ref.current.scrollIntoView()},children:"Scroll"})," ","the input into view imperatively."]}),a.jsx("div",{style:{height:"1000px",display:"flex",flexDirection:"column",justifyContent:"end",border:"2px dashed lightgray",padding:"16px"},children:a.jsx(e,{})})]})],play:async({args:e,canvas:n})=>{if(!O(e.ref))throw new Error("Expected ref.current to be an InputImperativeHandle");const t=n.getByTestId("input");e.ref.current.scrollIntoView(),await Re(()=>k(t).toBeVisible())}};function O(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 `SelectField` with the `required` flag,\n`placeholder` and some `additionalText`.\n\nWhen you click the "Submit" button, and the input `value` is empty, it:\n\n- Displays feedback via the `errorMessage` prop;\n- Brings the focus back to the field.\n'}},chromatic:{disableSnapshot:!0}},render:function(n){const[t,l]=u.useState(void 0),[i,m]=u.useState(!1),v=i&&!t&&"Please select an option",r=u.useRef(null),d=()=>{var s;m(!0),t||(s=r==null?void 0:r.current)==null||s.setFocus()};return a.jsxs("div",{style:{maxWidth:"500px",display:"flex",flexDirection:"column"},children:[a.jsxs(y,{...n,value:t,required:!0,icon:a.jsx(W,{svg:Le,label:"Student with a hat"}),placeholder:"Select a subject",additionalText:"We will use this to get a personalized choice of tutors",onValueChange:l,errorMessage:v,ref:r,children:[a.jsx(p,{value:"english",children:"English"}),a.jsx(p,{value:"spanish",children:"Spanish"}),a.jsx(p,{value:"french",children:"French"})]}),a.jsx(P,{onClick:()=>d(),children:"Submit"})]})}};var M,J,X;V.parameters={...V.parameters,docs:{...(M=V.parameters)==null?void 0:M.docs,source:{originalSource:`{
|
|
6
|
-
parameters: {
|
|
7
|
-
docs: {
|
|
8
|
-
description: {
|
|
9
|
-
story: \`An empty field with a \\\`label\\\` and a \\\`placeholder\\\`.\`
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
}`,...(X=(J=V.parameters)==null?void 0:J.docs)==null?void 0:X.source}}};var A,U,z;q.parameters={...q.parameters,docs:{...(A=q.parameters)==null?void 0:A.docs,source:{originalSource:`{
|
|
14
|
-
args: {
|
|
15
|
-
defaultValue: 'english'
|
|
16
|
-
},
|
|
17
|
-
play: async ({
|
|
18
|
-
canvas
|
|
19
|
-
}) => {
|
|
20
|
-
const input = canvas.getByTestId('input');
|
|
21
|
-
await expect(input).toHaveValue('english');
|
|
22
|
-
await userEvent.selectOptions(input, 'spanish');
|
|
23
|
-
return expect(input).toHaveValue('spanish');
|
|
24
|
-
}
|
|
25
|
-
}`,...(z=(U=q.parameters)==null?void 0:U.docs)==null?void 0:z.source}}};var Y,$,G;x.parameters={...x.parameters,docs:{...(Y=x.parameters)==null?void 0:Y.docs,source:{originalSource:`{
|
|
26
|
-
args: {
|
|
27
|
-
icon: <Icon svg={LanguageSvg} />
|
|
28
|
-
}
|
|
29
|
-
}`,...(G=($=x.parameters)==null?void 0:$.docs)==null?void 0:G.source}}};var Z,Q,ee;E.parameters={...E.parameters,docs:{...(Z=E.parameters)==null?void 0:Z.docs,source:{originalSource:`{
|
|
30
|
-
args: {
|
|
31
|
-
additionalText: 'This is additional text'
|
|
32
|
-
}
|
|
33
|
-
}`,...(ee=(Q=E.parameters)==null?void 0:Q.docs)==null?void 0:ee.source}}};var ae,ne,le;w.parameters={...w.parameters,docs:{...(ae=w.parameters)==null?void 0:ae.docs,source:{originalSource:`{
|
|
34
|
-
args: {
|
|
35
|
-
required: true
|
|
36
|
-
}
|
|
37
|
-
}`,...(le=(ne=w.parameters)==null?void 0:ne.docs)==null?void 0:le.source}}};var te,re,ue;F.parameters={...F.parameters,docs:{...(te=F.parameters)==null?void 0:te.docs,source:{originalSource:`{
|
|
38
|
-
args: {
|
|
39
|
-
required: true,
|
|
40
|
-
requiredLabel: <Text accent="critical" variant="m-bold">
|
|
41
|
-
Needed
|
|
42
|
-
</Text>
|
|
43
|
-
}
|
|
44
|
-
}`,...(ue=(re=F.parameters)==null?void 0:re.docs)==null?void 0:ue.source}}};var se,ie,oe;I.parameters={...I.parameters,docs:{...(se=I.parameters)==null?void 0:se.docs,source:{originalSource:`{
|
|
45
|
-
args: {
|
|
46
|
-
hideLabel: true
|
|
47
|
-
}
|
|
48
|
-
}`,...(oe=(ie=I.parameters)==null?void 0:ie.docs)==null?void 0:oe.source}}};var de,ce,pe;C.parameters={...C.parameters,docs:{...(de=C.parameters)==null?void 0:de.docs,source:{originalSource:`{
|
|
49
|
-
args: {
|
|
50
|
-
hasError: true
|
|
51
|
-
}
|
|
52
|
-
}`,...(pe=(ce=C.parameters)==null?void 0:ce.docs)==null?void 0:pe.source}}};var me,ve,fe;R.parameters={...R.parameters,docs:{...(me=R.parameters)==null?void 0:me.docs,source:{originalSource:`{
|
|
53
|
-
args: {
|
|
54
|
-
hasError: true,
|
|
55
|
-
errorMessage: 'This is an error message'
|
|
56
|
-
}
|
|
57
|
-
}`,...(fe=(ve=R.parameters)==null?void 0:ve.docs)==null?void 0:fe.source}}};var ye,he,ge;L.parameters={...L.parameters,docs:{...(ye=L.parameters)==null?void 0:ye.docs,source:{originalSource:`{
|
|
58
|
-
args: {
|
|
59
|
-
disabled: true
|
|
60
|
-
}
|
|
61
|
-
}`,...(ge=(he=L.parameters)==null?void 0:he.docs)==null?void 0:ge.source}}};var be,Se,Ve;_.parameters={..._.parameters,docs:{...(be=_.parameters)==null?void 0:be.docs,source:{originalSource:`{
|
|
62
|
-
decorators: [(Story, {
|
|
63
|
-
args
|
|
64
|
-
}) => <div style={{
|
|
65
|
-
padding: '8px',
|
|
66
|
-
margin: '8px'
|
|
67
|
-
}}>
|
|
68
|
-
<p>
|
|
69
|
-
You can{' '}
|
|
70
|
-
<Button variant="secondary" dataset={{
|
|
71
|
-
testid: 'focus-button'
|
|
72
|
-
}} onClick={() =>
|
|
73
|
-
// @ts-expect-error - This will fail gracefully,
|
|
74
|
-
// and the \`play\` function will assert it properly
|
|
75
|
-
args.ref?.current?.setFocus()}>
|
|
76
|
-
Focus
|
|
77
|
-
</Button>{' '}
|
|
78
|
-
the input imperatively.
|
|
79
|
-
</p>
|
|
80
|
-
<Story />
|
|
81
|
-
</div>],
|
|
82
|
-
play: async ({
|
|
83
|
-
args,
|
|
84
|
-
canvas
|
|
85
|
-
}) => {
|
|
86
|
-
if (!isImperativeHandleRef(args.ref)) {
|
|
87
|
-
throw new Error('Expected ref.current to be an InputImperativeHandle');
|
|
88
|
-
}
|
|
89
|
-
const input = canvas.getByTestId('input');
|
|
90
|
-
await userEvent.click(canvas.getByTestId('focus-button'));
|
|
91
|
-
await waitFor(() => expect(input).toHaveFocus());
|
|
92
|
-
}
|
|
93
|
-
}`,...(Ve=(Se=_.parameters)==null?void 0:Se.docs)==null?void 0:Ve.source}}};var qe,xe,Ee;j.parameters={...j.parameters,docs:{...(qe=j.parameters)==null?void 0:qe.docs,source:{originalSource:`{
|
|
94
|
-
decorators: [(Story, {
|
|
95
|
-
args
|
|
96
|
-
}) => <div style={{
|
|
97
|
-
height: '300px',
|
|
98
|
-
overflow: 'scroll',
|
|
99
|
-
padding: '8px',
|
|
100
|
-
margin: '8px'
|
|
101
|
-
}}>
|
|
102
|
-
<p>
|
|
103
|
-
You can{' '}
|
|
104
|
-
<Button variant="secondary" dataset={{
|
|
105
|
-
testid: 'scroll-button'
|
|
106
|
-
}} onClick={() => {
|
|
107
|
-
if (!isImperativeHandleRef(args.ref)) {
|
|
108
|
-
throw new Error('Expected ref.current to be an InputImperativeHandle');
|
|
109
|
-
}
|
|
110
|
-
args.ref.current.scrollIntoView();
|
|
111
|
-
}}>
|
|
112
|
-
Scroll
|
|
113
|
-
</Button>{' '}
|
|
114
|
-
the input into view imperatively.
|
|
115
|
-
</p>
|
|
116
|
-
<div style={{
|
|
117
|
-
height: '1000px',
|
|
118
|
-
display: 'flex',
|
|
119
|
-
flexDirection: 'column',
|
|
120
|
-
justifyContent: 'end',
|
|
121
|
-
border: '2px dashed lightgray',
|
|
122
|
-
padding: '16px'
|
|
123
|
-
}}>
|
|
124
|
-
<Story />
|
|
125
|
-
</div>
|
|
126
|
-
</div>],
|
|
127
|
-
play: async ({
|
|
128
|
-
args,
|
|
129
|
-
canvas
|
|
130
|
-
}) => {
|
|
131
|
-
if (!isImperativeHandleRef(args.ref)) {
|
|
132
|
-
throw new Error('Expected ref.current to be an InputImperativeHandle');
|
|
133
|
-
}
|
|
134
|
-
const input = canvas.getByTestId('input');
|
|
135
|
-
args.ref.current.scrollIntoView();
|
|
136
|
-
await waitFor(() => expect(input).toBeVisible());
|
|
137
|
-
}
|
|
138
|
-
}`,...(Ee=(xe=j.parameters)==null?void 0:xe.docs)==null?void 0:Ee.source}}};var we,Fe,Ie;H.parameters={...H.parameters,docs:{...(we=H.parameters)==null?void 0:we.docs,source:{originalSource:`{
|
|
139
|
-
tags: ['!test'],
|
|
140
|
-
parameters: {
|
|
141
|
-
docs: {
|
|
142
|
-
description: {
|
|
143
|
-
story: \`
|
|
144
|
-
The following code renders a \\\`SelectField\\\` with the \\\`required\\\` flag,
|
|
145
|
-
\\\`placeholder\\\` and some \\\`additionalText\\\`.
|
|
146
|
-
|
|
147
|
-
When you click the "Submit" button, and the input \\\`value\\\` is empty, it:
|
|
148
|
-
|
|
149
|
-
- Displays feedback via the \\\`errorMessage\\\` prop;
|
|
150
|
-
- Brings the focus back to the field.
|
|
151
|
-
\`
|
|
152
|
-
}
|
|
153
|
-
},
|
|
154
|
-
chromatic: {
|
|
155
|
-
disableSnapshot: true
|
|
156
|
-
}
|
|
157
|
-
},
|
|
158
|
-
render: function Story(args) {
|
|
159
|
-
const [value, setValue] = useState<string | undefined>(undefined);
|
|
160
|
-
const [submited, setSubmitted] = useState(false);
|
|
161
|
-
const errorMessage = submited && !value && 'Please select an option';
|
|
162
|
-
const fieldRef = useRef<InputImperativeHandle>(null);
|
|
163
|
-
const handleClick = () => {
|
|
164
|
-
setSubmitted(true);
|
|
165
|
-
if (!value) {
|
|
166
|
-
fieldRef?.current?.setFocus();
|
|
167
|
-
}
|
|
168
|
-
};
|
|
169
|
-
return <div style={{
|
|
170
|
-
maxWidth: '500px',
|
|
171
|
-
display: 'flex',
|
|
172
|
-
flexDirection: 'column'
|
|
173
|
-
}}>
|
|
174
|
-
<SelectField {...args} value={value} required icon={<Icon svg={LanguageSvg} label="Student with a hat" />} placeholder="Select a subject" additionalText="We will use this to get a personalized choice of tutors" onValueChange={setValue} errorMessage={errorMessage} ref={fieldRef}>
|
|
175
|
-
<SelectFieldOption value="english">English</SelectFieldOption>
|
|
176
|
-
<SelectFieldOption value="spanish">Spanish</SelectFieldOption>
|
|
177
|
-
<SelectFieldOption value="french">French</SelectFieldOption>
|
|
178
|
-
</SelectField>
|
|
179
|
-
<Button onClick={() => handleClick()}>Submit</Button>
|
|
180
|
-
</div>;
|
|
181
|
-
}
|
|
182
|
-
}`,...(Ie=(Fe=H.parameters)==null?void 0:Fe.docs)==null?void 0:Ie.source}}};const ja=["Basic","WithValue","WithIcon","WithAdditionalText","Required","RequiredWithCustomLabel","WithHiddenLabel","HasError","HasErrorWithMessage","Disabled","ImperativeSetFocus","ImperativeScrollIntoView","Example"];export{V as Basic,L as Disabled,H as Example,C as HasError,R as HasErrorWithMessage,j as ImperativeScrollIntoView,_ as ImperativeSetFocus,w as Required,F as RequiredWithCustomLabel,E as WithAdditionalText,I as WithHiddenLabel,x as WithIcon,q as WithValue,ja as __namedExportsOrder,_a as default};
|
|
@@ -1,221 +0,0 @@
|
|
|
1
|
-
import{j as n}from"./jsx-runtime-BTJTZTIL.js";import{r as s}from"./index-Cb9e4tly.js";import{a as r}from"./chunk-D5ZWXAHU-BhFjjRSl.js";import{e as i,u as Fe,a as Re}from"./index-DDyIDR-R.js";import{B as j}from"./Button-BqUC5HSd.js";import{F as Be}from"./FieldLayout-C7WB7-7o.js";import{s as ke,u as je,I as _e}from"./FieldLayoutBase-Cl3m9tA1.js";import{m as ze,s as De}from"./classNames-BUL1Zq7e.js";import{w as p}from"./componentNames-s6s-Nnrd.js";import{u as Le}from"./useForcedRef--iGFM41p.js";import{u as We}from"./useTextareaField-BP4f3uTe.js";import{T as Ke}from"./Text-0413ycXu.js";import"./index-ChsGqxH_.js";import"./_commonjsHelpers-Cpj98o6Y.js";import"./v4-CtRu48qb.js";import"./render-icon-BT0Aq7PA.js";import"./ButtonBase-BAooW9wV.js";import"./filterAttributesPassedByRadixUIAtRuntime-B7QTVwVw.js";import"./Spinner-B2C3RkCF.js";import"./defaults-B1rzzf6M.js";import"./useMergeRefs-SFH7Mw4x.js";import"./useHostname-Y3PlXofY.js";import"./index-DdzHuZ-Y.js";import"./index-CC6DAVyL.js";import"./FieldAdditionalText-DfpPfG3b.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"./constants-BaXVdZRV.js";import"./text-accent-DZDDtpIt.js";import"./text-centered-CznToR0o.js";const z=({onChange:e,onValueChange:a,resize:t="vertical",...l},o)=>{const d=ze(ke,p.Textarea,[De("resize",t)]),u=je(c=>c.target.value,e,a);return n.jsx(_e,{...l,ref:o,type:"textarea",className:d.join(" "),onChange:u,preplyDsComponent:p.Textarea})},B=s.forwardRef(z);try{z.displayName="TextareaLocal",z.__docgenInfo={description:"",displayName:"TextareaLocal",props:{dataset:{defaultValue:null,description:"",name:"dataset",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>"}]}},id:{defaultValue:null,description:"",name:"id",required:!0,type:{name:"string"}},"aria-describedby":{defaultValue:null,description:`Identifies the element (or elements) that describes the object.
|
|
2
|
-
@see aria-labelledby`,name:"aria-describedby",required:!1,type:{name:"enum",value:[{value:"string"}]}},name:{defaultValue:null,description:"",name:"name",required:!1,type:{name:"enum",value:[{value:"string"}]}},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-disabled":{defaultValue:null,description:`Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable.
|
|
3
|
-
@see aria-hidden
|
|
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"'}]}},autoComplete:{defaultValue:null,description:"",name:"autoComplete",required:!1,type:{name:"enum",value:[{value:'"off"'},{value:'"on"'}]}},maxLength:{defaultValue:null,description:"",name:"maxLength",required:!1,type:{name:"enum",value:[{value:"number"}]}},value:{defaultValue:null,description:"",name:"value",required:!1,type:{name:"enum",value:[{value:"string"}]}},defaultValue:{defaultValue:null,description:"",name:"defaultValue",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"}]}},rows:{defaultValue:null,description:"",name:"rows",required:!1,type:{name:"enum",value:[{value:"number"}]}},resize:{defaultValue:{value:"vertical"},description:"",name:"resize",required:!1,type:{name:"enum",value:[{value:'"none"'},{value:'"vertical"'},{value:'"horizontal"'},{value:'"both"'}]}},onValueChange:{defaultValue:null,description:"",name:"onValueChange",required:!1,type:{name:"enum",value:[{value:"ValueChangeEventHandler<string>"}]}}}}}catch{}try{B.displayName="Textarea",B.__docgenInfo={description:"",displayName:"Textarea",props:{dataset:{defaultValue:null,description:"",name:"dataset",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>"}]}},id:{defaultValue:null,description:"",name:"id",required:!0,type:{name:"string"}},"aria-describedby":{defaultValue:null,description:`Identifies the element (or elements) that describes the object.
|
|
6
|
-
@see aria-labelledby`,name:"aria-describedby",required:!1,type:{name:"enum",value:[{value:"string"}]}},name:{defaultValue:null,description:"",name:"name",required:!1,type:{name:"enum",value:[{value:"string"}]}},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-disabled":{defaultValue:null,description:`Indicates that the element is perceivable but disabled, so it is not editable or otherwise operable.
|
|
7
|
-
@see aria-hidden
|
|
8
|
-
@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.
|
|
9
|
-
@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"'}]}},autoComplete:{defaultValue:null,description:"",name:"autoComplete",required:!1,type:{name:"enum",value:[{value:'"off"'},{value:'"on"'}]}},maxLength:{defaultValue:null,description:"",name:"maxLength",required:!1,type:{name:"enum",value:[{value:"number"}]}},value:{defaultValue:null,description:"",name:"value",required:!1,type:{name:"enum",value:[{value:"string"}]}},defaultValue:{defaultValue:null,description:"",name:"defaultValue",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"}]}},rows:{defaultValue:null,description:"",name:"rows",required:!1,type:{name:"enum",value:[{value:"number"}]}},resize:{defaultValue:{value:"vertical"},description:"",name:"resize",required:!1,type:{name:"enum",value:[{value:'"none"'},{value:'"vertical"'},{value:'"horizontal"'},{value:'"both"'}]}},onValueChange:{defaultValue:null,description:"",name:"onValueChange",required:!1,type:{name:"enum",value:[{value:"ValueChangeEventHandler<string>"}]}},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 Ne="TextareaField__Wpx9P",Me={TextareaField:Ne},Pe=({id:e,...a},t)=>{const l=s.useRef(null),o=Le();s.useImperativeHandle(t,()=>({setFocus:()=>{var m;return(m=l==null?void 0:l.current)==null?void 0:m.setFocus()},scrollIntoView:()=>{var m;return(m=l==null?void 0:l.current)==null?void 0:m.scrollIntoView()}}));const{layoutProps:d,inputProps:u}=We({id:e,...a},p.TextareaField),c=ze(Me,p.TextareaField),f=n.jsx(B,{...u,ref:o});return n.jsx(Be,{...d,className:c.join(" "),input:f,inputHandle:o.current,ref:l,preplyDsComponent:p.TextareaField})},v=s.forwardRef(Pe);try{v.displayName="TextareaField",v.__docgenInfo={description:"",displayName:"TextareaField",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>"}]}},name:{defaultValue:null,description:"",name:"name",required:!1,type:{name:"enum",value:[{value:"string"}]}},required:{defaultValue:null,description:"",name:"required",required:!1,type:{name:"enum",value:[{value:"false"},{value:"true"}]}},autoComplete:{defaultValue:null,description:"",name:"autoComplete",required:!1,type:{name:"enum",value:[{value:'"off"'},{value:'"on"'}]}},maxLength:{defaultValue:null,description:"",name:"maxLength",required:!1,type:{name:"enum",value:[{value:"number"}]}},value:{defaultValue:null,description:"",name:"value",required:!1,type:{name:"enum",value:[{value:"string"}]}},defaultValue:{defaultValue:null,description:"",name:"defaultValue",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"}]}},onValueChange:{defaultValue:null,description:"",name:"onValueChange",required:!1,type:{name:"enum",value:[{value:"ValueChangeEventHandler<string>"}]}},rows:{defaultValue:null,description:"",name:"rows",required:!1,type:{name:"enum",value:[{value:"number"}]}},resize:{defaultValue:null,description:"",name:"resize",required:!1,type:{name:"enum",value:[{value:'"none"'},{value:'"vertical"'},{value:'"horizontal"'},{value:'"both"'}]}},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 Ea={title:"components/TextareaField",component:v,args:{label:"Textarea",defaultValue:"",placeholder:"Enter text here",inputDataset:{testid:"input"},onChange:r("onChange"),onBlur:r("onBlur"),onFocus:r("onFocus"),onClick:r("onClick"),onCopy:r("onCopy"),onKeyDown:r("onKeyDown"),onKeyUp:r("onKeyUp"),onPaste:r("onPaste"),onValueChange:r("onValueChange")},render:function(a){const t=s.useRef(null);return a.ref=t,n.jsx(v,{...a})}},y={parameters:{docs:{description:{story:"An empty field with a `label` and a `placeholder`."}}}},h={args:{defaultValue:"Hey, you!"},play:async({canvas:e})=>{const a=e.getByTestId("input");return await i(a).toHaveValue("Hey, you!"),await Fe.type(a," How's it going?"),i(a).toHaveValue("Hey, you! How's it going?")}},g={args:{defaultValue:"Hey, you!",resize:"both"},play:({canvas:e})=>{const a=e.getByTestId("input");i(a).toHaveStyle({resize:"both"})}},b={args:{defaultValue:"Hey, you!",resize:"vertical"},play:({canvas:e})=>{const a=e.getByTestId("input");i(a).toHaveStyle({resize:"vertical"})}},V={args:{defaultValue:"Hey, you!",resize:"horizontal"},play:({canvas:e})=>{const a=e.getByTestId("input");i(a).toHaveStyle({resize:"horizontal"})}},x={args:{additionalText:"This is additional text"}},q={args:{required:!0}},E={args:{required:!0,requiredLabel:n.jsx(Ke,{accent:"critical",variant:"m-bold",children:"Needed"})}},H={args:{hideLabel:!0}},w={args:{hasError:!0}},C={args:{hasError:!0,errorMessage:"This is an error message"}},I={args:{disabled:!0}},T={args:{readOnly:!0}},S={decorators:[(e,{args:a})=>n.jsxs("div",{style:{padding:"8px",margin:"8px"},children:[n.jsxs("p",{children:["You can"," ",n.jsx(j,{variant:"secondary",dataset:{testid:"focus-button"},onClick:()=>{var t,l;return(l=(t=a.ref)==null?void 0:t.current)==null?void 0:l.setFocus()},children:"Focus"})," ","the input imperatively."]}),n.jsx(e,{})]})],play:async({args:e,canvas:a})=>{if(!k(e.ref))throw new Error("Expected ref.current to be an InputImperativeHandle");const t=a.getByTestId("input");await Fe.click(a.getByTestId("focus-button")),await Re(()=>i(t).toHaveFocus())}},F={decorators:[(e,{args:a})=>n.jsxs("div",{style:{height:"300px",overflow:"scroll",padding:"8px",margin:"8px"},children:[n.jsxs("p",{children:["You can"," ",n.jsx(j,{variant:"secondary",dataset:{testid:"scroll-button"},onClick:()=>{if(!k(a.ref))throw new Error("Expected ref.current to be an InputImperativeHandle");a.ref.current.scrollIntoView()},children:"Scroll"})," ","the input into view imperatively."]}),n.jsx("div",{style:{height:"1000px",display:"flex",flexDirection:"column",justifyContent:"end",border:"2px dashed lightgray",padding:"16px"},children:n.jsx(e,{})})]})],play:async({args:e,canvas:a})=>{if(!k(e.ref))throw new Error("Expected ref.current to be an InputImperativeHandle");const t=a.getByTestId("input");e.ref.current.scrollIntoView(),await Re(()=>i(t).toBeVisible())}};function k(e){return typeof e=="object"&&e!==null&&"current"in e&&e.current!==null&&typeof e.current=="object"&&"setFocus"in e.current}const R={tags:["!test"],parameters:{docs:{description:{story:'\nThe following code renders a `TextareaField` with the `required` flag, a\n`button`, `placeholder` and some `additionalText`.\n\nWhen you click the "Submit" button, and the input `value` is empty:\n\n- Displays feedback via the `errorMessage` prop;\n- Brings the focus back to the field.\n'}},chromatic:{disableSnapshot:!0}},render:function(){const[a,t]=s.useState(""),[l,o]=s.useState(!1),d=l&&!a&&"Please provide your full name",u=s.useRef(null),c=()=>{var f;o(!0),a||(f=u==null?void 0:u.current)==null||f.setFocus()};return n.jsxs("div",{style:{maxWidth:"500px",display:"flex",flexDirection:"column"},children:[n.jsx(v,{value:a,label:"Full name",required:!0,placeholder:"e.g.: Mary Williams",additionalText:"Will be shown in your profile",onValueChange:t,errorMessage:d,ref:u,resize:"horizontal"}),n.jsx(j,{onClick:c,children:"Submit"})]})}};var _,D,L;y.parameters={...y.parameters,docs:{...(_=y.parameters)==null?void 0:_.docs,source:{originalSource:`{
|
|
10
|
-
parameters: {
|
|
11
|
-
docs: {
|
|
12
|
-
description: {
|
|
13
|
-
story: \`An empty field with a \\\`label\\\` and a \\\`placeholder\\\`.\`
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
}`,...(L=(D=y.parameters)==null?void 0:D.docs)==null?void 0:L.source}}};var W,K,N;h.parameters={...h.parameters,docs:{...(W=h.parameters)==null?void 0:W.docs,source:{originalSource:`{
|
|
18
|
-
args: {
|
|
19
|
-
defaultValue: 'Hey, you!'
|
|
20
|
-
},
|
|
21
|
-
play: async ({
|
|
22
|
-
canvas
|
|
23
|
-
}) => {
|
|
24
|
-
const input = canvas.getByTestId('input');
|
|
25
|
-
await expect(input).toHaveValue('Hey, you!');
|
|
26
|
-
await userEvent.type(input, " How's it going?");
|
|
27
|
-
return expect(input).toHaveValue("Hey, you! How's it going?");
|
|
28
|
-
}
|
|
29
|
-
}`,...(N=(K=h.parameters)==null?void 0:K.docs)==null?void 0:N.source}}};var M,P,O;g.parameters={...g.parameters,docs:{...(M=g.parameters)==null?void 0:M.docs,source:{originalSource:`{
|
|
30
|
-
args: {
|
|
31
|
-
defaultValue: 'Hey, you!',
|
|
32
|
-
resize: 'both'
|
|
33
|
-
},
|
|
34
|
-
play: ({
|
|
35
|
-
canvas
|
|
36
|
-
}) => {
|
|
37
|
-
const textarea = canvas.getByTestId('input');
|
|
38
|
-
expect(textarea).toHaveStyle({
|
|
39
|
-
resize: 'both'
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
}`,...(O=(P=g.parameters)==null?void 0:P.docs)==null?void 0:O.source}}};var U,A,J;b.parameters={...b.parameters,docs:{...(U=b.parameters)==null?void 0:U.docs,source:{originalSource:`{
|
|
43
|
-
args: {
|
|
44
|
-
defaultValue: 'Hey, you!',
|
|
45
|
-
resize: 'vertical'
|
|
46
|
-
},
|
|
47
|
-
play: ({
|
|
48
|
-
canvas
|
|
49
|
-
}) => {
|
|
50
|
-
const textarea = canvas.getByTestId('input');
|
|
51
|
-
expect(textarea).toHaveStyle({
|
|
52
|
-
resize: 'vertical'
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
}`,...(J=(A=b.parameters)==null?void 0:A.docs)==null?void 0:J.source}}};var X,Y,$;V.parameters={...V.parameters,docs:{...(X=V.parameters)==null?void 0:X.docs,source:{originalSource:`{
|
|
56
|
-
args: {
|
|
57
|
-
defaultValue: 'Hey, you!',
|
|
58
|
-
resize: 'horizontal'
|
|
59
|
-
},
|
|
60
|
-
play: ({
|
|
61
|
-
canvas
|
|
62
|
-
}) => {
|
|
63
|
-
const textarea = canvas.getByTestId('input');
|
|
64
|
-
expect(textarea).toHaveStyle({
|
|
65
|
-
resize: 'horizontal'
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
}`,...($=(Y=V.parameters)==null?void 0:Y.docs)==null?void 0:$.source}}};var G,Q,Z;x.parameters={...x.parameters,docs:{...(G=x.parameters)==null?void 0:G.docs,source:{originalSource:`{
|
|
69
|
-
args: {
|
|
70
|
-
additionalText: 'This is additional text'
|
|
71
|
-
}
|
|
72
|
-
}`,...(Z=(Q=x.parameters)==null?void 0:Q.docs)==null?void 0:Z.source}}};var ee,ae,ne;q.parameters={...q.parameters,docs:{...(ee=q.parameters)==null?void 0:ee.docs,source:{originalSource:`{
|
|
73
|
-
args: {
|
|
74
|
-
required: true
|
|
75
|
-
}
|
|
76
|
-
}`,...(ne=(ae=q.parameters)==null?void 0:ae.docs)==null?void 0:ne.source}}};var te,le,re;E.parameters={...E.parameters,docs:{...(te=E.parameters)==null?void 0:te.docs,source:{originalSource:`{
|
|
77
|
-
args: {
|
|
78
|
-
required: true,
|
|
79
|
-
requiredLabel: <Text accent="critical" variant="m-bold">
|
|
80
|
-
Needed
|
|
81
|
-
</Text>
|
|
82
|
-
}
|
|
83
|
-
}`,...(re=(le=E.parameters)==null?void 0:le.docs)==null?void 0:re.source}}};var ue,se,ie;H.parameters={...H.parameters,docs:{...(ue=H.parameters)==null?void 0:ue.docs,source:{originalSource:`{
|
|
84
|
-
args: {
|
|
85
|
-
hideLabel: true
|
|
86
|
-
}
|
|
87
|
-
}`,...(ie=(se=H.parameters)==null?void 0:se.docs)==null?void 0:ie.source}}};var oe,de,ce;w.parameters={...w.parameters,docs:{...(oe=w.parameters)==null?void 0:oe.docs,source:{originalSource:`{
|
|
88
|
-
args: {
|
|
89
|
-
hasError: true
|
|
90
|
-
}
|
|
91
|
-
}`,...(ce=(de=w.parameters)==null?void 0:de.docs)==null?void 0:ce.source}}};var me,pe,ve;C.parameters={...C.parameters,docs:{...(me=C.parameters)==null?void 0:me.docs,source:{originalSource:`{
|
|
92
|
-
args: {
|
|
93
|
-
hasError: true,
|
|
94
|
-
errorMessage: 'This is an error message'
|
|
95
|
-
}
|
|
96
|
-
}`,...(ve=(pe=C.parameters)==null?void 0:pe.docs)==null?void 0:ve.source}}};var fe,ye,he;I.parameters={...I.parameters,docs:{...(fe=I.parameters)==null?void 0:fe.docs,source:{originalSource:`{
|
|
97
|
-
args: {
|
|
98
|
-
disabled: true
|
|
99
|
-
}
|
|
100
|
-
}`,...(he=(ye=I.parameters)==null?void 0:ye.docs)==null?void 0:he.source}}};var ge,be,Ve;T.parameters={...T.parameters,docs:{...(ge=T.parameters)==null?void 0:ge.docs,source:{originalSource:`{
|
|
101
|
-
args: {
|
|
102
|
-
readOnly: true
|
|
103
|
-
}
|
|
104
|
-
}`,...(Ve=(be=T.parameters)==null?void 0:be.docs)==null?void 0:Ve.source}}};var xe,qe,Ee;S.parameters={...S.parameters,docs:{...(xe=S.parameters)==null?void 0:xe.docs,source:{originalSource:`{
|
|
105
|
-
decorators: [(Story, {
|
|
106
|
-
args
|
|
107
|
-
}) => <div style={{
|
|
108
|
-
padding: '8px',
|
|
109
|
-
margin: '8px'
|
|
110
|
-
}}>
|
|
111
|
-
<p>
|
|
112
|
-
You can{' '}
|
|
113
|
-
<Button variant="secondary" dataset={{
|
|
114
|
-
testid: 'focus-button'
|
|
115
|
-
}} onClick={() =>
|
|
116
|
-
// @ts-expect-error - This will fail gracefully,
|
|
117
|
-
// and the \`play\` function will assert it properly
|
|
118
|
-
args.ref?.current?.setFocus()}>
|
|
119
|
-
Focus
|
|
120
|
-
</Button>{' '}
|
|
121
|
-
the input imperatively.
|
|
122
|
-
</p>
|
|
123
|
-
<Story />
|
|
124
|
-
</div>],
|
|
125
|
-
play: async ({
|
|
126
|
-
args,
|
|
127
|
-
canvas
|
|
128
|
-
}) => {
|
|
129
|
-
if (!isImperativeHandleRef(args.ref)) {
|
|
130
|
-
throw new Error('Expected ref.current to be an InputImperativeHandle');
|
|
131
|
-
}
|
|
132
|
-
const input = canvas.getByTestId('input');
|
|
133
|
-
await userEvent.click(canvas.getByTestId('focus-button'));
|
|
134
|
-
await waitFor(() => expect(input).toHaveFocus());
|
|
135
|
-
}
|
|
136
|
-
}`,...(Ee=(qe=S.parameters)==null?void 0:qe.docs)==null?void 0:Ee.source}}};var He,we,Ce;F.parameters={...F.parameters,docs:{...(He=F.parameters)==null?void 0:He.docs,source:{originalSource:`{
|
|
137
|
-
decorators: [(Story, {
|
|
138
|
-
args
|
|
139
|
-
}) => <div style={{
|
|
140
|
-
height: '300px',
|
|
141
|
-
overflow: 'scroll',
|
|
142
|
-
padding: '8px',
|
|
143
|
-
margin: '8px'
|
|
144
|
-
}}>
|
|
145
|
-
<p>
|
|
146
|
-
You can{' '}
|
|
147
|
-
<Button variant="secondary" dataset={{
|
|
148
|
-
testid: 'scroll-button'
|
|
149
|
-
}} onClick={() => {
|
|
150
|
-
if (!isImperativeHandleRef(args.ref)) {
|
|
151
|
-
throw new Error('Expected ref.current to be an InputImperativeHandle');
|
|
152
|
-
}
|
|
153
|
-
args.ref.current.scrollIntoView();
|
|
154
|
-
}}>
|
|
155
|
-
Scroll
|
|
156
|
-
</Button>{' '}
|
|
157
|
-
the input into view imperatively.
|
|
158
|
-
</p>
|
|
159
|
-
<div style={{
|
|
160
|
-
height: '1000px',
|
|
161
|
-
display: 'flex',
|
|
162
|
-
flexDirection: 'column',
|
|
163
|
-
justifyContent: 'end',
|
|
164
|
-
border: '2px dashed lightgray',
|
|
165
|
-
padding: '16px'
|
|
166
|
-
}}>
|
|
167
|
-
<Story />
|
|
168
|
-
</div>
|
|
169
|
-
</div>],
|
|
170
|
-
play: async ({
|
|
171
|
-
args,
|
|
172
|
-
canvas
|
|
173
|
-
}) => {
|
|
174
|
-
if (!isImperativeHandleRef(args.ref)) {
|
|
175
|
-
throw new Error('Expected ref.current to be an InputImperativeHandle');
|
|
176
|
-
}
|
|
177
|
-
const input = canvas.getByTestId('input');
|
|
178
|
-
args.ref.current.scrollIntoView();
|
|
179
|
-
await waitFor(() => expect(input).toBeVisible());
|
|
180
|
-
}
|
|
181
|
-
}`,...(Ce=(we=F.parameters)==null?void 0:we.docs)==null?void 0:Ce.source}}};var Ie,Te,Se;R.parameters={...R.parameters,docs:{...(Ie=R.parameters)==null?void 0:Ie.docs,source:{originalSource:`{
|
|
182
|
-
tags: ['!test'],
|
|
183
|
-
parameters: {
|
|
184
|
-
docs: {
|
|
185
|
-
description: {
|
|
186
|
-
story: \`
|
|
187
|
-
The following code renders a \\\`TextareaField\\\` with the \\\`required\\\` flag, a
|
|
188
|
-
\\\`button\\\`, \\\`placeholder\\\` and some \\\`additionalText\\\`.
|
|
189
|
-
|
|
190
|
-
When you click the "Submit" button, and the input \\\`value\\\` is empty:
|
|
191
|
-
|
|
192
|
-
- Displays feedback via the \\\`errorMessage\\\` prop;
|
|
193
|
-
- Brings the focus back to the field.
|
|
194
|
-
\`
|
|
195
|
-
}
|
|
196
|
-
},
|
|
197
|
-
chromatic: {
|
|
198
|
-
disableSnapshot: true
|
|
199
|
-
}
|
|
200
|
-
},
|
|
201
|
-
render: function Story() {
|
|
202
|
-
const [value, setValue] = useState('');
|
|
203
|
-
const [submited, setSubmitted] = useState(false);
|
|
204
|
-
const errorMessage = submited && !value && 'Please provide your full name';
|
|
205
|
-
const fieldRef = useRef<InputImperativeHandle>(null);
|
|
206
|
-
const handleClick = () => {
|
|
207
|
-
setSubmitted(true);
|
|
208
|
-
if (!value) {
|
|
209
|
-
fieldRef?.current?.setFocus();
|
|
210
|
-
}
|
|
211
|
-
};
|
|
212
|
-
return <div style={{
|
|
213
|
-
maxWidth: '500px',
|
|
214
|
-
display: 'flex',
|
|
215
|
-
flexDirection: 'column'
|
|
216
|
-
}}>
|
|
217
|
-
<TextareaField value={value} label="Full name" required placeholder="e.g.: Mary Williams" additionalText="Will be shown in your profile" onValueChange={setValue} errorMessage={errorMessage} ref={fieldRef} resize="horizontal" />
|
|
218
|
-
<Button onClick={handleClick}>Submit</Button>
|
|
219
|
-
</div>;
|
|
220
|
-
}
|
|
221
|
-
}`,...(Se=(Te=R.parameters)==null?void 0:Te.docs)==null?void 0:Se.source}}};const Ha=["Basic","WithValue","WithResize","WithVerticalResize","WithHorizontalResize","WithAdditionalText","Required","RequiredWithCustomLabel","WithHiddenLabel","HasError","HasErrorWithMessage","Disabled","ReadOnly","ImperativeSetFocus","ImperativeScrollIntoView","Example"];export{y as Basic,I as Disabled,R as Example,w as HasError,C as HasErrorWithMessage,F as ImperativeScrollIntoView,S as ImperativeSetFocus,T as ReadOnly,q as Required,E as RequiredWithCustomLabel,x as WithAdditionalText,H as WithHiddenLabel,V as WithHorizontalResize,g as WithResize,h as WithValue,b as WithVerticalResize,Ha as __namedExportsOrder,Ea as default};
|