guestbell-forms 2.0.287 → 2.0.290
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/build/components/checkbox/Checkbox.d.ts +2 -1
- package/build/components/checkbox/Checkbox.js +46 -24
- package/build/components/checkbox/Checkbox.js.map +1 -1
- package/build/components/text/Text.js +4 -4
- package/build/components/text/Text.js.map +1 -1
- package/build/dist/guestbell-forms.css +3 -0
- package/build/dist/guestbell-forms.css.map +1 -1
- package/build/dist/guestbell-forms.min.css +1 -1
- package/build/dist/report.html +1 -1
- package/build/scss/components/checkbox/checkbox.scss +8 -0
- package/package.json +1 -1
@@ -5,6 +5,7 @@ export interface CheckboxProps extends BaseInputProps<HTMLInputElement> {
|
|
5
5
|
onChange?: never;
|
6
6
|
type?: string;
|
7
7
|
checked?: boolean;
|
8
|
+
supportsIndeterminate?: boolean;
|
8
9
|
}
|
9
10
|
export interface CheckboxState extends BaseInputState {
|
10
11
|
checked: boolean;
|
@@ -12,11 +13,11 @@ export interface CheckboxState extends BaseInputState {
|
|
12
13
|
export declare class CheckboxRaw extends BaseInput<CheckboxProps, CheckboxState, HTMLInputElement> {
|
13
14
|
static defaultProps: CheckboxProps;
|
14
15
|
constructor(props: CheckboxProps);
|
16
|
+
componentDidMount(): void;
|
15
17
|
componentDidUpdate(oldProps: CheckboxProps): void;
|
16
18
|
render(): JSX.Element;
|
17
19
|
private handleChecked;
|
18
20
|
protected handleKeyDown(e: React.KeyboardEvent<HTMLInputElement>): void;
|
19
|
-
private renderInput;
|
20
21
|
}
|
21
22
|
export declare const Checkbox: React.ForwardRefExoticComponent<CheckboxProps & React.RefAttributes<CheckboxRaw>>;
|
22
23
|
export default Checkbox;
|
@@ -31,6 +31,10 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+
|
|
31
31
|
|
32
32
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
|
33
33
|
|
34
|
+
function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }
|
35
|
+
|
36
|
+
function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
|
37
|
+
|
34
38
|
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
35
39
|
|
36
40
|
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
@@ -74,8 +78,23 @@ var CheckboxRaw = /*#__PURE__*/function (_BaseInput) {
|
|
74
78
|
}
|
75
79
|
|
76
80
|
_createClass(CheckboxRaw, [{
|
81
|
+
key: "componentDidMount",
|
82
|
+
value: function componentDidMount() {
|
83
|
+
var _this$inputRef$curren, _get2;
|
84
|
+
|
85
|
+
var finalIndeterminate = Boolean(this.props.supportsIndeterminate && typeof this.props.checked !== 'boolean');
|
86
|
+
|
87
|
+
if (typeof this.props.checked !== 'boolean' && this.inputRef.current && ((_this$inputRef$curren = this.inputRef.current) === null || _this$inputRef$curren === void 0 ? void 0 : _this$inputRef$curren.indeterminate) !== finalIndeterminate) {
|
88
|
+
this.inputRef.current.indeterminate = finalIndeterminate;
|
89
|
+
}
|
90
|
+
|
91
|
+
(_get2 = _get(_getPrototypeOf(CheckboxRaw.prototype), "componentDidMount", this)) === null || _get2 === void 0 ? void 0 : _get2.call(this);
|
92
|
+
}
|
93
|
+
}, {
|
77
94
|
key: "componentDidUpdate",
|
78
95
|
value: function componentDidUpdate(oldProps) {
|
96
|
+
var _this$inputRef$curren2;
|
97
|
+
|
79
98
|
if (this.props.checked !== this.state.checked) {
|
80
99
|
this.setState({
|
81
100
|
checked: this.props.checked
|
@@ -97,20 +116,42 @@ var CheckboxRaw = /*#__PURE__*/function (_BaseInput) {
|
|
97
116
|
this.setValid();
|
98
117
|
}
|
99
118
|
}
|
119
|
+
|
120
|
+
var finalIndeterminate = Boolean(this.props.supportsIndeterminate && typeof this.props.checked !== 'boolean');
|
121
|
+
|
122
|
+
if (this.props.supportsIndeterminate && ((_this$inputRef$curren2 = this.inputRef.current) === null || _this$inputRef$curren2 === void 0 ? void 0 : _this$inputRef$curren2.indeterminate) !== finalIndeterminate) {
|
123
|
+
this.inputRef.current.indeterminate = finalIndeterminate;
|
124
|
+
}
|
100
125
|
}
|
101
126
|
}, {
|
102
127
|
key: "render",
|
103
128
|
value: function render() {
|
129
|
+
var _this$state$checked;
|
130
|
+
|
104
131
|
var containerClassName = classNames(['input__base checkbox-input', this.getValidationClass(), this.props.className, _defineProperty({}, 'checkbox-input--with-label', Boolean(this.props.label)), _defineProperty({}, 'checkbox-input--disabled', this.props.disabled)]);
|
132
|
+
var input = /*#__PURE__*/React.createElement("input", _extends({}, this.props.id && {
|
133
|
+
id: this.props.id
|
134
|
+
}, {
|
135
|
+
ref: this.inputRef,
|
136
|
+
value: this.props.value || '',
|
137
|
+
type: "checkbox",
|
138
|
+
required: this.props.required,
|
139
|
+
checked: (_this$state$checked = this.state.checked) !== null && _this$state$checked !== void 0 ? _this$state$checked : false,
|
140
|
+
onChange: this.handleChecked,
|
141
|
+
onBlur: this.handleBlur,
|
142
|
+
onFocus: this.handleFocus,
|
143
|
+
onKeyDown: this.handleKeyDown,
|
144
|
+
tabIndex: this.props.disabled ? -1 : 0
|
145
|
+
}));
|
105
146
|
return /*#__PURE__*/React.createElement(_InputGroup.default, {
|
106
147
|
title: this.props.title,
|
107
148
|
tooltip: this.props.tooltip
|
108
149
|
}, /*#__PURE__*/React.createElement("div", {
|
109
150
|
className: containerClassName,
|
110
151
|
ref: this.containerRef
|
111
|
-
}, this.props.title && !this.props.label &&
|
152
|
+
}, this.props.title && !this.props.label && input, !this.props.title && !this.props.label && this.renderTooltip(input), this.renderDefaultValidation(), this.props.label && /*#__PURE__*/React.createElement("label", {
|
112
153
|
className: "checkbox-input__label"
|
113
|
-
},
|
154
|
+
}, input, this.renderLabel())));
|
114
155
|
}
|
115
156
|
}, {
|
116
157
|
key: "handleChecked",
|
@@ -135,30 +176,12 @@ var CheckboxRaw = /*#__PURE__*/function (_BaseInput) {
|
|
135
176
|
value: function handleKeyDown(e) {
|
136
177
|
if (!this.props.disabled) {
|
137
178
|
if (e.key === 'Enter') {
|
138
|
-
var _this$inputRef$
|
179
|
+
var _this$inputRef$curren3;
|
139
180
|
|
140
|
-
(_this$inputRef$
|
181
|
+
(_this$inputRef$curren3 = this.inputRef.current) === null || _this$inputRef$curren3 === void 0 ? void 0 : _this$inputRef$curren3.click();
|
141
182
|
}
|
142
183
|
}
|
143
184
|
}
|
144
|
-
}, {
|
145
|
-
key: "renderInput",
|
146
|
-
value: function renderInput() {
|
147
|
-
return /*#__PURE__*/React.createElement("input", _extends({}, this.props.id && {
|
148
|
-
id: this.props.id
|
149
|
-
}, {
|
150
|
-
ref: this.inputRef,
|
151
|
-
value: this.props.value || '',
|
152
|
-
type: "checkbox",
|
153
|
-
required: this.props.required,
|
154
|
-
checked: this.state.checked,
|
155
|
-
onChange: this.handleChecked,
|
156
|
-
onBlur: this.handleBlur,
|
157
|
-
onFocus: this.handleFocus,
|
158
|
-
onKeyDown: this.handleKeyDown,
|
159
|
-
tabIndex: this.props.disabled ? -1 : 0
|
160
|
-
}));
|
161
|
-
}
|
162
185
|
}]);
|
163
186
|
|
164
187
|
return CheckboxRaw;
|
@@ -166,8 +189,7 @@ var CheckboxRaw = /*#__PURE__*/function (_BaseInput) {
|
|
166
189
|
|
167
190
|
exports.CheckboxRaw = CheckboxRaw;
|
168
191
|
|
169
|
-
_defineProperty(CheckboxRaw, "defaultProps", Object.assign({}, _BaseInput2.BaseInput.defaultProps, {
|
170
|
-
checked: false
|
192
|
+
_defineProperty(CheckboxRaw, "defaultProps", Object.assign({}, _BaseInput2.BaseInput.defaultProps, {// checked: false,
|
171
193
|
}));
|
172
194
|
|
173
195
|
var Checkbox = (0, _withThemeContext.withThemeContext)((0, _withFormContext.withFormContext)(CheckboxRaw), 'checkbox');
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/components/checkbox/Checkbox.tsx"],"names":["classNames","require","CheckboxRaw","props","state","Object","assign","checked","isValid","required","errors","getTranslations","defaultBaseTranslations","handleChecked","bind","handleKeyDown","subscribeSelf","oldProps","setState","setValid","setInvalid","containerClassName","getValidationClass","className","Boolean","label","disabled","title","tooltip","containerRef","renderInput","renderTooltip","renderDefaultValidation","renderLabel","e","onChecked","key","inputRef","current","click","id","value","handleBlur","handleFocus","BaseInput","defaultProps","Checkbox"],"mappings":"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","sourcesContent":["// Libs\r\nimport * as React from 'react';\r\n\r\n// Misc\r\nimport InputGroup from '../inputGroup/InputGroup';\r\nimport {\r\n BaseInputProps,\r\n BaseInput,\r\n BaseInputState,\r\n defaultBaseTranslations,\r\n} from '../base/input/BaseInput';\r\nvar classNames = require('classnames');\r\nimport { withFormContext } from '../form/withFormContext';\r\nimport { withThemeContext } from '../themeProvider/withThemeContext';\r\n\r\nexport interface CheckboxProps extends BaseInputProps<HTMLInputElement> {\r\n onChecked?: (e: React.ChangeEvent<HTMLInputElement>) => void;\r\n onChange?: never;\r\n type?: string;\r\n checked?: boolean;\r\n}\r\n\r\nexport interface CheckboxState extends BaseInputState {\r\n checked: boolean;\r\n}\r\n\r\nexport class CheckboxRaw extends BaseInput<\r\n CheckboxProps,\r\n CheckboxState,\r\n HTMLInputElement\r\n> {\r\n public static defaultProps = Object.assign({}, BaseInput.defaultProps, {\r\n checked: false,\r\n }) as CheckboxProps;\r\n\r\n constructor(props: CheckboxProps) {\r\n super(props, false);\r\n this.state = Object.assign(this.state, {\r\n checked: props.checked,\r\n isValid: props.required ? props.checked : true,\r\n errors:\r\n props.required && !props.checked\r\n ? [this.getTranslations(defaultBaseTranslations).required]\r\n : [],\r\n });\r\n this.handleChecked = this.handleChecked.bind(this);\r\n this.handleKeyDown = this.handleKeyDown.bind(this);\r\n this.subscribeSelf(props);\r\n }\r\n\r\n public componentDidUpdate(oldProps: CheckboxProps) {\r\n if (this.props.checked !== this.state.checked) {\r\n this.setState({ checked: this.props.checked });\r\n if (this.props.checked) {\r\n this.setValid();\r\n } else {\r\n if (this.props.required) {\r\n this.setInvalid([\r\n this.getTranslations(defaultBaseTranslations).required,\r\n ]);\r\n }\r\n }\r\n }\r\n if (oldProps.required !== this.props.required) {\r\n if (this.props.required && !this.props.checked) {\r\n this.setInvalid([\r\n this.getTranslations(defaultBaseTranslations).required,\r\n ]);\r\n } else {\r\n this.setValid();\r\n }\r\n }\r\n }\r\n\r\n public render() {\r\n const containerClassName = classNames([\r\n 'input__base checkbox-input',\r\n this.getValidationClass(),\r\n this.props.className,\r\n { ['checkbox-input--with-label']: Boolean(this.props.label) },\r\n { ['checkbox-input--disabled']: this.props.disabled },\r\n ]);\r\n return (\r\n <InputGroup title={this.props.title} tooltip={this.props.tooltip}>\r\n <div className={containerClassName} ref={this.containerRef}>\r\n {this.props.title && !this.props.label && this.renderInput()}\r\n {!this.props.title &&\r\n !this.props.label &&\r\n this.renderTooltip(this.renderInput())}\r\n {this.renderDefaultValidation()}\r\n {this.props.label && (\r\n <label className=\"checkbox-input__label\">\r\n {this.renderInput()}\r\n {this.renderLabel()}\r\n </label>\r\n )}\r\n </div>\r\n </InputGroup>\r\n );\r\n }\r\n\r\n private handleChecked(e: React.ChangeEvent<HTMLInputElement>) {\r\n if (!this.props.disabled) {\r\n this.props.onChecked && this.props.onChecked(e);\r\n this.setState({ checked: !this.state.checked });\r\n if (!this.state.checked) {\r\n this.setValid();\r\n } else {\r\n if (this.props.required) {\r\n this.setInvalid([\r\n this.getTranslations(defaultBaseTranslations).required,\r\n ]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n protected handleKeyDown(e: React.KeyboardEvent<HTMLInputElement>) {\r\n if (!this.props.disabled) {\r\n if (e.key === 'Enter') {\r\n this.inputRef.current?.click();\r\n }\r\n }\r\n }\r\n\r\n private renderInput() {\r\n return (\r\n <input\r\n {...(this.props.id && { id: this.props.id })}\r\n ref={this.inputRef}\r\n value={this.props.value || ''}\r\n type=\"checkbox\"\r\n required={this.props.required}\r\n checked={this.state.checked}\r\n onChange={this.handleChecked}\r\n onBlur={this.handleBlur}\r\n onFocus={this.handleFocus}\r\n onKeyDown={this.handleKeyDown}\r\n tabIndex={this.props.disabled ? -1 : 0}\r\n />\r\n );\r\n }\r\n}\r\n\r\nexport const Checkbox = withThemeContext<\r\n CheckboxProps,\r\n InstanceType<typeof CheckboxRaw>\r\n>(withFormContext<CheckboxProps>(CheckboxRaw), 'checkbox');\r\n\r\nexport default Checkbox;\r\n"],"file":"Checkbox.js"}
|
1
|
+
{"version":3,"sources":["../../../src/lib/components/checkbox/Checkbox.tsx"],"names":["classNames","require","CheckboxRaw","props","state","Object","assign","checked","isValid","required","errors","getTranslations","defaultBaseTranslations","handleChecked","bind","handleKeyDown","subscribeSelf","finalIndeterminate","Boolean","supportsIndeterminate","inputRef","current","indeterminate","oldProps","setState","setValid","setInvalid","containerClassName","getValidationClass","className","label","disabled","input","id","value","handleBlur","handleFocus","title","tooltip","containerRef","renderTooltip","renderDefaultValidation","renderLabel","e","onChecked","key","click","BaseInput","defaultProps","Checkbox"],"mappings":"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","sourcesContent":["// Libs\r\nimport * as React from 'react';\r\n\r\n// Misc\r\nimport InputGroup from '../inputGroup/InputGroup';\r\nimport {\r\n BaseInputProps,\r\n BaseInput,\r\n BaseInputState,\r\n defaultBaseTranslations,\r\n} from '../base/input/BaseInput';\r\nvar classNames = require('classnames');\r\nimport { withFormContext } from '../form/withFormContext';\r\nimport { withThemeContext } from '../themeProvider/withThemeContext';\r\n\r\nexport interface CheckboxProps extends BaseInputProps<HTMLInputElement> {\r\n onChecked?: (e: React.ChangeEvent<HTMLInputElement>) => void;\r\n onChange?: never;\r\n type?: string;\r\n checked?: boolean;\r\n supportsIndeterminate?: boolean;\r\n}\r\n\r\nexport interface CheckboxState extends BaseInputState {\r\n checked: boolean;\r\n}\r\n\r\nexport class CheckboxRaw extends BaseInput<\r\n CheckboxProps,\r\n CheckboxState,\r\n HTMLInputElement\r\n> {\r\n public static defaultProps = Object.assign({}, BaseInput.defaultProps, {\r\n // checked: false,\r\n }) as CheckboxProps;\r\n\r\n constructor(props: CheckboxProps) {\r\n super(props, false);\r\n this.state = Object.assign(this.state, {\r\n checked: props.checked,\r\n isValid: props.required ? props.checked : true,\r\n errors:\r\n props.required && !props.checked\r\n ? [this.getTranslations(defaultBaseTranslations).required]\r\n : [],\r\n });\r\n this.handleChecked = this.handleChecked.bind(this);\r\n this.handleKeyDown = this.handleKeyDown.bind(this);\r\n this.subscribeSelf(props);\r\n }\r\n\r\n public componentDidMount() {\r\n const finalIndeterminate = Boolean(\r\n this.props.supportsIndeterminate &&\r\n typeof this.props.checked !== 'boolean'\r\n );\r\n if (\r\n typeof this.props.checked !== 'boolean' &&\r\n this.inputRef.current &&\r\n this.inputRef.current?.indeterminate !== finalIndeterminate\r\n ) {\r\n this.inputRef.current.indeterminate = finalIndeterminate;\r\n }\r\n super.componentDidMount?.();\r\n }\r\n\r\n public componentDidUpdate(oldProps: CheckboxProps) {\r\n if (this.props.checked !== this.state.checked) {\r\n this.setState({ checked: this.props.checked });\r\n if (this.props.checked) {\r\n this.setValid();\r\n } else {\r\n if (this.props.required) {\r\n this.setInvalid([\r\n this.getTranslations(defaultBaseTranslations).required,\r\n ]);\r\n }\r\n }\r\n }\r\n if (oldProps.required !== this.props.required) {\r\n if (this.props.required && !this.props.checked) {\r\n this.setInvalid([\r\n this.getTranslations(defaultBaseTranslations).required,\r\n ]);\r\n } else {\r\n this.setValid();\r\n }\r\n }\r\n const finalIndeterminate = Boolean(\r\n this.props.supportsIndeterminate &&\r\n typeof this.props.checked !== 'boolean'\r\n );\r\n if (\r\n this.props.supportsIndeterminate &&\r\n this.inputRef.current?.indeterminate !== finalIndeterminate\r\n ) {\r\n this.inputRef.current.indeterminate = finalIndeterminate;\r\n }\r\n }\r\n\r\n public render() {\r\n const containerClassName = classNames([\r\n 'input__base checkbox-input',\r\n this.getValidationClass(),\r\n this.props.className,\r\n { ['checkbox-input--with-label']: Boolean(this.props.label) },\r\n { ['checkbox-input--disabled']: this.props.disabled },\r\n ]);\r\n const input = (\r\n <input\r\n {...(this.props.id && { id: this.props.id })}\r\n ref={this.inputRef}\r\n value={this.props.value || ''}\r\n type=\"checkbox\"\r\n required={this.props.required}\r\n checked={this.state.checked ?? false}\r\n onChange={this.handleChecked}\r\n onBlur={this.handleBlur}\r\n onFocus={this.handleFocus}\r\n onKeyDown={this.handleKeyDown}\r\n tabIndex={this.props.disabled ? -1 : 0}\r\n />\r\n );\r\n return (\r\n <InputGroup title={this.props.title} tooltip={this.props.tooltip}>\r\n <div className={containerClassName} ref={this.containerRef}>\r\n {this.props.title && !this.props.label && input}\r\n {!this.props.title && !this.props.label && this.renderTooltip(input)}\r\n {this.renderDefaultValidation()}\r\n {this.props.label && (\r\n <label className=\"checkbox-input__label\">\r\n {input}\r\n {this.renderLabel()}\r\n </label>\r\n )}\r\n </div>\r\n </InputGroup>\r\n );\r\n }\r\n\r\n private handleChecked(e: React.ChangeEvent<HTMLInputElement>) {\r\n if (!this.props.disabled) {\r\n this.props.onChecked && this.props.onChecked(e);\r\n this.setState({ checked: !this.state.checked });\r\n if (!this.state.checked) {\r\n this.setValid();\r\n } else {\r\n if (this.props.required) {\r\n this.setInvalid([\r\n this.getTranslations(defaultBaseTranslations).required,\r\n ]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n protected handleKeyDown(e: React.KeyboardEvent<HTMLInputElement>) {\r\n if (!this.props.disabled) {\r\n if (e.key === 'Enter') {\r\n this.inputRef.current?.click();\r\n }\r\n }\r\n }\r\n}\r\n\r\nexport const Checkbox = withThemeContext<\r\n CheckboxProps,\r\n InstanceType<typeof CheckboxRaw>\r\n>(withFormContext<CheckboxProps>(CheckboxRaw), 'checkbox');\r\n\r\nexport default Checkbox;\r\n"],"file":"Checkbox.js"}
|
@@ -107,7 +107,7 @@ var TextRaw = /*#__PURE__*/function (_BaseInput) {
|
|
107
107
|
return _this.props.onKeyDown && _this.props.onKeyDown(e);
|
108
108
|
});
|
109
109
|
|
110
|
-
if (props.number !== undefined) {
|
110
|
+
if (props.number !== undefined || props.onNumberChange) {
|
111
111
|
var _props$number$toStrin, _props$number;
|
112
112
|
|
113
113
|
var value = (_props$number$toStrin = (_props$number = props.number) === null || _props$number === void 0 ? void 0 : _props$number.toString()) !== null && _props$number$toStrin !== void 0 ? _props$number$toStrin : '';
|
@@ -136,7 +136,7 @@ var TextRaw = /*#__PURE__*/function (_BaseInput) {
|
|
136
136
|
_createClass(TextRaw, [{
|
137
137
|
key: "componentDidUpdate",
|
138
138
|
value: function componentDidUpdate(prevProps, prevState) {
|
139
|
-
if (this.props.onNumberChange && (this.state.isValid !== prevState.isValid || this.state.value !== prevState.value
|
139
|
+
if (this.props.onNumberChange && (this.state.isValid !== prevState.isValid || this.state.value !== prevState.value || this.props.number !== Number(this.state.value))) {
|
140
140
|
var num = Number(this.state.value);
|
141
141
|
|
142
142
|
if (!isNaN(num)) {
|
@@ -159,7 +159,7 @@ var TextRaw = /*#__PURE__*/function (_BaseInput) {
|
|
159
159
|
}, {
|
160
160
|
key: "render",
|
161
161
|
value: function render() {
|
162
|
-
var _this$state$value, _this$props$value;
|
162
|
+
var _this$state$value, _this$state$value2, _this$props$value;
|
163
163
|
|
164
164
|
var clearButtonHidden = !((_this$state$value = this.state.value) !== null && _this$state$value !== void 0 && _this$state$value.length) || this.props.disabled;
|
165
165
|
return /*#__PURE__*/React.createElement(_InputGroup.default, {
|
@@ -180,7 +180,7 @@ var TextRaw = /*#__PURE__*/function (_BaseInput) {
|
|
180
180
|
required: this.props.required,
|
181
181
|
className: this.state.value ? 'filled' : '',
|
182
182
|
onChange: this.handleChange,
|
183
|
-
value: this.state.value,
|
183
|
+
value: (_this$state$value2 = this.state.value) !== null && _this$state$value2 !== void 0 ? _this$state$value2 : '',
|
184
184
|
onBlur: this.handleBlur,
|
185
185
|
onFocus: this.handleFocus,
|
186
186
|
readOnly: this.props.readOnly,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/components/text/Text.tsx"],"names":["PlusIcon","classNames","require","TextRaw","props","inputRef","current","nativeTextAreaValueSetter","Object","getOwnPropertyDescriptor","window","HTMLInputElement","prototype","set","call","event","Event","bubbles","dispatchEvent","e","stopClickPropagation","stopPropagation","onKeyDown","number","undefined","value","toString","res","handleValueChange","state","isValid","errors","ignoreContext","formContext","updateCallback","componentId","validation","prevProps","prevState","onNumberChange","Number","num","isNaN","clearButtonHidden","length","disabled","title","tooltip","getValidationClass","readOnly","className","containerClick","containerRef","before","id","placeholder","getDisabled","required","handleChange","handleBlur","handleFocus","type","onClick","maxLength","sizeFromValue","after","showClearButton","clearClick","renderDefaultValidation","label","renderLabel","BaseInput","assign","defaultProps","Text"],"mappings":"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","sourcesContent":["// Libs\r\nimport * as React from 'react';\r\n\r\n// Misc\r\nimport InputGroup from '../inputGroup/InputGroup';\r\nimport {\r\n BaseInputProps,\r\n BaseInputState,\r\n BaseInput,\r\n} from '../base/input/BaseInput';\r\nimport { withFormContext } from '../form/withFormContext';\r\nimport { withThemeContext } from '../themeProvider/withThemeContext';\r\nimport Button from '../button';\r\nimport * as PlusIcon from 'material-design-icons/content/svg/production/ic_add_24px.svg';\r\nvar classNames = require('classnames');\r\n\r\nexport interface TextProps extends BaseInputProps<HTMLInputElement> {\r\n mask?: string;\r\n reverse?: boolean;\r\n placeholder?: string;\r\n stopClickPropagation?: boolean;\r\n inputRef?: React.Ref<HTMLInputElement>;\r\n readOnly?: boolean;\r\n type?: 'number' | 'text';\r\n maxLength?: number;\r\n showClearButton?: boolean;\r\n after?: React.ReactNode;\r\n before?: React.ReactNode;\r\n sizeFromValue?: boolean;\r\n onNumberChange?: (number: number, isValid: boolean) => void;\r\n number?: number;\r\n}\r\n\r\nexport interface TextState extends BaseInputState {}\r\n\r\nexport class TextRaw extends BaseInput<TextProps, TextState, HTMLInputElement> {\r\n public static defaultProps = Object.assign({}, BaseInput.defaultProps, {\r\n type: 'text',\r\n stopClickPropagation: true,\r\n readOnly: false,\r\n }) as TextProps;\r\n\r\n constructor(props: TextProps) {\r\n super(props);\r\n if (props.number !== undefined) {\r\n const value = props.number?.toString() ?? '';\r\n const res = this.handleValueChange(value, true, [], props, true);\r\n this.state = {\r\n ...this.state,\r\n isValid: res.isValid,\r\n errors: res.errors,\r\n value,\r\n };\r\n if (!this.props.ignoreContext) {\r\n this.props.formContext &&\r\n this.props.formContext.updateCallback(this.componentId, {\r\n validation: {\r\n isValid: res.isValid,\r\n errors: res.errors,\r\n },\r\n });\r\n }\r\n }\r\n }\r\n\r\n public componentDidUpdate(prevProps: TextProps, prevState: TextState) {\r\n if (\r\n this.props.onNumberChange &&\r\n (this.state.isValid !== prevState.isValid ||\r\n this.state.value !== prevState.value) &&\r\n this.props.number !== Number(this.state.value)\r\n ) {\r\n const num = Number(this.state.value);\r\n if (!isNaN(num)) {\r\n this.props.onNumberChange(num, this.state.isValid);\r\n }\r\n if (this.state.value === '') {\r\n this.props.onNumberChange(undefined, this.state.isValid);\r\n }\r\n }\r\n if (\r\n (prevProps.number !== undefined || this.props.number !== undefined) &&\r\n this.props.number !== prevProps.number\r\n ) {\r\n this.handleValueChange(this.props.number?.toString() ?? '');\r\n }\r\n super.componentDidUpdate(prevProps, prevState);\r\n }\r\n\r\n public render() {\r\n const clearButtonHidden = !this.state.value?.length || this.props.disabled;\r\n return (\r\n <InputGroup title={this.props.title} tooltip={this.props.tooltip}>\r\n <div\r\n className={`input__base text-input ${this.getValidationClass()} \r\n ${this.props.readOnly ? 'text-input--readOnly' : ''} ${\r\n this.props.className ? this.props.className : ''\r\n }`}\r\n onClick={this.containerClick}\r\n ref={this.containerRef}\r\n >\r\n <div className=\"text-input__textWrapper\">\r\n {this.props.before}\r\n <input\r\n {...(this.props.id && {\r\n id: this.props.id,\r\n })}\r\n ref={this.inputRef}\r\n placeholder={this.props.placeholder}\r\n disabled={this.getDisabled()}\r\n required={this.props.required}\r\n className={this.state.value ? 'filled' : ''}\r\n onChange={this.handleChange}\r\n value={this.state.value}\r\n onBlur={this.handleBlur}\r\n onFocus={this.handleFocus}\r\n readOnly={this.props.readOnly}\r\n onKeyDown={this.onKeyDown}\r\n type={this.props.type}\r\n onClick={this.props.onClick}\r\n maxLength={this.props.maxLength}\r\n size={\r\n this.props.sizeFromValue\r\n ? this.props.value?.length || 1\r\n : undefined\r\n }\r\n />\r\n {this.props.after}\r\n {!this.props.readOnly && this.props.showClearButton && (\r\n <Button\r\n {...(this.props.id && {\r\n id: this.props.id + '-clear-button',\r\n })}\r\n disabled={clearButtonHidden}\r\n unobtrusive={true}\r\n noShadow={true}\r\n onClick={this.clearClick}\r\n className={classNames(\r\n 'text-input__clearButton line-height--0',\r\n {\r\n 'text-input__clearButton--hidden': clearButtonHidden,\r\n }\r\n )}\r\n >\r\n <PlusIcon className=\"transform-rotate--45 line-height--0\" />\r\n </Button>\r\n )}\r\n <span className=\"highlight\" />\r\n <span className=\"bar\" />\r\n {this.renderDefaultValidation()}\r\n {this.props.label && (\r\n <label className={this.props.readOnly ? 'label--focused' : ''}>\r\n {this.renderLabel()}\r\n </label>\r\n )}\r\n </div>\r\n </div>\r\n </InputGroup>\r\n );\r\n }\r\n\r\n private clearClick = () => {\r\n if (this.inputRef.current) {\r\n var nativeTextAreaValueSetter = Object.getOwnPropertyDescriptor(\r\n window.HTMLInputElement.prototype,\r\n 'value'\r\n ).set;\r\n if (nativeTextAreaValueSetter) {\r\n nativeTextAreaValueSetter.call(this.inputRef.current, '');\r\n\r\n const event = new Event('input', { bubbles: true });\r\n this.inputRef.current.dispatchEvent(event);\r\n }\r\n }\r\n };\r\n\r\n private containerClick = (e: React.MouseEvent<HTMLDivElement>) =>\r\n this.props.stopClickPropagation && e.stopPropagation();\r\n\r\n private onKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) =>\r\n this.props.onKeyDown && this.props.onKeyDown(e);\r\n}\r\n\r\nexport const Text = withThemeContext<TextProps, InstanceType<typeof TextRaw>>(\r\n withFormContext<TextProps>(TextRaw),\r\n 'text'\r\n);\r\n\r\nexport default Text;\r\n"],"file":"Text.js"}
|
1
|
+
{"version":3,"sources":["../../../src/lib/components/text/Text.tsx"],"names":["PlusIcon","classNames","require","TextRaw","props","inputRef","current","nativeTextAreaValueSetter","Object","getOwnPropertyDescriptor","window","HTMLInputElement","prototype","set","call","event","Event","bubbles","dispatchEvent","e","stopClickPropagation","stopPropagation","onKeyDown","number","undefined","onNumberChange","value","toString","res","handleValueChange","state","isValid","errors","ignoreContext","formContext","updateCallback","componentId","validation","prevProps","prevState","Number","num","isNaN","clearButtonHidden","length","disabled","title","tooltip","getValidationClass","readOnly","className","containerClick","containerRef","before","id","placeholder","getDisabled","required","handleChange","handleBlur","handleFocus","type","onClick","maxLength","sizeFromValue","after","showClearButton","clearClick","renderDefaultValidation","label","renderLabel","BaseInput","assign","defaultProps","Text"],"mappings":"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","sourcesContent":["// Libs\r\nimport * as React from 'react';\r\n\r\n// Misc\r\nimport InputGroup from '../inputGroup/InputGroup';\r\nimport {\r\n BaseInputProps,\r\n BaseInputState,\r\n BaseInput,\r\n} from '../base/input/BaseInput';\r\nimport { withFormContext } from '../form/withFormContext';\r\nimport { withThemeContext } from '../themeProvider/withThemeContext';\r\nimport Button from '../button';\r\nimport * as PlusIcon from 'material-design-icons/content/svg/production/ic_add_24px.svg';\r\nvar classNames = require('classnames');\r\n\r\nexport interface TextProps extends BaseInputProps<HTMLInputElement> {\r\n mask?: string;\r\n reverse?: boolean;\r\n placeholder?: string;\r\n stopClickPropagation?: boolean;\r\n inputRef?: React.Ref<HTMLInputElement>;\r\n readOnly?: boolean;\r\n type?: 'number' | 'text';\r\n maxLength?: number;\r\n showClearButton?: boolean;\r\n after?: React.ReactNode;\r\n before?: React.ReactNode;\r\n sizeFromValue?: boolean;\r\n onNumberChange?: (number: number, isValid: boolean) => void;\r\n number?: number;\r\n}\r\n\r\nexport interface TextState extends BaseInputState {}\r\n\r\nexport class TextRaw extends BaseInput<TextProps, TextState, HTMLInputElement> {\r\n public static defaultProps = Object.assign({}, BaseInput.defaultProps, {\r\n type: 'text',\r\n stopClickPropagation: true,\r\n readOnly: false,\r\n }) as TextProps;\r\n\r\n constructor(props: TextProps) {\r\n super(props);\r\n if (props.number !== undefined || props.onNumberChange) {\r\n const value = props.number?.toString() ?? '';\r\n const res = this.handleValueChange(value, true, [], props, true);\r\n this.state = {\r\n ...this.state,\r\n isValid: res.isValid,\r\n errors: res.errors,\r\n value,\r\n };\r\n if (!this.props.ignoreContext) {\r\n this.props.formContext &&\r\n this.props.formContext.updateCallback(this.componentId, {\r\n validation: {\r\n isValid: res.isValid,\r\n errors: res.errors,\r\n },\r\n });\r\n }\r\n }\r\n }\r\n\r\n public componentDidUpdate(prevProps: TextProps, prevState: TextState) {\r\n if (\r\n this.props.onNumberChange &&\r\n (this.state.isValid !== prevState.isValid ||\r\n this.state.value !== prevState.value ||\r\n this.props.number !== Number(this.state.value))\r\n ) {\r\n const num = Number(this.state.value);\r\n if (!isNaN(num)) {\r\n this.props.onNumberChange(num, this.state.isValid);\r\n }\r\n if (this.state.value === '') {\r\n this.props.onNumberChange(undefined, this.state.isValid);\r\n }\r\n }\r\n if (\r\n (prevProps.number !== undefined || this.props.number !== undefined) &&\r\n this.props.number !== prevProps.number\r\n ) {\r\n this.handleValueChange(this.props.number?.toString() ?? '');\r\n }\r\n super.componentDidUpdate(prevProps, prevState);\r\n }\r\n\r\n public render() {\r\n const clearButtonHidden = !this.state.value?.length || this.props.disabled;\r\n return (\r\n <InputGroup title={this.props.title} tooltip={this.props.tooltip}>\r\n <div\r\n className={`input__base text-input ${this.getValidationClass()} \r\n ${this.props.readOnly ? 'text-input--readOnly' : ''} ${\r\n this.props.className ? this.props.className : ''\r\n }`}\r\n onClick={this.containerClick}\r\n ref={this.containerRef}\r\n >\r\n <div className=\"text-input__textWrapper\">\r\n {this.props.before}\r\n <input\r\n {...(this.props.id && {\r\n id: this.props.id,\r\n })}\r\n ref={this.inputRef}\r\n placeholder={this.props.placeholder}\r\n disabled={this.getDisabled()}\r\n required={this.props.required}\r\n className={this.state.value ? 'filled' : ''}\r\n onChange={this.handleChange}\r\n value={this.state.value ?? ''}\r\n onBlur={this.handleBlur}\r\n onFocus={this.handleFocus}\r\n readOnly={this.props.readOnly}\r\n onKeyDown={this.onKeyDown}\r\n type={this.props.type}\r\n onClick={this.props.onClick}\r\n maxLength={this.props.maxLength}\r\n size={\r\n this.props.sizeFromValue\r\n ? this.props.value?.length || 1\r\n : undefined\r\n }\r\n />\r\n {this.props.after}\r\n {!this.props.readOnly && this.props.showClearButton && (\r\n <Button\r\n {...(this.props.id && {\r\n id: this.props.id + '-clear-button',\r\n })}\r\n disabled={clearButtonHidden}\r\n unobtrusive={true}\r\n noShadow={true}\r\n onClick={this.clearClick}\r\n className={classNames(\r\n 'text-input__clearButton line-height--0',\r\n {\r\n 'text-input__clearButton--hidden': clearButtonHidden,\r\n }\r\n )}\r\n >\r\n <PlusIcon className=\"transform-rotate--45 line-height--0\" />\r\n </Button>\r\n )}\r\n <span className=\"highlight\" />\r\n <span className=\"bar\" />\r\n {this.renderDefaultValidation()}\r\n {this.props.label && (\r\n <label className={this.props.readOnly ? 'label--focused' : ''}>\r\n {this.renderLabel()}\r\n </label>\r\n )}\r\n </div>\r\n </div>\r\n </InputGroup>\r\n );\r\n }\r\n\r\n private clearClick = () => {\r\n if (this.inputRef.current) {\r\n var nativeTextAreaValueSetter = Object.getOwnPropertyDescriptor(\r\n window.HTMLInputElement.prototype,\r\n 'value'\r\n ).set;\r\n if (nativeTextAreaValueSetter) {\r\n nativeTextAreaValueSetter.call(this.inputRef.current, '');\r\n\r\n const event = new Event('input', { bubbles: true });\r\n this.inputRef.current.dispatchEvent(event);\r\n }\r\n }\r\n };\r\n\r\n private containerClick = (e: React.MouseEvent<HTMLDivElement>) =>\r\n this.props.stopClickPropagation && e.stopPropagation();\r\n\r\n private onKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) =>\r\n this.props.onKeyDown && this.props.onKeyDown(e);\r\n}\r\n\r\nexport const Text = withThemeContext<TextProps, InstanceType<typeof TextRaw>>(\r\n withFormContext<TextProps>(TextRaw),\r\n 'text'\r\n);\r\n\r\nexport default Text;\r\n"],"file":"Text.js"}
|
@@ -1376,6 +1376,9 @@
|
|
1376
1376
|
pointer-events: none; }
|
1377
1377
|
.input__base.checkbox-input input:checked:before {
|
1378
1378
|
transform: rotate(-45deg) scale(1, 1); }
|
1379
|
+
.input__base.checkbox-input input:indeterminate:before {
|
1380
|
+
border-left-style: none;
|
1381
|
+
transform: rotate(0deg) scale(0.8, 1.2) translateX(0); }
|
1379
1382
|
.input__base.checkbox-input input:after {
|
1380
1383
|
content: '';
|
1381
1384
|
position: absolute;
|