@commercetools-uikit/input-utils 16.0.0 → 16.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -10,6 +10,8 @@ var reactIntl = require('react-intl');
|
|
|
10
10
|
var FlatButton = require('@commercetools-uikit/flat-button');
|
|
11
11
|
var icons = require('@commercetools-uikit/icons');
|
|
12
12
|
var jsxRuntime = require('@emotion/react/jsx-runtime');
|
|
13
|
+
var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
|
|
14
|
+
var _parseInt = require('@babel/runtime-corejs3/core-js-stable/parse-int');
|
|
13
15
|
var _Object$keys = require('@babel/runtime-corejs3/core-js-stable/object/keys');
|
|
14
16
|
var _Object$getOwnPropertySymbols = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols');
|
|
15
17
|
var _filterInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/filter');
|
|
@@ -18,7 +20,6 @@ var _forEachInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/in
|
|
|
18
20
|
var _Object$getOwnPropertyDescriptors = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors');
|
|
19
21
|
var _Object$defineProperties = require('@babel/runtime-corejs3/core-js-stable/object/define-properties');
|
|
20
22
|
var _Object$defineProperty = require('@babel/runtime-corejs3/core-js-stable/object/define-property');
|
|
21
|
-
var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
|
|
22
23
|
var TextareaAutosize = require('react-textarea-autosize');
|
|
23
24
|
var utils = require('@commercetools-uikit/utils');
|
|
24
25
|
|
|
@@ -26,6 +27,7 @@ function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e };
|
|
|
26
27
|
|
|
27
28
|
var _pt__default = /*#__PURE__*/_interopDefault(_pt);
|
|
28
29
|
var FlatButton__default = /*#__PURE__*/_interopDefault(FlatButton);
|
|
30
|
+
var _parseInt__default = /*#__PURE__*/_interopDefault(_parseInt);
|
|
29
31
|
var _Object$keys__default = /*#__PURE__*/_interopDefault(_Object$keys);
|
|
30
32
|
var _Object$getOwnPropertySymbols__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertySymbols);
|
|
31
33
|
var _filterInstanceProperty__default = /*#__PURE__*/_interopDefault(_filterInstanceProperty);
|
|
@@ -59,7 +61,6 @@ const defaultProps = {
|
|
|
59
61
|
hideMessage: messages$1.hide,
|
|
60
62
|
showMessage: messages$1.show
|
|
61
63
|
};
|
|
62
|
-
|
|
63
64
|
var _ref = process.env.NODE_ENV === "production" ? {
|
|
64
65
|
name: "xyzkeb",
|
|
65
66
|
styles: "align-self:flex-start"
|
|
@@ -69,7 +70,6 @@ var _ref = process.env.NODE_ENV === "production" ? {
|
|
|
69
70
|
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvY2FsaXplZC1pbnB1dC10b2dnbGUudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBDYyIsImZpbGUiOiJsb2NhbGl6ZWQtaW5wdXQtdG9nZ2xlLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB0eXBlIHsgTWVzc2FnZURlc2NyaXB0b3IgfSBmcm9tICdyZWFjdC1pbnRsJztcbmltcG9ydCB7IE1vdXNlRXZlbnQsIEtleWJvYXJkRXZlbnQsIFJlYWN0RWxlbWVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUludGwgfSBmcm9tICdyZWFjdC1pbnRsJztcbmltcG9ydCBGbGF0QnV0dG9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ZsYXQtYnV0dG9uJztcbmltcG9ydCB7IFdvcmxkSWNvbiB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zJztcbmltcG9ydCBtZXNzYWdlcyBmcm9tICcuLi9tZXNzYWdlcy9sb2NhbGl6ZWQtaW5wdXQnO1xuXG5leHBvcnQgdHlwZSBUTG9jYWxpemVkSW5wdXRUb2dnbGVQcm9wcyA9IHtcbiAgaWNvbj86IFJlYWN0RWxlbWVudDtcbiAgaXNPcGVuPzogYm9vbGVhbjtcbiAgb25DbGljazogKFxuICAgIGV2ZW50OlxuICAgICAgfCBNb3VzZUV2ZW50PEhUTUxCdXR0b25FbGVtZW50PlxuICAgICAgfCBLZXlib2FyZEV2ZW50PEhUTUxCdXR0b25FbGVtZW50PlxuICAgICAgfCBib29sZWFuXG4gICkgPT4gdm9pZDtcbiAgaXNEaXNhYmxlZD86IGJvb2xlYW47XG4gIHNob3dNZXNzYWdlOiBzdHJpbmcgfCBNZXNzYWdlRGVzY3JpcHRvcjtcbiAgaGlkZU1lc3NhZ2U6IHN0cmluZyB8IE1lc3NhZ2VEZXNjcmlwdG9yO1xuICByZW1haW5pbmdMb2NhbGl6YXRpb25zPzogbnVtYmVyO1xufTtcblxuY29uc3QgZGVmYXVsdFByb3BzOiBQaWNrPFxuICBUTG9jYWxpemVkSW5wdXRUb2dnbGVQcm9wcyxcbiAgJ3Nob3dNZXNzYWdlJyB8ICdoaWRlTWVzc2FnZSdcbj4gPSB7XG4gIGhpZGVNZXNzYWdlOiBtZXNzYWdlcy5oaWRlLFxuICBzaG93TWVzc2FnZTogbWVzc2FnZXMuc2hvdyxcbn07XG5cbmNvbnN0IExvY2FsaXplZElucHV0VG9nZ2xlID0gKHByb3BzOiBUTG9jYWxpemVkSW5wdXRUb2dnbGVQcm9wcykgPT4ge1xuICBjb25zdCBpbnRsID0gdXNlSW50bCgpO1xuICBjb25zdCBsYWJlbE1lc3NhZ2UgPSBwcm9wcy5pc09wZW4gPyBwcm9wcy5oaWRlTWVzc2FnZSA6IHByb3BzLnNob3dNZXNzYWdlO1xuICBjb25zdCBsYWJlbCA9XG4gICAgdHlwZW9mIGxhYmVsTWVzc2FnZSA9PT0gJ3N0cmluZydcbiAgICAgID8gbGFiZWxNZXNzYWdlXG4gICAgICA6IGludGwuZm9ybWF0TWVzc2FnZShsYWJlbE1lc3NhZ2UsIHtcbiAgICAgICAgICByZW1haW5pbmdMYW5ndWFnZXM6IHByb3BzLnJlbWFpbmluZ0xvY2FsaXphdGlvbnMsXG4gICAgICAgIH0pO1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgYH1cbiAgICA+XG4gICAgICA8RmxhdEJ1dHRvblxuICAgICAgICBpY29uPXtwcm9wcy5pY29uID8gcHJvcHMuaWNvbiA6IDxXb3JsZEljb24gLz59XG4gICAgICAgIGxhYmVsPXtsYWJlbH1cbiAgICAgICAgb25DbGljaz17cHJvcHMub25DbGlja31cbiAgICAgICAgaXNEaXNhYmxlZD17cHJvcHMuaXNEaXNhYmxlZH1cbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5Mb2NhbGl6ZWRJbnB1dFRvZ2dsZS5kZWZhdWx0UHJvcHMgPSBkZWZhdWx0UHJvcHM7XG5Mb2NhbGl6ZWRJbnB1dFRvZ2dsZS5kaXNwbGF5TmFtZSA9ICdMb2NhbGl6ZWRJbnB1dFRvZ2dsZSc7XG5leHBvcnQgZGVmYXVsdCBMb2NhbGl6ZWRJbnB1dFRvZ2dsZTtcbiJdfQ== */",
|
|
70
71
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1
|
|
71
72
|
};
|
|
72
|
-
|
|
73
73
|
const LocalizedInputToggle = props => {
|
|
74
74
|
const intl = reactIntl.useIntl();
|
|
75
75
|
const labelMessage = props.isOpen ? props.hideMessage : props.showMessage;
|
|
@@ -86,7 +86,6 @@ const LocalizedInputToggle = props => {
|
|
|
86
86
|
})
|
|
87
87
|
});
|
|
88
88
|
};
|
|
89
|
-
|
|
90
89
|
LocalizedInputToggle.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
91
90
|
icon: _pt__default["default"].element,
|
|
92
91
|
isOpen: _pt__default["default"].bool,
|
|
@@ -102,119 +101,108 @@ var LocalizedInputToggle$1 = LocalizedInputToggle;
|
|
|
102
101
|
|
|
103
102
|
const getInputBorderColor = function (props) {
|
|
104
103
|
let defaultBorderColor = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : designSystem.designTokens.borderColorForInput;
|
|
105
|
-
|
|
106
104
|
if (props.isDisabled || props.disabled) {
|
|
107
105
|
return designSystem.designTokens.borderColorForInputWhenDisabled;
|
|
108
106
|
}
|
|
109
|
-
|
|
110
107
|
if (props.hasError) {
|
|
111
108
|
return designSystem.designTokens.borderColorForInputWhenError;
|
|
112
109
|
}
|
|
113
|
-
|
|
114
110
|
if (props.hasWarning) {
|
|
115
111
|
return designSystem.designTokens.borderColorForInputWhenWarning;
|
|
116
112
|
}
|
|
117
|
-
|
|
118
113
|
if (props.isReadOnly || props.readOnly) {
|
|
119
114
|
return designSystem.designTokens.borderColorForInputWhenReadonly;
|
|
120
115
|
}
|
|
121
|
-
|
|
122
116
|
return defaultBorderColor;
|
|
123
117
|
};
|
|
124
|
-
|
|
125
118
|
const getInputFontColor = props => {
|
|
126
119
|
if (props.isDisabled || props.disabled) {
|
|
127
120
|
return designSystem.designTokens.fontColorForInputWhenDisabled;
|
|
128
121
|
}
|
|
129
|
-
|
|
130
122
|
if (props.hasError) {
|
|
131
123
|
return designSystem.designTokens.fontColorForInputWhenError;
|
|
132
124
|
}
|
|
133
|
-
|
|
134
125
|
if (props.hasWarning) {
|
|
135
126
|
return designSystem.designTokens.fontColorForInputWhenWarning;
|
|
136
127
|
}
|
|
137
|
-
|
|
138
128
|
if (props.isReadOnly || props.readOnly) {
|
|
139
129
|
return designSystem.designTokens.fontColorForInputWhenReadonly;
|
|
140
130
|
}
|
|
141
|
-
|
|
142
131
|
return designSystem.designTokens.fontColorForInput;
|
|
143
132
|
};
|
|
144
|
-
|
|
145
133
|
const getInputBorderWidth = props => {
|
|
146
134
|
if (props.hasError) {
|
|
147
135
|
return designSystem.designTokens.borderWidthForInputWhenError;
|
|
148
136
|
}
|
|
149
|
-
|
|
150
137
|
if (props.hasWarning) {
|
|
151
138
|
return designSystem.designTokens.borderWidthForInputWhenWarning;
|
|
152
139
|
}
|
|
153
|
-
|
|
154
140
|
return designSystem.designTokens.borderWidthForInput;
|
|
155
141
|
};
|
|
156
|
-
|
|
157
142
|
const getInputBoxShadow = props => {
|
|
158
143
|
if (props.hasError) {
|
|
159
144
|
return designSystem.designTokens.shadowForInputWhenError;
|
|
160
145
|
}
|
|
161
|
-
|
|
162
146
|
if (props.hasWarning) {
|
|
163
147
|
return designSystem.designTokens.shadowForInputWhenWarning;
|
|
164
148
|
}
|
|
165
|
-
|
|
166
149
|
return designSystem.designTokens.shadowForInput;
|
|
167
150
|
};
|
|
168
|
-
|
|
169
151
|
const getInputBackgroundColor = props => {
|
|
170
152
|
if (props.isDisabled || props.disabled) {
|
|
171
153
|
return designSystem.designTokens.backgroundColorForInputWhenDisabled;
|
|
172
154
|
}
|
|
173
|
-
|
|
174
155
|
if (props.isReadOnly) {
|
|
175
156
|
return designSystem.designTokens.backgroundColorForInputWhenReadonly;
|
|
176
157
|
}
|
|
177
|
-
|
|
178
158
|
return designSystem.designTokens.backgroundColorForInput;
|
|
179
159
|
};
|
|
180
|
-
|
|
181
160
|
const getInputStyles = props => {
|
|
182
161
|
return /*#__PURE__*/react.css("appearance:none;background-color:", getInputBackgroundColor(props), ";border:", getInputBorderWidth(props), " solid ", getInputBorderColor(props), ";border-radius:", designSystem.designTokens.borderRadiusForInput, ";box-sizing:border-box;box-shadow:", getInputBoxShadow(props), ";color:", getInputFontColor(props), ";cursor:", props.isDisabled ? 'not-allowed' : 'default', ";display:flex;flex:1;font-family:inherit;font-size:", designSystem.designTokens.fontSizeForInput, ";height:", designSystem.designTokens.heightForInput, ";min-height:", designSystem.designTokens.heightForInput, ";opacity:", props.isDisabled || props.disabled ? '1' : 'unset', ";outline:none;overflow:hidden;padding:0 ", designSystem.designTokens.paddingForInput, ";transition:border-color ", designSystem.designTokens.transitionStandard, ",background-color ", designSystem.designTokens.transitionStandard, ",color ", designSystem.designTokens.transitionStandard, ",box-shadow ", designSystem.designTokens.transitionStandard, ";width:100%;&::placeholder{color:", designSystem.designTokens.placeholderFontColorForInput, ";}:active:not(:disabled):not(:read-only),:hover:not(:disabled):not(:read-only):not(:focus){border-color:", getInputBorderColor(props, designSystem.designTokens.borderColorForInputWhenHovered), ";background-color:", designSystem.designTokens.backgroundColorForInputWhenHovered, ";}:focus:not(:read-only){box-shadow:", designSystem.designTokens.shadowForInputWhenFocused, ";border-color:", designSystem.designTokens.borderColorForInputWhenFocused, ";background-color:", designSystem.designTokens.backgroundColorForInputWhenFocused, ";}" + (process.env.NODE_ENV === "production" ? "" : ";label:getInputStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4RVkiLCJmaWxlIjoic3R5bGVzLnRzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgZGVzaWduVG9rZW5zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5cbnR5cGUgVElucHV0UHJvcHMgPSB7XG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIGlzUmVhZE9ubHk/OiBib29sZWFuO1xuICByZWFkT25seT86IGJvb2xlYW47XG59O1xuXG5jb25zdCBnZXRJbnB1dEJvcmRlckNvbG9yID0gKFxuICBwcm9wczogVElucHV0UHJvcHMsXG4gIGRlZmF1bHRCb3JkZXJDb2xvcjogc3RyaW5nID0gZGVzaWduVG9rZW5zLmJvcmRlckNvbG9yRm9ySW5wdXRcbikgPT4ge1xuICBpZiAocHJvcHMuaXNEaXNhYmxlZCB8fCBwcm9wcy5kaXNhYmxlZCkge1xuICAgIHJldHVybiBkZXNpZ25Ub2tlbnMuYm9yZGVyQ29sb3JGb3JJbnB1dFdoZW5EaXNhYmxlZDtcbiAgfVxuICBpZiAocHJvcHMuaGFzRXJyb3IpIHtcbiAgICByZXR1cm4gZGVzaWduVG9rZW5zLmJvcmRlckNvbG9yRm9ySW5wdXRXaGVuRXJyb3I7XG4gIH1cbiAgaWYgKHByb3BzLmhhc1dhcm5pbmcpIHtcbiAgICByZXR1cm4gZGVzaWduVG9rZW5zLmJvcmRlckNvbG9yRm9ySW5wdXRXaGVuV2FybmluZztcbiAgfVxuICBpZiAocHJvcHMuaXNSZWFkT25seSB8fCBwcm9wcy5yZWFkT25seSkge1xuICAgIHJldHVybiBkZXNpZ25Ub2tlbnMuYm9yZGVyQ29sb3JGb3JJbnB1dFdoZW5SZWFkb25seTtcbiAgfVxuICByZXR1cm4gZGVmYXVsdEJvcmRlckNvbG9yO1xufTtcblxuY29uc3QgZ2V0SW5wdXRGb250Q29sb3IgPSAocHJvcHM6IFRJbnB1dFByb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc0Rpc2FibGVkIHx8IHByb3BzLmRpc2FibGVkKSB7XG4gICAgcmV0dXJuIGRlc2lnblRva2Vucy5mb250Q29sb3JGb3JJbnB1dFdoZW5EaXNhYmxlZDtcbiAgfVxuICBpZiAocHJvcHMuaGFzRXJyb3IpIHtcbiAgICByZXR1cm4gZGVzaWduVG9rZW5zLmZvbnRDb2xvckZvcklucHV0V2hlbkVycm9yO1xuICB9XG4gIGlmIChwcm9wcy5oYXNXYXJuaW5nKSB7XG4gICAgcmV0dXJuIGRlc2lnblRva2Vucy5mb250Q29sb3JGb3JJbnB1dFdoZW5XYXJuaW5nO1xuICB9XG4gIGlmIChwcm9wcy5pc1JlYWRPbmx5IHx8IHByb3BzLnJlYWRPbmx5KSB7XG4gICAgcmV0dXJuIGRlc2lnblRva2Vucy5mb250Q29sb3JGb3JJbnB1dFdoZW5SZWFkb25seTtcbiAgfVxuICByZXR1cm4gZGVzaWduVG9rZW5zLmZvbnRDb2xvckZvcklucHV0O1xufTtcblxuY29uc3QgZ2V0SW5wdXRCb3JkZXJXaWR0aCA9IChwcm9wczogVElucHV0UHJvcHMpID0+IHtcbiAgaWYgKHByb3BzLmhhc0Vycm9yKSB7XG4gICAgcmV0dXJuIGRlc2lnblRva2Vucy5ib3JkZXJXaWR0aEZvcklucHV0V2hlbkVycm9yO1xuICB9XG4gIGlmIChwcm9wcy5oYXNXYXJuaW5nKSB7XG4gICAgcmV0dXJuIGRlc2lnblRva2Vucy5ib3JkZXJXaWR0aEZvcklucHV0V2hlbldhcm5pbmc7XG4gIH1cbiAgcmV0dXJuIGRlc2lnblRva2Vucy5ib3JkZXJXaWR0aEZvcklucHV0O1xufTtcblxuY29uc3QgZ2V0SW5wdXRCb3hTaGFkb3cgPSAocHJvcHM6IFRJbnB1dFByb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5oYXNFcnJvcikge1xuICAgIHJldHVybiBkZXNpZ25Ub2tlbnMuc2hhZG93Rm9ySW5wdXRXaGVuRXJyb3I7XG4gIH1cbiAgaWYgKHByb3BzLmhhc1dhcm5pbmcpIHtcbiAgICByZXR1cm4gZGVzaWduVG9rZW5zLnNoYWRvd0ZvcklucHV0V2hlbldhcm5pbmc7XG4gIH1cbiAgcmV0dXJuIGRlc2lnblRva2Vucy5zaGFkb3dGb3JJbnB1dDtcbn07XG5cbmNvbnN0IGdldElucHV0QmFja2dyb3VuZENvbG9yID0gKHByb3BzOiBUSW5wdXRQcm9wcykgPT4ge1xuICBpZiAocHJvcHMuaXNEaXNhYmxlZCB8fCBwcm9wcy5kaXNhYmxlZCkge1xuICAgIHJldHVybiBkZXNpZ25Ub2tlbnMuYmFja2dyb3VuZENvbG9yRm9ySW5wdXRXaGVuRGlzYWJsZWQ7XG4gIH1cbiAgaWYgKHByb3BzLmlzUmVhZE9ubHkpIHtcbiAgICByZXR1cm4gZGVzaWduVG9rZW5zLmJhY2tncm91bmRDb2xvckZvcklucHV0V2hlblJlYWRvbmx5O1xuICB9XG4gIHJldHVybiBkZXNpZ25Ub2tlbnMuYmFja2dyb3VuZENvbG9yRm9ySW5wdXQ7XG59O1xuXG5jb25zdCBnZXRJbnB1dFN0eWxlcyA9IChwcm9wczogVElucHV0UHJvcHMpID0+IHtcbiAgcmV0dXJuIGNzc2BcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7Z2V0SW5wdXRCYWNrZ3JvdW5kQ29sb3IocHJvcHMpfTtcbiAgICBib3JkZXI6ICR7Z2V0SW5wdXRCb3JkZXJXaWR0aChwcm9wcyl9IHNvbGlkICR7Z2V0SW5wdXRCb3JkZXJDb2xvcihwcm9wcyl9O1xuICAgIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1c0ZvcklucHV0fTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaGFkb3c6ICR7Z2V0SW5wdXRCb3hTaGFkb3cocHJvcHMpfTtcbiAgICBjb2xvcjogJHtnZXRJbnB1dEZvbnRDb2xvcihwcm9wcyl9O1xuICAgIGN1cnNvcjogJHtwcm9wcy5pc0Rpc2FibGVkID8gJ25vdC1hbGxvd2VkJyA6ICdkZWZhdWx0J307XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAxO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogJHtkZXNpZ25Ub2tlbnMuZm9udFNpemVGb3JJbnB1dH07XG4gICAgaGVpZ2h0OiAke2Rlc2lnblRva2Vucy5oZWlnaHRGb3JJbnB1dH07XG4gICAgbWluLWhlaWdodDogJHtkZXNpZ25Ub2tlbnMuaGVpZ2h0Rm9ySW5wdXR9O1xuICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNEaXNhYmxlZCB8fCBwcm9wcy5kaXNhYmxlZFxuICAgICAgPyAnMSdcbiAgICAgIDogJ3Vuc2V0J307IC8qIGZpeCBmb3IgbW9iaWxlIHNhZmFyaSAqL1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwICR7ZGVzaWduVG9rZW5zLnBhZGRpbmdGb3JJbnB1dH07XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR7ZGVzaWduVG9rZW5zLnRyYW5zaXRpb25TdGFuZGFyZH0sXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yICR7ZGVzaWduVG9rZW5zLnRyYW5zaXRpb25TdGFuZGFyZH0sXG4gICAgICBjb2xvciAke2Rlc2lnblRva2Vucy50cmFuc2l0aW9uU3RhbmRhcmR9LFxuICAgICAgYm94LXNoYWRvdyAke2Rlc2lnblRva2Vucy50cmFuc2l0aW9uU3RhbmRhcmR9O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7ZGVzaWduVG9rZW5zLnBsYWNlaG9sZGVyRm9udENvbG9yRm9ySW5wdXR9O1xuICAgIH1cbiAgICA6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpOm5vdCg6cmVhZC1vbmx5KSxcbiAgICA6aG92ZXI6bm90KDpkaXNhYmxlZCk6bm90KDpyZWFkLW9ubHkpOm5vdCg6Zm9jdXMpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJHtnZXRJbnB1dEJvcmRlckNvbG9yKFxuICAgICAgICBwcm9wcyxcbiAgICAgICAgZGVzaWduVG9rZW5zLmJvcmRlckNvbG9yRm9ySW5wdXRXaGVuSG92ZXJlZFxuICAgICAgKX07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2Rlc2lnblRva2Vucy5iYWNrZ3JvdW5kQ29sb3JGb3JJbnB1dFdoZW5Ib3ZlcmVkfTtcbiAgICB9XG4gICAgOmZvY3VzOm5vdCg6cmVhZC1vbmx5KSB7XG4gICAgICBib3gtc2hhZG93OiAke2Rlc2lnblRva2Vucy5zaGFkb3dGb3JJbnB1dFdoZW5Gb2N1c2VkfTtcbiAgICAgIGJvcmRlci1jb2xvcjogJHtkZXNpZ25Ub2tlbnMuYm9yZGVyQ29sb3JGb3JJbnB1dFdoZW5Gb2N1c2VkfTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7ZGVzaWduVG9rZW5zLmJhY2tncm91bmRDb2xvckZvcklucHV0V2hlbkZvY3VzZWR9O1xuICAgIH1cbiAgYDtcbn07XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvcHJlZmVyLWRlZmF1bHQtZXhwb3J0XG5leHBvcnQgeyBnZXRJbnB1dFN0eWxlcyB9O1xuIl19 */");
|
|
183
|
-
};
|
|
162
|
+
};
|
|
184
163
|
|
|
185
164
|
/* we need this line-height to achieve 32px height when the component has only one row */
|
|
186
|
-
const sizeInputLineHeight = '22px';
|
|
165
|
+
const sizeInputLineHeight = '22px';
|
|
166
|
+
|
|
167
|
+
// NOTE: order is important here
|
|
187
168
|
// * a disabled-field currently does not display warning/error-states so it takes precedence
|
|
188
169
|
// * a readonly-field cannot be changed, but it might be relevant for validation, so error and warning are checked first
|
|
189
170
|
// how you can interact with the field is controlled separately by the props, this only influences visuals
|
|
190
|
-
|
|
191
171
|
const getTextareaStyles = props => {
|
|
192
|
-
const baseStyles = [getInputStyles(props), /*#__PURE__*/react.css("padding:", designSystem.designTokens.paddingForMultilineInput, ";line-height:", sizeInputLineHeight, ";flex:auto;word-break:break-word;white-space:pre-wrap;resize:
|
|
172
|
+
const baseStyles = [getInputStyles(props), /*#__PURE__*/react.css("padding:", designSystem.designTokens.paddingForMultilineInput, ";line-height:", sizeInputLineHeight, ";flex:auto;word-break:break-word;white-space:pre-wrap;resize:none;" + (process.env.NODE_ENV === "production" ? "" : ";label:baseStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm11bHRpbGluZS1pbnB1dC5zdHlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZU8iLCJmaWxlIjoibXVsdGlsaW5lLWlucHV0LnN0eWxlcy50cyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IGRlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IHsgZ2V0SW5wdXRTdHlsZXMgfSBmcm9tICcuLi9zdHlsZXMnO1xuaW1wb3J0IHR5cGUgeyBUTXVsdGlMaW5lSW5wdXRQcm9wcyB9IGZyb20gJy4vbXVsdGlsaW5lLWlucHV0JztcblxuLyogd2UgbmVlZCB0aGlzIGxpbmUtaGVpZ2h0IHRvIGFjaGlldmUgMzJweCBoZWlnaHQgd2hlbiB0aGUgY29tcG9uZW50IGhhcyBvbmx5IG9uZSByb3cgKi9cbmNvbnN0IHNpemVJbnB1dExpbmVIZWlnaHQgPSAnMjJweCc7XG5cbi8vIE5PVEU6IG9yZGVyIGlzIGltcG9ydGFudCBoZXJlXG4vLyAqIGEgZGlzYWJsZWQtZmllbGQgY3VycmVudGx5IGRvZXMgbm90IGRpc3BsYXkgd2FybmluZy9lcnJvci1zdGF0ZXMgc28gaXQgdGFrZXMgcHJlY2VkZW5jZVxuLy8gKiBhIHJlYWRvbmx5LWZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkLCBidXQgaXQgbWlnaHQgYmUgcmVsZXZhbnQgZm9yIHZhbGlkYXRpb24sIHNvIGVycm9yIGFuZCB3YXJuaW5nIGFyZSBjaGVja2VkIGZpcnN0XG4vLyBob3cgeW91IGNhbiBpbnRlcmFjdCB3aXRoIHRoZSBmaWVsZCBpcyBjb250cm9sbGVkIHNlcGFyYXRlbHkgYnkgdGhlIHByb3BzLCB0aGlzIG9ubHkgaW5mbHVlbmNlcyB2aXN1YWxzXG5jb25zdCBnZXRUZXh0YXJlYVN0eWxlcyA9IChwcm9wczogVE11bHRpTGluZUlucHV0UHJvcHMpID0+IHtcbiAgY29uc3QgYmFzZVN0eWxlcyA9IFtcbiAgICBnZXRJbnB1dFN0eWxlcyhwcm9wcyksXG4gICAgY3NzYFxuICAgICAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMucGFkZGluZ0Zvck11bHRpbGluZUlucHV0fTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAke3NpemVJbnB1dExpbmVIZWlnaHR9O1xuICAgICAgZmxleDogYXV0bztcbiAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgICByZXNpemU6IG5vbmU7XG4gICAgYCxcbiAgXTtcbiAgcmV0dXJuIGJhc2VTdHlsZXM7XG59O1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L3ByZWZlci1kZWZhdWx0LWV4cG9ydFxuZXhwb3J0IHsgZ2V0VGV4dGFyZWFTdHlsZXMgfTtcbiJdfQ== */")];
|
|
193
173
|
return baseStyles;
|
|
194
|
-
};
|
|
174
|
+
};
|
|
195
175
|
|
|
196
176
|
function ownKeys(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
197
|
-
|
|
198
177
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
199
178
|
const MIN_ROW_COUNT = 1;
|
|
200
|
-
|
|
179
|
+
// We cache the vertical padding of the element becuase
|
|
180
|
+
// it does not change over time so we don't need to
|
|
181
|
+
// recalculate it on every height change event.
|
|
182
|
+
let _elementVerticalPadding = null;
|
|
183
|
+
const getElementVerticalPadding = element => {
|
|
184
|
+
if (_elementVerticalPadding === null) {
|
|
185
|
+
const computedStyle = getComputedStyle(element);
|
|
186
|
+
const paddingTop = _parseInt__default["default"](computedStyle.paddingTop, 10);
|
|
187
|
+
const paddingBottom = _parseInt__default["default"](computedStyle.paddingBottom, 10);
|
|
188
|
+
_elementVerticalPadding = paddingTop + paddingBottom;
|
|
189
|
+
}
|
|
190
|
+
return _elementVerticalPadding;
|
|
191
|
+
};
|
|
201
192
|
const MultilineInput = props => {
|
|
202
193
|
const onHeightChange = props.onHeightChange;
|
|
203
194
|
const ref = react$1.useRef(null);
|
|
204
|
-
const handleHeightChange = react$1.useCallback((
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
const rowCount = Math.floor(
|
|
208
|
-
|
|
195
|
+
const handleHeightChange = react$1.useCallback((_, meta) => {
|
|
196
|
+
const containerHeight = ref.current.scrollHeight;
|
|
197
|
+
const textHeight = containerHeight - getElementVerticalPadding(ref.current);
|
|
198
|
+
const rowCount = Math.floor(textHeight / meta.rowHeight);
|
|
209
199
|
if (onHeightChange) {
|
|
210
|
-
onHeightChange(
|
|
200
|
+
onHeightChange(containerHeight, rowCount);
|
|
211
201
|
}
|
|
212
202
|
}, [ref, onHeightChange]);
|
|
213
|
-
|
|
214
203
|
if (!props.isReadOnly) {
|
|
215
204
|
process.env.NODE_ENV !== "production" ? utils.warning(typeof props.onChange === 'function', 'MultilineInput: "onChange" is required when is not read only.') : void 0;
|
|
216
205
|
}
|
|
217
|
-
|
|
218
206
|
return jsxRuntime.jsx(TextareaAutosize__default["default"], _objectSpread({
|
|
219
207
|
ref: ref,
|
|
220
208
|
name: props.name,
|
|
@@ -229,13 +217,13 @@ const MultilineInput = props => {
|
|
|
229
217
|
placeholder: props.placeholder,
|
|
230
218
|
readOnly: props.isReadOnly,
|
|
231
219
|
autoFocus: props.isAutofocussed,
|
|
232
|
-
css: getTextareaStyles(props)
|
|
220
|
+
css: getTextareaStyles(props)
|
|
221
|
+
// Allow to override the styles by passing a `className` prop.
|
|
233
222
|
// Custom styles can also be passed using the `css` prop from emotion.
|
|
234
223
|
// https://emotion.sh/docs/css-prop#style-precedence
|
|
235
224
|
,
|
|
236
225
|
className: props.className
|
|
237
|
-
/* ARIA
|
|
238
|
-
,
|
|
226
|
+
/* ARIA */,
|
|
239
227
|
"aria-readonly": props.isReadOnly,
|
|
240
228
|
"aria-multiline": "true",
|
|
241
229
|
"aria-invalid": props['aria-invalid'],
|
|
@@ -246,7 +234,6 @@ const MultilineInput = props => {
|
|
|
246
234
|
cacheMeasurements: true
|
|
247
235
|
}, utils.filterDataAttributes(props)));
|
|
248
236
|
};
|
|
249
|
-
|
|
250
237
|
MultilineInput.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
251
238
|
autoComplete: _pt__default["default"].string,
|
|
252
239
|
className: _pt__default["default"].string,
|
|
@@ -296,7 +283,7 @@ const accessibleHiddenInputStyles = process.env.NODE_ENV === "production" ? {
|
|
|
296
283
|
var accessibleHiddenInputStyles$1 = accessibleHiddenInputStyles;
|
|
297
284
|
|
|
298
285
|
// NOTE: This string will be replaced on build time with the package version.
|
|
299
|
-
var version = "16.
|
|
286
|
+
var version = "16.1.1";
|
|
300
287
|
|
|
301
288
|
exports.LocalizedInputToggle = LocalizedInputToggle$1;
|
|
302
289
|
exports.MultilineInput = MultilineInput$1;
|
|
@@ -10,6 +10,8 @@ var reactIntl = require('react-intl');
|
|
|
10
10
|
var FlatButton = require('@commercetools-uikit/flat-button');
|
|
11
11
|
var icons = require('@commercetools-uikit/icons');
|
|
12
12
|
var jsxRuntime = require('@emotion/react/jsx-runtime');
|
|
13
|
+
var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
|
|
14
|
+
var _parseInt = require('@babel/runtime-corejs3/core-js-stable/parse-int');
|
|
13
15
|
var _Object$keys = require('@babel/runtime-corejs3/core-js-stable/object/keys');
|
|
14
16
|
var _Object$getOwnPropertySymbols = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols');
|
|
15
17
|
var _filterInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/instance/filter');
|
|
@@ -18,13 +20,13 @@ var _forEachInstanceProperty = require('@babel/runtime-corejs3/core-js-stable/in
|
|
|
18
20
|
var _Object$getOwnPropertyDescriptors = require('@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors');
|
|
19
21
|
var _Object$defineProperties = require('@babel/runtime-corejs3/core-js-stable/object/define-properties');
|
|
20
22
|
var _Object$defineProperty = require('@babel/runtime-corejs3/core-js-stable/object/define-property');
|
|
21
|
-
var _defineProperty = require('@babel/runtime-corejs3/helpers/defineProperty');
|
|
22
23
|
var TextareaAutosize = require('react-textarea-autosize');
|
|
23
24
|
var utils = require('@commercetools-uikit/utils');
|
|
24
25
|
|
|
25
26
|
function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
|
|
26
27
|
|
|
27
28
|
var FlatButton__default = /*#__PURE__*/_interopDefault(FlatButton);
|
|
29
|
+
var _parseInt__default = /*#__PURE__*/_interopDefault(_parseInt);
|
|
28
30
|
var _Object$keys__default = /*#__PURE__*/_interopDefault(_Object$keys);
|
|
29
31
|
var _Object$getOwnPropertySymbols__default = /*#__PURE__*/_interopDefault(_Object$getOwnPropertySymbols);
|
|
30
32
|
var _filterInstanceProperty__default = /*#__PURE__*/_interopDefault(_filterInstanceProperty);
|
|
@@ -57,12 +59,10 @@ const defaultProps = {
|
|
|
57
59
|
hideMessage: messages$1.hide,
|
|
58
60
|
showMessage: messages$1.show
|
|
59
61
|
};
|
|
60
|
-
|
|
61
62
|
var _ref = {
|
|
62
63
|
name: "xyzkeb",
|
|
63
64
|
styles: "align-self:flex-start"
|
|
64
65
|
} ;
|
|
65
|
-
|
|
66
66
|
const LocalizedInputToggle = props => {
|
|
67
67
|
const intl = reactIntl.useIntl();
|
|
68
68
|
const labelMessage = props.isOpen ? props.hideMessage : props.showMessage;
|
|
@@ -79,7 +79,6 @@ const LocalizedInputToggle = props => {
|
|
|
79
79
|
})
|
|
80
80
|
});
|
|
81
81
|
};
|
|
82
|
-
|
|
83
82
|
LocalizedInputToggle.propTypes = {};
|
|
84
83
|
LocalizedInputToggle.defaultProps = defaultProps;
|
|
85
84
|
LocalizedInputToggle.displayName = 'LocalizedInputToggle';
|
|
@@ -87,117 +86,106 @@ var LocalizedInputToggle$1 = LocalizedInputToggle;
|
|
|
87
86
|
|
|
88
87
|
const getInputBorderColor = function (props) {
|
|
89
88
|
let defaultBorderColor = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : designSystem.designTokens.borderColorForInput;
|
|
90
|
-
|
|
91
89
|
if (props.isDisabled || props.disabled) {
|
|
92
90
|
return designSystem.designTokens.borderColorForInputWhenDisabled;
|
|
93
91
|
}
|
|
94
|
-
|
|
95
92
|
if (props.hasError) {
|
|
96
93
|
return designSystem.designTokens.borderColorForInputWhenError;
|
|
97
94
|
}
|
|
98
|
-
|
|
99
95
|
if (props.hasWarning) {
|
|
100
96
|
return designSystem.designTokens.borderColorForInputWhenWarning;
|
|
101
97
|
}
|
|
102
|
-
|
|
103
98
|
if (props.isReadOnly || props.readOnly) {
|
|
104
99
|
return designSystem.designTokens.borderColorForInputWhenReadonly;
|
|
105
100
|
}
|
|
106
|
-
|
|
107
101
|
return defaultBorderColor;
|
|
108
102
|
};
|
|
109
|
-
|
|
110
103
|
const getInputFontColor = props => {
|
|
111
104
|
if (props.isDisabled || props.disabled) {
|
|
112
105
|
return designSystem.designTokens.fontColorForInputWhenDisabled;
|
|
113
106
|
}
|
|
114
|
-
|
|
115
107
|
if (props.hasError) {
|
|
116
108
|
return designSystem.designTokens.fontColorForInputWhenError;
|
|
117
109
|
}
|
|
118
|
-
|
|
119
110
|
if (props.hasWarning) {
|
|
120
111
|
return designSystem.designTokens.fontColorForInputWhenWarning;
|
|
121
112
|
}
|
|
122
|
-
|
|
123
113
|
if (props.isReadOnly || props.readOnly) {
|
|
124
114
|
return designSystem.designTokens.fontColorForInputWhenReadonly;
|
|
125
115
|
}
|
|
126
|
-
|
|
127
116
|
return designSystem.designTokens.fontColorForInput;
|
|
128
117
|
};
|
|
129
|
-
|
|
130
118
|
const getInputBorderWidth = props => {
|
|
131
119
|
if (props.hasError) {
|
|
132
120
|
return designSystem.designTokens.borderWidthForInputWhenError;
|
|
133
121
|
}
|
|
134
|
-
|
|
135
122
|
if (props.hasWarning) {
|
|
136
123
|
return designSystem.designTokens.borderWidthForInputWhenWarning;
|
|
137
124
|
}
|
|
138
|
-
|
|
139
125
|
return designSystem.designTokens.borderWidthForInput;
|
|
140
126
|
};
|
|
141
|
-
|
|
142
127
|
const getInputBoxShadow = props => {
|
|
143
128
|
if (props.hasError) {
|
|
144
129
|
return designSystem.designTokens.shadowForInputWhenError;
|
|
145
130
|
}
|
|
146
|
-
|
|
147
131
|
if (props.hasWarning) {
|
|
148
132
|
return designSystem.designTokens.shadowForInputWhenWarning;
|
|
149
133
|
}
|
|
150
|
-
|
|
151
134
|
return designSystem.designTokens.shadowForInput;
|
|
152
135
|
};
|
|
153
|
-
|
|
154
136
|
const getInputBackgroundColor = props => {
|
|
155
137
|
if (props.isDisabled || props.disabled) {
|
|
156
138
|
return designSystem.designTokens.backgroundColorForInputWhenDisabled;
|
|
157
139
|
}
|
|
158
|
-
|
|
159
140
|
if (props.isReadOnly) {
|
|
160
141
|
return designSystem.designTokens.backgroundColorForInputWhenReadonly;
|
|
161
142
|
}
|
|
162
|
-
|
|
163
143
|
return designSystem.designTokens.backgroundColorForInput;
|
|
164
144
|
};
|
|
165
|
-
|
|
166
145
|
const getInputStyles = props => {
|
|
167
146
|
return /*#__PURE__*/react.css("appearance:none;background-color:", getInputBackgroundColor(props), ";border:", getInputBorderWidth(props), " solid ", getInputBorderColor(props), ";border-radius:", designSystem.designTokens.borderRadiusForInput, ";box-sizing:border-box;box-shadow:", getInputBoxShadow(props), ";color:", getInputFontColor(props), ";cursor:", props.isDisabled ? 'not-allowed' : 'default', ";display:flex;flex:1;font-family:inherit;font-size:", designSystem.designTokens.fontSizeForInput, ";height:", designSystem.designTokens.heightForInput, ";min-height:", designSystem.designTokens.heightForInput, ";opacity:", props.isDisabled || props.disabled ? '1' : 'unset', ";outline:none;overflow:hidden;padding:0 ", designSystem.designTokens.paddingForInput, ";transition:border-color ", designSystem.designTokens.transitionStandard, ",background-color ", designSystem.designTokens.transitionStandard, ",color ", designSystem.designTokens.transitionStandard, ",box-shadow ", designSystem.designTokens.transitionStandard, ";width:100%;&::placeholder{color:", designSystem.designTokens.placeholderFontColorForInput, ";}:active:not(:disabled):not(:read-only),:hover:not(:disabled):not(:read-only):not(:focus){border-color:", getInputBorderColor(props, designSystem.designTokens.borderColorForInputWhenHovered), ";background-color:", designSystem.designTokens.backgroundColorForInputWhenHovered, ";}:focus:not(:read-only){box-shadow:", designSystem.designTokens.shadowForInputWhenFocused, ";border-color:", designSystem.designTokens.borderColorForInputWhenFocused, ";background-color:", designSystem.designTokens.backgroundColorForInputWhenFocused, ";}" + ("" ), "" );
|
|
168
|
-
};
|
|
147
|
+
};
|
|
169
148
|
|
|
170
149
|
/* we need this line-height to achieve 32px height when the component has only one row */
|
|
171
|
-
const sizeInputLineHeight = '22px';
|
|
150
|
+
const sizeInputLineHeight = '22px';
|
|
151
|
+
|
|
152
|
+
// NOTE: order is important here
|
|
172
153
|
// * a disabled-field currently does not display warning/error-states so it takes precedence
|
|
173
154
|
// * a readonly-field cannot be changed, but it might be relevant for validation, so error and warning are checked first
|
|
174
155
|
// how you can interact with the field is controlled separately by the props, this only influences visuals
|
|
175
|
-
|
|
176
156
|
const getTextareaStyles = props => {
|
|
177
|
-
const baseStyles = [getInputStyles(props), /*#__PURE__*/react.css("padding:", designSystem.designTokens.paddingForMultilineInput, ";line-height:", sizeInputLineHeight, ";flex:auto;word-break:break-word;white-space:pre-wrap;resize:
|
|
157
|
+
const baseStyles = [getInputStyles(props), /*#__PURE__*/react.css("padding:", designSystem.designTokens.paddingForMultilineInput, ";line-height:", sizeInputLineHeight, ";flex:auto;word-break:break-word;white-space:pre-wrap;resize:none;" + ("" ), "" )];
|
|
178
158
|
return baseStyles;
|
|
179
|
-
};
|
|
159
|
+
};
|
|
180
160
|
|
|
181
161
|
function ownKeys(object, enumerableOnly) { var keys = _Object$keys__default["default"](object); if (_Object$getOwnPropertySymbols__default["default"]) { var symbols = _Object$getOwnPropertySymbols__default["default"](object); enumerableOnly && (symbols = _filterInstanceProperty__default["default"](symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor__default["default"](object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
182
|
-
|
|
183
162
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty__default["default"](_context = ownKeys(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors__default["default"] ? _Object$defineProperties__default["default"](target, _Object$getOwnPropertyDescriptors__default["default"](source)) : _forEachInstanceProperty__default["default"](_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty__default["default"](target, key, _Object$getOwnPropertyDescriptor__default["default"](source, key)); }); } return target; }
|
|
184
163
|
const MIN_ROW_COUNT = 1;
|
|
185
|
-
|
|
164
|
+
// We cache the vertical padding of the element becuase
|
|
165
|
+
// it does not change over time so we don't need to
|
|
166
|
+
// recalculate it on every height change event.
|
|
167
|
+
let _elementVerticalPadding = null;
|
|
168
|
+
const getElementVerticalPadding = element => {
|
|
169
|
+
if (_elementVerticalPadding === null) {
|
|
170
|
+
const computedStyle = getComputedStyle(element);
|
|
171
|
+
const paddingTop = _parseInt__default["default"](computedStyle.paddingTop, 10);
|
|
172
|
+
const paddingBottom = _parseInt__default["default"](computedStyle.paddingBottom, 10);
|
|
173
|
+
_elementVerticalPadding = paddingTop + paddingBottom;
|
|
174
|
+
}
|
|
175
|
+
return _elementVerticalPadding;
|
|
176
|
+
};
|
|
186
177
|
const MultilineInput = props => {
|
|
187
178
|
const onHeightChange = props.onHeightChange;
|
|
188
179
|
const ref = react$1.useRef(null);
|
|
189
|
-
const handleHeightChange = react$1.useCallback((
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
const rowCount = Math.floor(
|
|
193
|
-
|
|
180
|
+
const handleHeightChange = react$1.useCallback((_, meta) => {
|
|
181
|
+
const containerHeight = ref.current.scrollHeight;
|
|
182
|
+
const textHeight = containerHeight - getElementVerticalPadding(ref.current);
|
|
183
|
+
const rowCount = Math.floor(textHeight / meta.rowHeight);
|
|
194
184
|
if (onHeightChange) {
|
|
195
|
-
onHeightChange(
|
|
185
|
+
onHeightChange(containerHeight, rowCount);
|
|
196
186
|
}
|
|
197
187
|
}, [ref, onHeightChange]);
|
|
198
|
-
|
|
199
188
|
if (!props.isReadOnly) ;
|
|
200
|
-
|
|
201
189
|
return jsxRuntime.jsx(TextareaAutosize__default["default"], _objectSpread({
|
|
202
190
|
ref: ref,
|
|
203
191
|
name: props.name,
|
|
@@ -212,13 +200,13 @@ const MultilineInput = props => {
|
|
|
212
200
|
placeholder: props.placeholder,
|
|
213
201
|
readOnly: props.isReadOnly,
|
|
214
202
|
autoFocus: props.isAutofocussed,
|
|
215
|
-
css: getTextareaStyles(props)
|
|
203
|
+
css: getTextareaStyles(props)
|
|
204
|
+
// Allow to override the styles by passing a `className` prop.
|
|
216
205
|
// Custom styles can also be passed using the `css` prop from emotion.
|
|
217
206
|
// https://emotion.sh/docs/css-prop#style-precedence
|
|
218
207
|
,
|
|
219
208
|
className: props.className
|
|
220
|
-
/* ARIA
|
|
221
|
-
,
|
|
209
|
+
/* ARIA */,
|
|
222
210
|
"aria-readonly": props.isReadOnly,
|
|
223
211
|
"aria-multiline": "true",
|
|
224
212
|
"aria-invalid": props['aria-invalid'],
|
|
@@ -229,7 +217,6 @@ const MultilineInput = props => {
|
|
|
229
217
|
cacheMeasurements: true
|
|
230
218
|
}, utils.filterDataAttributes(props)));
|
|
231
219
|
};
|
|
232
|
-
|
|
233
220
|
MultilineInput.propTypes = {};
|
|
234
221
|
MultilineInput.displayName = 'MultilineInput';
|
|
235
222
|
var MultilineInput$1 = MultilineInput;
|
|
@@ -254,7 +241,7 @@ const accessibleHiddenInputStyles = {
|
|
|
254
241
|
var accessibleHiddenInputStyles$1 = accessibleHiddenInputStyles;
|
|
255
242
|
|
|
256
243
|
// NOTE: This string will be replaced on build time with the package version.
|
|
257
|
-
var version = "16.
|
|
244
|
+
var version = "16.1.1";
|
|
258
245
|
|
|
259
246
|
exports.LocalizedInputToggle = LocalizedInputToggle$1;
|
|
260
247
|
exports.MultilineInput = MultilineInput$1;
|
|
@@ -6,6 +6,8 @@ import { defineMessages, useIntl } from 'react-intl';
|
|
|
6
6
|
import FlatButton from '@commercetools-uikit/flat-button';
|
|
7
7
|
import { WorldIcon } from '@commercetools-uikit/icons';
|
|
8
8
|
import { jsx } from '@emotion/react/jsx-runtime';
|
|
9
|
+
import _defineProperty from '@babel/runtime-corejs3/helpers/esm/defineProperty';
|
|
10
|
+
import _parseInt from '@babel/runtime-corejs3/core-js-stable/parse-int';
|
|
9
11
|
import _Object$keys from '@babel/runtime-corejs3/core-js-stable/object/keys';
|
|
10
12
|
import _Object$getOwnPropertySymbols from '@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols';
|
|
11
13
|
import _filterInstanceProperty from '@babel/runtime-corejs3/core-js-stable/instance/filter';
|
|
@@ -14,7 +16,6 @@ import _forEachInstanceProperty from '@babel/runtime-corejs3/core-js-stable/inst
|
|
|
14
16
|
import _Object$getOwnPropertyDescriptors from '@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors';
|
|
15
17
|
import _Object$defineProperties from '@babel/runtime-corejs3/core-js-stable/object/define-properties';
|
|
16
18
|
import _Object$defineProperty from '@babel/runtime-corejs3/core-js-stable/object/define-property';
|
|
17
|
-
import _defineProperty from '@babel/runtime-corejs3/helpers/esm/defineProperty';
|
|
18
19
|
import TextareaAutosize from 'react-textarea-autosize';
|
|
19
20
|
import { warning, filterDataAttributes } from '@commercetools-uikit/utils';
|
|
20
21
|
|
|
@@ -41,7 +42,6 @@ const defaultProps = {
|
|
|
41
42
|
hideMessage: messages$1.hide,
|
|
42
43
|
showMessage: messages$1.show
|
|
43
44
|
};
|
|
44
|
-
|
|
45
45
|
var _ref = process.env.NODE_ENV === "production" ? {
|
|
46
46
|
name: "xyzkeb",
|
|
47
47
|
styles: "align-self:flex-start"
|
|
@@ -51,7 +51,6 @@ var _ref = process.env.NODE_ENV === "production" ? {
|
|
|
51
51
|
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxvY2FsaXplZC1pbnB1dC10b2dnbGUudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTBDYyIsImZpbGUiOiJsb2NhbGl6ZWQtaW5wdXQtdG9nZ2xlLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB0eXBlIHsgTWVzc2FnZURlc2NyaXB0b3IgfSBmcm9tICdyZWFjdC1pbnRsJztcbmltcG9ydCB7IE1vdXNlRXZlbnQsIEtleWJvYXJkRXZlbnQsIFJlYWN0RWxlbWVudCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUludGwgfSBmcm9tICdyZWFjdC1pbnRsJztcbmltcG9ydCBGbGF0QnV0dG9uIGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ZsYXQtYnV0dG9uJztcbmltcG9ydCB7IFdvcmxkSWNvbiB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2ljb25zJztcbmltcG9ydCBtZXNzYWdlcyBmcm9tICcuLi9tZXNzYWdlcy9sb2NhbGl6ZWQtaW5wdXQnO1xuXG5leHBvcnQgdHlwZSBUTG9jYWxpemVkSW5wdXRUb2dnbGVQcm9wcyA9IHtcbiAgaWNvbj86IFJlYWN0RWxlbWVudDtcbiAgaXNPcGVuPzogYm9vbGVhbjtcbiAgb25DbGljazogKFxuICAgIGV2ZW50OlxuICAgICAgfCBNb3VzZUV2ZW50PEhUTUxCdXR0b25FbGVtZW50PlxuICAgICAgfCBLZXlib2FyZEV2ZW50PEhUTUxCdXR0b25FbGVtZW50PlxuICAgICAgfCBib29sZWFuXG4gICkgPT4gdm9pZDtcbiAgaXNEaXNhYmxlZD86IGJvb2xlYW47XG4gIHNob3dNZXNzYWdlOiBzdHJpbmcgfCBNZXNzYWdlRGVzY3JpcHRvcjtcbiAgaGlkZU1lc3NhZ2U6IHN0cmluZyB8IE1lc3NhZ2VEZXNjcmlwdG9yO1xuICByZW1haW5pbmdMb2NhbGl6YXRpb25zPzogbnVtYmVyO1xufTtcblxuY29uc3QgZGVmYXVsdFByb3BzOiBQaWNrPFxuICBUTG9jYWxpemVkSW5wdXRUb2dnbGVQcm9wcyxcbiAgJ3Nob3dNZXNzYWdlJyB8ICdoaWRlTWVzc2FnZSdcbj4gPSB7XG4gIGhpZGVNZXNzYWdlOiBtZXNzYWdlcy5oaWRlLFxuICBzaG93TWVzc2FnZTogbWVzc2FnZXMuc2hvdyxcbn07XG5cbmNvbnN0IExvY2FsaXplZElucHV0VG9nZ2xlID0gKHByb3BzOiBUTG9jYWxpemVkSW5wdXRUb2dnbGVQcm9wcykgPT4ge1xuICBjb25zdCBpbnRsID0gdXNlSW50bCgpO1xuICBjb25zdCBsYWJlbE1lc3NhZ2UgPSBwcm9wcy5pc09wZW4gPyBwcm9wcy5oaWRlTWVzc2FnZSA6IHByb3BzLnNob3dNZXNzYWdlO1xuICBjb25zdCBsYWJlbCA9XG4gICAgdHlwZW9mIGxhYmVsTWVzc2FnZSA9PT0gJ3N0cmluZydcbiAgICAgID8gbGFiZWxNZXNzYWdlXG4gICAgICA6IGludGwuZm9ybWF0TWVzc2FnZShsYWJlbE1lc3NhZ2UsIHtcbiAgICAgICAgICByZW1haW5pbmdMYW5ndWFnZXM6IHByb3BzLnJlbWFpbmluZ0xvY2FsaXphdGlvbnMsXG4gICAgICAgIH0pO1xuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgYH1cbiAgICA+XG4gICAgICA8RmxhdEJ1dHRvblxuICAgICAgICBpY29uPXtwcm9wcy5pY29uID8gcHJvcHMuaWNvbiA6IDxXb3JsZEljb24gLz59XG4gICAgICAgIGxhYmVsPXtsYWJlbH1cbiAgICAgICAgb25DbGljaz17cHJvcHMub25DbGlja31cbiAgICAgICAgaXNEaXNhYmxlZD17cHJvcHMuaXNEaXNhYmxlZH1cbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5Mb2NhbGl6ZWRJbnB1dFRvZ2dsZS5kZWZhdWx0UHJvcHMgPSBkZWZhdWx0UHJvcHM7XG5Mb2NhbGl6ZWRJbnB1dFRvZ2dsZS5kaXNwbGF5TmFtZSA9ICdMb2NhbGl6ZWRJbnB1dFRvZ2dsZSc7XG5leHBvcnQgZGVmYXVsdCBMb2NhbGl6ZWRJbnB1dFRvZ2dsZTtcbiJdfQ== */",
|
|
52
52
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__$1
|
|
53
53
|
};
|
|
54
|
-
|
|
55
54
|
const LocalizedInputToggle = props => {
|
|
56
55
|
const intl = useIntl();
|
|
57
56
|
const labelMessage = props.isOpen ? props.hideMessage : props.showMessage;
|
|
@@ -68,7 +67,6 @@ const LocalizedInputToggle = props => {
|
|
|
68
67
|
})
|
|
69
68
|
});
|
|
70
69
|
};
|
|
71
|
-
|
|
72
70
|
LocalizedInputToggle.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
73
71
|
icon: _pt.element,
|
|
74
72
|
isOpen: _pt.bool,
|
|
@@ -84,119 +82,108 @@ var LocalizedInputToggle$1 = LocalizedInputToggle;
|
|
|
84
82
|
|
|
85
83
|
const getInputBorderColor = function (props) {
|
|
86
84
|
let defaultBorderColor = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : designTokens.borderColorForInput;
|
|
87
|
-
|
|
88
85
|
if (props.isDisabled || props.disabled) {
|
|
89
86
|
return designTokens.borderColorForInputWhenDisabled;
|
|
90
87
|
}
|
|
91
|
-
|
|
92
88
|
if (props.hasError) {
|
|
93
89
|
return designTokens.borderColorForInputWhenError;
|
|
94
90
|
}
|
|
95
|
-
|
|
96
91
|
if (props.hasWarning) {
|
|
97
92
|
return designTokens.borderColorForInputWhenWarning;
|
|
98
93
|
}
|
|
99
|
-
|
|
100
94
|
if (props.isReadOnly || props.readOnly) {
|
|
101
95
|
return designTokens.borderColorForInputWhenReadonly;
|
|
102
96
|
}
|
|
103
|
-
|
|
104
97
|
return defaultBorderColor;
|
|
105
98
|
};
|
|
106
|
-
|
|
107
99
|
const getInputFontColor = props => {
|
|
108
100
|
if (props.isDisabled || props.disabled) {
|
|
109
101
|
return designTokens.fontColorForInputWhenDisabled;
|
|
110
102
|
}
|
|
111
|
-
|
|
112
103
|
if (props.hasError) {
|
|
113
104
|
return designTokens.fontColorForInputWhenError;
|
|
114
105
|
}
|
|
115
|
-
|
|
116
106
|
if (props.hasWarning) {
|
|
117
107
|
return designTokens.fontColorForInputWhenWarning;
|
|
118
108
|
}
|
|
119
|
-
|
|
120
109
|
if (props.isReadOnly || props.readOnly) {
|
|
121
110
|
return designTokens.fontColorForInputWhenReadonly;
|
|
122
111
|
}
|
|
123
|
-
|
|
124
112
|
return designTokens.fontColorForInput;
|
|
125
113
|
};
|
|
126
|
-
|
|
127
114
|
const getInputBorderWidth = props => {
|
|
128
115
|
if (props.hasError) {
|
|
129
116
|
return designTokens.borderWidthForInputWhenError;
|
|
130
117
|
}
|
|
131
|
-
|
|
132
118
|
if (props.hasWarning) {
|
|
133
119
|
return designTokens.borderWidthForInputWhenWarning;
|
|
134
120
|
}
|
|
135
|
-
|
|
136
121
|
return designTokens.borderWidthForInput;
|
|
137
122
|
};
|
|
138
|
-
|
|
139
123
|
const getInputBoxShadow = props => {
|
|
140
124
|
if (props.hasError) {
|
|
141
125
|
return designTokens.shadowForInputWhenError;
|
|
142
126
|
}
|
|
143
|
-
|
|
144
127
|
if (props.hasWarning) {
|
|
145
128
|
return designTokens.shadowForInputWhenWarning;
|
|
146
129
|
}
|
|
147
|
-
|
|
148
130
|
return designTokens.shadowForInput;
|
|
149
131
|
};
|
|
150
|
-
|
|
151
132
|
const getInputBackgroundColor = props => {
|
|
152
133
|
if (props.isDisabled || props.disabled) {
|
|
153
134
|
return designTokens.backgroundColorForInputWhenDisabled;
|
|
154
135
|
}
|
|
155
|
-
|
|
156
136
|
if (props.isReadOnly) {
|
|
157
137
|
return designTokens.backgroundColorForInputWhenReadonly;
|
|
158
138
|
}
|
|
159
|
-
|
|
160
139
|
return designTokens.backgroundColorForInput;
|
|
161
140
|
};
|
|
162
|
-
|
|
163
141
|
const getInputStyles = props => {
|
|
164
142
|
return /*#__PURE__*/css("appearance:none;background-color:", getInputBackgroundColor(props), ";border:", getInputBorderWidth(props), " solid ", getInputBorderColor(props), ";border-radius:", designTokens.borderRadiusForInput, ";box-sizing:border-box;box-shadow:", getInputBoxShadow(props), ";color:", getInputFontColor(props), ";cursor:", props.isDisabled ? 'not-allowed' : 'default', ";display:flex;flex:1;font-family:inherit;font-size:", designTokens.fontSizeForInput, ";height:", designTokens.heightForInput, ";min-height:", designTokens.heightForInput, ";opacity:", props.isDisabled || props.disabled ? '1' : 'unset', ";outline:none;overflow:hidden;padding:0 ", designTokens.paddingForInput, ";transition:border-color ", designTokens.transitionStandard, ",background-color ", designTokens.transitionStandard, ",color ", designTokens.transitionStandard, ",box-shadow ", designTokens.transitionStandard, ";width:100%;&::placeholder{color:", designTokens.placeholderFontColorForInput, ";}:active:not(:disabled):not(:read-only),:hover:not(:disabled):not(:read-only):not(:focus){border-color:", getInputBorderColor(props, designTokens.borderColorForInputWhenHovered), ";background-color:", designTokens.backgroundColorForInputWhenHovered, ";}:focus:not(:read-only){box-shadow:", designTokens.shadowForInputWhenFocused, ";border-color:", designTokens.borderColorForInputWhenFocused, ";background-color:", designTokens.backgroundColorForInputWhenFocused, ";}" + (process.env.NODE_ENV === "production" ? "" : ";label:getInputStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE4RVkiLCJmaWxlIjoic3R5bGVzLnRzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgZGVzaWduVG9rZW5zIH0gZnJvbSAnQGNvbW1lcmNldG9vbHMtdWlraXQvZGVzaWduLXN5c3RlbSc7XG5cbnR5cGUgVElucHV0UHJvcHMgPSB7XG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIGhhc0Vycm9yPzogYm9vbGVhbjtcbiAgaGFzV2FybmluZz86IGJvb2xlYW47XG4gIGlzUmVhZE9ubHk/OiBib29sZWFuO1xuICByZWFkT25seT86IGJvb2xlYW47XG59O1xuXG5jb25zdCBnZXRJbnB1dEJvcmRlckNvbG9yID0gKFxuICBwcm9wczogVElucHV0UHJvcHMsXG4gIGRlZmF1bHRCb3JkZXJDb2xvcjogc3RyaW5nID0gZGVzaWduVG9rZW5zLmJvcmRlckNvbG9yRm9ySW5wdXRcbikgPT4ge1xuICBpZiAocHJvcHMuaXNEaXNhYmxlZCB8fCBwcm9wcy5kaXNhYmxlZCkge1xuICAgIHJldHVybiBkZXNpZ25Ub2tlbnMuYm9yZGVyQ29sb3JGb3JJbnB1dFdoZW5EaXNhYmxlZDtcbiAgfVxuICBpZiAocHJvcHMuaGFzRXJyb3IpIHtcbiAgICByZXR1cm4gZGVzaWduVG9rZW5zLmJvcmRlckNvbG9yRm9ySW5wdXRXaGVuRXJyb3I7XG4gIH1cbiAgaWYgKHByb3BzLmhhc1dhcm5pbmcpIHtcbiAgICByZXR1cm4gZGVzaWduVG9rZW5zLmJvcmRlckNvbG9yRm9ySW5wdXRXaGVuV2FybmluZztcbiAgfVxuICBpZiAocHJvcHMuaXNSZWFkT25seSB8fCBwcm9wcy5yZWFkT25seSkge1xuICAgIHJldHVybiBkZXNpZ25Ub2tlbnMuYm9yZGVyQ29sb3JGb3JJbnB1dFdoZW5SZWFkb25seTtcbiAgfVxuICByZXR1cm4gZGVmYXVsdEJvcmRlckNvbG9yO1xufTtcblxuY29uc3QgZ2V0SW5wdXRGb250Q29sb3IgPSAocHJvcHM6IFRJbnB1dFByb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5pc0Rpc2FibGVkIHx8IHByb3BzLmRpc2FibGVkKSB7XG4gICAgcmV0dXJuIGRlc2lnblRva2Vucy5mb250Q29sb3JGb3JJbnB1dFdoZW5EaXNhYmxlZDtcbiAgfVxuICBpZiAocHJvcHMuaGFzRXJyb3IpIHtcbiAgICByZXR1cm4gZGVzaWduVG9rZW5zLmZvbnRDb2xvckZvcklucHV0V2hlbkVycm9yO1xuICB9XG4gIGlmIChwcm9wcy5oYXNXYXJuaW5nKSB7XG4gICAgcmV0dXJuIGRlc2lnblRva2Vucy5mb250Q29sb3JGb3JJbnB1dFdoZW5XYXJuaW5nO1xuICB9XG4gIGlmIChwcm9wcy5pc1JlYWRPbmx5IHx8IHByb3BzLnJlYWRPbmx5KSB7XG4gICAgcmV0dXJuIGRlc2lnblRva2Vucy5mb250Q29sb3JGb3JJbnB1dFdoZW5SZWFkb25seTtcbiAgfVxuICByZXR1cm4gZGVzaWduVG9rZW5zLmZvbnRDb2xvckZvcklucHV0O1xufTtcblxuY29uc3QgZ2V0SW5wdXRCb3JkZXJXaWR0aCA9IChwcm9wczogVElucHV0UHJvcHMpID0+IHtcbiAgaWYgKHByb3BzLmhhc0Vycm9yKSB7XG4gICAgcmV0dXJuIGRlc2lnblRva2Vucy5ib3JkZXJXaWR0aEZvcklucHV0V2hlbkVycm9yO1xuICB9XG4gIGlmIChwcm9wcy5oYXNXYXJuaW5nKSB7XG4gICAgcmV0dXJuIGRlc2lnblRva2Vucy5ib3JkZXJXaWR0aEZvcklucHV0V2hlbldhcm5pbmc7XG4gIH1cbiAgcmV0dXJuIGRlc2lnblRva2Vucy5ib3JkZXJXaWR0aEZvcklucHV0O1xufTtcblxuY29uc3QgZ2V0SW5wdXRCb3hTaGFkb3cgPSAocHJvcHM6IFRJbnB1dFByb3BzKSA9PiB7XG4gIGlmIChwcm9wcy5oYXNFcnJvcikge1xuICAgIHJldHVybiBkZXNpZ25Ub2tlbnMuc2hhZG93Rm9ySW5wdXRXaGVuRXJyb3I7XG4gIH1cbiAgaWYgKHByb3BzLmhhc1dhcm5pbmcpIHtcbiAgICByZXR1cm4gZGVzaWduVG9rZW5zLnNoYWRvd0ZvcklucHV0V2hlbldhcm5pbmc7XG4gIH1cbiAgcmV0dXJuIGRlc2lnblRva2Vucy5zaGFkb3dGb3JJbnB1dDtcbn07XG5cbmNvbnN0IGdldElucHV0QmFja2dyb3VuZENvbG9yID0gKHByb3BzOiBUSW5wdXRQcm9wcykgPT4ge1xuICBpZiAocHJvcHMuaXNEaXNhYmxlZCB8fCBwcm9wcy5kaXNhYmxlZCkge1xuICAgIHJldHVybiBkZXNpZ25Ub2tlbnMuYmFja2dyb3VuZENvbG9yRm9ySW5wdXRXaGVuRGlzYWJsZWQ7XG4gIH1cbiAgaWYgKHByb3BzLmlzUmVhZE9ubHkpIHtcbiAgICByZXR1cm4gZGVzaWduVG9rZW5zLmJhY2tncm91bmRDb2xvckZvcklucHV0V2hlblJlYWRvbmx5O1xuICB9XG4gIHJldHVybiBkZXNpZ25Ub2tlbnMuYmFja2dyb3VuZENvbG9yRm9ySW5wdXQ7XG59O1xuXG5jb25zdCBnZXRJbnB1dFN0eWxlcyA9IChwcm9wczogVElucHV0UHJvcHMpID0+IHtcbiAgcmV0dXJuIGNzc2BcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7Z2V0SW5wdXRCYWNrZ3JvdW5kQ29sb3IocHJvcHMpfTtcbiAgICBib3JkZXI6ICR7Z2V0SW5wdXRCb3JkZXJXaWR0aChwcm9wcyl9IHNvbGlkICR7Z2V0SW5wdXRCb3JkZXJDb2xvcihwcm9wcyl9O1xuICAgIGJvcmRlci1yYWRpdXM6ICR7ZGVzaWduVG9rZW5zLmJvcmRlclJhZGl1c0ZvcklucHV0fTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaGFkb3c6ICR7Z2V0SW5wdXRCb3hTaGFkb3cocHJvcHMpfTtcbiAgICBjb2xvcjogJHtnZXRJbnB1dEZvbnRDb2xvcihwcm9wcyl9O1xuICAgIGN1cnNvcjogJHtwcm9wcy5pc0Rpc2FibGVkID8gJ25vdC1hbGxvd2VkJyA6ICdkZWZhdWx0J307XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAxO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGZvbnQtc2l6ZTogJHtkZXNpZ25Ub2tlbnMuZm9udFNpemVGb3JJbnB1dH07XG4gICAgaGVpZ2h0OiAke2Rlc2lnblRva2Vucy5oZWlnaHRGb3JJbnB1dH07XG4gICAgbWluLWhlaWdodDogJHtkZXNpZ25Ub2tlbnMuaGVpZ2h0Rm9ySW5wdXR9O1xuICAgIG9wYWNpdHk6ICR7cHJvcHMuaXNEaXNhYmxlZCB8fCBwcm9wcy5kaXNhYmxlZFxuICAgICAgPyAnMSdcbiAgICAgIDogJ3Vuc2V0J307IC8qIGZpeCBmb3IgbW9iaWxlIHNhZmFyaSAqL1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwICR7ZGVzaWduVG9rZW5zLnBhZGRpbmdGb3JJbnB1dH07XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR7ZGVzaWduVG9rZW5zLnRyYW5zaXRpb25TdGFuZGFyZH0sXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yICR7ZGVzaWduVG9rZW5zLnRyYW5zaXRpb25TdGFuZGFyZH0sXG4gICAgICBjb2xvciAke2Rlc2lnblRva2Vucy50cmFuc2l0aW9uU3RhbmRhcmR9LFxuICAgICAgYm94LXNoYWRvdyAke2Rlc2lnblRva2Vucy50cmFuc2l0aW9uU3RhbmRhcmR9O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICR7ZGVzaWduVG9rZW5zLnBsYWNlaG9sZGVyRm9udENvbG9yRm9ySW5wdXR9O1xuICAgIH1cbiAgICA6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpOm5vdCg6cmVhZC1vbmx5KSxcbiAgICA6aG92ZXI6bm90KDpkaXNhYmxlZCk6bm90KDpyZWFkLW9ubHkpOm5vdCg6Zm9jdXMpIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJHtnZXRJbnB1dEJvcmRlckNvbG9yKFxuICAgICAgICBwcm9wcyxcbiAgICAgICAgZGVzaWduVG9rZW5zLmJvcmRlckNvbG9yRm9ySW5wdXRXaGVuSG92ZXJlZFxuICAgICAgKX07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke2Rlc2lnblRva2Vucy5iYWNrZ3JvdW5kQ29sb3JGb3JJbnB1dFdoZW5Ib3ZlcmVkfTtcbiAgICB9XG4gICAgOmZvY3VzOm5vdCg6cmVhZC1vbmx5KSB7XG4gICAgICBib3gtc2hhZG93OiAke2Rlc2lnblRva2Vucy5zaGFkb3dGb3JJbnB1dFdoZW5Gb2N1c2VkfTtcbiAgICAgIGJvcmRlci1jb2xvcjogJHtkZXNpZ25Ub2tlbnMuYm9yZGVyQ29sb3JGb3JJbnB1dFdoZW5Gb2N1c2VkfTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7ZGVzaWduVG9rZW5zLmJhY2tncm91bmRDb2xvckZvcklucHV0V2hlbkZvY3VzZWR9O1xuICAgIH1cbiAgYDtcbn07XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvcHJlZmVyLWRlZmF1bHQtZXhwb3J0XG5leHBvcnQgeyBnZXRJbnB1dFN0eWxlcyB9O1xuIl19 */");
|
|
165
|
-
};
|
|
143
|
+
};
|
|
166
144
|
|
|
167
145
|
/* we need this line-height to achieve 32px height when the component has only one row */
|
|
168
|
-
const sizeInputLineHeight = '22px';
|
|
146
|
+
const sizeInputLineHeight = '22px';
|
|
147
|
+
|
|
148
|
+
// NOTE: order is important here
|
|
169
149
|
// * a disabled-field currently does not display warning/error-states so it takes precedence
|
|
170
150
|
// * a readonly-field cannot be changed, but it might be relevant for validation, so error and warning are checked first
|
|
171
151
|
// how you can interact with the field is controlled separately by the props, this only influences visuals
|
|
172
|
-
|
|
173
152
|
const getTextareaStyles = props => {
|
|
174
|
-
const baseStyles = [getInputStyles(props), /*#__PURE__*/css("padding:", designTokens.paddingForMultilineInput, ";line-height:", sizeInputLineHeight, ";flex:auto;word-break:break-word;white-space:pre-wrap;resize:
|
|
153
|
+
const baseStyles = [getInputStyles(props), /*#__PURE__*/css("padding:", designTokens.paddingForMultilineInput, ";line-height:", sizeInputLineHeight, ";flex:auto;word-break:break-word;white-space:pre-wrap;resize:none;" + (process.env.NODE_ENV === "production" ? "" : ";label:baseStyles;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm11bHRpbGluZS1pbnB1dC5zdHlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBZU8iLCJmaWxlIjoibXVsdGlsaW5lLWlucHV0LnN0eWxlcy50cyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNzcyB9IGZyb20gJ0BlbW90aW9uL3JlYWN0JztcbmltcG9ydCB7IGRlc2lnblRva2VucyB9IGZyb20gJ0Bjb21tZXJjZXRvb2xzLXVpa2l0L2Rlc2lnbi1zeXN0ZW0nO1xuaW1wb3J0IHsgZ2V0SW5wdXRTdHlsZXMgfSBmcm9tICcuLi9zdHlsZXMnO1xuaW1wb3J0IHR5cGUgeyBUTXVsdGlMaW5lSW5wdXRQcm9wcyB9IGZyb20gJy4vbXVsdGlsaW5lLWlucHV0JztcblxuLyogd2UgbmVlZCB0aGlzIGxpbmUtaGVpZ2h0IHRvIGFjaGlldmUgMzJweCBoZWlnaHQgd2hlbiB0aGUgY29tcG9uZW50IGhhcyBvbmx5IG9uZSByb3cgKi9cbmNvbnN0IHNpemVJbnB1dExpbmVIZWlnaHQgPSAnMjJweCc7XG5cbi8vIE5PVEU6IG9yZGVyIGlzIGltcG9ydGFudCBoZXJlXG4vLyAqIGEgZGlzYWJsZWQtZmllbGQgY3VycmVudGx5IGRvZXMgbm90IGRpc3BsYXkgd2FybmluZy9lcnJvci1zdGF0ZXMgc28gaXQgdGFrZXMgcHJlY2VkZW5jZVxuLy8gKiBhIHJlYWRvbmx5LWZpZWxkIGNhbm5vdCBiZSBjaGFuZ2VkLCBidXQgaXQgbWlnaHQgYmUgcmVsZXZhbnQgZm9yIHZhbGlkYXRpb24sIHNvIGVycm9yIGFuZCB3YXJuaW5nIGFyZSBjaGVja2VkIGZpcnN0XG4vLyBob3cgeW91IGNhbiBpbnRlcmFjdCB3aXRoIHRoZSBmaWVsZCBpcyBjb250cm9sbGVkIHNlcGFyYXRlbHkgYnkgdGhlIHByb3BzLCB0aGlzIG9ubHkgaW5mbHVlbmNlcyB2aXN1YWxzXG5jb25zdCBnZXRUZXh0YXJlYVN0eWxlcyA9IChwcm9wczogVE11bHRpTGluZUlucHV0UHJvcHMpID0+IHtcbiAgY29uc3QgYmFzZVN0eWxlcyA9IFtcbiAgICBnZXRJbnB1dFN0eWxlcyhwcm9wcyksXG4gICAgY3NzYFxuICAgICAgcGFkZGluZzogJHtkZXNpZ25Ub2tlbnMucGFkZGluZ0Zvck11bHRpbGluZUlucHV0fTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAke3NpemVJbnB1dExpbmVIZWlnaHR9O1xuICAgICAgZmxleDogYXV0bztcbiAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgICByZXNpemU6IG5vbmU7XG4gICAgYCxcbiAgXTtcbiAgcmV0dXJuIGJhc2VTdHlsZXM7XG59O1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L3ByZWZlci1kZWZhdWx0LWV4cG9ydFxuZXhwb3J0IHsgZ2V0VGV4dGFyZWFTdHlsZXMgfTtcbiJdfQ== */")];
|
|
175
154
|
return baseStyles;
|
|
176
|
-
};
|
|
155
|
+
};
|
|
177
156
|
|
|
178
157
|
function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
179
|
-
|
|
180
158
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var _context, _context2; var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(source), !0)).call(_context, function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys(Object(source))).call(_context2, function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
181
159
|
const MIN_ROW_COUNT = 1;
|
|
182
|
-
|
|
160
|
+
// We cache the vertical padding of the element becuase
|
|
161
|
+
// it does not change over time so we don't need to
|
|
162
|
+
// recalculate it on every height change event.
|
|
163
|
+
let _elementVerticalPadding = null;
|
|
164
|
+
const getElementVerticalPadding = element => {
|
|
165
|
+
if (_elementVerticalPadding === null) {
|
|
166
|
+
const computedStyle = getComputedStyle(element);
|
|
167
|
+
const paddingTop = _parseInt(computedStyle.paddingTop, 10);
|
|
168
|
+
const paddingBottom = _parseInt(computedStyle.paddingBottom, 10);
|
|
169
|
+
_elementVerticalPadding = paddingTop + paddingBottom;
|
|
170
|
+
}
|
|
171
|
+
return _elementVerticalPadding;
|
|
172
|
+
};
|
|
183
173
|
const MultilineInput = props => {
|
|
184
174
|
const onHeightChange = props.onHeightChange;
|
|
185
175
|
const ref = useRef(null);
|
|
186
|
-
const handleHeightChange = useCallback((
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
const rowCount = Math.floor(
|
|
190
|
-
|
|
176
|
+
const handleHeightChange = useCallback((_, meta) => {
|
|
177
|
+
const containerHeight = ref.current.scrollHeight;
|
|
178
|
+
const textHeight = containerHeight - getElementVerticalPadding(ref.current);
|
|
179
|
+
const rowCount = Math.floor(textHeight / meta.rowHeight);
|
|
191
180
|
if (onHeightChange) {
|
|
192
|
-
onHeightChange(
|
|
181
|
+
onHeightChange(containerHeight, rowCount);
|
|
193
182
|
}
|
|
194
183
|
}, [ref, onHeightChange]);
|
|
195
|
-
|
|
196
184
|
if (!props.isReadOnly) {
|
|
197
185
|
process.env.NODE_ENV !== "production" ? warning(typeof props.onChange === 'function', 'MultilineInput: "onChange" is required when is not read only.') : void 0;
|
|
198
186
|
}
|
|
199
|
-
|
|
200
187
|
return jsx(TextareaAutosize, _objectSpread({
|
|
201
188
|
ref: ref,
|
|
202
189
|
name: props.name,
|
|
@@ -211,13 +198,13 @@ const MultilineInput = props => {
|
|
|
211
198
|
placeholder: props.placeholder,
|
|
212
199
|
readOnly: props.isReadOnly,
|
|
213
200
|
autoFocus: props.isAutofocussed,
|
|
214
|
-
css: getTextareaStyles(props)
|
|
201
|
+
css: getTextareaStyles(props)
|
|
202
|
+
// Allow to override the styles by passing a `className` prop.
|
|
215
203
|
// Custom styles can also be passed using the `css` prop from emotion.
|
|
216
204
|
// https://emotion.sh/docs/css-prop#style-precedence
|
|
217
205
|
,
|
|
218
206
|
className: props.className
|
|
219
|
-
/* ARIA
|
|
220
|
-
,
|
|
207
|
+
/* ARIA */,
|
|
221
208
|
"aria-readonly": props.isReadOnly,
|
|
222
209
|
"aria-multiline": "true",
|
|
223
210
|
"aria-invalid": props['aria-invalid'],
|
|
@@ -228,7 +215,6 @@ const MultilineInput = props => {
|
|
|
228
215
|
cacheMeasurements: true
|
|
229
216
|
}, filterDataAttributes(props)));
|
|
230
217
|
};
|
|
231
|
-
|
|
232
218
|
MultilineInput.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
233
219
|
autoComplete: _pt.string,
|
|
234
220
|
className: _pt.string,
|
|
@@ -278,6 +264,6 @@ const accessibleHiddenInputStyles = process.env.NODE_ENV === "production" ? {
|
|
|
278
264
|
var accessibleHiddenInputStyles$1 = accessibleHiddenInputStyles;
|
|
279
265
|
|
|
280
266
|
// NOTE: This string will be replaced on build time with the package version.
|
|
281
|
-
var version = "16.
|
|
267
|
+
var version = "16.1.1";
|
|
282
268
|
|
|
283
269
|
export { LocalizedInputToggle$1 as LocalizedInputToggle, MultilineInput$1 as MultilineInput, accessibleHiddenInputStyles$1 as accessibleHiddenInputStyles, getInputStyles, messages$1 as messagesLocalizedInput, messages as messagesMultilineInput, version };
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@commercetools-uikit/input-utils",
|
|
3
3
|
"description": "Utilities for working with input components.",
|
|
4
|
-
"version": "16.
|
|
4
|
+
"version": "16.1.1",
|
|
5
5
|
"bugs": "https://github.com/commercetools/ui-kit/issues",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -21,10 +21,10 @@
|
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"@babel/runtime": "^7.20.13",
|
|
23
23
|
"@babel/runtime-corejs3": "^7.20.13",
|
|
24
|
-
"@commercetools-uikit/design-system": "16.
|
|
25
|
-
"@commercetools-uikit/flat-button": "16.
|
|
26
|
-
"@commercetools-uikit/icons": "16.
|
|
27
|
-
"@commercetools-uikit/utils": "16.
|
|
24
|
+
"@commercetools-uikit/design-system": "16.1.1",
|
|
25
|
+
"@commercetools-uikit/flat-button": "16.1.1",
|
|
26
|
+
"@commercetools-uikit/icons": "16.1.1",
|
|
27
|
+
"@commercetools-uikit/utils": "16.1.1",
|
|
28
28
|
"@emotion/react": "^11.10.5",
|
|
29
29
|
"prop-types": "15.8.1",
|
|
30
30
|
"react-textarea-autosize": "8.4.0"
|