UNPKG

@chakra-ui/input

Version:

A React component for input text field

1 lines 3.84 kB
{"version":3,"sources":["../src/input-element.tsx"],"sourcesContent":["import {\n chakra,\n forwardRef,\n SystemStyleObject,\n HTMLChakraProps,\n} from \"@chakra-ui/system\"\nimport { cx } from \"@chakra-ui/shared-utils\"\nimport { useInputGroupStyles } from \"./input-group\"\n\nexport interface InputElementProps extends HTMLChakraProps<\"div\"> {\n placement?: \"left\" | \"right\"\n}\n\nconst StyledInputElement = chakra(\"div\", {\n baseStyle: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n position: \"absolute\",\n top: \"0\",\n zIndex: 2,\n },\n})\n\nconst InputElement = forwardRef<InputElementProps, \"div\">(function InputElement(\n props,\n ref,\n) {\n const { placement = \"left\", ...rest } = props\n\n const styles = useInputGroupStyles()\n const input: any = styles.field\n\n const attr = placement === \"left\" ? \"insetStart\" : \"insetEnd\"\n\n const elementStyles: SystemStyleObject = {\n [attr]: \"0\",\n width: input?.height ?? input?.h,\n height: input?.height ?? input?.h,\n fontSize: input?.fontSize,\n ...styles.element,\n }\n\n return <StyledInputElement ref={ref} __css={elementStyles} {...rest} />\n})\n\n// This is used in `input-group.tsx`\nInputElement.id = \"InputElement\"\n\nInputElement.displayName = \"InputElement\"\n\nexport type InputLeftElementProps = Omit<InputElementProps, \"placement\">\n\nexport const InputLeftElement = forwardRef<InputLeftElementProps, \"div\">(\n function InputLeftElement(props, ref) {\n const { className, ...rest } = props\n const _className = cx(\"chakra-input__left-element\", className)\n\n return (\n <InputElement\n ref={ref}\n placement=\"left\"\n className={_className}\n {...rest}\n />\n )\n },\n)\n\n// This is used in `input-group.tsx`\nInputLeftElement.id = \"InputLeftElement\"\n\nInputLeftElement.displayName = \"InputLeftElement\"\n\nexport type InputRightElementProps = Omit<InputElementProps, \"placement\">\n\nexport const InputRightElement = forwardRef<InputRightElementProps, \"div\">(\n function InputRightElement(props, ref) {\n const { className, ...rest } = props\n const _className = cx(\"chakra-input__right-element\", className)\n\n return (\n <InputElement\n ref={ref}\n placement=\"right\"\n className={_className}\n {...rest}\n />\n )\n },\n)\n\n// This is used in `input-group.tsx`\nInputRightElement.id = \"InputRightElement\"\n\nInputRightElement.displayName = \"InputRightElement\"\n"],"mappings":";;;;;;AAAA;AAAA,EACE;AAAA,EACA;AAAA,OAGK;AACP,SAAS,UAAU;AAqCV;AA9BT,IAAM,qBAAqB,OAAO,OAAO;AAAA,EACvC,WAAW;AAAA,IACT,SAAS;AAAA,IACT,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,EACV;AACF,CAAC;AAED,IAAM,eAAe,WAAqC,SAASA,cACjE,OACA,KACA;AA3BF;AA4BE,QAAM,EAAE,YAAY,QAAQ,GAAG,KAAK,IAAI;AAExC,QAAM,SAAS,oBAAoB;AACnC,QAAM,QAAa,OAAO;AAE1B,QAAM,OAAO,cAAc,SAAS,eAAe;AAEnD,QAAM,gBAAmC;AAAA,IACvC,CAAC,IAAI,GAAG;AAAA,IACR,QAAO,oCAAO,WAAP,YAAiB,+BAAO;AAAA,IAC/B,SAAQ,oCAAO,WAAP,YAAiB,+BAAO;AAAA,IAChC,UAAU,+BAAO;AAAA,IACjB,GAAG,OAAO;AAAA,EACZ;AAEA,SAAO,oBAAC,sBAAmB,KAAU,OAAO,eAAgB,GAAG,MAAM;AACvE,CAAC;AAGD,aAAa,KAAK;AAElB,aAAa,cAAc;AAIpB,IAAM,mBAAmB;AAAA,EAC9B,SAASC,kBAAiB,OAAO,KAAK;AACpC,UAAM,EAAE,WAAW,GAAG,KAAK,IAAI;AAC/B,UAAM,aAAa,GAAG,8BAA8B,SAAS;AAE7D,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,WAAU;AAAA,QACV,WAAW;AAAA,QACV,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;AAGA,iBAAiB,KAAK;AAEtB,iBAAiB,cAAc;AAIxB,IAAM,oBAAoB;AAAA,EAC/B,SAASC,mBAAkB,OAAO,KAAK;AACrC,UAAM,EAAE,WAAW,GAAG,KAAK,IAAI;AAC/B,UAAM,aAAa,GAAG,+BAA+B,SAAS;AAE9D,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,WAAU;AAAA,QACV,WAAW;AAAA,QACV,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;AAGA,kBAAkB,KAAK;AAEvB,kBAAkB,cAAc;","names":["InputElement","InputLeftElement","InputRightElement"]}