UNPKG

@yamada-ui/input

Version:

Yamada UI input component

1 lines 3.99 kB
{"version":3,"sources":["../src/input-element.tsx"],"sourcesContent":["import type { CSSUIObject, HTMLUIProps } from \"@yamada-ui/core\"\nimport { forwardRef, ui } from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { useInputGroup } from \"./input-context\"\n\ninterface InputElementOptions {\n /**\n * If `true`, the element clickable.\n *\n * @default false\n */\n clickable?: boolean\n /**\n * If `true`, the element clickable.\n *\n * @default false\n *\n * @deprecated Use `clickable` instead.\n */\n isClick?: boolean\n /**\n * If `true`, the element clickable.\n *\n * @default false\n *\n * @deprecated Use `clickable` instead.\n */\n isClickable?: boolean\n /**\n * The placement of the element.\n *\n * @default 'left'\n */\n placement?: \"left\" | \"right\"\n}\n\nexport interface InputElementProps extends HTMLUIProps, InputElementOptions {}\n\nconst InputElement = forwardRef<InputElementProps, \"div\">(\n (\n {\n className,\n isClick = false,\n isClickable = isClick,\n clickable = isClickable,\n placement = \"left\",\n ...rest\n },\n ref,\n ) => {\n const { fieldFontSize, fieldHeight, styles } = useInputGroup()\n\n const css: CSSUIObject = {\n alignItems: \"center\",\n cursor: clickable ? \"pointer\" : \"auto\",\n display: \"flex\",\n fontSize: fieldFontSize,\n h: \"100%\",\n justifyContent: \"center\",\n [placement === \"left\" ? \"insetStart\" : \"insetEnd\"]: \"0\",\n pointerEvents: clickable ? \"auto\" : \"none\",\n position: \"absolute\",\n top: \"0\",\n w: fieldHeight,\n zIndex: \"fallback(kurillin, 9)\",\n ...styles.element,\n }\n\n return (\n <ui.div\n ref={ref}\n className={cx(\"ui-input__element\", className)}\n __css={css}\n {...rest}\n />\n )\n },\n)\n\nInputElement.displayName = \"InputElement\"\nInputElement.__ui__ = \"InputElement\"\n\nexport const InputLeftElement = forwardRef<InputElementProps, \"div\">(\n ({ className, ...rest }, ref) => {\n return (\n <InputElement\n ref={ref}\n className={cx(\"ui-input__element--left\", className)}\n placement=\"left\"\n {...rest}\n />\n )\n },\n)\n\nInputLeftElement.displayName = \"InputLeftElement\"\nInputLeftElement.__ui__ = \"InputLeftElement\"\n\nexport const InputRightElement = forwardRef<InputElementProps, \"div\">(\n ({ className, ...rest }, ref) => {\n return (\n <InputElement\n ref={ref}\n className={cx(\"ui-input__element--right\", className)}\n placement=\"right\"\n {...rest}\n />\n )\n },\n)\n\nInputRightElement.displayName = \"InputRightElement\"\nInputRightElement.__ui__ = \"InputRightElement\"\n"],"mappings":";;;;;;AACA,SAAS,YAAY,UAAU;AAC/B,SAAS,UAAU;AAmEb;AA/BN,IAAM,eAAe;AAAA,EACnB,CACE;AAAA,IACE;AAAA,IACA,UAAU;AAAA,IACV,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,GAAG;AAAA,EACL,GACA,QACG;AACH,UAAM,EAAE,eAAe,aAAa,OAAO,IAAI,cAAc;AAE7D,UAAM,MAAmB;AAAA,MACvB,YAAY;AAAA,MACZ,QAAQ,YAAY,YAAY;AAAA,MAChC,SAAS;AAAA,MACT,UAAU;AAAA,MACV,GAAG;AAAA,MACH,gBAAgB;AAAA,MAChB,CAAC,cAAc,SAAS,eAAe,UAAU,GAAG;AAAA,MACpD,eAAe,YAAY,SAAS;AAAA,MACpC,UAAU;AAAA,MACV,KAAK;AAAA,MACL,GAAG;AAAA,MACH,QAAQ;AAAA,MACR,GAAG,OAAO;AAAA,IACZ;AAEA,WACE;AAAA,MAAC,GAAG;AAAA,MAAH;AAAA,QACC;AAAA,QACA,WAAW,GAAG,qBAAqB,SAAS;AAAA,QAC5C,OAAO;AAAA,QACN,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;AAEA,aAAa,cAAc;AAC3B,aAAa,SAAS;AAEf,IAAM,mBAAmB;AAAA,EAC9B,CAAC,EAAE,WAAW,GAAG,KAAK,GAAG,QAAQ;AAC/B,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,WAAW,GAAG,2BAA2B,SAAS;AAAA,QAClD,WAAU;AAAA,QACT,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;AAEA,iBAAiB,cAAc;AAC/B,iBAAiB,SAAS;AAEnB,IAAM,oBAAoB;AAAA,EAC/B,CAAC,EAAE,WAAW,GAAG,KAAK,GAAG,QAAQ;AAC/B,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,WAAW,GAAG,4BAA4B,SAAS;AAAA,QACnD,WAAU;AAAA,QACT,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;AAEA,kBAAkB,cAAc;AAChC,kBAAkB,SAAS;","names":[]}