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.
@@ -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 && this.renderInput(), !this.props.title && !this.props.label && this.renderTooltip(this.renderInput()), this.renderDefaultValidation(), this.props.label && /*#__PURE__*/React.createElement("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
- }, this.renderInput(), this.renderLabel())));
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$curren;
179
+ var _this$inputRef$curren3;
139
180
 
140
- (_this$inputRef$curren = this.inputRef.current) === null || _this$inputRef$curren === void 0 ? void 0 : _this$inputRef$curren.click();
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) && this.props.number !== Number(this.state.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":";;;;;;;;;AACA;;AAGA;;AACA;;AAKA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IACYA,Q,YAAAA,Q;;;;;;AAAAA,Q;;;;;;;AACZ,IAAIC,UAAU,GAAGC,OAAO,CAAC,YAAD,CAAxB;;IAqBaC,O;;;;;AAOX,mBAAYC,KAAZ,EAA8B;AAAA;;AAAA;;AAC5B,8BAAMA,KAAN;;AAD4B,iEAuHT,YAAM;AACzB,UAAI,MAAKC,QAAL,CAAcC,OAAlB,EAA2B;AACzB,YAAIC,yBAAyB,GAAGC,MAAM,CAACC,wBAAP,CAC9BC,MAAM,CAACC,gBAAP,CAAwBC,SADM,EAE9B,OAF8B,EAG9BC,GAHF;;AAIA,YAAIN,yBAAJ,EAA+B;AAC7BA,UAAAA,yBAAyB,CAACO,IAA1B,CAA+B,MAAKT,QAAL,CAAcC,OAA7C,EAAsD,EAAtD;AAEA,cAAMS,KAAK,GAAG,IAAIC,KAAJ,CAAU,OAAV,EAAmB;AAAEC,YAAAA,OAAO,EAAE;AAAX,WAAnB,CAAd;;AACA,gBAAKZ,QAAL,CAAcC,OAAd,CAAsBY,aAAtB,CAAoCH,KAApC;AACD;AACF;AACF,KApI6B;;AAAA,qEAsIL,UAACI,CAAD;AAAA,aACvB,MAAKf,KAAL,CAAWgB,oBAAX,IAAmCD,CAAC,CAACE,eAAF,EADZ;AAAA,KAtIK;;AAAA,gEAyIV,UAACF,CAAD;AAAA,aAClB,MAAKf,KAAL,CAAWkB,SAAX,IAAwB,MAAKlB,KAAL,CAAWkB,SAAX,CAAqBH,CAArB,CADN;AAAA,KAzIU;;AAE5B,QAAIf,KAAK,CAACmB,MAAN,KAAiBC,SAAjB,IAA8BpB,KAAK,CAACqB,cAAxC,EAAwD;AAAA;;AACtD,UAAMC,KAAK,6CAAGtB,KAAK,CAACmB,MAAT,kDAAG,cAAcI,QAAd,EAAH,yEAA+B,EAA1C;;AACA,UAAMC,GAAG,GAAG,MAAKC,iBAAL,CAAuBH,KAAvB,EAA8B,IAA9B,EAAoC,EAApC,EAAwCtB,KAAxC,EAA+C,IAA/C,CAAZ;;AACA,YAAK0B,KAAL,mCACK,MAAKA,KADV;AAEEC,QAAAA,OAAO,EAAEH,GAAG,CAACG,OAFf;AAGEC,QAAAA,MAAM,EAAEJ,GAAG,CAACI,MAHd;AAIEN,QAAAA,KAAK,EAALA;AAJF;;AAMA,UAAI,CAAC,MAAKtB,KAAL,CAAW6B,aAAhB,EAA+B;AAC7B,cAAK7B,KAAL,CAAW8B,WAAX,IACE,MAAK9B,KAAL,CAAW8B,WAAX,CAAuBC,cAAvB,CAAsC,MAAKC,WAA3C,EAAwD;AACtDC,UAAAA,UAAU,EAAE;AACVN,YAAAA,OAAO,EAAEH,GAAG,CAACG,OADH;AAEVC,YAAAA,MAAM,EAAEJ,GAAG,CAACI;AAFF;AAD0C,SAAxD,CADF;AAOD;AACF;;AApB2B;AAqB7B;;;;WAED,4BAA0BM,SAA1B,EAAgDC,SAAhD,EAAsE;AACpE,UACE,KAAKnC,KAAL,CAAWqB,cAAX,KACC,KAAKK,KAAL,CAAWC,OAAX,KAAuBQ,SAAS,CAACR,OAAjC,IACC,KAAKD,KAAL,CAAWJ,KAAX,KAAqBa,SAAS,CAACb,KADhC,IAEC,KAAKtB,KAAL,CAAWmB,MAAX,KAAsBiB,MAAM,CAAC,KAAKV,KAAL,CAAWJ,KAAZ,CAH9B,CADF,EAKE;AACA,YAAMe,GAAG,GAAGD,MAAM,CAAC,KAAKV,KAAL,CAAWJ,KAAZ,CAAlB;;AACA,YAAI,CAACgB,KAAK,CAACD,GAAD,CAAV,EAAiB;AACf,eAAKrC,KAAL,CAAWqB,cAAX,CAA0BgB,GAA1B,EAA+B,KAAKX,KAAL,CAAWC,OAA1C;AACD;;AACD,YAAI,KAAKD,KAAL,CAAWJ,KAAX,KAAqB,EAAzB,EAA6B;AAC3B,eAAKtB,KAAL,CAAWqB,cAAX,CAA0BD,SAA1B,EAAqC,KAAKM,KAAL,CAAWC,OAAhD;AACD;AACF;;AACD,UACE,CAACO,SAAS,CAACf,MAAV,KAAqBC,SAArB,IAAkC,KAAKpB,KAAL,CAAWmB,MAAX,KAAsBC,SAAzD,KACA,KAAKpB,KAAL,CAAWmB,MAAX,KAAsBe,SAAS,CAACf,MAFlC,EAGE;AAAA;;AACA,aAAKM,iBAAL,gDAAuB,KAAKzB,KAAL,CAAWmB,MAAlC,uDAAuB,mBAAmBI,QAAnB,EAAvB,yEAAwD,EAAxD;AACD;;AACD,sFAAyBW,SAAzB,EAAoCC,SAApC;AACD;;;WAED,kBAAgB;AAAA;;AACd,UAAMI,iBAAiB,GAAG,uBAAC,KAAKb,KAAL,CAAWJ,KAAZ,8CAAC,kBAAkBkB,MAAnB,KAA6B,KAAKxC,KAAL,CAAWyC,QAAlE;AACA,0BACE,oBAAC,mBAAD;AAAY,QAAA,KAAK,EAAE,KAAKzC,KAAL,CAAW0C,KAA9B;AAAqC,QAAA,OAAO,EAAE,KAAK1C,KAAL,CAAW2C;AAAzD,sBACE;AACE,QAAA,SAAS,mCAA4B,KAAKC,kBAAL,EAA5B,oCACG,KAAK5C,KAAL,CAAW6C,QAAX,GAAsB,sBAAtB,GAA+C,EADlD,cAEP,KAAK7C,KAAL,CAAW8C,SAAX,GAAuB,KAAK9C,KAAL,CAAW8C,SAAlC,GAA8C,EAFvC,CADX;AAKE,QAAA,OAAO,EAAE,KAAKC,cALhB;AAME,QAAA,GAAG,EAAE,KAAKC;AANZ,sBAQE;AAAK,QAAA,SAAS,EAAC;AAAf,SACG,KAAKhD,KAAL,CAAWiD,MADd,eAEE,0CACO,KAAKjD,KAAL,CAAWkD,EAAX,IAAiB;AACpBA,QAAAA,EAAE,EAAE,KAAKlD,KAAL,CAAWkD;AADK,OADxB;AAIE,QAAA,GAAG,EAAE,KAAKjD,QAJZ;AAKE,QAAA,WAAW,EAAE,KAAKD,KAAL,CAAWmD,WAL1B;AAME,QAAA,QAAQ,EAAE,KAAKC,WAAL,EANZ;AAOE,QAAA,QAAQ,EAAE,KAAKpD,KAAL,CAAWqD,QAPvB;AAQE,QAAA,SAAS,EAAE,KAAK3B,KAAL,CAAWJ,KAAX,GAAmB,QAAnB,GAA8B,EAR3C;AASE,QAAA,QAAQ,EAAE,KAAKgC,YATjB;AAUE,QAAA,KAAK,wBAAE,KAAK5B,KAAL,CAAWJ,KAAb,mEAAsB,EAV7B;AAWE,QAAA,MAAM,EAAE,KAAKiC,UAXf;AAYE,QAAA,OAAO,EAAE,KAAKC,WAZhB;AAaE,QAAA,QAAQ,EAAE,KAAKxD,KAAL,CAAW6C,QAbvB;AAcE,QAAA,SAAS,EAAE,KAAK3B,SAdlB;AAeE,QAAA,IAAI,EAAE,KAAKlB,KAAL,CAAWyD,IAfnB;AAgBE,QAAA,OAAO,EAAE,KAAKzD,KAAL,CAAW0D,OAhBtB;AAiBE,QAAA,SAAS,EAAE,KAAK1D,KAAL,CAAW2D,SAjBxB;AAkBE,QAAA,IAAI,EACF,KAAK3D,KAAL,CAAW4D,aAAX,GACI,2BAAK5D,KAAL,CAAWsB,KAAX,wEAAkBkB,MAAlB,KAA4B,CADhC,GAEIpB;AArBR,SAFF,EA0BG,KAAKpB,KAAL,CAAW6D,KA1Bd,EA2BG,CAAC,KAAK7D,KAAL,CAAW6C,QAAZ,IAAwB,KAAK7C,KAAL,CAAW8D,eAAnC,iBACC,oBAAC,eAAD,eACO,KAAK9D,KAAL,CAAWkD,EAAX,IAAiB;AACpBA,QAAAA,EAAE,EAAE,KAAKlD,KAAL,CAAWkD,EAAX,GAAgB;AADA,OADxB;AAIE,QAAA,QAAQ,EAAEX,iBAJZ;AAKE,QAAA,WAAW,EAAE,IALf;AAME,QAAA,QAAQ,EAAE,IANZ;AAOE,QAAA,OAAO,EAAE,KAAKwB,UAPhB;AAQE,QAAA,SAAS,EAAElE,UAAU,CACnB,wCADmB,EAEnB;AACE,6CAAmC0C;AADrC,SAFmB;AARvB,uBAeE,oBAAC,QAAD;AAAU,QAAA,SAAS,EAAC;AAApB,QAfF,CA5BJ,eA8CE;AAAM,QAAA,SAAS,EAAC;AAAhB,QA9CF,eA+CE;AAAM,QAAA,SAAS,EAAC;AAAhB,QA/CF,EAgDG,KAAKyB,uBAAL,EAhDH,EAiDG,KAAKhE,KAAL,CAAWiE,KAAX,iBACC;AAAO,QAAA,SAAS,EAAE,KAAKjE,KAAL,CAAW6C,QAAX,GAAsB,gBAAtB,GAAyC;AAA3D,SACG,KAAKqB,WAAL,EADH,CAlDJ,CARF,CADF,CADF;AAoED;;;;EA5H0BC,qB;;;;gBAAhBpE,O,kBACkBK,MAAM,CAACgE,MAAP,CAAc,EAAd,EAAkBD,sBAAUE,YAA5B,EAA0C;AACrEZ,EAAAA,IAAI,EAAE,MAD+D;AAErEzC,EAAAA,oBAAoB,EAAE,IAF+C;AAGrE6B,EAAAA,QAAQ,EAAE;AAH2D,CAA1C,C;;AAmJxB,IAAMyB,IAAI,GAAG,wCAClB,sCAA2BvE,OAA3B,CADkB,EAElB,MAFkB,CAAb;;eAKQuE,I","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;