@invoicebox/ui 0.1.0-alpha.304 → 0.1.0-alpha.306

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.
Files changed (37) hide show
  1. package/dist/components/form/Autocomplete/components/Autocomplete/index.js +18 -28
  2. package/dist/components/form/CurrencyInput/CoreCurrencyInput/index.js +19 -37
  3. package/dist/components/form/DateInput/index.js +17 -41
  4. package/dist/components/form/DateTimeInput/index.js +17 -39
  5. package/dist/components/form/DateTimeInput/index.stories.js +2 -1
  6. package/dist/components/form/InputLabel/index.js +6 -3
  7. package/dist/components/form/InputLabel/styles.d.ts +3 -1
  8. package/dist/components/form/InputLabel/styles.js +14 -12
  9. package/dist/components/form/ModernPlaceholder/index.js +1 -1
  10. package/dist/components/form/PhoneInput/index.js +16 -24
  11. package/dist/components/form/PositiveIntegerInput/index.js +14 -32
  12. package/dist/components/form/SearchInput/index.js +17 -31
  13. package/dist/components/form/SearchInput/styles.d.ts +1 -1
  14. package/dist/components/form/SearchInput/styles.js +2 -2
  15. package/dist/components/form/Select/components/Input/index.js +17 -34
  16. package/dist/components/form/TextInput/index.js +15 -33
  17. package/dist/components/form/_hooks/useInputStyles.d.ts +23 -0
  18. package/dist/components/form/_hooks/useInputStyles.js +66 -0
  19. package/dist/components/form/constants.d.ts +1 -0
  20. package/dist/components/form/constants.js +17 -14
  21. package/dist/esm/components/form/Autocomplete/components/Autocomplete/index.js +20 -30
  22. package/dist/esm/components/form/CurrencyInput/CoreCurrencyInput/index.js +18 -34
  23. package/dist/esm/components/form/DateInput/index.js +18 -42
  24. package/dist/esm/components/form/DateTimeInput/index.js +18 -40
  25. package/dist/esm/components/form/DateTimeInput/index.stories.js +2 -1
  26. package/dist/esm/components/form/InputLabel/index.js +6 -3
  27. package/dist/esm/components/form/InputLabel/styles.js +14 -12
  28. package/dist/esm/components/form/ModernPlaceholder/index.js +2 -2
  29. package/dist/esm/components/form/PhoneInput/index.js +17 -25
  30. package/dist/esm/components/form/PositiveIntegerInput/index.js +15 -33
  31. package/dist/esm/components/form/SearchInput/index.js +18 -32
  32. package/dist/esm/components/form/SearchInput/styles.js +2 -2
  33. package/dist/esm/components/form/Select/components/Input/index.js +18 -35
  34. package/dist/esm/components/form/TextInput/index.js +16 -34
  35. package/dist/esm/components/form/_hooks/useInputStyles.js +58 -0
  36. package/dist/esm/components/form/constants.js +17 -14
  37. package/package.json +1 -1
@@ -15,8 +15,7 @@ var _useFilters = require("./hooks/useFilters");
15
15
  var _useNormalizers2 = require("./hooks/useNormalizers");
16
16
  var _useIncrement2 = require("./hooks/useIncrement");
17
17
  var _useIncrementDisabledFlags = require("./hooks/useIncrementDisabledFlags");
18
- var _constants = require("../constants");
19
- var _ModernPlaceholder = require("../ModernPlaceholder");
18
+ var _useInputStyles2 = require("../_hooks/useInputStyles");
20
19
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
21
20
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
22
21
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
@@ -44,6 +43,17 @@ var PositiveIntegerInput = exports.PositiveIntegerInput = function PositiveInteg
44
43
  inFocus = _useInputFocus.inFocus,
45
44
  handleFocus = _useInputFocus.handleFocus,
46
45
  handleBlur = _useInputFocus.handleBlur;
46
+ var _useInputStyles = (0, _useInputStyles2.useInputStyles)({
47
+ isHaveValue: typeof value === 'number',
48
+ useModernStyles: useModernStyles,
49
+ size: size,
50
+ label: label,
51
+ inFocus: inFocus,
52
+ placeholder: placeholder
53
+ }),
54
+ inputLabel = _useInputStyles.inputLabel,
55
+ paddingAndVariantOptions = _useInputStyles.paddingAndVariantOptions,
56
+ modernPlaceholder = _useInputStyles.modernPlaceholder;
47
57
  var filters = (0, _useFilters.useFilters)({
48
58
  max: max
49
59
  });
