@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.
Files changed (101) hide show
  1. package/dist/assets/{00.LayoutFlex.stories-BIbJrgog.js → 00.LayoutFlex.stories-Dr66d0uq.js} +1 -1
  2. package/dist/assets/{00.applications-H4FwFVcL.js → 00.applications-DTjn-6jv.js} +1 -1
  3. package/dist/assets/{00.favicons.guide-B0ClUkqX.js → 00.favicons.guide-Y4RLo0AR.js} +1 -1
  4. package/dist/assets/{00.token-explorer-Cv-6JSjw.js → 00.token-explorer-D4ANPauC.js} +1 -1
  5. package/dist/assets/{00.using-responsive-props-Cifu7ZZ6.js → 00.using-responsive-props-B7sMsIFj.js} +1 -1
  6. package/dist/assets/{01.semantic-tokens-Dzc9bPC4.js → 01.semantic-tokens-DBFiJe-9.js} +1 -1
  7. package/dist/assets/{01.using-shorthand-props-DT_qp4ZC.js → 01.using-shorthand-props-CVkb5j3D.js} +1 -1
  8. package/dist/assets/{10.Combinations.stories-DSLXqRpv.js → 10.Combinations.stories-CTJstqtT.js} +1 -1
  9. package/dist/assets/{10.fonts.guide-b3pi2wvE.js → 10.fonts.guide-B1uhI0zm.js} +1 -1
  10. package/dist/assets/{10.ssr-J8fXhpAE.js → 10.ssr-BMx8wS3o.js} +1 -1
  11. package/dist/assets/{11.languageFont.explorer-EE7VKVe0.js → 11.languageFont.explorer-CLMF3TaX.js} +1 -1
  12. package/dist/assets/{11.ssr.app-router-D1BTRiIA.js → 11.ssr.app-router-De1MnsLG.js} +1 -1
  13. package/dist/assets/{20.libraries-CfQRe3Ra.js → 20.libraries-D2rNevEA.js} +1 -1
  14. package/dist/assets/{30.icons.explorer-xt53ty7p.js → 30.icons.explorer-Dzb5flz4.js} +1 -1
  15. package/dist/assets/{30.storybook-BEPNsluP.js → 30.storybook-CPr2L2y5.js} +1 -1
  16. package/dist/assets/{40.illustrations.explorer-DQ-gJ01J.js → 40.illustrations.explorer-uqGJUpVF.js} +1 -1
  17. package/dist/assets/{90.advanced-BlS7SCWo.js → 90.advanced-718ONyrj.js} +1 -1
  18. package/dist/assets/{Accordion-C72mS_k1.js → Accordion-DPN7BrWj.js} +1 -1
  19. package/dist/assets/{Accordion.stories-D9fz5hUj.js → Accordion.stories-CfNdgxHK.js} +1 -1
  20. package/dist/assets/{Accordion.tests.stories-yEfVlFIY.js → Accordion.tests.stories-DETQtOdn.js} +1 -1
  21. package/dist/assets/{AlertDialog.stories-DnSOQFyv.js → AlertDialog.stories-BU9LOPmX.js} +1 -1
  22. package/dist/assets/{Badge.stories-DqIOc5md.js → Badge.stories-BuQGFZ2U.js} +1 -1
  23. package/dist/assets/{Box.stories-CCVW1lK-.js → Box.stories-nCy-qxXD.js} +1 -1
  24. package/dist/assets/{Button-BqUC5HSd.js → Button-BnZPebye.js} +1 -1
  25. package/dist/assets/{Button.stories-CdvaewOd.js → Button.stories-CDd8EOF0.js} +1 -1
  26. package/dist/assets/{ButtonBase-BAooW9wV.js → ButtonBase-Cl5EzY6D.js} +1 -1
  27. package/dist/assets/{Checkbox-Qcz5TWnM.js → Checkbox-Bt8TULIo.js} +2 -2
  28. package/dist/assets/{Checkbox.stories-CRNFDVaT.js → Checkbox.stories-D5GIpl5C.js} +1 -1
  29. package/dist/assets/{Checkbox.tests.stories-CcMDqZsr.js → Checkbox.tests.stories-BpJWqLrm.js} +1 -1
  30. package/dist/assets/{Color-YHDXOIA2-mFDTaqb6.js → Color-YHDXOIA2-7mglEoRb.js} +1 -1
  31. package/dist/assets/{Dialog.stories-Clk2ZXkG.js → Dialog.stories-CkFU0RlE.js} +1 -1
  32. package/dist/assets/{DocsRenderer-CFRXHY34-BSwOyOvw.js → DocsRenderer-CFRXHY34-qkmmfBSb.js} +1 -1
  33. package/dist/assets/{FieldLayout-C7WB7-7o.js → FieldLayout-DYZlWQ1D.js} +1 -1
  34. package/dist/assets/{FieldLayout.stories-CEDiXVaX.js → FieldLayout.stories-CGjP8vHO.js} +1 -1
  35. package/dist/assets/{FieldLayoutBase-Cl3m9tA1.js → FieldLayoutBase-DbLlwrS7.js} +1 -1
  36. package/dist/assets/{Heading-CV_Sf_zv.js → Heading-D9GwzJST.js} +1 -1
  37. package/dist/assets/{Heading.stories-LwVxZ9gO.js → Heading.stories-Bs7ggMPd.js} +1 -1
  38. package/dist/assets/{Icon-RSC-CU73tiJa.js → Icon-RSC-Bho8jWqn.js} +1 -1
  39. package/dist/assets/{IconButton-CWZrAfFB.js → IconButton-ldp0ofLZ.js} +1 -1
  40. package/dist/assets/InputText-BusXp_Sv.js +5 -0
  41. package/dist/assets/{LayoutFlex-B2vuN2pP.js → LayoutFlex-D1qTNI1T.js} +1 -1
  42. package/dist/assets/{LayoutFlexItem-DZGZPiq9.js → LayoutFlexItem-Cjuta4OI.js} +1 -1
  43. package/dist/assets/{LayoutGrid.stories-C7d7gHkh.js → LayoutGrid.stories-BVwemZN7.js} +1 -1
  44. package/dist/assets/{Link.stories-BXMBmoSQ.js → Link.stories-DhKS_mMM.js} +2 -2
  45. package/dist/assets/NumberField.stories-DGVMfPiP.js +203 -0
  46. package/dist/assets/{ObserveIntersection-otv7lXFR.js → ObserveIntersection-Dlq2fSZk.js} +1 -1
  47. package/dist/assets/{ObserveIntersection.stories-BZQrJcU-.js → ObserveIntersection.stories-Bsk9fa5T.js} +1 -1
  48. package/dist/assets/{OnboardingTooltip-pTldfpzz.js → OnboardingTooltip-DkE7k1BP.js} +1 -1
  49. package/dist/assets/{OnboardingTooltip.stories-BDhmLxH3.js → OnboardingTooltip.stories-WJNzUlGF.js} +1 -1
  50. package/dist/assets/{OnboardingTooltip.tests.stories-DtGW6Ont.js → OnboardingTooltip.tests.stories-DyeSpHwy.js} +1 -1
  51. package/dist/assets/{OnboardingTour-C77c5Kdq.js → OnboardingTour-VMVs8Xxw.js} +1 -1
  52. package/dist/assets/{OnboardingTour.stories-BBtWXCoV.js → OnboardingTour.stories-o4PJOyHM.js} +2 -2
  53. package/dist/assets/{OnboardingTour.tests.stories-xZM700CC.js → OnboardingTour.tests.stories-DCv7UuAA.js} +1 -1
  54. package/dist/assets/PasswordField.stories-9UhmWNNH.js +203 -0
  55. package/dist/assets/{ProgressBar.stories-BybW_bCK.js → ProgressBar.stories-Cwx9vLRu.js} +1 -1
  56. package/dist/assets/{ProgressSteps.stories-DlmAeyvG.js → ProgressSteps.stories-ChHDvvDf.js} +1 -1
  57. package/dist/assets/SelectField.stories-D3VtQPNg.js +182 -0
  58. package/dist/assets/{ShowOnIntersection.stories-Cp7q6ugf.js → ShowOnIntersection.stories-f7qsV79j.js} +1 -1
  59. package/dist/assets/{Steps-Ceq46dUw.js → Steps-DvOspyw4.js} +1 -1
  60. package/dist/assets/{Steps.stories-CiTej_cx.js → Steps.stories-BNrCcusp.js} +1 -1
  61. package/dist/assets/{Text-0413ycXu.js → Text-BnXfkCNb.js} +1 -1
  62. package/dist/assets/{Text.stories-H11xOWU5.js → Text.stories-POROaVit.js} +1 -1
  63. package/dist/assets/{TextField.stories-BFT5GGuw.js → TextField.stories-BaCyCP-d.js} +1 -1
  64. package/dist/assets/{TextHighlighted.stories-CYFfViL-.js → TextHighlighted.stories-BtihmwdB.js} +1 -1
  65. package/dist/assets/{TextInline.stories-DbP4mYFf.js → TextInline.stories-CC0i1Dwf.js} +1 -1
  66. package/dist/assets/TextareaField.stories-BcSqzGGD.js +221 -0
  67. package/dist/assets/{Tooltip.stories-BWHNjUgP.js → Tooltip.stories-BhOFaVTm.js} +1 -1
  68. package/dist/assets/{Tooltip.tests.stories-p-BQ7qru.js → Tooltip.tests.stories-DTA0esjb.js} +1 -1
  69. package/dist/assets/{breakpoints-DtHlYZxT.js → breakpoints-Bx88UvDJ.js} +1 -1
  70. package/dist/assets/{breakpoints-DcgKC_qA.js → breakpoints-DapDGNJK.js} +1 -1
  71. package/dist/assets/{breakpoints-ENSF4vnz.js → breakpoints-q3Q7wLjI.js} +1 -1
  72. package/dist/assets/{changelog-DCVVPIKj.js → changelog-yhmOvKQt.js} +1 -1
  73. package/dist/assets/{entry-preview-BKM_XNDK.js → entry-preview-Bc7rmtO2.js} +1 -1
  74. package/dist/assets/{getTokenVar-C-aLLuRH.js → getTokenVar-B8rehe17.js} +1 -1
  75. package/dist/assets/{hover-CVqLaEzN.js → hover-EENK1oZ2.js} +1 -1
  76. package/dist/assets/{hover-BCR2bzfC.js → hover-JspyvNai.js} +1 -1
  77. package/dist/assets/{hover-D2auHQjx.js → hover-rQzkcwzB.js} +1 -1
  78. package/dist/assets/{iframe-CMkYi43z.js → iframe-Cq1_BgP4.js} +2 -2
  79. package/dist/assets/{index-yAeUeMac.js → index-BuMAo9js.js} +1 -1
  80. package/dist/assets/{index-Dg07ICzV.js → index-DCiFp8xr.js} +3 -3
  81. package/dist/assets/{intro-B4axME9D.js → intro-CDdXChPN.js} +1 -1
  82. package/dist/assets/{migrating-from-less-D5lBBNvs.js → migrating-from-less-jPaCpUxb.js} +1 -1
  83. package/dist/assets/{playground.stories-DqcgG_B2.js → playground.stories-BwhqQLs8.js} +146 -146
  84. package/dist/assets/{preview-DEgrW_yV.js → preview-BE59sizd.js} +1 -1
  85. package/dist/assets/{preview-EJvw023p.js → preview-Bn4AyPIC.js} +1 -1
  86. package/dist/assets/{preview-Cyo8J0vE.js → preview-C-Q15BQ3.js} +2 -2
  87. package/dist/assets/{tokens-dNJgWIfY.js → tokens-BJkNxQmZ.js} +1 -1
  88. package/dist/assets/{tokens-D_nEByTS.js → tokens-BtCTMuNa.js} +1 -1
  89. package/dist/assets/{tokens-DaY_38LJ.js → tokens-Dbl5_Bwv.js} +1 -1
  90. package/dist/assets/{usePortalElement-tHhz4QRX.js → usePortalElement-C6aDTe14.js} +1 -1
  91. package/dist/assets/{welcome-BkE-H2lF.js → welcome-9_ayTI9s.js} +1 -1
  92. package/dist/assets/{zeroheight-CX_XGIKM.js → zeroheight-DkYeEYeU.js} +1 -1
  93. package/dist/iframe.html +1 -1
  94. package/dist/preview-stats.json +1323 -1323
  95. package/dist/project.json +1 -1
  96. package/package.json +3 -3
  97. package/dist/assets/InputText-BsBFqChw.js +0 -5
  98. package/dist/assets/NumberField.stories-B7ZeZhhE.js +0 -203
  99. package/dist/assets/PasswordField.stories-DOOGa0bP.js +0 -203
  100. package/dist/assets/SelectField.stories-ByABCV4u.js +0 -182
  101. 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};