@consta/uikit 5.9.0 → 5.9.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/__internal__/src/components/TextField/TextField.js +1 -1
- package/__internal__/src/components/TextField/TextField.js.map +1 -1
- package/__internal__/src/components/TextField/helpers.d.ts +1 -2
- package/__internal__/src/components/TextField/helpers.js +1 -1
- package/__internal__/src/components/TextField/helpers.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["className","type","value","defaultValue","onChange","id","name","rows","cols","minRows","maxRows","inputRef","maxLength","disabled","size","view","form","state","status","onBlur","onFocus","autoFocus","placeholder","leftSide","rightSide","autoComplete","withClearButton","incrementButtons","max","min","readOnly","required","step","tabIndex","ariaLabel","label","labelIcon","inputContainerRef","labelPosition","caption","iconSize","focused","onClick","onKeyDown","onKeyDownCapture","onKeyPress","onKeyPressCapture","onKeyUp","onKeyUpCapture","onClear"];import"./TextField.css";import{IconClear}from"@consta/icons/IconClear";import{IconEye}from"@consta/icons/IconEye";import{IconEyeClose}from"@consta/icons/IconEyeClose";import{IconSelect}from"@consta/icons/IconSelect";import React,{forwardRef,useCallback,useEffect}from"react";import TextAreaAutoSize from"react-textarea-autosize";import{usePropsHandler}from"../EventInterceptor/usePropsHandler";import{FieldCaption}from"../FieldCaption/FieldCaption";import{FieldLabel}from"../FieldLabel/FieldLabel";import{useFlag}from"../../hooks/useFlag/useFlag";import{useForkRef}from"../../hooks/useForkRef/useForkRef";import{useMutableRef}from"../../hooks/useMutableRef/useMutableRef";import{useSortSteps}from"../../hooks/useSortSteps/useSortSteps";import{cn}from"../../utils/bem";import{getByMap}from"../../utils/getByMap";import{isString}from"../../utils/type-guards";import{
|
|
1
|
+
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["className","type","value","defaultValue","onChange","id","name","rows","cols","minRows","maxRows","inputRef","maxLength","disabled","size","view","form","state","status","onBlur","onFocus","autoFocus","placeholder","leftSide","rightSide","autoComplete","withClearButton","incrementButtons","max","min","readOnly","required","step","tabIndex","ariaLabel","label","labelIcon","inputContainerRef","labelPosition","caption","iconSize","focused","onClick","onKeyDown","onKeyDownCapture","onKeyPress","onKeyPressCapture","onKeyUp","onKeyUpCapture","onClear"];import"./TextField.css";import{IconClear}from"@consta/icons/IconClear";import{IconEye}from"@consta/icons/IconEye";import{IconEyeClose}from"@consta/icons/IconEyeClose";import{IconSelect}from"@consta/icons/IconSelect";import React,{forwardRef,useCallback,useEffect}from"react";import TextAreaAutoSize from"react-textarea-autosize";import{usePropsHandler}from"../EventInterceptor/usePropsHandler";import{FieldCaption}from"../FieldCaption/FieldCaption";import{FieldLabel}from"../FieldLabel/FieldLabel";import{useFlag}from"../../hooks/useFlag/useFlag";import{useForkRef}from"../../hooks/useForkRef/useForkRef";import{useKeys}from"../../hooks/useKeys";import{useMutableRef}from"../../hooks/useMutableRef/useMutableRef";import{useSortSteps}from"../../hooks/useSortSteps/useSortSteps";import{cn}from"../../utils/bem";import{getByMap}from"../../utils/getByMap";import{isString}from"../../utils/type-guards";import{getTypeForRender,getValueByStep,inputValue,sizeMap,stepIsActive}from"./helpers";import{textFieldPropFormDefault,textFieldPropSizeDefault,textFieldPropViewDefault}from"./types";export var COMPONENT_NAME="TextField";export var cnTextField=cn("TextField");export var TextFieldRender=function(a,b){var c,d,e=React.useRef(null),f=React.useRef(null),g=usePropsHandler(COMPONENT_NAME,a,e),h=g.className,i=g.type,j=void 0===i?"text":i,k=g.value,l=g.defaultValue,m=g.onChange,n=g.id,o=g.name,p=g.rows,q=g.cols,r=g.minRows,s=g.maxRows,t=g.inputRef,u=g.maxLength,v=g.disabled,w=g.size,x=void 0===w?textFieldPropSizeDefault:w,y=g.view,z=void 0===y?textFieldPropViewDefault:y,A=g.form,B=void 0===A?textFieldPropFormDefault:A,C=g.state,D=g.status,E=g.onBlur,F=g.onFocus,G=g.autoFocus,H=void 0!==G&&G,I=g.placeholder,J=g.leftSide,K=g.rightSide,L=g.autoComplete,M=g.withClearButton,N=g.incrementButtons,O=g.max,P=g.min,Q=g.readOnly,R=g.required,S=g.step,T=void 0===S?1:S,U=g.tabIndex,V=g.ariaLabel,W=g.label,X=g.labelIcon,Y=g.inputContainerRef,Z=g.labelPosition,$=void 0===Z?"top":Z,_=g.caption,aa=g.iconSize,ba=g.focused,ca=g.onClick,da=g.onKeyDown,ea=g.onKeyDownCapture,fa=g.onKeyPress,ga=g.onKeyPressCapture,ha=g.onKeyUp,ia=g.onKeyUpCapture,ja=g.onClear,ka=_objectWithoutProperties(g,_excluded),la="number"===j&&(void 0===N||N),ma=useFlag(H),na=_slicedToArray(ma,2),oa=na[0],pa=na[1],qa=useFlag(),ra=_slicedToArray(qa,2),sa=ra[0],ta=ra[1],ua=useFlag(),va=_slicedToArray(ua,2),wa=va[0],xa=va[1],ya=useMutableRef(ca),za=useMutableRef(m),Aa=useCallback(function(a){var b;a.stopPropagation(),ta.toggle(),null===(b=f.current)||void 0===b?void 0:b.focus()},[]),Ba=J,Ca=K,Da=isString(J),Ea=isString(K),Fa=getByMap(sizeMap,x,aa),Ga=useSortSteps({step:T,min:+P,max:+O}),Ha=useCallback(function(a){var b;v||(null===(b=za.current)||void 0===b?void 0:b.call(za,a.target.value||null,{e:a,id:n,name:o})),a.target.value?xa.on():xa.off()},[n,o,v]),Ia=function(a){pa.on(),null===F||void 0===F?void 0:F(a)},Ja={className:cnTextField("Input"),value:inputValue(k),defaultValue:inputValue(l),onChange:Ha,maxLength:u,disabled:v,onBlur:function handleBlur(a){pa.off(),null===E||void 0===E?void 0:E(a)},onFocus:Ia,autoFocus:H,placeholder:I,autoComplete:L,readOnly:Q,tabIndex:U,name:o,onKeyDownCapture:ea,onKeyPress:fa,onKeyPressCapture:ga,onKeyUp:ha,onKeyUpCapture:ia,id:n?n.toString():void 0,"aria-label":V},Ka=sa?IconEyeClose:IconEye,La=useKeys({isActive:!0,keys:{ArrowUp:function ArrowUp(a){if(a.preventDefault(),stepIsActive(T,j,v)){var b,c,d=getValueByStep(Ga,null===(b=f.current)||void 0===b?void 0:b.value,!0,P,O);null===(c=za.current)||void 0===c?void 0:c.call(za,d,{e:a,id:n,name:o}),f.current&&(f.current.value=d,xa.on())}},ArrowDown:function ArrowDown(a){if(a.preventDefault(),stepIsActive(T,j,v)){var b,c,d=getValueByStep(Ga,null===(b=f.current)||void 0===b?void 0:b.value,!1,P,O);null===(c=za.current)||void 0===c?void 0:c.call(za,d,{e:a,id:n,name:o}),f.current&&(f.current.value=d,xa.on())}}},onEvent:da}),Ma={rows:p,cols:q,minRows:r||p,maxRows:s||p,ref:useForkRef([f,t])},Na={type:getTypeForRender(j,sa),max:O,min:P,step:Array.isArray(Ga)?0:Ga,onKeyDown:La,ref:useForkRef([f,t])},Oa=useCallback(function(a){var b;null===(b=za.current)||void 0===b?void 0:b.call(za,null,{e:a,id:n,name:o}),f.current&&(f.current.value="",xa.off())},[]),Pa=function(a){var b,c,d=!(1<arguments.length&&void 0!==arguments[1])||arguments[1],e=getValueByStep(Ga,null===(b=f.current)||void 0===b?void 0:b.value,d,P,O);null===(c=za.current)||void 0===c?void 0:c.call(za,e,{e:a,id:n,name:o}),f.current&&(f.current.value=e,xa.on())},Qa={onClick:useCallback(function(a){var b,c;null===(b=f.current)||void 0===b?void 0:b.focus(),null===(c=ya.current)||void 0===c?void 0:c.call(ya,a)},[])};return useEffect(function(){var a;xa[null!==(a=f.current)&&void 0!==a&&a.value?"on":"off"]()},[null===(c=f.current)||void 0===c?void 0:c.value]),React.createElement("div",Object.assign({className:cnTextField({labelPosition:$,size:x,view:z},[h]),ref:useForkRef([b,e])},Qa,ka),W&&React.createElement(FieldLabel,{as:"label",htmlFor:null===n||void 0===n?void 0:n.toString(),icon:X,required:R,className:cnTextField("Label",{labelPosition:$}),size:x},W),React.createElement("div",{className:cnTextField("Body")},React.createElement("div",{ref:Y,className:cnTextField("InputContainer",{view:z,form:B,status:D||C,disabled:v,type:j,focus:oa||ba,withValue:wa,incrementButtons:"number"===j&&la})},Ba&&React.createElement("div",{className:cnTextField("Side",{position:"left",type:Da?"string":"icon"}),title:"string"==typeof J?J:void 0},Da?J:React.createElement(Ba,{className:cnTextField("Icon"),size:Fa})),"textarea"===j?React.createElement(TextAreaAutoSize,Object.assign({},Ja,Ma)):React.createElement("input",Object.assign({},Ja,Na)),la&&stepIsActive(T,j,v)&&React.createElement("div",{className:cnTextField("Counter")},React.createElement("button",{className:cnTextField("CounterButton",{fn:"increment"}),onFocus:Ia,onClick:function(a){return Pa(a,!0)},type:"button"},React.createElement(IconSelect,{size:"xs"})),React.createElement("button",{className:cnTextField("CounterButton"),onFocus:Ia,onClick:function(a){return Pa(a,!1)},type:"button"},React.createElement(IconSelect,{size:"xs"}))),!la&&wa&&M&&!v&&React.createElement("button",{type:"button",disabled:v,tabIndex:-1,onClick:ja||Oa,className:cnTextField("ClearButton")},React.createElement(IconClear,{size:sizeMap[x],className:cnTextField("ClearButtonIcon")})),"password"===j&&(null===(d=f.current)||void 0===d?void 0:d.value)&&React.createElement("button",{className:cnTextField("ClearButton"),type:"button",onClick:Aa},React.createElement(Ka,{className:cnTextField("Icon"),size:Fa})),Ca&&!la&&"password"!==j&&React.createElement("div",{className:cnTextField("Side",{position:"right",type:Ea?"string":"icon"}),title:"string"==typeof K?K:void 0},Ea?K:React.createElement(Ca,{className:cnTextField("Icon"),size:Fa}))),_&&React.createElement(FieldCaption,{className:cnTextField("Caption"),status:D||C},_)))};export var TextField=forwardRef(TextFieldRender);export*from"./types";
|
|
2
2
|
//# sourceMappingURL=TextField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextField.js","names":["IconClear","IconEye","IconEyeClose","IconSelect","React","forwardRef","useCallback","useEffect","TextAreaAutoSize","usePropsHandler","FieldCaption","FieldLabel","useFlag","useForkRef","useMutableRef","useSortSteps","cn","getByMap","isString","getIncrementFlag","getTypeForRender","getValueByStep","inputValue","sizeMap","textFieldPropFormDefault","textFieldPropSizeDefault","textFieldPropViewDefault","COMPONENT_NAME","cnTextField","TextFieldRender","props","ref","textFieldRef","useRef","inputRef","className","type","value","defaultValue","onChange","id","name","rows","cols","minRows","maxRows","inputRefProp","maxLength","disabled","size","view","form","state","status","onBlur","onFocus","autoFocus","placeholder","leftSide","rightSide","autoComplete","withClearButton","incrementButtons","max","min","readOnly","required","step","tabIndex","ariaLabel","label","labelIcon","inputContainerRef","labelPosition","caption","iconSizeProp","iconSize","focused","onClick","onKeyDownProp","onKeyDown","onKeyDownCapture","onKeyPress","onKeyPressCapture","onKeyUp","onKeyUpCapture","onClear","otherProps","focus","setFocus","passwordVisible","setPasswordVisuble","withValue","setWithValue","onClickRef","onChangeRef","handleEyeClick","e","stopPropagation","toggle","current","LeftIcon","RightIcon","leftSideIsString","rightSideIsString","sortedSteps","handleChange","target","on","off","handleFocus","commonProps","handleBlur","toString","Eye","textareaProps","inputProps","Array","isArray","flag","preventDefault","newValue","handleClear","changeNumberValue","isIncrement","rootProps","position","fn","TextField"],"sources":["../../../../../src/components/TextField/TextField.tsx"],"sourcesContent":["import './TextField.css';\n\nimport { IconClear } from '@consta/icons/IconClear';\nimport { IconEye } from '@consta/icons/IconEye';\nimport { IconEyeClose } from '@consta/icons/IconEyeClose';\nimport { IconSelect } from '@consta/icons/IconSelect';\nimport React, { forwardRef, useCallback, useEffect } from 'react';\nimport TextAreaAutoSize from 'react-textarea-autosize';\n\nimport { usePropsHandler } from '##/components/EventInterceptor/usePropsHandler';\nimport { FieldCaption } from '##/components/FieldCaption/FieldCaption';\nimport { FieldLabel } from '##/components/FieldLabel/FieldLabel';\nimport { useFlag } from '##/hooks/useFlag/useFlag';\nimport { useForkRef } from '##/hooks/useForkRef/useForkRef';\nimport { useMutableRef } from '##/hooks/useMutableRef/useMutableRef';\nimport { useSortSteps } from '##/hooks/useSortSteps/useSortSteps';\nimport { cn } from '##/utils/bem';\nimport { getByMap } from '##/utils/getByMap';\nimport { isString } from '##/utils/type-guards';\n\nimport {\n getIncrementFlag,\n getTypeForRender,\n getValueByStep,\n inputValue,\n sizeMap,\n} from './helpers';\nimport {\n TextFieldComponent,\n textFieldPropFormDefault,\n TextFieldProps,\n textFieldPropSizeDefault,\n textFieldPropViewDefault,\n} from './types';\n\nexport const COMPONENT_NAME = 'TextField' as const;\nexport const cnTextField = cn(COMPONENT_NAME);\n\nexport const TextFieldRender = <TYPE extends string>(\n props: TextFieldProps<TYPE>,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const textFieldRef = React.useRef<HTMLDivElement>(null);\n const inputRef = React.useRef<HTMLInputElement | HTMLTextAreaElement>(null);\n\n const {\n className,\n type = 'text',\n value,\n defaultValue,\n onChange,\n id,\n name,\n rows,\n cols,\n minRows,\n maxRows,\n inputRef: inputRefProp,\n maxLength,\n disabled,\n size = textFieldPropSizeDefault,\n view = textFieldPropViewDefault,\n form = textFieldPropFormDefault,\n state,\n status,\n onBlur,\n onFocus,\n autoFocus = false,\n placeholder,\n leftSide,\n rightSide,\n autoComplete,\n withClearButton,\n incrementButtons: incrementButtonsProp = true,\n max,\n min,\n readOnly,\n required,\n step = 1,\n tabIndex,\n ariaLabel,\n label,\n labelIcon,\n inputContainerRef,\n labelPosition = 'top',\n caption,\n iconSize: iconSizeProp,\n focused,\n onClick,\n // onkey props\n onKeyDown: onKeyDownProp,\n onKeyDownCapture,\n onKeyPress,\n onKeyPressCapture,\n onKeyUp,\n onKeyUpCapture,\n onClear,\n ...otherProps\n } = usePropsHandler(COMPONENT_NAME, props, textFieldRef);\n\n const incrementButtons = type === 'number' ? incrementButtonsProp : false;\n\n const [focus, setFocus] = useFlag(autoFocus);\n const [passwordVisible, setPasswordVisuble] = useFlag();\n const [withValue, setWithValue] = useFlag();\n\n const onClickRef = useMutableRef(onClick);\n const onChangeRef = useMutableRef(onChange);\n\n const handleEyeClick = useCallback(\n (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {\n e.stopPropagation();\n setPasswordVisuble.toggle();\n inputRef.current?.focus();\n },\n [],\n );\n\n const textarea = type === 'textarea';\n const LeftIcon = leftSide;\n const RightIcon = rightSide;\n const leftSideIsString = isString(leftSide);\n const rightSideIsString = isString(rightSide);\n const iconSize = getByMap(sizeMap, size, iconSizeProp);\n\n const sortedSteps = useSortSteps({\n step,\n min: Number(min),\n max: Number(max),\n });\n\n const handleChange: React.ChangeEventHandler<\n HTMLInputElement | HTMLTextAreaElement\n > = useCallback(\n (e) => {\n !disabled &&\n onChangeRef.current?.(e.target.value || null, {\n e,\n id,\n name,\n });\n\n if (e.target.value) {\n setWithValue.on();\n } else {\n setWithValue.off();\n }\n },\n [id, name, disabled],\n );\n\n const handleBlur: React.FocusEventHandler<HTMLElement> = (e) => {\n setFocus.off();\n onBlur?.(e);\n };\n\n const handleFocus: React.FocusEventHandler<HTMLElement> = (e) => {\n setFocus.on();\n onFocus?.(e);\n };\n\n const commonProps = {\n 'className': cnTextField('Input'),\n 'value': inputValue(value),\n 'defaultValue': inputValue(defaultValue),\n 'onChange': handleChange,\n maxLength,\n disabled,\n 'onBlur': handleBlur,\n 'onFocus': handleFocus,\n autoFocus,\n placeholder,\n autoComplete,\n readOnly,\n tabIndex,\n name,\n onKeyDownCapture,\n onKeyPress,\n onKeyPressCapture,\n onKeyUp,\n onKeyUpCapture,\n 'id': id ? id.toString() : undefined,\n 'aria-label': ariaLabel,\n };\n\n const Eye = passwordVisible ? IconEyeClose : IconEye;\n\n const onKeyDown = (e: React.KeyboardEvent) => {\n const flag = getIncrementFlag(e);\n onKeyDownProp?.(e);\n if (type === 'number' && typeof flag === 'boolean' && !disabled) {\n e.preventDefault();\n\n const newValue = getValueByStep(\n sortedSteps,\n inputRef.current?.value,\n flag,\n min,\n max,\n );\n\n onChangeRef.current?.(newValue, {\n e,\n id,\n name,\n });\n\n if (inputRef.current) {\n inputRef.current.value = newValue;\n setWithValue.on();\n }\n }\n };\n\n const textareaProps = {\n rows,\n cols,\n minRows: minRows || rows,\n maxRows: maxRows || rows,\n ref: useForkRef([inputRef, inputRefProp]) as (\n node: HTMLTextAreaElement,\n ) => void,\n };\n\n const inputProps = {\n type: getTypeForRender(type, passwordVisible),\n max,\n min,\n step: !Array.isArray(sortedSteps) ? sortedSteps : 0,\n onKeyDown,\n ref: useForkRef([\n inputRef,\n inputRefProp,\n ]) as React.RefCallback<HTMLInputElement>,\n };\n\n const handleClear = useCallback((e: React.MouseEvent<HTMLButtonElement>) => {\n onChangeRef.current?.(null, {\n e,\n id,\n name,\n });\n\n if (inputRef.current) {\n inputRef.current.value = '';\n setWithValue.off();\n }\n }, []);\n\n const changeNumberValue = (\n e: React.MouseEvent<HTMLButtonElement>,\n isIncrement = true,\n ) => {\n const newValue = getValueByStep(\n sortedSteps,\n inputRef.current?.value,\n isIncrement,\n min,\n max,\n );\n onChangeRef.current?.(newValue, {\n e,\n id,\n name,\n });\n if (inputRef.current) {\n inputRef.current.value = newValue;\n setWithValue.on();\n }\n };\n\n const rootProps = {\n onClick: useCallback((e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n inputRef.current?.focus();\n onClickRef.current?.(e);\n }, []),\n };\n\n useEffect(() => {\n setWithValue[inputRef.current?.value ? 'on' : 'off']();\n }, [inputRef.current?.value]);\n\n return (\n <div\n className={cnTextField({ labelPosition, size, view }, [className])}\n ref={useForkRef([ref, textFieldRef])}\n {...rootProps}\n {...otherProps}\n >\n {label && (\n <FieldLabel\n as=\"label\"\n htmlFor={id?.toString()}\n icon={labelIcon}\n required={required}\n className={cnTextField('Label', { labelPosition })}\n size={size}\n >\n {label}\n </FieldLabel>\n )}\n <div className={cnTextField('Body')}>\n <div\n ref={inputContainerRef}\n className={cnTextField('InputContainer', {\n view,\n form,\n status: status || state,\n disabled,\n type,\n focus: focus || focused,\n withValue,\n incrementButtons: type === 'number' && incrementButtons,\n })}\n >\n {LeftIcon && (\n <div\n className={cnTextField('Side', {\n position: 'left',\n type: leftSideIsString ? 'string' : 'icon',\n })}\n title={typeof leftSide === 'string' ? leftSide : undefined}\n >\n {leftSideIsString ? (\n leftSide\n ) : (\n <LeftIcon className={cnTextField('Icon')} size={iconSize} />\n )}\n </div>\n )}\n {textarea ? (\n <TextAreaAutoSize {...commonProps} {...textareaProps} />\n ) : (\n <input {...commonProps} {...inputProps} />\n )}\n\n {incrementButtons && !disabled && (\n <div className={cnTextField('Counter')}>\n <button\n className={cnTextField('CounterButton', { fn: 'increment' })}\n onFocus={handleFocus}\n onClick={(e) => changeNumberValue(e, true)}\n type=\"button\"\n >\n <IconSelect size=\"xs\" />\n </button>\n <button\n className={cnTextField('CounterButton')}\n onFocus={handleFocus}\n onClick={(e) => changeNumberValue(e, false)}\n type=\"button\"\n >\n <IconSelect size=\"xs\" />\n </button>\n </div>\n )}\n\n {!incrementButtons && withValue && withClearButton && !disabled && (\n <button\n type=\"button\"\n disabled={disabled}\n tabIndex={-1}\n onClick={onClear || handleClear}\n className={cnTextField('ClearButton')}\n >\n <IconClear\n size={sizeMap[size]}\n className={cnTextField('ClearButtonIcon')}\n />\n </button>\n )}\n\n {type === 'password' && inputRef.current?.value && (\n <button\n className={cnTextField('ClearButton')}\n type=\"button\"\n onClick={handleEyeClick}\n >\n <Eye className={cnTextField('Icon')} size={iconSize} />\n </button>\n )}\n\n {RightIcon && !incrementButtons && type !== 'password' && (\n <div\n className={cnTextField('Side', {\n position: 'right',\n type: rightSideIsString ? 'string' : 'icon',\n })}\n title={typeof rightSide === 'string' ? rightSide : undefined}\n >\n {rightSideIsString ? (\n rightSide\n ) : (\n <RightIcon className={cnTextField('Icon')} size={iconSize} />\n )}\n </div>\n )}\n </div>\n {caption && (\n <FieldCaption\n className={cnTextField('Caption')}\n status={status || state}\n >\n {caption}\n </FieldCaption>\n )}\n </div>\n </div>\n );\n};\n\nexport const TextField = forwardRef(TextFieldRender) as TextFieldComponent;\nexport * from './types';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TextField.js","names":["IconClear","IconEye","IconEyeClose","IconSelect","React","forwardRef","useCallback","useEffect","TextAreaAutoSize","usePropsHandler","FieldCaption","FieldLabel","useFlag","useForkRef","useKeys","useMutableRef","useSortSteps","cn","getByMap","isString","getTypeForRender","getValueByStep","inputValue","sizeMap","stepIsActive","textFieldPropFormDefault","textFieldPropSizeDefault","textFieldPropViewDefault","COMPONENT_NAME","cnTextField","TextFieldRender","props","ref","textFieldRef","useRef","inputRef","className","type","value","defaultValue","onChange","id","name","rows","cols","minRows","maxRows","inputRefProp","maxLength","disabled","size","view","form","state","status","onBlur","onFocus","autoFocus","placeholder","leftSide","rightSide","autoComplete","withClearButton","incrementButtons","max","min","readOnly","required","step","tabIndex","ariaLabel","label","labelIcon","inputContainerRef","labelPosition","caption","iconSizeProp","iconSize","focused","onClick","onKeyDownProp","onKeyDown","onKeyDownCapture","onKeyPress","onKeyPressCapture","onKeyUp","onKeyUpCapture","onClear","otherProps","focus","setFocus","passwordVisible","setPasswordVisuble","withValue","setWithValue","onClickRef","onChangeRef","handleEyeClick","e","stopPropagation","toggle","current","LeftIcon","RightIcon","leftSideIsString","rightSideIsString","sortedSteps","handleChange","target","on","off","handleFocus","commonProps","handleBlur","toString","Eye","isActive","keys","ArrowUp","preventDefault","newValue","ArrowDown","onEvent","textareaProps","inputProps","Array","isArray","handleClear","changeNumberValue","isIncrement","rootProps","position","fn","TextField"],"sources":["../../../../../src/components/TextField/TextField.tsx"],"sourcesContent":["import './TextField.css';\n\nimport { IconClear } from '@consta/icons/IconClear';\nimport { IconEye } from '@consta/icons/IconEye';\nimport { IconEyeClose } from '@consta/icons/IconEyeClose';\nimport { IconSelect } from '@consta/icons/IconSelect';\nimport React, { forwardRef, useCallback, useEffect } from 'react';\nimport TextAreaAutoSize from 'react-textarea-autosize';\n\nimport { usePropsHandler } from '##/components/EventInterceptor/usePropsHandler';\nimport { FieldCaption } from '##/components/FieldCaption/FieldCaption';\nimport { FieldLabel } from '##/components/FieldLabel/FieldLabel';\nimport { useFlag } from '##/hooks/useFlag/useFlag';\nimport { useForkRef } from '##/hooks/useForkRef/useForkRef';\nimport { useKeys } from '##/hooks/useKeys';\nimport { useMutableRef } from '##/hooks/useMutableRef/useMutableRef';\nimport { useSortSteps } from '##/hooks/useSortSteps/useSortSteps';\nimport { cn } from '##/utils/bem';\nimport { getByMap } from '##/utils/getByMap';\nimport { isString } from '##/utils/type-guards';\n\nimport {\n getTypeForRender,\n getValueByStep,\n inputValue,\n sizeMap,\n stepIsActive,\n} from './helpers';\nimport {\n TextFieldComponent,\n textFieldPropFormDefault,\n TextFieldProps,\n textFieldPropSizeDefault,\n textFieldPropViewDefault,\n} from './types';\n\nexport const COMPONENT_NAME = 'TextField' as const;\nexport const cnTextField = cn(COMPONENT_NAME);\n\nexport const TextFieldRender = <TYPE extends string>(\n props: TextFieldProps<TYPE>,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const textFieldRef = React.useRef<HTMLDivElement>(null);\n const inputRef = React.useRef<HTMLInputElement | HTMLTextAreaElement>(null);\n\n const {\n className,\n type = 'text',\n value,\n defaultValue,\n onChange,\n id,\n name,\n rows,\n cols,\n minRows,\n maxRows,\n inputRef: inputRefProp,\n maxLength,\n disabled,\n size = textFieldPropSizeDefault,\n view = textFieldPropViewDefault,\n form = textFieldPropFormDefault,\n state,\n status,\n onBlur,\n onFocus,\n autoFocus = false,\n placeholder,\n leftSide,\n rightSide,\n autoComplete,\n withClearButton,\n incrementButtons: incrementButtonsProp = true,\n max,\n min,\n readOnly,\n required,\n step = 1,\n tabIndex,\n ariaLabel,\n label,\n labelIcon,\n inputContainerRef,\n labelPosition = 'top',\n caption,\n iconSize: iconSizeProp,\n focused,\n onClick,\n // onkey props\n onKeyDown: onKeyDownProp,\n onKeyDownCapture,\n onKeyPress,\n onKeyPressCapture,\n onKeyUp,\n onKeyUpCapture,\n onClear,\n ...otherProps\n } = usePropsHandler(COMPONENT_NAME, props, textFieldRef);\n\n const incrementButtons = type === 'number' ? incrementButtonsProp : false;\n\n const [focus, setFocus] = useFlag(autoFocus);\n const [passwordVisible, setPasswordVisuble] = useFlag();\n const [withValue, setWithValue] = useFlag();\n\n const onClickRef = useMutableRef(onClick);\n const onChangeRef = useMutableRef(onChange);\n\n const handleEyeClick = useCallback(\n (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {\n e.stopPropagation();\n setPasswordVisuble.toggle();\n inputRef.current?.focus();\n },\n [],\n );\n\n const textarea = type === 'textarea';\n const LeftIcon = leftSide;\n const RightIcon = rightSide;\n const leftSideIsString = isString(leftSide);\n const rightSideIsString = isString(rightSide);\n const iconSize = getByMap(sizeMap, size, iconSizeProp);\n\n const sortedSteps = useSortSteps({\n step,\n min: Number(min),\n max: Number(max),\n });\n\n const handleChange: React.ChangeEventHandler<\n HTMLInputElement | HTMLTextAreaElement\n > = useCallback(\n (e) => {\n !disabled &&\n onChangeRef.current?.(e.target.value || null, {\n e,\n id,\n name,\n });\n\n if (e.target.value) {\n setWithValue.on();\n } else {\n setWithValue.off();\n }\n },\n [id, name, disabled],\n );\n\n const handleBlur: React.FocusEventHandler<HTMLElement> = (e) => {\n setFocus.off();\n onBlur?.(e);\n };\n\n const handleFocus: React.FocusEventHandler<HTMLElement> = (e) => {\n setFocus.on();\n onFocus?.(e);\n };\n\n const commonProps = {\n 'className': cnTextField('Input'),\n 'value': inputValue(value),\n 'defaultValue': inputValue(defaultValue),\n 'onChange': handleChange,\n maxLength,\n disabled,\n 'onBlur': handleBlur,\n 'onFocus': handleFocus,\n autoFocus,\n placeholder,\n autoComplete,\n readOnly,\n tabIndex,\n name,\n onKeyDownCapture,\n onKeyPress,\n onKeyPressCapture,\n onKeyUp,\n onKeyUpCapture,\n 'id': id ? id.toString() : undefined,\n 'aria-label': ariaLabel,\n };\n\n const Eye = passwordVisible ? IconEyeClose : IconEye;\n\n const onKeyDown = useKeys({\n isActive: true,\n keys: {\n ArrowUp: (e) => {\n e.preventDefault();\n if (stepIsActive(step, type, disabled)) {\n const newValue = getValueByStep(\n sortedSteps,\n inputRef.current?.value,\n true,\n min,\n max,\n );\n\n onChangeRef.current?.(newValue, {\n e,\n id,\n name,\n });\n\n if (inputRef.current) {\n inputRef.current.value = newValue;\n setWithValue.on();\n }\n }\n },\n ArrowDown: (e) => {\n e.preventDefault();\n if (stepIsActive(step, type, disabled)) {\n const newValue = getValueByStep(\n sortedSteps,\n inputRef.current?.value,\n false,\n min,\n max,\n );\n\n onChangeRef.current?.(newValue, {\n e,\n id,\n name,\n });\n\n if (inputRef.current) {\n inputRef.current.value = newValue;\n setWithValue.on();\n }\n }\n },\n },\n onEvent: onKeyDownProp,\n });\n\n const textareaProps = {\n rows,\n cols,\n minRows: minRows || rows,\n maxRows: maxRows || rows,\n ref: useForkRef([inputRef, inputRefProp]) as (\n node: HTMLTextAreaElement,\n ) => void,\n };\n\n const inputProps = {\n type: getTypeForRender(type, passwordVisible),\n max,\n min,\n step: !Array.isArray(sortedSteps) ? sortedSteps : 0,\n onKeyDown,\n ref: useForkRef([\n inputRef,\n inputRefProp,\n ]) as React.RefCallback<HTMLInputElement>,\n };\n\n const handleClear = useCallback((e: React.MouseEvent<HTMLButtonElement>) => {\n onChangeRef.current?.(null, {\n e,\n id,\n name,\n });\n\n if (inputRef.current) {\n inputRef.current.value = '';\n setWithValue.off();\n }\n }, []);\n\n const changeNumberValue = (\n e: React.MouseEvent<HTMLButtonElement>,\n isIncrement = true,\n ) => {\n const newValue = getValueByStep(\n sortedSteps,\n inputRef.current?.value,\n isIncrement,\n min,\n max,\n );\n onChangeRef.current?.(newValue, {\n e,\n id,\n name,\n });\n if (inputRef.current) {\n inputRef.current.value = newValue;\n setWithValue.on();\n }\n };\n\n const rootProps = {\n onClick: useCallback((e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n inputRef.current?.focus();\n onClickRef.current?.(e);\n }, []),\n };\n\n useEffect(() => {\n setWithValue[inputRef.current?.value ? 'on' : 'off']();\n }, [inputRef.current?.value]);\n\n return (\n <div\n className={cnTextField({ labelPosition, size, view }, [className])}\n ref={useForkRef([ref, textFieldRef])}\n {...rootProps}\n {...otherProps}\n >\n {label && (\n <FieldLabel\n as=\"label\"\n htmlFor={id?.toString()}\n icon={labelIcon}\n required={required}\n className={cnTextField('Label', { labelPosition })}\n size={size}\n >\n {label}\n </FieldLabel>\n )}\n <div className={cnTextField('Body')}>\n <div\n ref={inputContainerRef}\n className={cnTextField('InputContainer', {\n view,\n form,\n status: status || state,\n disabled,\n type,\n focus: focus || focused,\n withValue,\n incrementButtons: type === 'number' && incrementButtons,\n })}\n >\n {LeftIcon && (\n <div\n className={cnTextField('Side', {\n position: 'left',\n type: leftSideIsString ? 'string' : 'icon',\n })}\n title={typeof leftSide === 'string' ? leftSide : undefined}\n >\n {leftSideIsString ? (\n leftSide\n ) : (\n <LeftIcon className={cnTextField('Icon')} size={iconSize} />\n )}\n </div>\n )}\n {textarea ? (\n <TextAreaAutoSize {...commonProps} {...textareaProps} />\n ) : (\n <input {...commonProps} {...inputProps} />\n )}\n\n {incrementButtons && stepIsActive(step, type, disabled) && (\n <div className={cnTextField('Counter')}>\n <button\n className={cnTextField('CounterButton', { fn: 'increment' })}\n onFocus={handleFocus}\n onClick={(e) => changeNumberValue(e, true)}\n type=\"button\"\n >\n <IconSelect size=\"xs\" />\n </button>\n <button\n className={cnTextField('CounterButton')}\n onFocus={handleFocus}\n onClick={(e) => changeNumberValue(e, false)}\n type=\"button\"\n >\n <IconSelect size=\"xs\" />\n </button>\n </div>\n )}\n\n {!incrementButtons && withValue && withClearButton && !disabled && (\n <button\n type=\"button\"\n disabled={disabled}\n tabIndex={-1}\n onClick={onClear || handleClear}\n className={cnTextField('ClearButton')}\n >\n <IconClear\n size={sizeMap[size]}\n className={cnTextField('ClearButtonIcon')}\n />\n </button>\n )}\n\n {type === 'password' && inputRef.current?.value && (\n <button\n className={cnTextField('ClearButton')}\n type=\"button\"\n onClick={handleEyeClick}\n >\n <Eye className={cnTextField('Icon')} size={iconSize} />\n </button>\n )}\n\n {RightIcon && !incrementButtons && type !== 'password' && (\n <div\n className={cnTextField('Side', {\n position: 'right',\n type: rightSideIsString ? 'string' : 'icon',\n })}\n title={typeof rightSide === 'string' ? rightSide : undefined}\n >\n {rightSideIsString ? (\n rightSide\n ) : (\n <RightIcon className={cnTextField('Icon')} size={iconSize} />\n )}\n </div>\n )}\n </div>\n {caption && (\n <FieldCaption\n className={cnTextField('Caption')}\n status={status || state}\n >\n {caption}\n </FieldCaption>\n )}\n </div>\n </div>\n );\n};\n\nexport const TextField = forwardRef(TextFieldRender) as TextFieldComponent;\nexport * from './types';\n"],"mappings":"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"}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { IconPropSize } from '@consta/icons/Icon';
|
|
2
|
-
import React from 'react';
|
|
3
2
|
import { TextFieldPropSize, TextFieldPropValue } from './types';
|
|
4
3
|
export declare const sizeMap: Record<TextFieldPropSize, IconPropSize>;
|
|
5
4
|
export declare const getValueByStepArray: (steps: number[], value: string | null | undefined, min: number | string | undefined, max: number | string | undefined, isIncrement: boolean) => number;
|
|
6
5
|
export declare const getValueByStepNumber: (step: number | string, value: string | null | undefined, min: number | string | undefined, max: number | string | undefined, isIncrement: boolean) => number;
|
|
7
|
-
export declare const getIncrementFlag: (event: React.KeyboardEvent) => boolean | null;
|
|
8
6
|
export declare const getTypeForRender: (type: string, passwordVible: boolean) => string;
|
|
9
7
|
export declare const getValueByStep: (steps: number | number[], value: string | null | undefined, isIncrement: boolean, min?: number | string, max?: number | string) => string;
|
|
10
8
|
export declare const inputValue: (value?: TextFieldPropValue) => string | undefined;
|
|
9
|
+
export declare const stepIsActive: (step: number | string | number[], type: string, disabled?: boolean) => boolean;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export var sizeMap={xs:"xs",s:"s",m:"s",l:"m"};export var getValueByStepArray=function(a,b,c,d,e){var f=+(null!==b&&void 0!==b?b:c);if("string"!=typeof b)return"undefined"==typeof c?0:+c;if(f<a[0])return a[0];if(f>a[a.length-1])return a[a.length-1];if(!e&&f===a[0]||e&&f===a[a.length-1])return f;for(var g=0;g<a.length;g++)if(f===a[g]||a[g]<f&&a[g+1]>f)return a[g+(e?1:-1)];return 0};export var getValueByStepNumber=function(a,b,c,d,e){var f,g=+c,h=+d,i=("string"==typeof b?+b:0)+ +a*(e?1:-1);return!Number.isNaN(g)&&i<=g?g:!Number.isNaN(h)&&i>=h?h:+i.toFixed(+(null===(f=(+a).toString().split(".")[1])||void 0===f?void 0:f.length)||0)};export var
|
|
1
|
+
export var sizeMap={xs:"xs",s:"s",m:"s",l:"m"};export var getValueByStepArray=function(a,b,c,d,e){var f=+(null!==b&&void 0!==b?b:c);if("string"!=typeof b)return"undefined"==typeof c?0:+c;if(f<a[0])return a[0];if(f>a[a.length-1])return a[a.length-1];if(!e&&f===a[0]||e&&f===a[a.length-1])return f;for(var g=0;g<a.length;g++)if(f===a[g]||a[g]<f&&a[g+1]>f)return a[g+(e?1:-1)];return 0};export var getValueByStepNumber=function(a,b,c,d,e){var f,g=+c,h=+d,i=("string"==typeof b?+b:0)+ +a*(e?1:-1);return!Number.isNaN(g)&&i<=g?g:!Number.isNaN(h)&&i>=h?h:+i.toFixed(+(null===(f=(+a).toString().split(".")[1])||void 0===f?void 0:f.length)||0)};export var getTypeForRender=function(a,b){return"password"===a?b?"text":"password":a};export var getValueByStep=function(a,b,c,d,e){return(Array.isArray(a)?getValueByStepArray(a,b,d,e,c):getValueByStepNumber(a,b,d,e,c)).toString()};export var inputValue=function(a){return null===a?"":a};export var stepIsActive=function(a,b){var c=!!(2<arguments.length&&arguments[2]!==void 0)&&arguments[2];return!("number"!==b||c)&&("number"==typeof a&&0<a||"string"==typeof a&&0<+a||Array.isArray(a)&&!!a.length)};
|
|
2
2
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","names":["sizeMap","xs","s","m","l","getValueByStepArray","steps","value","min","max","isIncrement","currentValue","length","i","getValueByStepNumber","step","minValue","maxValue","Number","isNaN","toFixed","toString","split","
|
|
1
|
+
{"version":3,"file":"helpers.js","names":["sizeMap","xs","s","m","l","getValueByStepArray","steps","value","min","max","isIncrement","currentValue","length","i","getValueByStepNumber","step","minValue","maxValue","Number","isNaN","toFixed","toString","split","getTypeForRender","type","passwordVible","getValueByStep","Array","isArray","inputValue","stepIsActive","disabled"],"sources":["../../../../../src/components/TextField/helpers.ts"],"sourcesContent":["import { IconPropSize } from '@consta/icons/Icon';\n\nimport { TextFieldPropSize, TextFieldPropValue } from './types';\n\nexport const sizeMap: Record<TextFieldPropSize, IconPropSize> = {\n xs: 'xs',\n s: 's',\n m: 's',\n l: 'm',\n};\n\nexport const getValueByStepArray = (\n steps: number[],\n value: string | null | undefined,\n min: number | string | undefined,\n max: number | string | undefined,\n isIncrement: boolean,\n): number => {\n const currentValue = Number(value ?? min);\n const minValue = Number(min);\n if (typeof value !== 'string') {\n return typeof min !== 'undefined' ? minValue : 0;\n }\n if (currentValue < steps[0]) {\n return steps[0];\n }\n if (currentValue > steps[steps.length - 1]) {\n return steps[steps.length - 1];\n }\n if (\n (!isIncrement && currentValue === steps[0]) ||\n (isIncrement && currentValue === steps[steps.length - 1])\n ) {\n return currentValue;\n }\n for (let i = 0; i < steps.length; i++) {\n if (\n currentValue === steps[i] ||\n (steps[i] < currentValue && steps[i + 1] > currentValue)\n ) {\n return steps[i + (isIncrement ? 1 : -1)];\n }\n }\n return 0;\n};\n\nexport const getValueByStepNumber = (\n step: number | string,\n value: string | null | undefined,\n min: number | string | undefined,\n max: number | string | undefined,\n isIncrement: boolean,\n): number => {\n const minValue = Number(min);\n const maxValue = Number(max);\n const currentValue: number =\n (typeof value === 'string' ? Number(value) : 0) +\n Number(step) * (isIncrement ? 1 : -1);\n if (!Number.isNaN(minValue) && currentValue <= minValue) {\n return minValue;\n }\n if (!Number.isNaN(maxValue) && currentValue >= maxValue) {\n return maxValue;\n }\n return Number(\n currentValue.toFixed(\n Number(\n /* Необходимо для того, чтобы избежать ситуации, когда по нажатию\nна кнопку прибавляется число с погрешностью.\nЗдесь мы берем разрядность дробной части шага и ограничиваем\nрезультирующее число этой разрядностью */\n Number(step).toString().split('.')[1]?.length,\n ) || 0,\n ),\n );\n};\n\nexport const getTypeForRender = (type: string, passwordVible: boolean) => {\n if (type !== 'password') {\n return type;\n }\n if (passwordVible) {\n return 'text';\n }\n return 'password';\n};\n\nexport const getValueByStep = (\n steps: number | number[],\n value: string | null | undefined,\n isIncrement: boolean,\n min?: number | string,\n max?: number | string,\n) => {\n return (\n Array.isArray(steps)\n ? getValueByStepArray(steps, value, min, max, isIncrement)\n : getValueByStepNumber(steps, value, min, max, isIncrement)\n ).toString();\n};\n\nexport const inputValue = (value?: TextFieldPropValue) =>\n value === null ? '' : value;\n\nexport const stepIsActive = (\n step: number | string | number[],\n type: string,\n disabled: boolean = false,\n) => {\n if (type !== 'number' || disabled) {\n return false;\n }\n\n return (\n (typeof step === 'number' && step > 0) ||\n (typeof step === 'string' && Number(step) > 0) ||\n (Array.isArray(step) && !!step.length)\n );\n};\n"],"mappings":"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"}
|