@@ -72,40 +82,12 @@ var PositiveIntegerInput = exports.PositiveIntegerInput = function PositiveInteg
72
82
  var handleDown = (0, _react.useCallback)(function () {
73
83
  onChange(decrement(value));
74
84
  }, [decrement, value, onChange]);
75
- var modernInputPlaceholder = (0, _react.useMemo)(function () {
76
- return placeholder || label;
77
- }, [label, placeholder]);
78
- var isModernPlaceholderVisible = (0, _react.useMemo)(function () {
79
- return !inFocus && value === null;
80
- }, [inFocus, value]);
81
- var inputLabel = (0, _react.useMemo)(function () {
82
- if (useModernStyles) {
83
- if (value || inFocus) {
84
- return label;
85
- } else {
86
- return undefined;
87
- }
88
- } else {
89
- return label;
90
- }
91
- }, [inFocus, label, value, useModernStyles]);
92
- var paddingOptions = (0, _react.useMemo)(function () {
93
- if ((value || inFocus) && useModernStyles && inputLabel) {
94
- return _constants.MODERN_STYLE_SIZE_PARAMS_MAP[size];
95
- } else {
96
- return _constants.SIZE_PARAMS_MAP[size];
97
- }
98
- }, [value, inFocus, useModernStyles, size, inputLabel]);
99
85
  return /*#__PURE__*/_react["default"].createElement(_InputLabel.InputLabel, {
100
86
  inFocus: inFocus,
101
87
  label: inputLabel,
102
88
  useModernStyles: useModernStyles,
103
89
  size: size
104
- }, /*#__PURE__*/_react["default"].createElement(S.ControlWrapper, null, useModernStyles && modernInputPlaceholder && /*#__PURE__*/_react["default"].createElement(_ModernPlaceholder.ModernPlaceholder, {
105
- visible: isModernPlaceholderVisible,
106
- paddingTop: _constants.SIZE_PARAMS_MAP[size].paddingTop,
107
- size: size
108
- }, modernInputPlaceholder), /*#__PURE__*/_react["default"].createElement(_PureInput.PureInput, _extends({
90
+ }, /*#__PURE__*/_react["default"].createElement(S.ControlWrapper, null, modernPlaceholder, /*#__PURE__*/_react["default"].createElement(_PureInput.PureInput, _extends({
109
91
  name: name,
110
92
  hasError: hasError,
111
93
  inFocus: inFocus,
@@ -115,7 +97,7 @@ var PositiveIntegerInput = exports.PositiveIntegerInput = function PositiveInteg
115
97
  value: normalizeFrom(value),
116
98
  onChange: handleChange,
117
99
  paddingRight: upAndDown ? 44 : undefined
118
- }, paddingOptions, {
100
+ }, paddingAndVariantOptions, {
119
101
  useModernStyles: useModernStyles
120
102
  })), upAndDown && /*#__PURE__*/_react["default"].createElement(S.Arrows, null, /*#__PURE__*/_react["default"].createElement(S.Arrow, {
121
103
  onClick: handleUp,
@@ -13,7 +13,7 @@ var _useInputFocus2 = require("../../../hooks/useInputFocus");
13
13
  var _SearchIcon = require("./components/SearchIcon");
14
14
  var _palette = require("../../../palette");
15
15
  var _ResetButton = require("../ResetButton");
16
- var _constants = require("../constants");
16
+ var _useInputStyles2 = require("../_hooks/useInputStyles");
17
17
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
18
18
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
19
19
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
@@ -40,47 +40,33 @@ var SearchInput = exports.SearchInput = /*#__PURE__*/(0, _react.forwardRef)(func
40
40
  handleFocus = _useInputFocus.handleFocus,
41
41
  handleBlur = _useInputFocus.handleBlur;
42
42
  var palette = (0, _palette.useComponentPalette)('searchInput');
43
+ var _useInputStyles = (0, _useInputStyles2.useInputStyles)({
44
+ isHaveValue: !!value,
45
+ useModernStyles: useModernStyles,
46
+ size: size,
47
+ label: placeholder,
48
+ inFocus: inFocus,
49
+ placeholder: placeholder
50
+ }),
51
+ inputLabel = _useInputStyles.inputLabel,
52
+ paddingAndVariantOptions = _useInputStyles.paddingAndVariantOptions,
53
+ modernPlaceholder = _useInputStyles.modernPlaceholder;
43
54
  var handleInputReset = (0, _react.useCallback)(function () {
44
55
  onChange('');
45
56
  }, [onChange]);
46
57
  var handleInputChange = (0, _react.useCallback)(function (event) {
47
58
  onChange(event.target.value);
48
59
  }, [onChange]);
49
- var inputPlaceholder = (0, _react.useMemo)(function () {
50
- if (useModernStyles) {
51
- if (!inFocus) {
52
- return placeholder;
53
- } else {
54
- return undefined;
55
- }
56
- } else {
57
- return placeholder;
58
- }
59
- }, [placeholder, useModernStyles, inFocus]);
60
- var inputLabel = (0, _react.useMemo)(function () {
61
- if (useModernStyles && (value || inFocus)) {
62
- return placeholder;
63
- } else {
64
- return undefined;
65
- }
66
- }, [inFocus, placeholder, value, useModernStyles]);
67
- var paddingOptions = (0, _react.useMemo)(function () {
68
- if ((value || inFocus) && useModernStyles && inputLabel) {
69
- return _constants.MODERN_STYLE_SIZE_PARAMS_MAP[size];
70
- } else {
71
- return _constants.SIZE_PARAMS_MAP[size];
72
- }
73
- }, [value, inFocus, useModernStyles, size, inputLabel]);
74
60
  return /*#__PURE__*/_react["default"].createElement(_InputLabel.InputLabel, {
75
61
  useModernStyles: useModernStyles,
76
62
  size: size,
77
- label: inputLabel
78
- }, /*#__PURE__*/_react["default"].createElement(_PureInput.PureInput, _extends({
63
+ label: useModernStyles ? inputLabel : undefined
64
+ }, modernPlaceholder, /*#__PURE__*/_react["default"].createElement(_PureInput.PureInput, _extends({
79
65
  ref: ref,
80
66
  paddingRight: 56,
81
67
  hasBorder: hasBorder,
82
68
  onChange: handleInputChange,
83
- placeholder: inputPlaceholder,
69
+ placeholder: useModernStyles ? undefined : placeholder,
84
70
  value: value,
85
71
  onFocus: handleFocus,
86
72
  onBlur: handleBlur,
@@ -89,12 +75,12 @@ var SearchInput = exports.SearchInput = /*#__PURE__*/(0, _react.forwardRef)(func
89
75
  name: name,
90
76
  maxLength: maxLength,
91
77
  isOnlyNumbers: isOnlyNumbers
92
- }, paddingOptions, {
78
+ }, paddingAndVariantOptions, {
93
79
  useModernStyles: useModernStyles
94
80
  })), /*#__PURE__*/_react["default"].createElement(S.IconWrapper, {
95
81
  $inFocus: inFocus,
96
82
  $palette: palette,
97
- $wideBottomSpacing: useModernStyles || !!inputLabel
83
+ $useModernStyles: useModernStyles
98
84
  }, value ? /*#__PURE__*/_react["default"].createElement(_ResetButton.ResetButton, {
99
85
  onClick: handleInputReset
100
86
  }) : /*#__PURE__*/_react["default"].createElement(_SearchIcon.SearchIcon, null)));
@@ -3,5 +3,5 @@ import { TSearchInputPalette } from './palette';
3
3
  export declare const IconWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {
4
4
  $inFocus: boolean;
5
5
  $palette: TSearchInputPalette;
6
- $wideBottomSpacing: boolean;
6
+ $useModernStyles: boolean;
7
7
  }>> & string;
@@ -10,8 +10,8 @@ var IconWrapper = exports.IconWrapper = _styledComponents["default"].span.withCo
10
10
  displayName: "styles__IconWrapper",
11
11
  componentId: "sc-1cx3n6g-0"
12
12
  })(["position:absolute;right:20px;bottom:", ";transform:translateY(50%);display:flex;align-content:center;justify-content:center;opacity:", ";transition:all 0.2s ease-in-out 0s;color:", ";"], function (_ref) {
13
- var $wideBottomSpacing = _ref.$wideBottomSpacing;
14
- return $wideBottomSpacing ? "calc(50% - 5px)" : '50%';
13
+ var $useModernStyles = _ref.$useModernStyles;
14
+ return !$useModernStyles ? "calc(50% - 5px)" : '50%';
15
15
  }, function (_ref2) {
16
16
  var $inFocus = _ref2.$inFocus;
17
17
  return $inFocus ? 1 : 0.5;
@@ -11,14 +11,14 @@ var _InputLabel = require("../../../InputLabel");
11
11
  var _PureInput = require("../../../PureInput");
12
12
  var _Arrow = require("../../../../common/Arrow");
13
13
  var _ResetButton = require("../../../ResetButton");
14
- var _constants = require("../../../constants");
15
- var _ModernPlaceholder = require("../../../ModernPlaceholder");
14
+ var _useInputStyles2 = require("../../../_hooks/useInputStyles");
16
15
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
17
16
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
18
17
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
19
18
  var Input = exports.Input = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
20
19
  var hasError = _ref.hasError,
21
- inFocus = _ref.inFocus,
20
+ _ref$inFocus = _ref.inFocus,
21
+ inFocus = _ref$inFocus === void 0 ? false : _ref$inFocus,
22
22
  placeholder = _ref.placeholder,
23
23
  onFocus = _ref.onFocus,
24
24
  onBlur = _ref.onBlur,
@@ -34,43 +34,26 @@ var Input = exports.Input = /*#__PURE__*/(0, _react.forwardRef)(function (_ref,
34
34
  required = _ref.required,
35
35
  _ref$useModernStyles = _ref.useModernStyles,
36
36
  useModernStyles = _ref$useModernStyles === void 0 ? false : _ref$useModernStyles;
37
- var inputLabel = (0, _react.useMemo)(function () {
38
- if (useModernStyles) {
39
- if (value || inFocus) {
40
- return label;
41
- } else {
42
- return undefined;
43
- }
44
- } else {
45
- return label;
46
- }
47
- }, [inFocus, label, value, useModernStyles]);
37
+ var _useInputStyles = (0, _useInputStyles2.useInputStyles)({
38
+ isHaveValue: !!value,
39
+ useModernStyles: useModernStyles,
40
+ size: size,
41
+ label: label,
42
+ inFocus: inFocus,
43
+ placeholder: placeholder,
44
+ required: required
45
+ }),
46
+ inputLabel = _useInputStyles.inputLabel,
47
+ paddingAndVariantOptions = _useInputStyles.paddingAndVariantOptions,
48
+ modernPlaceholder = _useInputStyles.modernPlaceholder;
48
49
  var isShowResetIcon = !!value && !!onReset;
49
- var isModernPlaceholderVisible = (0, _react.useMemo)(function () {
50
- return useModernStyles && !isOpen && !value;
51
- }, [isOpen, useModernStyles, value]);
52
- var modernInputPlaceholder = (0, _react.useMemo)(function () {
53
- return placeholder || label;
54
- }, [label, placeholder]);
55
- var paddingOptions = (0, _react.useMemo)(function () {
56
- if ((value || isOpen) && useModernStyles && label) {
57
- return _constants.MODERN_STYLE_SIZE_PARAMS_MAP[size];
58
- } else {
59
- return _constants.SIZE_PARAMS_MAP[size];
60
- }
61
- }, [value, isOpen, useModernStyles, size, label]);
62
50
  return /*#__PURE__*/_react["default"].createElement(_InputLabel.InputLabel, {
63
51
  inFocus: inFocus,
64
52
  label: inputLabel,
65
53
  required: required,
66
54
  useModernStyles: useModernStyles,
67
55
  size: size
68
- }, /*#__PURE__*/_react["default"].createElement(S.ControlWrapper, null, useModernStyles && modernInputPlaceholder && /*#__PURE__*/_react["default"].createElement(_ModernPlaceholder.ModernPlaceholder, {
69
- visible: isModernPlaceholderVisible,
70
- paddingTop: _constants.SIZE_PARAMS_MAP[size !== null && size !== void 0 ? size : 'M'].paddingTop,
71
- size: size !== null && size !== void 0 ? size : 'M',
72
- required: required
73
- }, modernInputPlaceholder), /*#__PURE__*/_react["default"].createElement(_PureInput.PureInput, _extends({
56
+ }, /*#__PURE__*/_react["default"].createElement(S.ControlWrapper, null, modernPlaceholder, /*#__PURE__*/_react["default"].createElement(_PureInput.PureInput, _extends({
74
57
  ref: ref,
75
58
  hasError: hasError,
76
59
  inFocus: inFocus,
@@ -84,7 +67,7 @@ var Input = exports.Input = /*#__PURE__*/(0, _react.forwardRef)(function (_ref,
84
67
  paddingRight: 52,
85
68
  onClick: onClick,
86
69
  useModernStyles: useModernStyles
87
- }, paddingOptions)), /*#__PURE__*/_react["default"].createElement(S.IconWrapper, {
70
+ }, paddingAndVariantOptions)), /*#__PURE__*/_react["default"].createElement(S.IconWrapper, {
88
71
  $pointerEvents: isShowResetIcon ? 'default' : 'none'
89
72
  }, isShowResetIcon ? /*#__PURE__*/_react["default"].createElement(_ResetButton.ResetButton, {
90
73
  onClick: onReset
@@ -10,8 +10,7 @@ var S = _interopRequireWildcard(require("./styles"));
10
10
  var _InputLabel = require("../InputLabel");
11
11
  var _PureInput = require("../PureInput");
12
12
  var _useInputFocus2 = require("../../../hooks/useInputFocus");
13
- var _constants = require("../constants");
14
- var _ModernPlaceholder = require("../ModernPlaceholder");
13
+ var _useInputStyles2 = require("../_hooks/useInputStyles");
15
14
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
16
15
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
17
16
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
@@ -52,33 +51,21 @@ var TextInput = exports.TextInput = /*#__PURE__*/_react["default"].forwardRef(fu
52
51
  inFocus = _useInputFocus.inFocus,
53
52
  handleFocus = _useInputFocus.handleFocus,
54
53
  handleBlur = _useInputFocus.handleBlur;
54
+ var _useInputStyles = (0, _useInputStyles2.useInputStyles)({
55
+ isHaveValue: !!value,
56
+ useModernStyles: useModernStyles,
57
+ size: size,
58
+ label: label,
59
+ inFocus: inFocus,
60
+ placeholder: placeholder,
61
+ required: required
62
+ }),
63
+ inputLabel = _useInputStyles.inputLabel,
64
+ paddingAndVariantOptions = _useInputStyles.paddingAndVariantOptions,
65
+ modernPlaceholder = _useInputStyles.modernPlaceholder;
55
66
  var handleChange = (0, _react.useCallback)(function (event) {
56
67
  onChange(event.target.value.slice(0, maxLength !== null && maxLength !== void 0 ? maxLength : Infinity));
57
68
  }, [onChange, maxLength]);
58
- var inputLabel = (0, _react.useMemo)(function () {
59
- if (useModernStyles) {
60
- if (value || inFocus) {
61
- return label;
62
- } else {
63
- return undefined;
64
- }
65
- } else {
66
- return label;
67
- }
68
- }, [inFocus, label, value, useModernStyles]);
69
- var paddingOptions = (0, _react.useMemo)(function () {
70
- if ((value || inFocus) && useModernStyles && inputLabel) {
71
- return _constants.MODERN_STYLE_SIZE_PARAMS_MAP[size];
72
- } else {
73
- return _constants.SIZE_PARAMS_MAP[size];
74
- }
75
- }, [value, inFocus, useModernStyles, size, inputLabel]);
76
- var modernInputPlaceholder = (0, _react.useMemo)(function () {
77
- return placeholder || label;
78
- }, [label, placeholder]);
79
- var isModernPlaceholderVisible = (0, _react.useMemo)(function () {
80
- return !inFocus && !value;
81
- }, [inFocus, value]);
82
69
  return /*#__PURE__*/_react["default"].createElement(_InputLabel.InputLabel, {
83
70
  inFocus: inFocus,
84
71
  label: inputLabel,
@@ -86,12 +73,7 @@ var TextInput = exports.TextInput = /*#__PURE__*/_react["default"].forwardRef(fu
86
73
  required: required,
87
74
  size: size,
88
75
  useModernStyles: useModernStyles
89
- }, /*#__PURE__*/_react["default"].createElement(S.InputLabelContent, null, useModernStyles && modernInputPlaceholder && /*#__PURE__*/_react["default"].createElement(_ModernPlaceholder.ModernPlaceholder, {
90
- visible: isModernPlaceholderVisible,
91
- paddingTop: _constants.SIZE_PARAMS_MAP[size].paddingTop,
92
- size: size,
93
- required: required
94
- }, modernInputPlaceholder), /*#__PURE__*/_react["default"].createElement(_PureInput.PureInput, _extends({
76
+ }, /*#__PURE__*/_react["default"].createElement(S.InputLabelContent, null, modernPlaceholder, /*#__PURE__*/_react["default"].createElement(_PureInput.PureInput, _extends({
95
77
  id: id,
96
78
  ref: ref,
97
79
  name: name,
@@ -113,6 +95,6 @@ var TextInput = exports.TextInput = /*#__PURE__*/_react["default"].forwardRef(fu
113
95
  inputMode: inputMode,
114
96
  readOnly: readOnly,
115
97
  autoComplete: autoComplete
116
- }, paddingOptions)), children && /*#__PURE__*/_react["default"].createElement(S.ChildrenWrapper, null, children)));
98
+ }, paddingAndVariantOptions)), children && /*#__PURE__*/_react["default"].createElement(S.ChildrenWrapper, null, children)));
117
99
  });
118
100
  TextInput.displayName = 'TextInput';
@@ -0,0 +1,23 @@
1
+ import { TSizes } from '../constants';
2
+ type TParams = {
3
+ inFocus: boolean;
4
+ size: TSizes;
5
+ isHaveValue: boolean;
6
+ useModernStyles?: boolean;
7
+ label?: string;
8
+ placeholder?: string;
9
+ required?: boolean;
10
+ conditionHideModernPlaceholder?: boolean;
11
+ };
12
+ export declare const useInputStyles: ({ inFocus, useModernStyles, label, size, placeholder, isHaveValue, required, conditionHideModernPlaceholder, }: TParams) => {
13
+ inputLabel: string | undefined;
14
+ paddingAndVariantOptions: {
15
+ paddingTop: number;
16
+ paddingBottom: number;
17
+ variant: "headline1" | "headline2" | "headline3" | "headline4" | "headline5" | "headline6" | "headerText" | "buttonL" | "bodyL" | "bodyLUnderlined" | "buttonM" | "bodyMRegular" | "bodyMBold" | "bodyMUnderlined" | "captionRegular" | "labelsHintsRegular" | "labelsHintsBold" | "captionSRegular" | "captionUnderlined" | "smallMedium" | "labelsAndHints";
18
+ };
19
+ modernInputPlaceholder: string | undefined;
20
+ isHideModernPlaceholder: boolean;
21
+ modernPlaceholder: false | "" | import("react/jsx-runtime").JSX.Element | undefined;
22
+ };
23
+ export {};
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useInputStyles = void 0;
7
+ var _constants = require("../constants");
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _ModernPlaceholder = require("../ModernPlaceholder");
10
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
11
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
12
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
13
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
14
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
15
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
16
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
17
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
18
+ var useInputStyles = exports.useInputStyles = function useInputStyles(_ref) {
19
+ var inFocus = _ref.inFocus,
20
+ useModernStyles = _ref.useModernStyles,
21
+ label = _ref.label,
22
+ size = _ref.size,
23
+ placeholder = _ref.placeholder,
24
+ isHaveValue = _ref.isHaveValue,
25
+ required = _ref.required,
26
+ _ref$conditionHideMod = _ref.conditionHideModernPlaceholder,
27
+ conditionHideModernPlaceholder = _ref$conditionHideMod === void 0 ? false : _ref$conditionHideMod;
28
+ var isHideModernPlaceholder = isHaveValue || inFocus || conditionHideModernPlaceholder;
29
+ var inputLabel = (0, _react.useMemo)(function () {
30
+ if (useModernStyles) {
31
+ return isHideModernPlaceholder ? label : undefined;
32
+ } else {
33
+ return label;
34
+ }
35
+ }, [useModernStyles, isHideModernPlaceholder, label]);
36
+ var paddingAndVariantOptions = (0, _react.useMemo)(function () {
37
+ if (useModernStyles) {
38
+ if (isHideModernPlaceholder) {
39
+ return _constants.MODERN_STYLE_SIZE_PARAMS_MAP[size];
40
+ } else {
41
+ return _objectSpread(_objectSpread({}, _constants.MODERN_STYLE_SIZE_PARAMS_MAP[size]), {}, {
42
+ paddingTop: _constants.MODERN_STYLE_SIZE_PARAMS_MAP[size].$placeholderPaddingTop,
43
+ paddingBottom: _constants.MODERN_STYLE_SIZE_PARAMS_MAP[size].$placeholderPaddingTop
44
+ });
45
+ }
46
+ } else {
47
+ return _constants.SIZE_PARAMS_MAP[size];
48
+ }
49
+ }, [useModernStyles, isHideModernPlaceholder, size]);
50
+ var modernInputPlaceholder = (0, _react.useMemo)(function () {
51
+ return placeholder || label;
52
+ }, [label, placeholder]);
53
+ var modernPlaceholder = useModernStyles && modernInputPlaceholder && /*#__PURE__*/_react["default"].createElement(_ModernPlaceholder.ModernPlaceholder, {
54
+ visible: !isHideModernPlaceholder,
55
+ paddingTop: _constants.MODERN_STYLE_SIZE_PARAMS_MAP[size].$placeholderPaddingTop,
56
+ size: size,
57
+ required: required
58
+ }, modernInputPlaceholder);
59
+ return {
60
+ inputLabel: inputLabel,
61
+ paddingAndVariantOptions: paddingAndVariantOptions,
62
+ modernInputPlaceholder: modernInputPlaceholder,
63
+ isHideModernPlaceholder: isHideModernPlaceholder,
64
+ modernPlaceholder: modernPlaceholder
65
+ };
66
+ };
@@ -11,4 +11,5 @@ export declare const MODERN_STYLE_SIZE_PARAMS_MAP: Record<TSizes, {
11
11
  variant: keyof typeof typography;
12
12
  $labelVariant: keyof typeof typography;
13
13
  $labelPaddingTop: number;
14
+ $placeholderPaddingTop: number;
14
15
  }>;
@@ -23,24 +23,27 @@ var SIZE_PARAMS_MAP = exports.SIZE_PARAMS_MAP = {
23
23
  };
24
24
  var MODERN_STYLE_SIZE_PARAMS_MAP = exports.MODERN_STYLE_SIZE_PARAMS_MAP = {
25
25
  L: {
26
- paddingTop: 20,
27
- paddingBottom: 12,
28
- variant: 'bodyMRegular',
29
- $labelVariant: 'captionRegular',
30
- $labelPaddingTop: 14
26
+ paddingTop: 24,
27
+ paddingBottom: 8,
28
+ variant: 'headline5',
29
+ $labelVariant: 'labelsHintsRegular',
30
+ $labelPaddingTop: 8,
31
+ $placeholderPaddingTop: 16
31
32
  },
32
33
  M: {
33
34
  paddingTop: 20,
34
- paddingBottom: 6,
35
- variant: 'bodyMRegular',
36
- $labelVariant: 'captionRegular',
37
- $labelPaddingTop: 12
35
+ paddingBottom: 4,
36
+ variant: 'bodyL',
37
+ $labelVariant: 'labelsHintsRegular',
38
+ $labelPaddingTop: 4,
39
+ $placeholderPaddingTop: 12
38
40
  },
39
41
  XS: {
40
- paddingTop: 16,
41
- paddingBottom: 4,
42
- variant: 'labelsHintsRegular',
43
- $labelVariant: 'captionSRegular',
44
- $labelPaddingTop: 12
42
+ paddingTop: 6,
43
+ paddingBottom: 6,
44
+ variant: 'headline5',
45
+ $labelVariant: 'labelsHintsRegular',
46
+ $labelPaddingTop: -18,
47
+ $placeholderPaddingTop: 6
45
48
  }
46
49
  };
@@ -5,7 +5,7 @@ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r)
5
5
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
6
6
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
7
7
  function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
8
- import React, { forwardRef, useCallback, useEffect, useId, useMemo, useRef, useState } from 'react';
8
+ import React, { forwardRef, useCallback, useEffect, useId, useRef, useState } from 'react';
9
9
  import * as S from './styles';
10
10
  import { AutocompleteDefaultOption } from '../AutocompleteDefaultOption';
11
11
  import { Skeleton } from '../../../../common/Skeleton';
@@ -16,10 +16,11 @@ import { InputLabel } from '../../../InputLabel';
16
16
  import { PureInput } from '../../../PureInput';
17
17
  import { Dropdown } from '../../../../common/Dropdown';
18
18
  import { Scrollbar } from '../../../../common/Scrollbar';
19
- import { MODERN_STYLE_SIZE_PARAMS_MAP, SIZE_PARAMS_MAP } from '../../../constants';
19
+ import { MODERN_STYLE_SIZE_PARAMS_MAP } from '../../../constants';
20
20
  import { useComponentPalette } from '../../../../../palette';
21
- import { ModernPlaceholder } from '../../../ModernPlaceholder';
22
21
  import { LABEL_PADDING } from '../../../InputLabel/constants';
22
+ import { useInputStyles } from '../../../_hooks/useInputStyles';
23
+ import { ModernPlaceholder } from '../../../ModernPlaceholder';
23
24
  var DefaultSkeletonItem = function DefaultSkeletonItem() {
24
25
  return /*#__PURE__*/React.createElement(S.DefaultSkeletonWrapper, null, /*#__PURE__*/React.createElement(Skeleton, {
25
26
  height: "20px"
@@ -81,6 +82,19 @@ export var Autocomplete = /*#__PURE__*/forwardRef(function (_ref, ref) {
81
82
  inFocus = _useInputFocus.inFocus,
82
83
  handleFocus = _useInputFocus.handleFocus,
83
84
  handleBlur = _useInputFocus.handleBlur;
85
+ var _useInputStyles = useInputStyles({
86
+ isHaveValue: !!value,
87
+ useModernStyles: useModernStyles,
88
+ size: size,
89
+ label: label,
90
+ inFocus: inFocus,
91
+ placeholder: placeholder,
92
+ required: required
93
+ }),
94
+ inputLabel = _useInputStyles.inputLabel,
95
+ paddingAndVariantOptions = _useInputStyles.paddingAndVariantOptions,
96
+ isHideModernPlaceholder = _useInputStyles.isHideModernPlaceholder,
97
+ modernInputPlaceholder = _useInputStyles.modernInputPlaceholder;
84
98
  var handleOpen = useCallback(function () {
85
99
  return setIsOpen(true);
86
100
  }, []);
@@ -105,30 +119,6 @@ export var Autocomplete = /*#__PURE__*/forwardRef(function (_ref, ref) {
105
119
  handleOpen();
106
120
  handleFocus(event);
107
121
  }, [handleOpen, handleFocus]);
108
- var inputLabel = useMemo(function () {
109
- if (useModernStyles) {
110
- if (value || isOpen) {
111
- return label;
112
- } else {
113
- return undefined;
114
- }
115
- } else {
116
- return label;
117
- }
118
- }, [isOpen, label, value, useModernStyles]);
119
- var paddingOptions = useMemo(function () {
120
- if ((value || isOpen) && useModernStyles && inputLabel) {
121
- return MODERN_STYLE_SIZE_PARAMS_MAP[size];
122
- } else {
123
- return SIZE_PARAMS_MAP[size];
124
- }
125
- }, [value, isOpen, useModernStyles, size, inputLabel]);
126
- var modernInputPlaceholder = useMemo(function () {
127
- return placeholder || label;
128
- }, [label, placeholder]);
129
- var isModernPlaceholderVisible = useMemo(function () {
130
- return !isOpen && !value;
131
- }, [isOpen, value]);
132
122
  var isDropdownOpen = !isDropdownDisabled && isOpen && (!!options.length || !!isLoading);
133
123
  // Скелетоны показываем ТОЛЬКО когда опций ещё нет (первая загрузка). При повторных запросах
134
124
  // (ввод символов) держим прежние опции — иначе лоадер мерцает на каждое изменение.
@@ -192,9 +182,9 @@ export var Autocomplete = /*#__PURE__*/forwardRef(function (_ref, ref) {
192
182
  size: size,
193
183
  left: useModernStyles && typeof inputPaddingLeft === 'number' ? inputPaddingLeft - LABEL_PADDING : undefined
194
184
  }, /*#__PURE__*/React.createElement(S.InputLabelContent, null, children ? /*#__PURE__*/React.createElement(S.ChildrenWrapper, null, children) : null, useModernStyles && modernInputPlaceholder && /*#__PURE__*/React.createElement(ModernPlaceholder, {
195
- visible: isModernPlaceholderVisible,
185
+ visible: !isHideModernPlaceholder,
196
186
  paddingLeft: typeof inputPaddingLeft === 'number' ? inputPaddingLeft : 20,
197
- paddingTop: SIZE_PARAMS_MAP[size].paddingTop,
187
+ paddingTop: MODERN_STYLE_SIZE_PARAMS_MAP[size].$placeholderPaddingTop,
198
188
  size: size,
199
189
  required: required
200
190
  }, modernInputPlaceholder), /*#__PURE__*/React.createElement(PureInput, _extends({
@@ -220,7 +210,7 @@ export var Autocomplete = /*#__PURE__*/forwardRef(function (_ref, ref) {
220
210
  "aria-controls": isDropdownOpen ? listboxId : undefined,
221
211
  "aria-autocomplete": "list",
222
212
  "aria-activedescendant": isDropdownOpen && activeIndex >= 0 ? getOptionId(activeIndex) : undefined
223
- }, paddingOptions)))), /*#__PURE__*/React.createElement(Dropdown, {
213
+ }, paddingAndVariantOptions)))), /*#__PURE__*/React.createElement(Dropdown, {
224
214
  ref: dropdownRef,
225
215
  isOpen: isOpen && (!!options.length || !!isLoading),
226
216
  isAutoPosition: true,