@semcore/input 17.0.0-prerelease.29 → 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 +1 -1
- package/lib/cjs/Input.js +14 -1
- package/lib/cjs/Input.js.map +1 -1
- package/lib/cjs/index.d.js.map +1 -1
- package/lib/es6/Input.js +14 -1
- package/lib/es6/Input.js.map +1 -1
- package/lib/es6/index.d.js.map +1 -1
- package/lib/esm/Input.mjs +15 -1
- package/lib/types/index.d.ts +1 -16
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
package/lib/cjs/Input.js
CHANGED
|
@@ -121,6 +121,17 @@ class Input extends _core.Component {
|
|
|
121
121
|
});
|
|
122
122
|
(0, _defineProperty2.default)(Input, "style", style);
|
|
123
123
|
class Value extends _core.Component {
|
|
124
|
+
constructor(...args) {
|
|
125
|
+
super(...args);
|
|
126
|
+
(0, _defineProperty2.default)(this, "inputRef", /*#__PURE__*/_react.default.createRef());
|
|
127
|
+
}
|
|
128
|
+
componentDidMount() {
|
|
129
|
+
if (this.asProps.autoFocus) {
|
|
130
|
+
setTimeout(() => {
|
|
131
|
+
this.inputRef.current?.focus();
|
|
132
|
+
}, 10); // in autoFocusEnhance it was boolean `true`. In FF and Safari was floating bug with focus, so, I set 10.
|
|
133
|
+
}
|
|
134
|
+
}
|
|
124
135
|
uncontrolledProps() {
|
|
125
136
|
return {
|
|
126
137
|
value: e => e.target.value
|
|
@@ -140,11 +151,13 @@ class Value extends _core.Component {
|
|
|
140
151
|
var _ref5;
|
|
141
152
|
return _ref5 = (0, _core.sstyled)(styles), /*#__PURE__*/_react.default.createElement(SValue, _ref5.cn("SValue", {
|
|
142
153
|
...(0, _core.assignProps)({
|
|
154
|
+
"ref": this.inputRef,
|
|
143
155
|
"inAfterOutline": true,
|
|
144
156
|
"neighborLocation": neighborLocation,
|
|
145
157
|
"tag": 'input',
|
|
146
158
|
"type": 'text',
|
|
147
|
-
"aria-invalid": state === 'invalid'
|
|
159
|
+
"aria-invalid": state === 'invalid',
|
|
160
|
+
"use:autoFocus": false
|
|
148
161
|
}, _ref2)
|
|
149
162
|
}));
|
|
150
163
|
});
|
package/lib/cjs/Input.js.map
CHANGED
|
@@ -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","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 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 render={Box}\n inAfterOutline\n neighborLocation={neighborLocation}\n tag='input'\n type='text'\n aria-invalid={state === 'invalid'}\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":[]}
|
package/lib/cjs/index.d.js.map
CHANGED
|
@@ -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
|
|
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
|
@@ -118,6 +118,17 @@ _defineProperty(Input, "defaultProps", {
|
|
|
118
118
|
});
|
|
119
119
|
_defineProperty(Input, "style", style);
|
|
120
120
|
class Value extends Component {
|
|
121
|
+
constructor(...args) {
|
|
122
|
+
super(...args);
|
|
123
|
+
_defineProperty(this, "inputRef", /*#__PURE__*/React.createRef());
|
|
124
|
+
}
|
|
125
|
+
componentDidMount() {
|
|
126
|
+
if (this.asProps.autoFocus) {
|
|
127
|
+
setTimeout(() => {
|
|
128
|
+
this.inputRef.current?.focus();
|
|
129
|
+
}, 10); // in autoFocusEnhance it was boolean `true`. In FF and Safari was floating bug with focus, so, I set 10.
|
|
130
|
+
}
|
|
131
|
+
}
|
|
121
132
|
uncontrolledProps() {
|
|
122
133
|
return {
|
|
123
134
|
value: e => e.target.value
|
|
@@ -137,11 +148,13 @@ class Value extends Component {
|
|
|
137
148
|
var _ref5;
|
|
138
149
|
return _ref5 = sstyled(styles), /*#__PURE__*/React.createElement(SValue, _ref5.cn("SValue", {
|
|
139
150
|
..._assignProps2({
|
|
151
|
+
"ref": this.inputRef,
|
|
140
152
|
"inAfterOutline": true,
|
|
141
153
|
"neighborLocation": neighborLocation,
|
|
142
154
|
"tag": 'input',
|
|
143
155
|
"type": 'text',
|
|
144
|
-
"aria-invalid": state === 'invalid'
|
|
156
|
+
"aria-invalid": state === 'invalid',
|
|
157
|
+
"use:autoFocus": false
|
|
145
158
|
}, _ref2)
|
|
146
159
|
}));
|
|
147
160
|
});
|
package/lib/es6/Input.js.map
CHANGED
|
@@ -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","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 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 render={Box}\n inAfterOutline\n neighborLocation={neighborLocation}\n tag='input'\n type='text'\n aria-invalid={state === 'invalid'}\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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
|
|
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":[]}
|
package/lib/es6/index.d.js.map
CHANGED
|
@@ -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
|
|
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
|
@@ -123,6 +123,18 @@ _defineProperty(Input, "defaultProps", {
|
|
|
123
123
|
});
|
|
124
124
|
_defineProperty(Input, "style", style);
|
|
125
125
|
class Value extends Component {
|
|
126
|
+
constructor(...args) {
|
|
127
|
+
super(...args);
|
|
128
|
+
_defineProperty(this, "inputRef", /* @__PURE__ */ React.createRef());
|
|
129
|
+
}
|
|
130
|
+
componentDidMount() {
|
|
131
|
+
if (this.asProps.autoFocus) {
|
|
132
|
+
setTimeout(() => {
|
|
133
|
+
var _a;
|
|
134
|
+
(_a = this.inputRef.current) == null ? void 0 : _a.focus();
|
|
135
|
+
}, 10);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
126
138
|
uncontrolledProps() {
|
|
127
139
|
return {
|
|
128
140
|
value: (e) => e.target.value
|
|
@@ -142,11 +154,13 @@ class Value extends Component {
|
|
|
142
154
|
var _ref5;
|
|
143
155
|
return _ref5 = sstyled(styles), /* @__PURE__ */ React.createElement(SValue, _ref5.cn("SValue", {
|
|
144
156
|
...assignProps({
|
|
157
|
+
"ref": this.inputRef,
|
|
145
158
|
"inAfterOutline": true,
|
|
146
159
|
"neighborLocation": neighborLocation2,
|
|
147
160
|
"tag": "input",
|
|
148
161
|
"type": "text",
|
|
149
|
-
"aria-invalid": state === "invalid"
|
|
162
|
+
"aria-invalid": state === "invalid",
|
|
163
|
+
"use:autoFocus": false
|
|
150
164
|
}, _ref2)
|
|
151
165
|
}));
|
|
152
166
|
});
|
package/lib/types/index.d.ts
CHANGED
|
@@ -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.
|
|
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/
|
|
26
|
-
"@semcore/
|
|
27
|
-
"@semcore/
|
|
28
|
-
"@semcore/
|
|
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"
|