@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
@@ -3,8 +3,8 @@ export var IconWrapper = styled.span.withConfig({
3
3
  displayName: "styles__IconWrapper",
4
4
  componentId: "sc-1cx3n6g-0"
5
5
  })(["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) {
6
- var $wideBottomSpacing = _ref.$wideBottomSpacing;
7
- return $wideBottomSpacing ? "calc(50% - 5px)" : '50%';
6
+ var $useModernStyles = _ref.$useModernStyles;
7
+ return !$useModernStyles ? "calc(50% - 5px)" : '50%';
8
8
  }, function (_ref2) {
9
9
  var $inFocus = _ref2.$inFocus;
10
10
  return $inFocus ? 1 : 0.5;
@@ -1,15 +1,15 @@
1
1
  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); }
2
- import React, { forwardRef, useMemo } from 'react';
2
+ import React, { forwardRef } from 'react';
3
3
  import * as S from './styles';
4
4
  import { InputLabel } from '../../../InputLabel';
5
5
  import { PureInput } from '../../../PureInput';
6
6
  import { Arrow } from '../../../../common/Arrow';
7
7
  import { ResetButton } from '../../../ResetButton';
8
- import { MODERN_STYLE_SIZE_PARAMS_MAP, SIZE_PARAMS_MAP } from '../../../constants';
9
- import { ModernPlaceholder } from '../../../ModernPlaceholder';
8
+ import { useInputStyles } from '../../../_hooks/useInputStyles';
10
9
  export var Input = /*#__PURE__*/forwardRef(function (_ref, ref) {
11
10
  var hasError = _ref.hasError,
12
- inFocus = _ref.inFocus,
11
+ _ref$inFocus = _ref.inFocus,
12
+ inFocus = _ref$inFocus === void 0 ? false : _ref$inFocus,
13
13
  placeholder = _ref.placeholder,
14
14
  onFocus = _ref.onFocus,
15
15
  onBlur = _ref.onBlur,
@@ -25,43 +25,26 @@ export var Input = /*#__PURE__*/forwardRef(function (_ref, ref) {
25
25
  required = _ref.required,
26
26
  _ref$useModernStyles = _ref.useModernStyles,
27
27
  useModernStyles = _ref$useModernStyles === void 0 ? false : _ref$useModernStyles;
28
- var inputLabel = useMemo(function () {
29
- if (useModernStyles) {
30
- if (value || inFocus) {
31
- return label;
32
- } else {
33
- return undefined;
34
- }
35
- } else {
36
- return label;
37
- }
38
- }, [inFocus, label, value, useModernStyles]);
28
+ var _useInputStyles = useInputStyles({
29
+ isHaveValue: !!value,
30
+ useModernStyles: useModernStyles,
31
+ size: size,
32
+ label: label,
33
+ inFocus: inFocus,
34
+ placeholder: placeholder,
35
+ required: required
36
+ }),
37
+ inputLabel = _useInputStyles.inputLabel,
38
+ paddingAndVariantOptions = _useInputStyles.paddingAndVariantOptions,
39
+ modernPlaceholder = _useInputStyles.modernPlaceholder;
39
40
  var isShowResetIcon = !!value && !!onReset;
40
- var isModernPlaceholderVisible = useMemo(function () {
41
- return useModernStyles && !isOpen && !value;
42
- }, [isOpen, useModernStyles, value]);
43
- var modernInputPlaceholder = useMemo(function () {
44
- return placeholder || label;
45
- }, [label, placeholder]);
46
- var paddingOptions = useMemo(function () {
47
- if ((value || isOpen) && useModernStyles && label) {
48
- return MODERN_STYLE_SIZE_PARAMS_MAP[size];
49
- } else {
50
- return SIZE_PARAMS_MAP[size];
51
- }
52
- }, [value, isOpen, useModernStyles, size, label]);
53
41
  return /*#__PURE__*/React.createElement(InputLabel, {
54
42
  inFocus: inFocus,
55
43
  label: inputLabel,
56
44
  required: required,
57
45
  useModernStyles: useModernStyles,
58
46
  size: size
59
- }, /*#__PURE__*/React.createElement(S.ControlWrapper, null, useModernStyles && modernInputPlaceholder && /*#__PURE__*/React.createElement(ModernPlaceholder, {
60
- visible: isModernPlaceholderVisible,
61
- paddingTop: SIZE_PARAMS_MAP[size !== null && size !== void 0 ? size : 'M'].paddingTop,
62
- size: size !== null && size !== void 0 ? size : 'M',
63
- required: required
64
- }, modernInputPlaceholder), /*#__PURE__*/React.createElement(PureInput, _extends({
47
+ }, /*#__PURE__*/React.createElement(S.ControlWrapper, null, modernPlaceholder, /*#__PURE__*/React.createElement(PureInput, _extends({
65
48
  ref: ref,
66
49
  hasError: hasError,
67
50
  inFocus: inFocus,
@@ -75,7 +58,7 @@ export var Input = /*#__PURE__*/forwardRef(function (_ref, ref) {
75
58
  paddingRight: 52,
76
59
  onClick: onClick,
77
60
  useModernStyles: useModernStyles
78
- }, paddingOptions)), /*#__PURE__*/React.createElement(S.IconWrapper, {
61
+ }, paddingAndVariantOptions)), /*#__PURE__*/React.createElement(S.IconWrapper, {
79
62
  $pointerEvents: isShowResetIcon ? 'default' : 'none'
80
63
  }, isShowResetIcon ? /*#__PURE__*/React.createElement(ResetButton, {
81
64
  onClick: onReset
@@ -1,11 +1,10 @@
1
1
  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); }
2
- import React, { useCallback, useMemo } from 'react';
2
+ import React, { useCallback } from 'react';
3
3
  import * as S from './styles';
4
4
  import { InputLabel } from '../InputLabel';
5
5
  import { PureInput } from '../PureInput';
6
6
  import { useInputFocus } from '../../../hooks/useInputFocus';
7
- import { MODERN_STYLE_SIZE_PARAMS_MAP, SIZE_PARAMS_MAP } from '../constants';
8
- import { ModernPlaceholder } from '../ModernPlaceholder';
7
+ import { useInputStyles } from '../_hooks/useInputStyles';
9
8
  export var TextInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
10
9
  var _ref$hasError = _ref.hasError,
11
10
  hasError = _ref$hasError === void 0 ? false : _ref$hasError,
@@ -43,33 +42,21 @@ export var TextInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
43
42
  inFocus = _useInputFocus.inFocus,
44
43
  handleFocus = _useInputFocus.handleFocus,
45
44
  handleBlur = _useInputFocus.handleBlur;
45
+ var _useInputStyles = useInputStyles({
46
+ isHaveValue: !!value,
47
+ useModernStyles: useModernStyles,
48
+ size: size,
49
+ label: label,
50
+ inFocus: inFocus,
51
+ placeholder: placeholder,
52
+ required: required
53
+ }),
54
+ inputLabel = _useInputStyles.inputLabel,
55
+ paddingAndVariantOptions = _useInputStyles.paddingAndVariantOptions,
56
+ modernPlaceholder = _useInputStyles.modernPlaceholder;
46
57
  var handleChange = useCallback(function (event) {
47
58
  onChange(event.target.value.slice(0, maxLength !== null && maxLength !== void 0 ? maxLength : Infinity));
48
59
  }, [onChange, maxLength]);
49
- var inputLabel = useMemo(function () {
50
- if (useModernStyles) {
51
- if (value || inFocus) {
52
- return label;
53
- } else {
54
- return undefined;
55
- }
56
- } else {
57
- return label;
58
- }
59
- }, [inFocus, label, value, useModernStyles]);
60
- var paddingOptions = useMemo(function () {
61
- if ((value || inFocus) && useModernStyles && inputLabel) {
62
- return MODERN_STYLE_SIZE_PARAMS_MAP[size];
63
- } else {
64
- return SIZE_PARAMS_MAP[size];
65
- }
66
- }, [value, inFocus, useModernStyles, size, inputLabel]);
67
- var modernInputPlaceholder = useMemo(function () {
68
- return placeholder || label;
69
- }, [label, placeholder]);
70
- var isModernPlaceholderVisible = useMemo(function () {
71
- return !inFocus && !value;
72
- }, [inFocus, value]);
73
60
  return /*#__PURE__*/React.createElement(InputLabel, {
74
61
  inFocus: inFocus,
75
62
  label: inputLabel,
@@ -77,12 +64,7 @@ export var TextInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
77
64
  required: required,
78
65
  size: size,
79
66
  useModernStyles: useModernStyles
80
- }, /*#__PURE__*/React.createElement(S.InputLabelContent, null, useModernStyles && modernInputPlaceholder && /*#__PURE__*/React.createElement(ModernPlaceholder, {
81
- visible: isModernPlaceholderVisible,
82
- paddingTop: SIZE_PARAMS_MAP[size].paddingTop,
83
- size: size,
84
- required: required
85
- }, modernInputPlaceholder), /*#__PURE__*/React.createElement(PureInput, _extends({
67
+ }, /*#__PURE__*/React.createElement(S.InputLabelContent, null, modernPlaceholder, /*#__PURE__*/React.createElement(PureInput, _extends({
86
68
  id: id,
87
69
  ref: ref,
88
70
  name: name,
@@ -104,6 +86,6 @@ export var TextInput = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
104
86
  inputMode: inputMode,
105
87
  readOnly: readOnly,
106
88
  autoComplete: autoComplete
107
- }, paddingOptions)), children && /*#__PURE__*/React.createElement(S.ChildrenWrapper, null, children)));
89
+ }, paddingAndVariantOptions)), children && /*#__PURE__*/React.createElement(S.ChildrenWrapper, null, children)));
108
90
  });
109
91
  TextInput.displayName = 'TextInput';
@@ -0,0 +1,58 @@
1
+ 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); }
2
+ 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; }
3
+ 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; }
4
+ 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; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
6
+ 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); }
7
+ import { MODERN_STYLE_SIZE_PARAMS_MAP, SIZE_PARAMS_MAP } from '../constants';
8
+ import React, { useMemo } from 'react';
9
+ import { ModernPlaceholder } from '../ModernPlaceholder';
10
+ export var useInputStyles = function useInputStyles(_ref) {
11
+ var inFocus = _ref.inFocus,
12
+ useModernStyles = _ref.useModernStyles,
13
+ label = _ref.label,
14
+ size = _ref.size,
15
+ placeholder = _ref.placeholder,
16
+ isHaveValue = _ref.isHaveValue,
17
+ required = _ref.required,
18
+ _ref$conditionHideMod = _ref.conditionHideModernPlaceholder,
19
+ conditionHideModernPlaceholder = _ref$conditionHideMod === void 0 ? false : _ref$conditionHideMod;
20
+ var isHideModernPlaceholder = isHaveValue || inFocus || conditionHideModernPlaceholder;
21
+ var inputLabel = useMemo(function () {
22
+ if (useModernStyles) {
23
+ return isHideModernPlaceholder ? label : undefined;
24
+ } else {
25
+ return label;
26
+ }
27
+ }, [useModernStyles, isHideModernPlaceholder, label]);
28
+ var paddingAndVariantOptions = useMemo(function () {
29
+ if (useModernStyles) {
30
+ if (isHideModernPlaceholder) {
31
+ return MODERN_STYLE_SIZE_PARAMS_MAP[size];
32
+ } else {
33
+ return _objectSpread(_objectSpread({}, MODERN_STYLE_SIZE_PARAMS_MAP[size]), {}, {
34
+ paddingTop: MODERN_STYLE_SIZE_PARAMS_MAP[size].$placeholderPaddingTop,
35
+ paddingBottom: MODERN_STYLE_SIZE_PARAMS_MAP[size].$placeholderPaddingTop
36
+ });
37
+ }
38
+ } else {
39
+ return SIZE_PARAMS_MAP[size];
40
+ }
41
+ }, [useModernStyles, isHideModernPlaceholder, size]);
42
+ var modernInputPlaceholder = useMemo(function () {
43
+ return placeholder || label;
44
+ }, [label, placeholder]);
45
+ var modernPlaceholder = useModernStyles && modernInputPlaceholder && /*#__PURE__*/React.createElement(ModernPlaceholder, {
46
+ visible: !isHideModernPlaceholder,
47
+ paddingTop: MODERN_STYLE_SIZE_PARAMS_MAP[size].$placeholderPaddingTop,
48
+ size: size,
49
+ required: required
50
+ }, modernInputPlaceholder);
51
+ return {
52
+ inputLabel: inputLabel,
53
+ paddingAndVariantOptions: paddingAndVariantOptions,
54
+ modernInputPlaceholder: modernInputPlaceholder,
55
+ isHideModernPlaceholder: isHideModernPlaceholder,
56
+ modernPlaceholder: modernPlaceholder
57
+ };
58
+ };
@@ -17,24 +17,27 @@ export var SIZE_PARAMS_MAP = {
17
17
  };
18
18
  export var MODERN_STYLE_SIZE_PARAMS_MAP = {
19
19
  L: {
20
- paddingTop: 20,
21
- paddingBottom: 12,
22
- variant: 'bodyMRegular',
23
- $labelVariant: 'captionRegular',
24
- $labelPaddingTop: 14
20
+ paddingTop: 24,
21
+ paddingBottom: 8,
22
+ variant: 'headline5',
23
+ $labelVariant: 'labelsHintsRegular',
24
+ $labelPaddingTop: 8,
25
+ $placeholderPaddingTop: 16
25
26
  },
26
27
  M: {
27
28
  paddingTop: 20,
28
- paddingBottom: 6,
29
- variant: 'bodyMRegular',
30
- $labelVariant: 'captionRegular',
31
- $labelPaddingTop: 12
29
+ paddingBottom: 4,
30
+ variant: 'bodyL',
31
+ $labelVariant: 'labelsHintsRegular',
32
+ $labelPaddingTop: 4,
33
+ $placeholderPaddingTop: 12
32
34
  },
33
35
  XS: {
34
- paddingTop: 16,
35
- paddingBottom: 4,
36
- variant: 'labelsHintsRegular',
37
- $labelVariant: 'captionSRegular',
38
- $labelPaddingTop: 12
36
+ paddingTop: 6,
37
+ paddingBottom: 6,
38
+ variant: 'headline5',
39
+ $labelVariant: 'labelsHintsRegular',
40
+ $labelPaddingTop: -18,
41
+ $placeholderPaddingTop: 6
39
42
  }
40
43
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@invoicebox/ui",
3
- "version": "0.1.0-alpha.304",
3
+ "version": "0.1.0-alpha.306",
4
4
  "description": "Invoicebox UI",
5
5
  "license": "Apache License 2.0",
6
6
  "scripts": {