@semcore/input 17.0.0-prerelease.30 → 17.0.0-prerelease.31

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/CHANGELOG.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
- ## [17.0.0] - 2026-03-09
5
+ ## [17.0.0] - 2026-03-27
6
6
 
7
7
  ### BREAK
8
8
 
package/lib/cjs/Input.js CHANGED
@@ -129,7 +129,7 @@ class Value extends _core.Component {
129
129
  if (this.asProps.autoFocus) {
130
130
  setTimeout(() => {
131
131
  this.inputRef.current?.focus();
132
- });
132
+ }, 10); // in autoFocusEnhance it was boolean `true`. In FF and Safari was floating bug with focus, so, I set 10.
133
133
  }
134
134
  }
135
135
  uncontrolledProps() {
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","names":["_core","require","_baseComponents","_react","_interopRequireDefault","style","sstyled","insert","Input","Component","constructor","args","_defineProperty2","default","React","createRef","event","preventDefault","inputRef","current","focus","lastInteraction","isKeyboard","setTimeout","document","activeElement","body","getAddonProps","disabled","size","asProps","onMouseDown","handleMouseDownAddon","onClick","handleClick","getValueProps","state","role","placeholder","ariaHaspopup","ariaControls","ariaExpanded","ariaAutocomplete","ariaOwns","ariaActivedescendant","render","_ref","SInput","Box","SOutline","Children","styles","neighborLocation","controlsLength","createElement","NeighborLocation","Detect","_ref4","cn","assignProps","InvalidStateBox","Value","componentDidMount","autoFocus","uncontrolledProps","value","e","target","_ref2","SValue","_ref5","defaultValue","Addon","props","_ref3","arguments[0]","SAddon","_ref6","_default","exports","createComponent"],"sources":["../../src/Input.jsx"],"sourcesContent":["import { NeighborLocation, Box, InvalidStateBox } from '@semcore/base-components';\nimport { createComponent, Component, sstyled, Root, lastInteraction } from '@semcore/core';\nimport React from 'react';\n\nimport style from './style/input.shadow.css';\n\nclass Input extends Component {\n static displayName = 'Input';\n\n static defaultProps = {\n size: 'm',\n state: 'normal',\n };\n\n static style = style;\n\n inputRef = React.createRef();\n\n handleMouseDownAddon = (event) => {\n event.preventDefault();\n this.inputRef.current?.focus();\n };\n\n handleClick = () => {\n if (!lastInteraction.isKeyboard) return;\n setTimeout(() => {\n if (document.activeElement === document.body) {\n this.inputRef.current?.focus();\n }\n }, 0);\n };\n\n getAddonProps() {\n const { disabled, size } = this.asProps;\n return {\n disabled,\n onMouseDown: this.handleMouseDownAddon,\n onClick: this.handleClick,\n size,\n };\n }\n\n getValueProps() {\n const {\n size,\n disabled,\n state,\n role,\n placeholder,\n // these props might be passed from the <Select /> component\n 'aria-haspopup': ariaHaspopup,\n 'aria-controls': ariaControls,\n 'aria-expanded': ariaExpanded,\n 'aria-autocomplete': ariaAutocomplete,\n 'aria-owns': ariaOwns,\n 'aria-activedescendant': ariaActivedescendant,\n } = this.asProps;\n\n return {\n 'ref': this.inputRef,\n size,\n disabled,\n state,\n role,\n placeholder,\n 'aria-haspopup': ariaHaspopup,\n 'aria-controls': ariaControls,\n 'aria-expanded': ariaExpanded,\n 'aria-autocomplete': ariaAutocomplete,\n 'aria-owns': ariaOwns,\n 'aria-activedescendant': ariaActivedescendant,\n };\n }\n\n render() {\n const SInput = Root;\n const SOutline = 'div';\n const { Children, styles, neighborLocation, controlsLength, state } = this.asProps;\n return (\n <NeighborLocation.Detect neighborLocation={neighborLocation}>\n {(neighborLocation) =>\n sstyled(styles)(\n <SInput\n render={Box}\n neighborLocation={neighborLocation}\n __excludeProps={[\n 'role',\n 'aria-haspopup',\n 'aria-controls',\n 'aria-expanded',\n 'placeholder',\n 'aria-autocomplete',\n 'aria-owns',\n 'aria-activedescendant',\n 'tabIndex',\n ]}\n >\n <NeighborLocation controlsLength={controlsLength}>\n <Children />\n </NeighborLocation>\n <SOutline>{state === 'invalid' && <InvalidStateBox />}</SOutline>\n </SInput>,\n )}\n </NeighborLocation.Detect>\n );\n }\n}\n\nclass Value extends Component {\n static defaultProps = {\n defaultValue: '',\n };\n\n inputRef = React.createRef();\n\n componentDidMount() {\n if (this.asProps.autoFocus) {\n setTimeout(() => {\n this.inputRef.current?.focus();\n });\n }\n }\n\n uncontrolledProps() {\n return {\n value: (e) => e.target.value,\n };\n }\n\n render() {\n const SValue = Root;\n const { styles, neighborLocation, state } = this.asProps;\n\n return (\n <NeighborLocation.Detect neighborLocation={neighborLocation}>\n {(neighborLocation) =>\n sstyled(styles)(\n <SValue\n ref={this.inputRef}\n render={Box}\n inAfterOutline\n neighborLocation={neighborLocation}\n tag='input'\n type='text'\n aria-invalid={state === 'invalid'}\n use:autoFocus={false}\n />,\n )}\n </NeighborLocation.Detect>\n );\n }\n}\n\nfunction Addon(props) {\n const SAddon = Root;\n const { Children, styles, neighborLocation } = props;\n return (\n <NeighborLocation.Detect neighborLocation={neighborLocation}>\n {(neighborLocation) =>\n sstyled(styles)(\n <SAddon render={Box} neighborLocation={neighborLocation}>\n <Children />\n </SAddon>,\n )}\n </NeighborLocation.Detect>\n );\n}\n\nexport default createComponent(Input, {\n Addon,\n Value,\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Input.js","names":["_core","require","_baseComponents","_react","_interopRequireDefault","style","sstyled","insert","Input","Component","constructor","args","_defineProperty2","default","React","createRef","event","preventDefault","inputRef","current","focus","lastInteraction","isKeyboard","setTimeout","document","activeElement","body","getAddonProps","disabled","size","asProps","onMouseDown","handleMouseDownAddon","onClick","handleClick","getValueProps","state","role","placeholder","ariaHaspopup","ariaControls","ariaExpanded","ariaAutocomplete","ariaOwns","ariaActivedescendant","render","_ref","SInput","Box","SOutline","Children","styles","neighborLocation","controlsLength","createElement","NeighborLocation","Detect","_ref4","cn","assignProps","InvalidStateBox","Value","componentDidMount","autoFocus","uncontrolledProps","value","e","target","_ref2","SValue","_ref5","defaultValue","Addon","props","_ref3","arguments[0]","SAddon","_ref6","_default","exports","createComponent"],"sources":["../../src/Input.jsx"],"sourcesContent":["import { NeighborLocation, Box, InvalidStateBox } from '@semcore/base-components';\nimport { createComponent, Component, sstyled, Root, lastInteraction } from '@semcore/core';\nimport React from 'react';\n\nimport style from './style/input.shadow.css';\n\nclass Input extends Component {\n static displayName = 'Input';\n\n static defaultProps = {\n size: 'm',\n state: 'normal',\n };\n\n static style = style;\n\n inputRef = React.createRef();\n\n handleMouseDownAddon = (event) => {\n event.preventDefault();\n this.inputRef.current?.focus();\n };\n\n handleClick = () => {\n if (!lastInteraction.isKeyboard) return;\n setTimeout(() => {\n if (document.activeElement === document.body) {\n this.inputRef.current?.focus();\n }\n }, 0);\n };\n\n getAddonProps() {\n const { disabled, size } = this.asProps;\n return {\n disabled,\n onMouseDown: this.handleMouseDownAddon,\n onClick: this.handleClick,\n size,\n };\n }\n\n getValueProps() {\n const {\n size,\n disabled,\n state,\n role,\n placeholder,\n // these props might be passed from the <Select /> component\n 'aria-haspopup': ariaHaspopup,\n 'aria-controls': ariaControls,\n 'aria-expanded': ariaExpanded,\n 'aria-autocomplete': ariaAutocomplete,\n 'aria-owns': ariaOwns,\n 'aria-activedescendant': ariaActivedescendant,\n } = this.asProps;\n\n return {\n 'ref': this.inputRef,\n size,\n disabled,\n state,\n role,\n placeholder,\n 'aria-haspopup': ariaHaspopup,\n 'aria-controls': ariaControls,\n 'aria-expanded': ariaExpanded,\n 'aria-autocomplete': ariaAutocomplete,\n 'aria-owns': ariaOwns,\n 'aria-activedescendant': ariaActivedescendant,\n };\n }\n\n render() {\n const SInput = Root;\n const SOutline = 'div';\n const { Children, styles, neighborLocation, controlsLength, state } = this.asProps;\n return (\n <NeighborLocation.Detect neighborLocation={neighborLocation}>\n {(neighborLocation) =>\n sstyled(styles)(\n <SInput\n render={Box}\n neighborLocation={neighborLocation}\n __excludeProps={[\n 'role',\n 'aria-haspopup',\n 'aria-controls',\n 'aria-expanded',\n 'placeholder',\n 'aria-autocomplete',\n 'aria-owns',\n 'aria-activedescendant',\n 'tabIndex',\n ]}\n >\n <NeighborLocation controlsLength={controlsLength}>\n <Children />\n </NeighborLocation>\n <SOutline>{state === 'invalid' && <InvalidStateBox />}</SOutline>\n </SInput>,\n )}\n </NeighborLocation.Detect>\n );\n }\n}\n\nclass Value extends Component {\n static defaultProps = {\n defaultValue: '',\n };\n\n inputRef = React.createRef();\n\n componentDidMount() {\n if (this.asProps.autoFocus) {\n setTimeout(() => {\n this.inputRef.current?.focus();\n }, 10); // in autoFocusEnhance it was boolean `true`. In FF and Safari was floating bug with focus, so, I set 10.\n }\n }\n\n uncontrolledProps() {\n return {\n value: (e) => e.target.value,\n };\n }\n\n render() {\n const SValue = Root;\n const { styles, neighborLocation, state } = this.asProps;\n\n return (\n <NeighborLocation.Detect neighborLocation={neighborLocation}>\n {(neighborLocation) =>\n sstyled(styles)(\n <SValue\n ref={this.inputRef}\n render={Box}\n inAfterOutline\n neighborLocation={neighborLocation}\n tag='input'\n type='text'\n aria-invalid={state === 'invalid'}\n use:autoFocus={false}\n />,\n )}\n </NeighborLocation.Detect>\n );\n }\n}\n\nfunction Addon(props) {\n const SAddon = Root;\n const { Children, styles, neighborLocation } = props;\n return (\n <NeighborLocation.Detect neighborLocation={neighborLocation}>\n {(neighborLocation) =>\n sstyled(styles)(\n <SAddon render={Box} neighborLocation={neighborLocation}>\n <Children />\n </SAddon>,\n )}\n </NeighborLocation.Detect>\n );\n}\n\nexport default createComponent(Input, {\n Addon,\n Value,\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import type { BoxProps, NeighborItemProps, NeighborLocationProps } from '@semcore/base-components';\nimport type { Intergalactic, PropGetterFn } from '@semcore/core';\nimport type React from 'react';\n\nexport type InputSize = 'm' | 'l';\n\nexport type InputProps = BoxProps &\n NeighborItemProps &\n NeighborLocationProps & {\n /**\n * Sets the input and addons to the disabled state\n * */\n disabled?: boolean;\n /**\n * Input size\n * @default m\n */\n size?: InputSize;\n /**\n * Sets the input state\n * @default normal\n */\n state?: 'normal' | 'invalid' | 'valid';\n };\n\nexport type InputValueProps = BoxProps &\n NeighborItemProps & {\n /**\n * Input value\n */\n value?: string;\n /**\n * Default value if `value` property is not provided\n */\n defaultValue?: string;\n /**\n * Handler for changing the value\n */\n onChange?: (value: string, event: React.SyntheticEvent<HTMLInputElement>) => void;\n /**\n * Sets the input to the read-only state\n * */\n readOnly?: boolean;\n /**\n * Input size\n * @default m\n */\n size?: InputSize;\n /**\n * Placeholder for input\n */\n placeholder?: string;\n /**\n * Flag to enable autofocusing after component mounting\n * @default false\n */\n autoFocus?: boolean;\n };\n\nexport type InputAddonProps = BoxProps &\n NeighborItemProps & {\n /**\n * Adds styles for interactive icons\n */\n interactive?: boolean;\n /**\n * Blocks the addon\n * */\n disabled?: boolean;\n /**\n * Input size\n * @default m\n */\n size?: InputSize;\n };\n\nexport type InputCtx = {\n getValueProps: PropGetterFn;\n getAddonProps: PropGetterFn;\n};\n\ndeclare const Input: Intergalactic.Component<'div', InputProps, InputCtx> & {\n Value: Intergalactic.Component<'input', InputValueProps>;\n Addon: Intergalactic.Component<'div', InputAddonProps>;\n};\nexport default Input;\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import type { BoxProps, NeighborItemProps, NeighborLocationProps } from '@semcore/base-components';\nimport type { Intergalactic, PropGetterFn } from '@semcore/core';\nimport type React from 'react';\n\nexport type InputSize = 'm' | 'l';\n\nexport type InputProps = BoxProps &\n NeighborItemProps &\n NeighborLocationProps & {\n /**\n * Sets the input and addons to the disabled state\n * */\n disabled?: boolean;\n /**\n * Input size\n * @default m\n */\n size?: InputSize;\n /**\n * Sets the input state\n * @default normal\n */\n state?: 'normal' | 'invalid' | 'valid';\n };\n\nexport type InputValueProps = BoxProps &\n NeighborItemProps & {\n /**\n * Input value\n */\n value?: string;\n /**\n * Default value if `value` property is not provided\n */\n defaultValue?: string;\n /**\n * Handler for changing the value\n */\n onChange?: (value: string, event: React.SyntheticEvent<HTMLInputElement>) => void;\n /**\n * Sets the input to the read-only state\n * */\n readOnly?: boolean;\n /**\n * Input size\n * @default m\n */\n size?: InputSize;\n /**\n * Placeholder for input\n */\n placeholder?: string;\n /**\n * Flag to enable autofocusing after component mounting\n * @default false\n */\n autoFocus?: boolean;\n };\n\nexport type InputAddonProps = BoxProps & NeighborItemProps;\n\nexport type InputCtx = {\n getValueProps: PropGetterFn;\n getAddonProps: PropGetterFn;\n};\n\ndeclare const Input: Intergalactic.Component<'div', InputProps, InputCtx> & {\n Value: Intergalactic.Component<'input', InputValueProps>;\n Addon: Intergalactic.Component<'div', InputAddonProps>;\n};\nexport default Input;\n"],"mappings":"","ignoreList":[]}
package/lib/es6/Input.js CHANGED
@@ -126,7 +126,7 @@ class Value extends Component {
126
126
  if (this.asProps.autoFocus) {
127
127
  setTimeout(() => {
128
128
  this.inputRef.current?.focus();
129
- });
129
+ }, 10); // in autoFocusEnhance it was boolean `true`. In FF and Safari was floating bug with focus, so, I set 10.
130
130
  }
131
131
  }
132
132
  uncontrolledProps() {
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","names":["NeighborLocation","Box","InvalidStateBox","createComponent","Component","sstyled","Root","lastInteraction","React","style","_sstyled","insert","Input","constructor","args","_defineProperty","createRef","event","preventDefault","inputRef","current","focus","isKeyboard","setTimeout","document","activeElement","body","getAddonProps","disabled","size","asProps","onMouseDown","handleMouseDownAddon","onClick","handleClick","getValueProps","state","role","placeholder","ariaHaspopup","ariaControls","ariaExpanded","ariaAutocomplete","ariaOwns","ariaActivedescendant","render","_ref","SInput","SOutline","Children","styles","neighborLocation","controlsLength","createElement","Detect","_ref4","cn","_assignProps","Value","componentDidMount","autoFocus","uncontrolledProps","value","e","target","_ref2","SValue","_ref5","_assignProps2","defaultValue","Addon","props","_ref3","arguments[0]","SAddon","_ref6","_assignProps3"],"sources":["../../src/Input.jsx"],"sourcesContent":["import { NeighborLocation, Box, InvalidStateBox } from '@semcore/base-components';\nimport { createComponent, Component, sstyled, Root, lastInteraction } from '@semcore/core';\nimport React from 'react';\n\nimport style from './style/input.shadow.css';\n\nclass Input extends Component {\n static displayName = 'Input';\n\n static defaultProps = {\n size: 'm',\n state: 'normal',\n };\n\n static style = style;\n\n inputRef = React.createRef();\n\n handleMouseDownAddon = (event) => {\n event.preventDefault();\n this.inputRef.current?.focus();\n };\n\n handleClick = () => {\n if (!lastInteraction.isKeyboard) return;\n setTimeout(() => {\n if (document.activeElement === document.body) {\n this.inputRef.current?.focus();\n }\n }, 0);\n };\n\n getAddonProps() {\n const { disabled, size } = this.asProps;\n return {\n disabled,\n onMouseDown: this.handleMouseDownAddon,\n onClick: this.handleClick,\n size,\n };\n }\n\n getValueProps() {\n const {\n size,\n disabled,\n state,\n role,\n placeholder,\n // these props might be passed from the <Select /> component\n 'aria-haspopup': ariaHaspopup,\n 'aria-controls': ariaControls,\n 'aria-expanded': ariaExpanded,\n 'aria-autocomplete': ariaAutocomplete,\n 'aria-owns': ariaOwns,\n 'aria-activedescendant': ariaActivedescendant,\n } = this.asProps;\n\n return {\n 'ref': this.inputRef,\n size,\n disabled,\n state,\n role,\n placeholder,\n 'aria-haspopup': ariaHaspopup,\n 'aria-controls': ariaControls,\n 'aria-expanded': ariaExpanded,\n 'aria-autocomplete': ariaAutocomplete,\n 'aria-owns': ariaOwns,\n 'aria-activedescendant': ariaActivedescendant,\n };\n }\n\n render() {\n const SInput = Root;\n const SOutline = 'div';\n const { Children, styles, neighborLocation, controlsLength, state } = this.asProps;\n return (\n <NeighborLocation.Detect neighborLocation={neighborLocation}>\n {(neighborLocation) =>\n sstyled(styles)(\n <SInput\n render={Box}\n neighborLocation={neighborLocation}\n __excludeProps={[\n 'role',\n 'aria-haspopup',\n 'aria-controls',\n 'aria-expanded',\n 'placeholder',\n 'aria-autocomplete',\n 'aria-owns',\n 'aria-activedescendant',\n 'tabIndex',\n ]}\n >\n <NeighborLocation controlsLength={controlsLength}>\n <Children />\n </NeighborLocation>\n <SOutline>{state === 'invalid' && <InvalidStateBox />}</SOutline>\n </SInput>,\n )}\n </NeighborLocation.Detect>\n );\n }\n}\n\nclass Value extends Component {\n static defaultProps = {\n defaultValue: '',\n };\n\n inputRef = React.createRef();\n\n componentDidMount() {\n if (this.asProps.autoFocus) {\n setTimeout(() => {\n this.inputRef.current?.focus();\n });\n }\n }\n\n uncontrolledProps() {\n return {\n value: (e) => e.target.value,\n };\n }\n\n render() {\n const SValue = Root;\n const { styles, neighborLocation, state } = this.asProps;\n\n return (\n <NeighborLocation.Detect neighborLocation={neighborLocation}>\n {(neighborLocation) =>\n sstyled(styles)(\n <SValue\n ref={this.inputRef}\n render={Box}\n inAfterOutline\n neighborLocation={neighborLocation}\n tag='input'\n type='text'\n aria-invalid={state === 'invalid'}\n use:autoFocus={false}\n />,\n )}\n </NeighborLocation.Detect>\n );\n }\n}\n\nfunction Addon(props) {\n const SAddon = Root;\n const { Children, styles, neighborLocation } = props;\n return (\n <NeighborLocation.Detect neighborLocation={neighborLocation}>\n {(neighborLocation) =>\n sstyled(styles)(\n <SAddon render={Box} neighborLocation={neighborLocation}>\n <Children />\n </SAddon>,\n )}\n </NeighborLocation.Detect>\n );\n}\n\nexport default createComponent(Input, {\n Addon,\n Value,\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Input.js","names":["NeighborLocation","Box","InvalidStateBox","createComponent","Component","sstyled","Root","lastInteraction","React","style","_sstyled","insert","Input","constructor","args","_defineProperty","createRef","event","preventDefault","inputRef","current","focus","isKeyboard","setTimeout","document","activeElement","body","getAddonProps","disabled","size","asProps","onMouseDown","handleMouseDownAddon","onClick","handleClick","getValueProps","state","role","placeholder","ariaHaspopup","ariaControls","ariaExpanded","ariaAutocomplete","ariaOwns","ariaActivedescendant","render","_ref","SInput","SOutline","Children","styles","neighborLocation","controlsLength","createElement","Detect","_ref4","cn","_assignProps","Value","componentDidMount","autoFocus","uncontrolledProps","value","e","target","_ref2","SValue","_ref5","_assignProps2","defaultValue","Addon","props","_ref3","arguments[0]","SAddon","_ref6","_assignProps3"],"sources":["../../src/Input.jsx"],"sourcesContent":["import { NeighborLocation, Box, InvalidStateBox } from '@semcore/base-components';\nimport { createComponent, Component, sstyled, Root, lastInteraction } from '@semcore/core';\nimport React from 'react';\n\nimport style from './style/input.shadow.css';\n\nclass Input extends Component {\n static displayName = 'Input';\n\n static defaultProps = {\n size: 'm',\n state: 'normal',\n };\n\n static style = style;\n\n inputRef = React.createRef();\n\n handleMouseDownAddon = (event) => {\n event.preventDefault();\n this.inputRef.current?.focus();\n };\n\n handleClick = () => {\n if (!lastInteraction.isKeyboard) return;\n setTimeout(() => {\n if (document.activeElement === document.body) {\n this.inputRef.current?.focus();\n }\n }, 0);\n };\n\n getAddonProps() {\n const { disabled, size } = this.asProps;\n return {\n disabled,\n onMouseDown: this.handleMouseDownAddon,\n onClick: this.handleClick,\n size,\n };\n }\n\n getValueProps() {\n const {\n size,\n disabled,\n state,\n role,\n placeholder,\n // these props might be passed from the <Select /> component\n 'aria-haspopup': ariaHaspopup,\n 'aria-controls': ariaControls,\n 'aria-expanded': ariaExpanded,\n 'aria-autocomplete': ariaAutocomplete,\n 'aria-owns': ariaOwns,\n 'aria-activedescendant': ariaActivedescendant,\n } = this.asProps;\n\n return {\n 'ref': this.inputRef,\n size,\n disabled,\n state,\n role,\n placeholder,\n 'aria-haspopup': ariaHaspopup,\n 'aria-controls': ariaControls,\n 'aria-expanded': ariaExpanded,\n 'aria-autocomplete': ariaAutocomplete,\n 'aria-owns': ariaOwns,\n 'aria-activedescendant': ariaActivedescendant,\n };\n }\n\n render() {\n const SInput = Root;\n const SOutline = 'div';\n const { Children, styles, neighborLocation, controlsLength, state } = this.asProps;\n return (\n <NeighborLocation.Detect neighborLocation={neighborLocation}>\n {(neighborLocation) =>\n sstyled(styles)(\n <SInput\n render={Box}\n neighborLocation={neighborLocation}\n __excludeProps={[\n 'role',\n 'aria-haspopup',\n 'aria-controls',\n 'aria-expanded',\n 'placeholder',\n 'aria-autocomplete',\n 'aria-owns',\n 'aria-activedescendant',\n 'tabIndex',\n ]}\n >\n <NeighborLocation controlsLength={controlsLength}>\n <Children />\n </NeighborLocation>\n <SOutline>{state === 'invalid' && <InvalidStateBox />}</SOutline>\n </SInput>,\n )}\n </NeighborLocation.Detect>\n );\n }\n}\n\nclass Value extends Component {\n static defaultProps = {\n defaultValue: '',\n };\n\n inputRef = React.createRef();\n\n componentDidMount() {\n if (this.asProps.autoFocus) {\n setTimeout(() => {\n this.inputRef.current?.focus();\n }, 10); // in autoFocusEnhance it was boolean `true`. In FF and Safari was floating bug with focus, so, I set 10.\n }\n }\n\n uncontrolledProps() {\n return {\n value: (e) => e.target.value,\n };\n }\n\n render() {\n const SValue = Root;\n const { styles, neighborLocation, state } = this.asProps;\n\n return (\n <NeighborLocation.Detect neighborLocation={neighborLocation}>\n {(neighborLocation) =>\n sstyled(styles)(\n <SValue\n ref={this.inputRef}\n render={Box}\n inAfterOutline\n neighborLocation={neighborLocation}\n tag='input'\n type='text'\n aria-invalid={state === 'invalid'}\n use:autoFocus={false}\n />,\n )}\n </NeighborLocation.Detect>\n );\n }\n}\n\nfunction Addon(props) {\n const SAddon = Root;\n const { Children, styles, neighborLocation } = props;\n return (\n <NeighborLocation.Detect neighborLocation={neighborLocation}>\n {(neighborLocation) =>\n sstyled(styles)(\n <SAddon render={Box} neighborLocation={neighborLocation}>\n <Children />\n </SAddon>,\n )}\n </NeighborLocation.Detect>\n );\n}\n\nexport default createComponent(Input, {\n Addon,\n Value,\n});\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import type { BoxProps, NeighborItemProps, NeighborLocationProps } from '@semcore/base-components';\nimport type { Intergalactic, PropGetterFn } from '@semcore/core';\nimport type React from 'react';\n\nexport type InputSize = 'm' | 'l';\n\nexport type InputProps = BoxProps &\n NeighborItemProps &\n NeighborLocationProps & {\n /**\n * Sets the input and addons to the disabled state\n * */\n disabled?: boolean;\n /**\n * Input size\n * @default m\n */\n size?: InputSize;\n /**\n * Sets the input state\n * @default normal\n */\n state?: 'normal' | 'invalid' | 'valid';\n };\n\nexport type InputValueProps = BoxProps &\n NeighborItemProps & {\n /**\n * Input value\n */\n value?: string;\n /**\n * Default value if `value` property is not provided\n */\n defaultValue?: string;\n /**\n * Handler for changing the value\n */\n onChange?: (value: string, event: React.SyntheticEvent<HTMLInputElement>) => void;\n /**\n * Sets the input to the read-only state\n * */\n readOnly?: boolean;\n /**\n * Input size\n * @default m\n */\n size?: InputSize;\n /**\n * Placeholder for input\n */\n placeholder?: string;\n /**\n * Flag to enable autofocusing after component mounting\n * @default false\n */\n autoFocus?: boolean;\n };\n\nexport type InputAddonProps = BoxProps &\n NeighborItemProps & {\n /**\n * Adds styles for interactive icons\n */\n interactive?: boolean;\n /**\n * Blocks the addon\n * */\n disabled?: boolean;\n /**\n * Input size\n * @default m\n */\n size?: InputSize;\n };\n\nexport type InputCtx = {\n getValueProps: PropGetterFn;\n getAddonProps: PropGetterFn;\n};\n\ndeclare const Input: Intergalactic.Component<'div', InputProps, InputCtx> & {\n Value: Intergalactic.Component<'input', InputValueProps>;\n Addon: Intergalactic.Component<'div', InputAddonProps>;\n};\nexport default Input;\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import type { BoxProps, NeighborItemProps, NeighborLocationProps } from '@semcore/base-components';\nimport type { Intergalactic, PropGetterFn } from '@semcore/core';\nimport type React from 'react';\n\nexport type InputSize = 'm' | 'l';\n\nexport type InputProps = BoxProps &\n NeighborItemProps &\n NeighborLocationProps & {\n /**\n * Sets the input and addons to the disabled state\n * */\n disabled?: boolean;\n /**\n * Input size\n * @default m\n */\n size?: InputSize;\n /**\n * Sets the input state\n * @default normal\n */\n state?: 'normal' | 'invalid' | 'valid';\n };\n\nexport type InputValueProps = BoxProps &\n NeighborItemProps & {\n /**\n * Input value\n */\n value?: string;\n /**\n * Default value if `value` property is not provided\n */\n defaultValue?: string;\n /**\n * Handler for changing the value\n */\n onChange?: (value: string, event: React.SyntheticEvent<HTMLInputElement>) => void;\n /**\n * Sets the input to the read-only state\n * */\n readOnly?: boolean;\n /**\n * Input size\n * @default m\n */\n size?: InputSize;\n /**\n * Placeholder for input\n */\n placeholder?: string;\n /**\n * Flag to enable autofocusing after component mounting\n * @default false\n */\n autoFocus?: boolean;\n };\n\nexport type InputAddonProps = BoxProps & NeighborItemProps;\n\nexport type InputCtx = {\n getValueProps: PropGetterFn;\n getAddonProps: PropGetterFn;\n};\n\ndeclare const Input: Intergalactic.Component<'div', InputProps, InputCtx> & {\n Value: Intergalactic.Component<'input', InputValueProps>;\n Addon: Intergalactic.Component<'div', InputAddonProps>;\n};\nexport default Input;\n"],"mappings":"","ignoreList":[]}
package/lib/esm/Input.mjs CHANGED
@@ -132,7 +132,7 @@ class Value extends Component {
132
132
  setTimeout(() => {
133
133
  var _a;
134
134
  (_a = this.inputRef.current) == null ? void 0 : _a.focus();
135
- });
135
+ }, 10);
136
136
  }
137
137
  }
138
138
  uncontrolledProps() {
@@ -57,22 +57,7 @@ export type InputValueProps = BoxProps &
57
57
  autoFocus?: boolean;
58
58
  };
59
59
 
60
- export type InputAddonProps = BoxProps &
61
- NeighborItemProps & {
62
- /**
63
- * Adds styles for interactive icons
64
- */
65
- interactive?: boolean;
66
- /**
67
- * Blocks the addon
68
- * */
69
- disabled?: boolean;
70
- /**
71
- * Input size
72
- * @default m
73
- */
74
- size?: InputSize;
75
- };
60
+ export type InputAddonProps = BoxProps & NeighborItemProps;
76
61
 
77
62
  export type InputCtx = {
78
63
  getValueProps: PropGetterFn;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@semcore/input",
3
3
  "description": "Semrush Input Component",
4
- "version": "17.0.0-prerelease.30",
4
+ "version": "17.0.0-prerelease.31",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es6/index.js",
7
7
  "typings": "lib/types/index.d.ts",
@@ -22,10 +22,10 @@
22
22
  "directory": "semcore/input"
23
23
  },
24
24
  "devDependencies": {
25
- "@semcore/core": "17.0.0-prerelease.30",
26
- "@semcore/base-components": "17.0.0-prerelease.30",
27
- "@semcore/icon": "16.7.2-prerelease.30",
28
- "@semcore/testing-utils": "1.0.0"
25
+ "@semcore/core": "17.0.0-prerelease.31",
26
+ "@semcore/base-components": "17.0.0-prerelease.31",
27
+ "@semcore/testing-utils": "1.0.0",
28
+ "@semcore/icon": "16.7.2-prerelease.31"
29
29
  },
30
30
  "scripts": {
31
31
  "build": "pnpm semcore-builder --source=js && pnpm vite build"