@invoicebox/ui 0.1.0-alpha.45 → 0.1.0-alpha.47

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 (35) hide show
  1. package/dist/components/common/WarningIcon/components/Icon.d.ts +6 -0
  2. package/dist/components/common/WarningIcon/components/Icon.js +22 -0
  3. package/dist/components/common/WarningIcon/index.d.ts +5 -0
  4. package/dist/components/common/WarningIcon/index.js +22 -0
  5. package/dist/components/common/WarningIcon/index.stories.d.ts +5 -0
  6. package/dist/components/common/WarningIcon/index.stories.js +14 -0
  7. package/dist/components/common/WarningIcon/palette.d.ts +5 -0
  8. package/dist/components/common/WarningIcon/palette.js +11 -0
  9. package/dist/components/common/WarningIcon/styles.d.ts +10 -0
  10. package/dist/components/common/WarningIcon/styles.js +22 -0
  11. package/dist/components/form/DateInput/components/Icon/index.d.ts +1 -0
  12. package/dist/components/form/DateInput/components/Icon/index.js +33 -0
  13. package/dist/components/form/DateInput/components/Icon/index.stories.d.ts +5 -0
  14. package/dist/components/form/DateInput/components/Icon/index.stories.js +14 -0
  15. package/dist/components/form/DateInput/index.d.ts +9 -0
  16. package/dist/components/form/DateInput/index.js +111 -0
  17. package/dist/components/form/DateInput/index.stories.d.ts +7 -0
  18. package/dist/components/form/DateInput/index.stories.js +52 -0
  19. package/dist/components/form/DateInput/logic.d.ts +10 -0
  20. package/dist/components/form/DateInput/logic.js +71 -0
  21. package/dist/components/form/DateInput/palette.d.ts +5 -0
  22. package/dist/components/form/DateInput/palette.js +11 -0
  23. package/dist/components/form/DateInput/styles.d.ts +8 -0
  24. package/dist/components/form/DateInput/styles.js +28 -0
  25. package/dist/components/form/Select/index.js +2 -2
  26. package/dist/components/form/Select/index.stories.js +5 -3
  27. package/dist/index.d.ts +4 -0
  28. package/dist/index.js +14 -0
  29. package/dist/palette/context.d.ts +4 -0
  30. package/dist/palette/context.js +5 -1
  31. package/dist/palette/provider.js +5 -1
  32. package/dist/palette/usePalette.d.ts +2 -0
  33. package/package.json +1 -1
  34. /package/dist/hooks/{useClickOutside.d.ts → useOutsideClick.d.ts} +0 -0
  35. /package/dist/hooks/{useClickOutside.js → useOutsideClick.js} +0 -0
