@invoicebox/ui 0.1.0-alpha.212 → 0.1.0-alpha.215

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,13 +5,18 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.Drawer = void 0;
8
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
9
  var S = _interopRequireWildcard(require("./styles"));
10
10
  var _Typography = require("../Typography");
11
11
  var _palette = require("../../../palette");
12
12
  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); }
13
13
  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; }
14
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
14
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
15
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
16
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
17
+ 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; }
18
+ 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; } }
19
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
15
20
  var Drawer = exports.Drawer = function Drawer(_ref) {
16
21
  var isOpen = _ref.isOpen,
17
22
  children = _ref.children,
@@ -24,7 +29,25 @@ var Drawer = exports.Drawer = function Drawer(_ref) {
24
29
  overflow = _ref.overflow,
25
30
  borderColor = _ref.borderColor;
26
31
  var palette = (0, _palette.useComponentPalette)('drawer');
27
- if (!isOpen) return null;
32
+ var _useState = (0, _react.useState)(false),
33
+ _useState2 = _slicedToArray(_useState, 2),
34
+ shouldRender = _useState2[0],
35
+ setShouldRender = _useState2[1];
36
+
37
+ // delay for close drawer and unmount
38
+ (0, _react.useEffect)(function () {
39
+ if (isOpen) {
40
+ setShouldRender(true);
41
+ } else {
42
+ var timer = setTimeout(function () {
43
+ return setShouldRender(false);
44
+ }, 300);
45
+ return function () {
46
+ return clearTimeout(timer);
47
+ };
48
+ }
49
+ }, [isOpen]);
50
+ if (!shouldRender) return null;
28
51
  return /*#__PURE__*/_react["default"].createElement(S.BottomSheet, {
29
52
  open: isOpen,
30
53
  onDismiss: onClose,
@@ -28,17 +28,31 @@ var meta = {
28
28
  tags: ['autodocs']
29
29
  };
30
30
  var _default = exports["default"] = meta;
31
- function Render(args) {
32
- var _useState = (0, _react.useState)(false),
31
+ var Counter = function Counter() {
32
+ var _useState = (0, _react.useState)(0),
33
33
  _useState2 = _slicedToArray(_useState, 2),
34
- isOpen = _useState2[0],
35
- setIsOpen = _useState2[1];
34
+ count = _useState2[0],
35
+ setCount = _useState2[1];
36
+ return /*#__PURE__*/_react["default"].createElement("div", null, count, /*#__PURE__*/_react["default"].createElement("button", {
37
+ type: 'button',
38
+ onClick: function onClick() {
39
+ return setCount(function (prevState) {
40
+ return prevState + 1;
41
+ });
42
+ }
43
+ }, "Increment"));
44
+ };
45
+ function Render(args) {
46
+ var _useState3 = (0, _react.useState)(false),
47
+ _useState4 = _slicedToArray(_useState3, 2),
48
+ isOpen = _useState4[0],
49
+ setIsOpen = _useState4[1];
36
50
  return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_.Drawer, _extends({}, args, {
37
51
  onClose: function onClose() {
38
52
  return setIsOpen(false);
39
53
  },
40
54
  isOpen: isOpen
41
- })), /*#__PURE__*/_react["default"].createElement("button", {
55
+ }), "Content", /*#__PURE__*/_react["default"].createElement(Counter, null)), /*#__PURE__*/_react["default"].createElement("button", {
42
56
  type: 'button',
43
57
  onClick: function onClick() {
44
58
  return setIsOpen(true);
@@ -2,6 +2,7 @@ import { FC, ReactNode } from 'react';
2
2
  export type TProps = {
3
3
  disabled?: boolean;
4
4
  label?: string;
5
+ required?: boolean;
5
6
  inFocus?: boolean;
6
7
  children: ReactNode;
7
8
  };
@@ -17,7 +17,9 @@ var InputLabel = exports.InputLabel = function InputLabel(_ref) {
17
17
  label = _ref.label,
18
18
  _ref$inFocus = _ref.inFocus,
19
19
  inFocus = _ref$inFocus === void 0 ? false : _ref$inFocus,
20
- children = _ref.children;
20
+ children = _ref.children,
21
+ _ref$required = _ref.required,
22
+ required = _ref$required === void 0 ? false : _ref$required;
21
23
  var palette = (0, _palette.useComponentPalette)('inputLabel');
22
24
  return /*#__PURE__*/_react["default"].createElement(S.Wrapper, {
23
25
  $palette: palette,
@@ -26,6 +28,7 @@ var InputLabel = exports.InputLabel = function InputLabel(_ref) {
26
28
  }, label && /*#__PURE__*/_react["default"].createElement(S.Label, {
27
29
  $palette: palette,
28
30
  $inFocus: inFocus,
29
- variant: "captionRegular"
31
+ variant: "captionRegular",
32
+ $required: required
30
33
  }, label), children);
31
34
  };
@@ -3,5 +3,6 @@ export type TInputLabelPalette = {
3
3
  bg: string;
4
4
  text: string;
5
5
  textHighlight: string;
6
+ error: string;
6
7
  };
7
8
  export declare const generateInputLabelPalette: (abstractPalette: TAbstractPalette) => TInputLabelPalette;
@@ -8,6 +8,7 @@ var generateInputLabelPalette = exports.generateInputLabelPalette = function gen
8
8
  return {
9
9
  bg: abstractPalette.base,
10
10
  text: abstractPalette.neutralBrutal,
11
- textHighlight: abstractPalette.primary
11
+ textHighlight: abstractPalette.primary,
12
+ error: abstractPalette.error
12
13
  };
13
14
  };
@@ -3,6 +3,7 @@ import { TInputLabelPalette } from './palette';
3
3
  export declare const Label: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("../../common/Typography").TTypographyProps & import("styled-components/dist/types").BaseObject, {
4
4
  $inFocus: boolean;
5
5
  $palette: TInputLabelPalette;
6
+ $required?: boolean | undefined;
6
7
  }>> & string & Omit<import("react").FC<import("../../common/Typography").TTypographyProps>, keyof import("react").Component<any, {}, any>>;
7
8
  export declare const Wrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
8
9
  $disabled: boolean;
@@ -12,25 +12,31 @@ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e;
12
12
  var Label = exports.Label = (0, _styledComponents["default"])(_Typography.Typography).withConfig({
13
13
  displayName: "styles__Label",
14
14
  componentId: "sc-1prrc3p-0"
15
- })(["border-radius:10px;position:absolute;top:0;left:10px;background-color:", ";padding:0 10px;z-index:2;transition:color 0.2s ease-in-out 0s;color:", ";"], function (_ref) {
15
+ })(["border-radius:10px;position:absolute;top:0;left:10px;background-color:", ";padding:0 10px;z-index:2;transition:color 0.2s ease-in-out 0s;color:", ";", ""], function (_ref) {
16
16
  var $palette = _ref.$palette;
17
17
  return $palette.bg;
18
18
  }, function (_ref2) {
19
19
  var $inFocus = _ref2.$inFocus,
20
20
  $palette = _ref2.$palette;
21
21
  return $inFocus ? $palette.textHighlight : $palette.text;
22
+ }, function (_ref3) {
23
+ var $required = _ref3.$required,
24
+ $palette = _ref3.$palette;
25
+ return $required && (0, _styledComponents.css)(["&::after{content:\" *\";color:", ";"], function () {
26
+ return $palette.error;
27
+ });
22
28
  });
23
29
  var Wrapper = exports.Wrapper = _styledComponents["default"].div.withConfig({
24
30
  displayName: "styles__Wrapper",
25
31
  componentId: "sc-1prrc3p-1"
26
- })(["position:relative;padding-top:", "px;width:100%;opacity:", ";&:hover ", "{", ";}"], function (_ref3) {
27
- var $isLabel = _ref3.$isLabel;
32
+ })(["position:relative;padding-top:", "px;width:100%;opacity:", ";&:hover ", "{", ";}"], function (_ref4) {
33
+ var $isLabel = _ref4.$isLabel;
28
34
  return $isLabel ? 10 : 0;
29
- }, function (_ref4) {
30
- var $disabled = _ref4.$disabled;
35
+ }, function (_ref5) {
36
+ var $disabled = _ref5.$disabled;
31
37
  return $disabled ? 0.5 : 1;
32
- }, Label, function (_ref5) {
33
- var $disabled = _ref5.$disabled,
34
- $palette = _ref5.$palette;
38
+ }, Label, function (_ref6) {
39
+ var $disabled = _ref6.$disabled,
40
+ $palette = _ref6.$palette;
35
41
  return !$disabled && (0, _styledComponents.css)(["color:", ";"], $palette.textHighlight);
36
42
  });
@@ -3,11 +3,11 @@ import { TProps as TInputLabelProps } from '../../../InputLabel';
3
3
  import { TProps as TPureInputProps } from '../../../PureInput';
4
4
  import { TProps as TArrowProps } from '../../../../common/Arrow';
5
5
  import { TSizes } from '../../../constants';
6
- export type TProps = Pick<TInputLabelProps, 'inFocus' | 'label'> & Pick<TPureInputProps, 'hasError' | 'placeholder' | 'name' | 'onFocus' | 'onBlur' | 'value' | 'onClick'> & Pick<TArrowProps, 'isOpen'> & {
6
+ export type TProps = Pick<TInputLabelProps, 'inFocus' | 'label' | 'required'> & Pick<TPureInputProps, 'hasError' | 'placeholder' | 'name' | 'onFocus' | 'onBlur' | 'value' | 'onClick'> & Pick<TArrowProps, 'isOpen'> & {
7
7
  onReset?: () => void;
8
8
  size?: TSizes;
9
9
  };
10
- export declare const Input: React.ForwardRefExoticComponent<Pick<TInputLabelProps, "label" | "inFocus"> & Pick<TPureInputProps, "name" | "value" | "placeholder" | "onFocus" | "onBlur" | "onClick" | "hasError"> & Pick<TArrowProps, "isOpen"> & {
10
+ export declare const Input: React.ForwardRefExoticComponent<Pick<TInputLabelProps, "required" | "label" | "inFocus"> & Pick<TPureInputProps, "name" | "value" | "placeholder" | "onFocus" | "onBlur" | "onClick" | "hasError"> & Pick<TArrowProps, "isOpen"> & {
11
11
  onReset?: (() => void) | undefined;
12
12
  size?: TSizes | undefined;
13
13
  } & React.RefAttributes<HTMLInputElement>>;
@@ -28,11 +28,13 @@ var Input = exports.Input = /*#__PURE__*/(0, _react.forwardRef)(function (_ref,
28
28
  onReset = _ref.onReset,
29
29
  _ref$size = _ref.size,
30
30
  size = _ref$size === void 0 ? 'M' : _ref$size,
31
- onClick = _ref.onClick;
31
+ onClick = _ref.onClick,
32
+ required = _ref.required;
32
33
  var isShowResetIcon = !!value && !!onReset;
33
34
  return /*#__PURE__*/_react["default"].createElement(_InputLabel.InputLabel, {
34
35
  inFocus: inFocus,
35
- label: label
36
+ label: label,
37
+ required: required
36
38
  }, /*#__PURE__*/_react["default"].createElement(S.ControlWrapper, null, /*#__PURE__*/_react["default"].createElement(_PureInput.PureInput, _extends({
37
39
  ref: ref,
38
40
  hasError: hasError,
@@ -11,7 +11,7 @@ export type TGroup = {
11
11
  id: string;
12
12
  entity?: unknown;
13
13
  };
14
- export type TProps<TValue> = Pick<TInputProps, 'label' | 'hasError' | 'placeholder' | 'name' | 'size' | 'onBlur'> & {
14
+ export type TProps<TValue> = Pick<TInputProps, 'label' | 'hasError' | 'placeholder' | 'name' | 'size' | 'onBlur' | 'required'> & {
15
15
  value: TValue | null;
16
16
  onChange: (value: TValue | null) => void;
17
17
  options: TOption<TValue>[];
@@ -25,5 +25,6 @@ export type TProps<TValue> = Pick<TInputProps, 'label' | 'hasError' | 'placehold
25
25
  scrollbarMaxHeight?: number;
26
26
  emptyOptionsLabel?: string;
27
27
  isLoading?: boolean;
28
+ required?: boolean;
28
29
  };
29
- export declare const Select: <TValue extends string | number>({ label, hasError, placeholder, name, value, onChange, options, groups, isResetButtonEnabled, size, renderOption, dropdownHeader, isDrawerOptions, renderGroup, scrollbarMaxHeight, scrollbarHeader, emptyOptionsLabel, isLoading, onBlur, }: TProps<TValue>) => import("react/jsx-runtime").JSX.Element;
30
+ export declare const Select: <TValue extends string | number>({ label, hasError, placeholder, name, value, onChange, options, groups, isResetButtonEnabled, size, renderOption, dropdownHeader, isDrawerOptions, renderGroup, scrollbarMaxHeight, scrollbarHeader, emptyOptionsLabel, isLoading, onBlur, required, }: TProps<TValue>) => import("react/jsx-runtime").JSX.Element;
@@ -50,7 +50,8 @@ var Select = exports.Select = function Select(_ref) {
50
50
  scrollbarHeader = _ref.scrollbarHeader,
51
51
  emptyOptionsLabel = _ref.emptyOptionsLabel,
52
52
  isLoading = _ref.isLoading,
53
- onBlur = _ref.onBlur;
53
+ onBlur = _ref.onBlur,
54
+ required = _ref.required;
54
55
  var palette = (0, _palette.useComponentPalette)('select');
55
56
  var _useInputFocus = (0, _useInputFocus2.useInputFocus)({
56
57
  onBlur: onBlur
@@ -207,7 +208,8 @@ var Select = exports.Select = function Select(_ref) {
207
208
  isOpen: isOpen,
208
209
  onReset: isResetButtonEnabled ? handleReset : undefined,
209
210
  size: size,
210
- onClick: isDrawerOptions ? handleInputClick : undefined
211
+ onClick: isDrawerOptions ? handleInputClick : undefined,
212
+ required: required
211
213
  })), isDrawerOptions ? /*#__PURE__*/_react["default"].createElement(_Drawer.Drawer, {
212
214
  onClose: handleHide,
213
215
  isOpen: isOpen,
@@ -2,12 +2,13 @@ import { FC, ReactNode } from 'react';
2
2
  import { TProps as TInputLabelProps } from '../InputLabel';
3
3
  import { TProps as TPureInputProps } from '../PureInput';
4
4
  import { TSizes } from '../constants';
5
- export type TProps = Pick<TInputLabelProps, 'label'> & Pick<TPureInputProps, 'placeholder' | 'hasError' | 'onFocus' | 'onBlur' | 'disabled' | 'name' | 'paddingRight' | 'type' | 'isOnlyNumbers' | 'autoFocus' | 'rows'> & {
5
+ export type TProps = Pick<TInputLabelProps, 'label' | 'required'> & Pick<TPureInputProps, 'placeholder' | 'hasError' | 'onFocus' | 'onBlur' | 'disabled' | 'name' | 'paddingRight' | 'type' | 'isOnlyNumbers' | 'autoFocus' | 'rows'> & {
6
6
  value: string;
7
7
  onChange: (value: string) => void;
8
8
  maxLength?: number;
9
9
  size?: TSizes;
10
10
  children?: ReactNode;
11
11
  element?: 'input' | 'textarea';
12
+ required?: boolean;
12
13
  };
13
14
  export declare const TextInput: FC<TProps>;
@@ -35,7 +35,9 @@ var TextInput = exports.TextInput = function TextInput(_ref) {
35
35
  autoFocus = _ref.autoFocus,
36
36
  _ref$element = _ref.element,
37
37
  element = _ref$element === void 0 ? 'input' : _ref$element,
38
- rows = _ref.rows;
38
+ rows = _ref.rows,
39
+ _ref$required = _ref.required,
40
+ required = _ref$required === void 0 ? false : _ref$required;
39
41
  var _useInputFocus = (0, _useInputFocus2.useInputFocus)({
40
42
  onFocus: onFocus,
41
43
  onBlur: onBlur
@@ -49,7 +51,8 @@ var TextInput = exports.TextInput = function TextInput(_ref) {
49
51
  return /*#__PURE__*/_react["default"].createElement(_InputLabel.InputLabel, {
50
52
  inFocus: inFocus,
51
53
  label: label,
52
- disabled: disabled
54
+ disabled: disabled,
55
+ required: required
53
56
  }, /*#__PURE__*/_react["default"].createElement(S.InputLabelContent, null, /*#__PURE__*/_react["default"].createElement(_PureInput.PureInput, _extends({
54
57
  name: name,
55
58
  disabled: disabled,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@invoicebox/ui",
3
- "version": "0.1.0-alpha.212",
3
+ "version": "0.1.0-alpha.215",
4
4
  "description": "Invoicebox UI",
5
5
  "license": "Apache License 2.0",
6
6
  "scripts": {