{"version":3,"file":"TextBoxLabel.jsx","names":["stylex","memo","color","size","styles","create","label","display","flexDirection","gap","px1","cursor","width","row","flexWrap","alignItems","px2","error","transition","default","red150","orange150","fontSize","TextBoxLabel","t0","$","_c","children","t1","t2","Symbol","for","props","t3","t4","t5","t6"],"sources":["../src/TextBoxLabel.tsx"],"sourcesContent":["import * as stylex from \"@stylexjs/stylex\";\nimport { type ReactElement, type ReactNode, memo } from \"react\";\n\nimport { color, size } from \"./tokens.stylex\";\n\nimport type { TextBoxProps } from \"./TextBox\";\n\nexport interface TextBoxLabelProps {\n\t/**\n\t * The label to display above the input.\n\t *\n\t * @remarks The label will be displayed in a <span> inside a <label> component.\n\t * \t\t\tThis means that you cannot use divs or similar elements here. You can check here: https://caninclude.glitch.me\n\t * \t\t\tAvoid putting interactive stuff in here for the same reason.\n\t */\n\tlabel: ReactNode;\n\terror?: string | undefined;\n\tchildren: ReactElement<TextBoxProps>;\n}\n\nconst styles = stylex.create({\n\tlabel: {\n\t\tdisplay: \"flex\",\n\t\tflexDirection: \"column\",\n\t\tgap: size.px1,\n\t\tcursor: \"pointer\",\n\t\twidth: \"100%\",\n\t},\n\trow: {\n\t\tdisplay: \"flex\",\n\t\tflexWrap: \"wrap\",\n\t\tflexDirection: \"row\",\n\t\talignItems: \"baseline\",\n\t\tgap: size.px2,\n\t},\n\terror: {\n\t\ttransition: \"color 0.2s\",\n\t\tcolor: {\n\t\t\tdefault: color.red150,\n\t\t\t\"@starting-style\": color.orange150,\n\t\t},\n\t\tfontSize: \"75%\",\n\t},\n});\n\nexport default memo(function TextBoxLabel({\n\tlabel,\n\terror,\n\tchildren,\n}: TextBoxLabelProps) {\n\treturn (\n\t\t// biome-ignore lint/a11y/noLabelWithoutControl: Control is in the children\n\t\t<label {...stylex.props(styles.label)}>\n\t\t\t<span {...stylex.props(styles.row)}>\n\t\t\t\t<span>{label}</span>\n\t\t\t\t{\n\t\t\t\t\t// TODO: aria support\n\t\t\t\t\t!!error && (\n\t\t\t\t\t\t<span {...stylex.props(styles.error)}>{error}</span>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t</span>\n\t\t\t{children}\n\t\t</label>\n\t);\n});\n"],"mappings":";AAAA,OAAO,KAAKA,MAAM,MAAM,kBAAkB;AAC1C,SAA4CC,IAAI,QAAQ,OAAO;AAE/D,SAASC,KAAK,EAAEC,IAAI,QAAQ,iBAAiB;AAiB7C,MAAMC,MAAM,GAAGJ,MAAM,CAACK,MAAM,CAAC;EAC5BC,KAAK,EAAE;IACNC,OAAO,EAAE,MAAM;IACfC,aAAa,EAAE,QAAQ;IACvBC,GAAG,EAAEN,IAAI,CAACO,GAAG;IACbC,MAAM,EAAE,SAAS;IACjBC,KAAK,EAAE;EACR,CAAC;EACDC,GAAG,EAAE;IACJN,OAAO,EAAE,MAAM;IACfO,QAAQ,EAAE,MAAM;IAChBN,aAAa,EAAE,KAAK;IACpBO,UAAU,EAAE,UAAU;IACtBN,GAAG,EAAEN,IAAI,CAACa;EACX,CAAC;EACDC,KAAK,EAAE;IACNC,UAAU,EAAE,YAAY;IACxBhB,KAAK,EAAE;MACNiB,OAAO,EAAEjB,KAAK,CAACkB,MAAM;MACrB,iBAAiB,EAAElB,KAAK,CAACmB;IAC1B,CAAC;IACDC,QAAQ,EAAE;EACX;AACD,CAAC,CAAC;AAEF,eAAerB,IAAI,CAAC,SAAAsB,aAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAC,EAAA;EAAsB;IAAApB,KAAA;IAAAW,KAAA;IAAAU;EAAA,IAAAH,EAItB;EAAA,IAAAI,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAJ,CAAA,QAAAK,MAAA,CAAAC,GAAA;IAGPH,EAAA,GAAA5B,MAAA,CAAAgC,KAAA,CAAA5B,MAAA,CAAAE,KAAyB,CAAC;IAC1BuB,EAAA,GAAA7B,MAAA,CAAAgC,KAAA,CAAA5B,MAAA,CAAAS,GAAuB,CAAC;IAAAY,CAAA,MAAAG,EAAA;IAAAH,CAAA,MAAAI,EAAA;EAAA;IAAAD,EAAA,GAAAH,CAAA;IAAAI,EAAA,GAAAJ,CAAA;EAAA;EAAA,IAAAQ,EAAA;EAAA,IAAAR,CAAA,QAAAnB,KAAA;IACjC2B,EAAA,QAAoB,CAAb3B,MAAI,CAAE,EAAb,IAAoB;IAAAmB,CAAA,MAAAnB,KAAA;IAAAmB,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EAAA,IAAAS,EAAA;EAAA,IAAAT,CAAA,QAAAR,KAAA;IAGnBiB,EAAA,KAAEjB,KAAK,IACN,KAAoD,KAA1CjB,MAAA,CAAAgC,KAAA,CAAA5B,MAAA,CAAAa,KAAyB,CAAC,EAAGA,MAAI,CAAE,EAA7C,IAAoD,CACpD;IAAAQ,CAAA,MAAAR,KAAA;IAAAQ,CAAA,MAAAS,EAAA;EAAA;IAAAA,EAAA,GAAAT,CAAA;EAAA;EAAA,IAAAU,EAAA;EAAA,IAAAV,CAAA,QAAAQ,EAAA,IAAAR,CAAA,QAAAS,EAAA;IANHC,EAAA,QAQO,KARGN,EAAwB,EACjC,CAAAI,EAAmB,CAGlB,CAAAC,EAEA,CAEF,EARA,IAQO;IAAAT,CAAA,MAAAQ,EAAA;IAAAR,CAAA,MAAAS,EAAA;IAAAT,CAAA,MAAAU,EAAA;EAAA;IAAAA,EAAA,GAAAV,CAAA;EAAA;EAAA,IAAAW,EAAA;EAAA,IAAAX,CAAA,QAAAE,QAAA,IAAAF,CAAA,SAAAU,EAAA;IATRC,EAAA,SAWQ,KAXGR,EAA0B,EACpC,CAAAO,EAQM,CACLR,SAAO,CACT,EAXA,KAWQ;IAAAF,CAAA,MAAAE,QAAA;IAAAF,CAAA,OAAAU,EAAA;IAAAV,CAAA,OAAAW,EAAA;EAAA;IAAAA,EAAA,GAAAX,CAAA;EAAA;EAAA,OAXRW,EAWQ;AAAA,CAET,CAAC","ignoreList":[]}