@@ -0,0 +1,6 @@
1
+ import { FC } from 'react';
2
+ type TProps = {
3
+ className?: string;
4
+ };
5
+ export declare const Icon: FC<TProps>;
6
+ export {};
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Icon = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
9
+ var Icon = exports.Icon = function Icon(_ref) {
10
+ var className = _ref.className;
11
+ return /*#__PURE__*/_react["default"].createElement("svg", {
12
+ xmlns: "http://www.w3.org/2000/svg",
13
+ width: "20",
14
+ height: "20",
15
+ viewBox: "0 0 20 20",
16
+ fill: "none",
17
+ className: className
18
+ }, /*#__PURE__*/_react["default"].createElement("path", {
19
+ fill: "currentColor",
20
+ d: "M10 16c3.312 0 6-2.688 6-6s-2.688-6-6-6-6 2.688-6 6 2.688 6 6 6Zm-.6-9h1.2v1.2H9.4V7Zm0 2.4h1.2V13H9.4V9.4Z"
21
+ }));
22
+ };
@@ -0,0 +1,5 @@
1
+ import { FC } from 'react';
2
+ export type TProps = {
3
+ size?: number;
4
+ };
5
+ export declare const WarningIcon: FC<TProps>;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ 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); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.WarningIcon = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var S = _interopRequireWildcard(require("./styles"));
10
+ var _palette = require("../../../palette");
11
+ 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); }
12
+ 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 && Object.prototype.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; }
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
14
+ var WarningIcon = exports.WarningIcon = function WarningIcon(_ref) {
15
+ var _ref$size = _ref.size,
16
+ size = _ref$size === void 0 ? 20 : _ref$size;
17
+ var palette = (0, _palette.useComponentPalette)('warningIcon');
18
+ return /*#__PURE__*/_react["default"].createElement(S.StyledIcon, {
19
+ $palette: palette,
20
+ $size: size
21
+ });
22
+ };
@@ -0,0 +1,5 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { WarningIcon } from '.';
3
+ declare const meta: Meta<typeof WarningIcon>;
4
+ export default meta;
5
+ export declare const Default: StoryObj<typeof WarningIcon>;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.Default = void 0;
7
+ var _ = require(".");
8
+ var meta = {
9
+ title: 'common/WarningIcon',
10
+ component: _.WarningIcon,
11
+ tags: ['autodocs']
12
+ };
13
+ var _default = exports["default"] = meta;
14
+ var Default = exports.Default = {};
@@ -0,0 +1,5 @@
1
+ import { TAbstractPalette } from '../../../palette';
2
+ export type TWarningIconPalette = {
3
+ icon: string;
4
+ };
5
+ export declare const generateWarningIconPalette: (abstractPalette: TAbstractPalette) => TWarningIconPalette;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.generateWarningIconPalette = void 0;
7
+ var generateWarningIconPalette = exports.generateWarningIconPalette = function generateWarningIconPalette(abstractPalette) {
8
+ return {
9
+ icon: abstractPalette.error
10
+ };
11
+ };
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ import { TWarningIconPalette } from './palette';
3
+ export declare const StyledIcon: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<{
4
+ className?: string | undefined;
5
+ }, {
6
+ $palette: TWarningIconPalette;
7
+ $size: number;
8
+ }>> & Omit<import("react").FC<{
9
+ className?: string | undefined;
10
+ }>, keyof import("react").Component<any, {}, any>>;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.StyledIcon = void 0;
7
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
8
+ var _Icon = require("./components/Icon");
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
10
+ var StyledIcon = exports.StyledIcon = (0, _styledComponents["default"])(_Icon.Icon).withConfig({
11
+ displayName: "styles__StyledIcon",
12
+ componentId: "sc-1xelbs1-0"
13
+ })(["cursor:pointer;color:", ";width:", ";height:", ";"], function (_ref) {
14
+ var $palette = _ref.$palette;
15
+ return $palette.icon;
16
+ }, function (_ref2) {
17
+ var $size = _ref2.$size;
18
+ return "".concat($size, "px");
19
+ }, function (_ref3) {
20
+ var $size = _ref3.$size;
21
+ return "".concat($size, "px");
22
+ });
@@ -0,0 +1 @@
1
+ export declare const Icon: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ 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); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.Icon = void 0;
8
+ var React = _interopRequireWildcard(require("react"));
9
+ 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); }
10
+ 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 && Object.prototype.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; }
11
+ var Icon = exports.Icon = function Icon() {
12
+ return /*#__PURE__*/React.createElement("svg", {
13
+ xmlns: "http://www.w3.org/2000/svg",
14
+ width: 24,
15
+ height: 24,
16
+ fill: "none"
17
+ }, /*#__PURE__*/React.createElement("path", {
18
+ stroke: "currentColor",
19
+ strokeLinecap: "round",
20
+ strokeLinejoin: "round",
21
+ strokeOpacity: 0.5,
22
+ strokeWidth: 1.5,
23
+ d: "M15.703 16.33h.008M12.004 16.33h.008M8.297 16.33h.008M15.703 13.092h.008M12.004 13.092h.008M8.297 13.092h.008M4.578 9.837h14.853M15.371 3.667v2.742M8.637 3.667v2.742"
24
+ }), /*#__PURE__*/React.createElement("path", {
25
+ stroke: "currentColor",
26
+ strokeLinecap: "round",
27
+ strokeLinejoin: "round",
28
+ strokeOpacity: 0.5,
29
+ strokeWidth: 1.5,
30
+ d: "M15.532 4.982H8.476c-2.447 0-3.976 1.364-3.976 3.87v7.541c0 2.545 1.529 3.94 3.976 3.94h7.048c2.455 0 3.976-1.371 3.976-3.877V8.852c.008-2.506-1.513-3.87-3.968-3.87Z",
31
+ clipRule: "evenodd"
32
+ }));
33
+ };
@@ -0,0 +1,5 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { Icon } from '.';
3
+ declare const meta: Meta<typeof Icon>;
4
+ export default meta;
5
+ export declare const Default: StoryObj<typeof Icon>;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = exports.Default = void 0;
7
+ var _ = require(".");
8
+ var meta = {
9
+ title: 'form/DateInput/_components/Icon',
10
+ component: _.Icon,
11
+ tags: ['autodocs']
12
+ };
13
+ var _default = exports["default"] = meta;
14
+ var Default = exports.Default = {};
@@ -0,0 +1,9 @@
1
+ import { FC } from 'react';
2
+ import { TProps as TInputLabelProps } from '../InputLabel';
3
+ import { TProps as TPureInputProps } from '../PureInput';
4
+ import { TProps as TCalendarProps } from '../../common/Calendar';
5
+ export type TProps = {
6
+ value: Date | null;
7
+ onChange: (value: Date) => void;
8
+ } & Pick<TPureInputProps, 'hasError' | 'name' | 'onBlur' | 'onFocus'> & Pick<TInputLabelProps, 'label'> & Pick<TCalendarProps, 'maxDate' | 'minDate'>;
9
+ export declare const DateInput: FC<TProps>;
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+
3
+ 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); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.DateInput = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var S = _interopRequireWildcard(require("./styles"));
10
+ var _logic = require("./logic");
11
+ var _useOutsideClick = require("../../../hooks/useOutsideClick");
12
+ var _useInputFocus2 = require("../../../hooks/useInputFocus");
13
+ var _InputLabel = require("../InputLabel");
14
+ var _PureInput = require("../PureInput");
15
+ var _Dropdown = require("../../common/Dropdown");
16
+ var _Calendar = require("../../common/Calendar");
17
+ var _Icon = require("./components/Icon");
18
+ var _palette = require("../../../palette");
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); }
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 && Object.prototype.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; }
21
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
22
+ 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."); }
23
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
24
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
25
+ 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; } }
26
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
27
+ var DateInput = exports.DateInput = function DateInput(_ref) {
28
+ var onChange = _ref.onChange,
29
+ value = _ref.value,
30
+ hasError = _ref.hasError,
31
+ name = _ref.name,
32
+ onBlur = _ref.onBlur,
33
+ onFocus = _ref.onFocus,
34
+ label = _ref.label,
35
+ minDate = _ref.minDate,
36
+ maxDate = _ref.maxDate;
37
+ var palette = (0, _palette.useComponentPalette)('dateInput');
38
+ var _useState = (0, _react.useState)(false),
39
+ _useState2 = _slicedToArray(_useState, 2),
40
+ isOpen = _useState2[0],
41
+ setOpenFlag = _useState2[1];
42
+ var handleTrigger = (0, _react.useCallback)(function () {
43
+ return setOpenFlag(function (flag) {
44
+ return !flag;
45
+ });
46
+ }, []);
47
+ var handleClose = (0, _react.useCallback)(function () {
48
+ return setOpenFlag(false);
49
+ }, []);
50
+ var elRef = (0, _useOutsideClick.useOutsideClick)(handleClose);
51
+ var _useInputFocus = (0, _useInputFocus2.useInputFocus)({
52
+ onFocus: onFocus,
53
+ onBlur: onBlur
54
+ }),
55
+ inFocus = _useInputFocus.inFocus,
56
+ focusHandler = _useInputFocus.handleFocus,
57
+ blurHandler = _useInputFocus.handleBlur;
58
+ var handleFocus = (0, _react.useCallback)(function (event) {
59
+ handleClose();
60
+ focusHandler(event);
61
+ }, [focusHandler, handleClose]);
62
+ var _useState3 = (0, _react.useState)(_logic.logic.valueToString(value)),
63
+ _useState4 = _slicedToArray(_useState3, 2),
64
+ stringValue = _useState4[0],
65
+ setStringValue = _useState4[1];
66
+ var handleStringValueChange = (0, _react.useCallback)(function (event) {
67
+ setStringValue(event.target.value);
68
+ }, []);
69
+ var handleBlur = (0, _react.useCallback)(function (event) {
70
+ blurHandler(event);
71
+ var newValue = _logic.logic.stringToDate(stringValue);
72
+ if (!_logic.logic.isValid(newValue) || !_logic.logic.isBetweenMinAndMax(newValue, minDate, maxDate)) {
73
+ setStringValue(_logic.logic.valueToString(value));
74
+ return;
75
+ }
76
+ setStringValue(_logic.logic.valueToString(newValue));
77
+ onChange(newValue);
78
+ }, [blurHandler, value, stringValue, onChange, maxDate, minDate]);
79
+ var handleCalendarChange = (0, _react.useCallback)(function (newValue) {
80
+ handleClose();
81
+ setStringValue(_logic.logic.valueToString(newValue));
82
+ onChange(newValue);
83
+ }, [onChange, handleClose]);
84
+ return /*#__PURE__*/_react["default"].createElement(S.Wrapper, {
85
+ ref: elRef
86
+ }, /*#__PURE__*/_react["default"].createElement(_InputLabel.InputLabel, {
87
+ inFocus: inFocus,
88
+ label: label
89
+ }, /*#__PURE__*/_react["default"].createElement(S.InputWrapper, null, /*#__PURE__*/_react["default"].createElement(_PureInput.PureInput, {
90
+ hasError: hasError,
91
+ inFocus: inFocus,
92
+ name: name,
93
+ placeholder: _logic.logic.getPlaceholder(),
94
+ onFocus: handleFocus,
95
+ onBlur: handleBlur,
96
+ value: stringValue,
97
+ onChange: handleStringValueChange,
98
+ paddingRight: 44
99
+ }), /*#__PURE__*/_react["default"].createElement(S.Icon, {
100
+ onClick: handleTrigger,
101
+ $palette: palette
102
+ }, /*#__PURE__*/_react["default"].createElement(_Icon.Icon, null)))), /*#__PURE__*/_react["default"].createElement(_Dropdown.Dropdown, {
103
+ isOpen: isOpen,
104
+ isAutoPosition: true
105
+ }, /*#__PURE__*/_react["default"].createElement(S.Calendar, null, /*#__PURE__*/_react["default"].createElement(_Calendar.Calendar, {
106
+ value: value,
107
+ onChange: handleCalendarChange,
108
+ minDate: minDate,
109
+ maxDate: maxDate
110
+ }))));
111
+ };
@@ -0,0 +1,7 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { DateInput } from '.';
3
+ import 'react-calendar/dist/Calendar.css';
4
+ import '../../common/Calendar/index.css';
5
+ declare const meta: Meta<typeof DateInput>;
6
+ export default meta;
7
+ export declare const Default: StoryObj<typeof DateInput>;
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ 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); }
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = exports.Default = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _addonActions = require("@storybook/addon-actions");
10
+ var _ = require(".");
11
+ require("react-calendar/dist/Calendar.css");
12
+ require("../../common/Calendar/index.css");
13
+ 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); }
14
+ 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 && Object.prototype.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; }
15
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
16
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
17
+ 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."); }
18
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
19
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
20
+ 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; } }
21
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
22
+ var meta = {
23
+ title: 'form/DateInput',
24
+ component: _.DateInput,
25
+ tags: ['autodocs']
26
+ };
27
+ var _default = exports["default"] = meta;
28
+ var Component = function Component(props) {
29
+ var minDate = props.minDate,
30
+ maxDate = props.maxDate;
31
+ var _useState = (0, _react.useState)(null),
32
+ _useState2 = _slicedToArray(_useState, 2),
33
+ value = _useState2[0],
34
+ setValue = _useState2[1];
35
+ var handleChange = (0, _react.useCallback)(function (date) {
36
+ setValue(date);
37
+ (0, _addonActions.action)('change')(date);
38
+ }, []);
39
+ return /*#__PURE__*/_react["default"].createElement(_.DateInput, _extends({}, props, {
40
+ maxDate: maxDate ? new Date(maxDate) : undefined,
41
+ minDate: minDate ? new Date(minDate) : undefined,
42
+ value: value,
43
+ onChange: handleChange
44
+ }));
45
+ };
46
+ var Default = exports.Default = {
47
+ args: {
48
+ hasError: false,
49
+ label: 'Label'
50
+ },
51
+ render: Component
52
+ };
@@ -0,0 +1,10 @@
1
+ declare class Logic {
2
+ private today;
3
+ getPlaceholder(): string;
4
+ isValid(date: Date): boolean;
5
+ isBetweenMinAndMax(date: Date, minDate?: Date, maxDate?: Date): boolean;
6
+ valueToString(value: null | Date): string;
7
+ stringToDate(str: string): Date;
8
+ }
9
+ export declare const logic: Logic;
10
+ export {};
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.logic = void 0;
7
+ 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); }
8
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
9
+ 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."); }
10
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
11
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
12
+ 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; } }
13
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
14
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
15
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
16
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
17
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
18
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
19
+ 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); }
20
+ var Logic = /*#__PURE__*/function () {
21
+ function Logic() {
22
+ _classCallCheck(this, Logic);
23
+ _defineProperty(this, "today", new Date());
24
+ }
25
+ _createClass(Logic, [{
26
+ key: "getPlaceholder",
27
+ value: function getPlaceholder() {
28
+ return this.valueToString(this.today);
29
+ }
30
+ }, {
31
+ key: "isValid",
32
+ value: function isValid(date) {
33
+ return !Number.isNaN(date.valueOf());
34
+ }
35
+ }, {
36
+ key: "isBetweenMinAndMax",
37
+ value: function isBetweenMinAndMax(date, minDate, maxDate) {
38
+ var isValidByMin = !minDate ? true : date >= minDate;
39
+ var isValidByMax = !maxDate ? true : date <= maxDate;
40
+ return isValidByMin && isValidByMax;
41
+ }
42
+
43
+ // Date => 31.01.2023
44
+ }, {
45
+ key: "valueToString",
46
+ value: function valueToString(value) {
47
+ if (!value) return '';
48
+ var toTwoDigits = function toTwoDigits(item) {
49
+ return "0".concat(item).slice(-2);
50
+ };
51
+ var date = [toTwoDigits(value.getDate()), toTwoDigits(value.getMonth() + 1), value.getFullYear()];
52
+ return date.join('.');
53
+ }
54
+
55
+ // 31.01.2023 => Date
56
+ }, {
57
+ key: "stringToDate",
58
+ value: function stringToDate(str) {
59
+ var _str$split = str.split('.'),
60
+ _str$split2 = _slicedToArray(_str$split, 3),
61
+ dd = _str$split2[0],
62
+ mm = _str$split2[1],
63
+ yyyy = _str$split2[2];
64
+ return new Date([mm, dd, yyyy].filter(function (i) {
65
+ return i;
66
+ }).join('/'));
67
+ }
68
+ }]);
69
+ return Logic;
70
+ }();
71
+ var logic = exports.logic = new Logic();
@@ -0,0 +1,5 @@
1
+ import { TAbstractPalette } from '../../../palette';
2
+ export type TDateInputPalette = {
3
+ icon: string;
4
+ };
5
+ export declare const generateDateInputPalette: (abstractPalette: TAbstractPalette) => TDateInputPalette;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.generateDateInputPalette = void 0;
7
+ var generateDateInputPalette = exports.generateDateInputPalette = function generateDateInputPalette(abstractPalette) {
8
+ return {
9
+ icon: abstractPalette.primary
10
+ };
11
+ };
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { TDateInputPalette } from './palette';
3
+ export declare const Wrapper: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>;
4
+ export declare const InputWrapper: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>;
5
+ export declare const Icon: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
6
+ $palette: TDateInputPalette;
7
+ }>>;
8
+ export declare const Calendar: import("styled-components").IStyledComponent<"web", import("styled-components/dist/types").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Wrapper = exports.InputWrapper = exports.Icon = exports.Calendar = void 0;
7
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
8
+ var _breakpoints = require("../../../breakpoints");
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
10
+ var Wrapper = exports.Wrapper = _styledComponents["default"].div.withConfig({
11
+ displayName: "styles__Wrapper",
12
+ componentId: "sc-7tnmvh-0"
13
+ })(["position:relative;"]);
14
+ var InputWrapper = exports.InputWrapper = _styledComponents["default"].div.withConfig({
15
+ displayName: "styles__InputWrapper",
16
+ componentId: "sc-7tnmvh-1"
17
+ })(["position:relative;"]);
18
+ var Icon = exports.Icon = _styledComponents["default"].div.withConfig({
19
+ displayName: "styles__Icon",
20
+ componentId: "sc-7tnmvh-2"
21
+ })(["position:absolute;right:12px;top:0;height:100%;display:flex;justify-content:center;flex-direction:column;cursor:pointer;color:", ";"], function (_ref) {
22
+ var $palette = _ref.$palette;
23
+ return $palette.icon;
24
+ });
25
+ var Calendar = exports.Calendar = _styledComponents["default"].div.withConfig({
26
+ displayName: "styles__Calendar",
27
+ componentId: "sc-7tnmvh-3"
28
+ })(["padding:30px;@media ", "{padding:15px;}"], _breakpoints.breakpoints.sm);
@@ -11,7 +11,7 @@ var _Input = require("./components/Input");
11
11
  var _useInputFocus2 = require("../../../hooks/useInputFocus");
12
12
  var _Dropdown = require("../../common/Dropdown");
13
13
  var _Scrollbar = require("../../common/Scrollbar");
14
- var _useClickOutside = require("../../../hooks/useClickOutside");
14
+ var _useOutsideClick = require("../../../hooks/useOutsideClick");
15
15
  var _palette = require("../../../palette");
16
16
  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
17
  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 && Object.prototype.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; }
@@ -69,7 +69,7 @@ var Select = exports.Select = function Select(_ref) {
69
69
  var handleHide = (0, _react.useCallback)(function () {
70
70
  return setIsOpen(false);
71
71
  }, []);
72
- var wrapperRef = (0, _useClickOutside.useOutsideClick)(handleHide);
72
+ var wrapperRef = (0, _useOutsideClick.useOutsideClick)(handleHide);
73
73
  var handleFocus = (0, _react.useCallback)(function (event) {
74
74
  handleShow();
75
75
  focusHandler(event);
@@ -65,8 +65,6 @@ var Default = exports.Default = {
65
65
  hasError: false,
66
66
  label: 'Label',
67
67
  name: 'name',
68
- onBlur: (0, _addonActions.action)('blur'),
69
- onFocus: (0, _addonActions.action)('focus'),
70
68
  placeholder: 'Placeholder'
71
69
  },
72
70
  render: function Component(props) {
@@ -74,9 +72,13 @@ var Default = exports.Default = {
74
72
  _useState2 = _slicedToArray(_useState, 2),
75
73
  value = _useState2[0],
76
74
  setValue = _useState2[1];
75
+ var handleChange = (0, _react.useCallback)(function (newValue) {
76
+ setValue(newValue);
77
+ (0, _addonActions.action)('onChange')(newValue);
78
+ }, []);
77
79
  return /*#__PURE__*/_react["default"].createElement(_.Select, _extends({}, props, {
78
80
  value: value,
79
- onChange: setValue,
81
+ onChange: handleChange,
80
82
  options: selectOptions
81
83
  }));
82
84
  }
package/dist/index.d.ts CHANGED
@@ -15,4 +15,8 @@ export { Select } from './components/form/Select';
15
15
  export type { TProps as TSelectProps } from './components/form/Select';
16
16
  export { Calendar } from './components/common/Calendar';
17
17
  export type { TProps as TCalendarProps } from './components/common/Calendar';
18
+ export { DateInput } from './components/form/DateInput';
19
+ export type { TProps as TDateInputProps } from './components/form/DateInput';
20
+ export { WarningIcon } from './components/common/WarningIcon';
21
+ export type { TProps as TWarningIconProps } from './components/common/WarningIcon';
18
22
  export { PaletteProvider } from './palette';
package/dist/index.js CHANGED
@@ -15,6 +15,12 @@ Object.defineProperty(exports, "Calendar", {
15
15
  return _Calendar.Calendar;
16
16
  }
17
17
  });
18
+ Object.defineProperty(exports, "DateInput", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _DateInput.DateInput;
22
+ }
23
+ });
18
24
  Object.defineProperty(exports, "Dropdown", {
19
25
  enumerable: true,
20
26
  get: function get() {
@@ -93,6 +99,12 @@ Object.defineProperty(exports, "TypographyGlobalStyle", {
93
99
  return _Typography.TypographyGlobalStyle;
94
100
  }
95
101
  });
102
+ Object.defineProperty(exports, "WarningIcon", {
103
+ enumerable: true,
104
+ get: function get() {
105
+ return _WarningIcon.WarningIcon;
106
+ }
107
+ });
96
108
  var _Skeleton = require("./components/common/Skeleton");
97
109
  var _InvoiceboxLoader = require("./components/common/InvoiceboxLoader");
98
110
  var _Typography = require("./components/common/Typography");
@@ -106,4 +118,6 @@ var _Dropdown = require("./components/common/Dropdown");
106
118
  var _Scrollbar = require("./components/common/Scrollbar");
107
119
  var _Select = require("./components/form/Select");
108
120
  var _Calendar = require("./components/common/Calendar");
121
+ var _DateInput = require("./components/form/DateInput");
122
+ var _WarningIcon = require("./components/common/WarningIcon");
109
123
  var _palette = require("./palette");
@@ -8,6 +8,8 @@ import { TPureInputPalette } from '../components/form/PureInput/palette';
8
8
  import { TDropdownPalette } from '../components/common/Dropdown/palette';
9
9
  import { TScrollbarPalette } from '../components/common/Scrollbar/palette';
10
10
  import { TSelectPalette } from '../components/form/Select/palette';
11
+ import { TDateInputPalette } from '../components/form/DateInput/palette';
12
+ import { TWarningIconPalette } from '../components/common/WarningIcon/palette';
11
13
  type TContext = {
12
14
  skeleton: TSkeletonPalette;
13
15
  invoiceboxSpinner: TInvoiceboxSpinnerPalette;
@@ -18,6 +20,8 @@ type TContext = {
18
20
  dropdown: TDropdownPalette;
19
21
  scrollbar: TScrollbarPalette;
20
22
  select: TSelectPalette;
23
+ dateInput: TDateInputPalette;
24
+ warningIcon: TWarningIconPalette;
21
25
  };
22
26
  export declare const PaletteContext: import("react").Context<TContext>;
23
27
  export {};
@@ -15,6 +15,8 @@ var _palette6 = require("../components/form/PureInput/palette");
15
15
  var _palette7 = require("../components/common/Dropdown/palette");
16
16
  var _palette8 = require("../components/common/Scrollbar/palette");
17
17
  var _palette9 = require("../components/form/Select/palette");
18
+ var _palette10 = require("../components/form/DateInput/palette");
19
+ var _palette11 = require("../components/common/WarningIcon/palette");
18
20
  var PaletteContext = exports.PaletteContext = /*#__PURE__*/(0, _react.createContext)({
19
21
  skeleton: (0, _palette.generateSkeletonPalette)(_constants.defaultAbstractPalette),
20
22
  invoiceboxSpinner: (0, _palette2.generateInvoiceboxSpinnerPalette)(_constants.defaultAbstractPalette),
@@ -24,5 +26,7 @@ var PaletteContext = exports.PaletteContext = /*#__PURE__*/(0, _react.createCont
24
26
  pureInput: (0, _palette6.generatePureInputPalette)(_constants.defaultAbstractPalette),
25
27
  dropdown: (0, _palette7.generateDropdownPalette)(_constants.defaultAbstractPalette),
26
28
  scrollbar: (0, _palette8.generateScrollbarPalette)(_constants.defaultAbstractPalette),
27
- select: (0, _palette9.generateSelectPalette)(_constants.defaultAbstractPalette)
29
+ select: (0, _palette9.generateSelectPalette)(_constants.defaultAbstractPalette),
30
+ dateInput: (0, _palette10.generateDateInputPalette)(_constants.defaultAbstractPalette),
31
+ warningIcon: (0, _palette11.generateWarningIconPalette)(_constants.defaultAbstractPalette)
28
32
  });
@@ -16,6 +16,8 @@ var _palette6 = require("../components/form/PureInput/palette");
16
16
  var _palette7 = require("../components/common/Dropdown/palette");
17
17
  var _palette8 = require("../components/common/Scrollbar/palette");
18
18
  var _palette9 = require("../components/form/Select/palette");
19
+ var _palette10 = require("../components/form/DateInput/palette");
20
+ var _palette11 = require("../components/common/WarningIcon/palette");
19
21
  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); }
20
22
  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 && Object.prototype.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; }
21
23
  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); }
@@ -64,7 +66,9 @@ var PaletteProvider = exports.PaletteProvider = function PaletteProvider(_ref) {
64
66
  pureInput: mergedPureInputPalette,
65
67
  dropdown: (0, _palette7.generateDropdownPalette)(mergedAbstractPalette),
66
68
  scrollbar: (0, _palette8.generateScrollbarPalette)(mergedAbstractPalette),
67
- select: (0, _palette9.generateSelectPalette)(mergedAbstractPalette)
69
+ select: (0, _palette9.generateSelectPalette)(mergedAbstractPalette),
70
+ dateInput: (0, _palette10.generateDateInputPalette)(mergedAbstractPalette),
71
+ warningIcon: (0, _palette11.generateWarningIconPalette)(mergedAbstractPalette)
68
72
  };
69
73
  }, [mergedSkeletonPalette, mergedInvoiceboxSpinnerPalette, mergedSecondaryButtonPalette, mergedArrowPalette, mergedInputLabelPalette, mergedPureInputPalette, mergedAbstractPalette]);
70
74
  return /*#__PURE__*/_react["default"].createElement(_context.PaletteContext.Provider, {
@@ -8,4 +8,6 @@ export declare const usePalette: () => {
8
8
  dropdown: import("../components/common/Dropdown/palette").TDropdownPalette;
9
9
  scrollbar: import("../components/common/Scrollbar/palette").TScrollbarPalette;
10
10
  select: import("../components/form/Select/palette").TSelectPalette;
11
+ dateInput: import("../components/form/DateInput/palette").TDateInputPalette;
12
+ warningIcon: import("../components/common/WarningIcon/palette").TWarningIconPalette;
11
13
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@invoicebox/ui",
3
- "version": "0.1.0-alpha.45",
3
+ "version": "0.1.0-alpha.47",
4
4
  "description": "Invoicebox UI",
5
5
  "license": "Apache License 2.0",
6
6
  "scripts": {