@invoicebox/ui 0.1.0-alpha.222 → 0.1.0-alpha.224

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 (64) hide show
  1. package/dist/components/common/Calendar/index.d.ts +2 -0
  2. package/dist/components/common/Calendar/index.js +9 -3
  3. package/dist/components/common/Calendar/palette.d.ts +1 -0
  4. package/dist/components/common/Calendar/palette.js +2 -1
  5. package/dist/components/common/Calendar/styles.d.ts +2 -0
  6. package/dist/components/common/Calendar/styles.js +24 -13
  7. package/dist/components/common/Scrollbar/index.d.ts +1 -0
  8. package/dist/components/common/Scrollbar/index.js +5 -3
  9. package/dist/components/form/DateInput/components/CalendarIcon/index.d.ts +1 -0
  10. package/dist/components/form/DateInput/components/{Icon → CalendarIcon}/index.js +2 -2
  11. package/dist/components/form/DateInput/components/CalendarIcon/index.stories.d.ts +5 -0
  12. package/dist/components/form/DateInput/components/{Icon → CalendarIcon}/index.stories.js +2 -2
  13. package/dist/components/form/DateInput/index.d.ts +1 -0
  14. package/dist/components/form/DateInput/index.js +5 -4
  15. package/dist/components/form/DateInput/logic.d.ts +2 -0
  16. package/dist/components/form/DateInput/logic.js +12 -0
  17. package/dist/components/form/DateInput/styles.js +1 -1
  18. package/dist/components/form/DateTimeInput/components/CheckIcon/index.d.ts +1 -0
  19. package/dist/components/form/DateTimeInput/components/CheckIcon/index.js +25 -0
  20. package/dist/components/form/DateTimeInput/components/CheckIcon/index.stories.d.ts +5 -0
  21. package/dist/components/form/DateTimeInput/components/CheckIcon/index.stories.js +14 -0
  22. package/dist/components/form/DateTimeInput/components/Cross24Icon/index.d.ts +1 -0
  23. package/dist/components/form/DateTimeInput/components/Cross24Icon/index.js +23 -0
  24. package/dist/components/form/DateTimeInput/components/Cross24Icon/index.stories.d.ts +5 -0
  25. package/dist/components/form/DateTimeInput/components/Cross24Icon/index.stories.js +14 -0
  26. package/dist/components/form/DateTimeInput/components/CrossIcon/index.d.ts +1 -0
  27. package/dist/components/form/DateTimeInput/components/CrossIcon/index.js +25 -0
  28. package/dist/components/form/DateTimeInput/components/CrossIcon/index.stories.d.ts +5 -0
  29. package/dist/components/form/DateTimeInput/components/CrossIcon/index.stories.js +14 -0
  30. package/dist/components/form/DateTimeInput/components/MobileDateTimeCalendar/index.d.ts +12 -0
  31. package/dist/components/form/DateTimeInput/components/MobileDateTimeCalendar/index.js +84 -0
  32. package/dist/components/form/DateTimeInput/components/MobileDateTimeCalendar/index.stories.d.ts +6 -0
  33. package/dist/components/form/DateTimeInput/components/MobileDateTimeCalendar/index.stories.js +72 -0
  34. package/dist/components/form/DateTimeInput/components/MobileDateTimeCalendar/palette.d.ts +7 -0
  35. package/dist/components/form/DateTimeInput/components/MobileDateTimeCalendar/palette.js +15 -0
  36. package/dist/components/form/DateTimeInput/components/MobileDateTimeCalendar/styles.d.ts +12 -0
  37. package/dist/components/form/DateTimeInput/components/MobileDateTimeCalendar/styles.js +38 -0
  38. package/dist/components/form/DateTimeInput/components/TimePicker/index.d.ts +9 -0
  39. package/dist/components/form/DateTimeInput/components/TimePicker/index.js +118 -0
  40. package/dist/components/form/DateTimeInput/components/TimePicker/index.stories.d.ts +5 -0
  41. package/dist/components/form/DateTimeInput/components/TimePicker/index.stories.js +41 -0
  42. package/dist/components/form/DateTimeInput/components/TimePicker/palette.d.ts +10 -0
  43. package/dist/components/form/DateTimeInput/components/TimePicker/palette.js +18 -0
  44. package/dist/components/form/DateTimeInput/components/TimePicker/styles.d.ts +20 -0
  45. package/dist/components/form/DateTimeInput/components/TimePicker/styles.js +62 -0
  46. package/dist/components/form/DateTimeInput/hooks/useStringValue.d.ts +1 -0
  47. package/dist/components/form/DateTimeInput/hooks/useStringValue.js +28 -0
  48. package/dist/components/form/DateTimeInput/hooks/useTimePickerHeight.d.ts +6 -0
  49. package/dist/components/form/DateTimeInput/hooks/useTimePickerHeight.js +37 -0
  50. package/dist/components/form/DateTimeInput/index.d.ts +15 -0
  51. package/dist/components/form/DateTimeInput/index.js +188 -0
  52. package/dist/components/form/DateTimeInput/index.stories.d.ts +6 -0
  53. package/dist/components/form/DateTimeInput/index.stories.js +59 -0
  54. package/dist/components/form/DateTimeInput/palette.d.ts +9 -0
  55. package/dist/components/form/DateTimeInput/palette.js +17 -0
  56. package/dist/components/form/DateTimeInput/styles.d.ts +19 -0
  57. package/dist/components/form/DateTimeInput/styles.js +55 -0
  58. package/dist/palette/context.d.ts +6 -0
  59. package/dist/palette/context.js +7 -1
  60. package/dist/palette/provider.js +7 -1
  61. package/dist/palette/usePalette.d.ts +3 -0
  62. package/package.json +1 -1
  63. package/dist/components/form/DateInput/components/Icon/index.d.ts +0 -1
  64. package/dist/components/form/DateInput/components/Icon/index.stories.d.ts +0 -5
@@ -2,6 +2,8 @@ import { FC } from 'react';
2
2
  type TGeneralProps = {
3
3
  minDate?: Date;
4
4
  maxDate?: Date;
5
+ onActiveStartDateChange?: () => void;
6
+ isLargeMobileSize?: boolean;
5
7
  };
6
8
  export type TProps = TGeneralProps & ({
7
9
  onChange: (value: Date) => void;
@@ -15,7 +15,10 @@ var Calendar = exports.Calendar = function Calendar(_ref) {
15
15
  value = _ref.value,
16
16
  minDate = _ref.minDate,
17
17
  maxDate = _ref.maxDate,
18
- selectRange = _ref.selectRange;
18
+ selectRange = _ref.selectRange,
19
+ onActiveStartDateChange = _ref.onActiveStartDateChange,
20
+ _ref$isLargeMobileSiz = _ref.isLargeMobileSize,
21
+ isLargeMobileSize = _ref$isLargeMobileSiz === void 0 ? false : _ref$isLargeMobileSiz;
19
22
  var palette = (0, _palette.useComponentPalette)('calendar');
20
23
  var handleChange = (0, _react.useCallback)(function (newValue) {
21
24
  if (selectRange) {
@@ -34,7 +37,8 @@ var Calendar = exports.Calendar = function Calendar(_ref) {
34
37
  prev2Label: null,
35
38
  onChange: handleChange,
36
39
  value: value,
37
- selectRange: selectRange
40
+ selectRange: selectRange,
41
+ onActiveStartDateChange: onActiveStartDateChange
38
42
  // styles
39
43
  ,
40
44
  $arrow: palette.arrow,
@@ -42,6 +46,8 @@ var Calendar = exports.Calendar = function Calendar(_ref) {
42
46
  $tile: palette.tile,
43
47
  $tileActive: palette.tileActive,
44
48
  $tileBgActive: palette.tileBgActive,
45
- $tileBgRangeBetween: palette.tileBgRangeBetween
49
+ $tileBgRangeBetween: palette.tileBgRangeBetween,
50
+ $month: palette.month,
51
+ $isLargeMobileSize: isLargeMobileSize
46
52
  });
47
53
  };
@@ -6,5 +6,6 @@ export type TCalendarPalette = {
6
6
  tileActive: string;
7
7
  tileBgActive: string;
8
8
  tileBgRangeBetween: string;
9
+ month: string;
9
10
  };
10
11
  export declare const generateCalendarPalette: (abstractPalette: TAbstractPalette) => TCalendarPalette;
@@ -13,6 +13,7 @@ var generateCalendarPalette = exports.generateCalendarPalette = function generat
13
13
  tile: (0, _hexToRgba["default"])(abstractPalette.primary, 0.7),
14
14
  tileActive: abstractPalette.primary,
15
15
  tileBgActive: abstractPalette.secondary,
16
- tileBgRangeBetween: (0, _hexToRgba["default"])(abstractPalette.primary, 0.05)
16
+ tileBgRangeBetween: (0, _hexToRgba["default"])(abstractPalette.primary, 0.05),
17
+ month: abstractPalette.primary
17
18
  };
18
19
  };
@@ -8,5 +8,7 @@ export declare const LibCalendar: import("styled-components/dist/types").IStyled
8
8
  $tileActive: string;
9
9
  $tileBgActive: string;
10
10
  $tileBgRangeBetween: string;
11
+ $month: string;
12
+ $isLargeMobileSize: boolean;
11
13
  selectRange?: boolean | undefined;
12
14
  }>> & string & Omit<import("react").ForwardRefExoticComponent<import("react-calendar").CalendarProps & import("react").RefAttributes<unknown>>, keyof import("react").Component<any, {}, any>>;
@@ -1,33 +1,44 @@
1
1
  "use strict";
2
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); }
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.LibCalendar = void 0;
7
- var _styledComponents = _interopRequireDefault(require("styled-components"));
8
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
8
9
  var _reactCalendar = _interopRequireDefault(require("react-calendar"));
10
+ var _breakpoints = require("../../../breakpoints");
9
11
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
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
+ 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
+ var largeMobileStyles = (0, _styledComponents.css)(["@media ", "{width:328px;}.react-calendar__navigation{@media ", "{margin-bottom:18px;}}.react-calendar__navigation__label{@media ", "{font-size:20px;font-weight:500;line-height:25px;}}.react-calendar__month-view__weekdays{@media ", "{margin-bottom:6px;}}.react-calendar__tile{@media ", "{height:48px;font-size:15px;font-weight:400;line-height:20px;border-radius:50%;}}"], _breakpoints.breakpoints.sm, _breakpoints.breakpoints.sm, _breakpoints.breakpoints.sm, _breakpoints.breakpoints.sm, _breakpoints.breakpoints.sm);
10
15
  var LibCalendar = exports.LibCalendar = (0, _styledComponents["default"])(_reactCalendar["default"]).withConfig({
11
16
  displayName: "styles__LibCalendar",
12
17
  componentId: "sc-1evd6f-0"
13
- })(["border:none;width:240px;min-width:210px;background:transparent;@media (max-width:320px){width:225px;}.react-calendar__navigation{margin-bottom:0;}.react-calendar__navigation__arrow{font-size:24px;background-color:transparent !important;color:", ";}.react-calendar__navigation__arrow:disabled{opacity:0.4;cursor:default;}.react-calendar__navigation__arrow:hover:not([disabled]){opacity:0.6;}.react-calendar__navigation__label{font-size:14px;background-color:transparent !important;cursor:default;}.react-calendar__month-view__weekdays__weekday{color:", ";font-size:12px;font-weight:400;}.react-calendar__month-view__weekdays__weekday abbr{text-decoration:none;}.react-calendar__tile{font-size:12px;color:", ";background-color:transparent !important;padding:4px 6.6667px;border-radius:5px;margin-bottom:4px;}.react-calendar__tile:disabled{opacity:0.4;cursor:default;}.react-calendar__tile:hover:not([disabled]){opacity:0.6;}.react-calendar__tile--active{background-color:", " !important;color:", ";}.react-calendar__tile--active:hover{opacity:1 !important;}", ""], function (_ref) {
18
+ })(["border:none;width:210px;min-width:210px;background:transparent;.react-calendar__navigation{margin-bottom:16px;height:28px;}.react-calendar__navigation__arrow{font-size:24px;background-color:transparent !important;color:", ";width:28px;height:28px;min-width:28px;display:flex;justify-content:center;align-items:center;}.react-calendar__navigation__arrow:disabled{opacity:0.4;cursor:default;}.react-calendar__navigation__arrow:hover:not([disabled]){opacity:0.6;}.react-calendar__navigation__label{font-size:14px;background-color:transparent !important;cursor:default;color:", ";}.react-calendar__month-view__weekdays__weekday{color:", ";font-size:12px;font-weight:400;line-height:18px;width:30px;height:22px;padding:0;display:flex;justify-content:center;align-items:center;}.react-calendar__month-view__weekdays__weekday abbr{text-decoration:none;}.react-calendar__tile{font-size:12px;color:", ";background-color:transparent !important;padding:0;border-radius:5px;margin-bottom:4px;height:22px;}.react-calendar__tile:disabled{opacity:0.4;cursor:default;}.react-calendar__tile:hover:not([disabled]){opacity:0.6;}.react-calendar__tile--active{background-color:", " !important;color:", ";}.react-calendar__tile--active:hover{opacity:1 !important;}", " ", ""], function (_ref) {
14
19
  var $arrow = _ref.$arrow;
15
20
  return $arrow;
16
21
  }, function (_ref2) {
17
- var $weekDay = _ref2.$weekDay;
18
- return $weekDay;
22
+ var $month = _ref2.$month;
23
+ return $month;
19
24
  }, function (_ref3) {
20
- var $tile = _ref3.$tile;
21
- return $tile;
25
+ var $weekDay = _ref3.$weekDay;
26
+ return $weekDay;
22
27
  }, function (_ref4) {
23
- var $tileBgActive = _ref4.$tileBgActive;
24
- return $tileBgActive;
28
+ var $tile = _ref4.$tile;
29
+ return $tile;
25
30
  }, function (_ref5) {
26
- var $tileActive = _ref5.$tileActive;
27
- return $tileActive;
31
+ var $tileBgActive = _ref5.$tileBgActive;
32
+ return $tileBgActive;
28
33
  }, function (_ref6) {
29
- var selectRange = _ref6.selectRange,
30
- $tileBgActive = _ref6.$tileBgActive,
31
- $tileBgRangeBetween = _ref6.$tileBgRangeBetween;
34
+ var $tileActive = _ref6.$tileActive;
35
+ return $tileActive;
36
+ }, function (_ref7) {
37
+ var selectRange = _ref7.selectRange,
38
+ $tileBgActive = _ref7.$tileBgActive,
39
+ $tileBgRangeBetween = _ref7.$tileBgRangeBetween;
32
40
  return selectRange && "\n .react-calendar__tile--range {\n border-radius: 0;\n }\n\n .react-calendar__tile--rangeBothEnds {\n border-radius: 5px;\n }\n \n .react-calendar__tile--active {\n background-color: ".concat($tileBgRangeBetween, " !important;\n }\n\n .react-calendar__tile--rangeStart {\n border-top-left-radius: 5px;\n border-bottom-left-radius: 5px;\n background-color: ").concat($tileBgActive, " !important;\n }\n\n .react-calendar__tile--rangeEnd {\n border-top-right-radius: 5px;\n border-bottom-right-radius: 5px;\n background-color: ").concat($tileBgActive, " !important;\n }\n ");
41
+ }, function (_ref8) {
42
+ var $isLargeMobileSize = _ref8.$isLargeMobileSize;
43
+ return $isLargeMobileSize && largeMobileStyles;
33
44
  });
@@ -2,5 +2,6 @@ import { FC, ReactNode } from 'react';
2
2
  export type TProps = {
3
3
  children: ReactNode;
4
4
  maxHeight?: number;
5
+ trackWidth?: number;
5
6
  };
6
7
  export declare const Scrollbar: FC<TProps>;
@@ -14,7 +14,9 @@ function _extends() { return _extends = Object.assign ? Object.assign.bind() : f
14
14
  var Scrollbar = exports.Scrollbar = function Scrollbar(_ref) {
15
15
  var children = _ref.children,
16
16
  _ref$maxHeight = _ref.maxHeight,
17
- maxHeight = _ref$maxHeight === void 0 ? '100%' : _ref$maxHeight;
17
+ maxHeight = _ref$maxHeight === void 0 ? '100%' : _ref$maxHeight,
18
+ _ref$trackWidth = _ref.trackWidth,
19
+ trackWidth = _ref$trackWidth === void 0 ? 6 : _ref$trackWidth;
18
20
  var palette = (0, _palette.useComponentPalette)('scrollbar');
19
21
  var props = (0, _react.useMemo)(function () {
20
22
  return {
@@ -42,7 +44,7 @@ var Scrollbar = exports.Scrollbar = function Scrollbar(_ref) {
42
44
  trackYProps: {
43
45
  style: {
44
46
  backgroundColor: 'transparent',
45
- width: '6px',
47
+ width: "".concat(trackWidth, "px"),
46
48
  height: 'calc(100% - 4px)',
47
49
  top: '2px',
48
50
  right: '2px'
@@ -63,7 +65,7 @@ var Scrollbar = exports.Scrollbar = function Scrollbar(_ref) {
63
65
  }
64
66
  }
65
67
  };
66
- }, [maxHeight, palette]);
68
+ }, [maxHeight, palette.thumb, trackWidth]);
67
69
  return /*#__PURE__*/_react["default"].createElement(_reactScrollbarsCustom.Scrollbar, _extends({
68
70
  translateContentSizesToHolder: true
69
71
  }, props), children);
@@ -0,0 +1 @@
1
+ export declare const CalendarIcon: () => import("react/jsx-runtime").JSX.Element;
@@ -4,11 +4,11 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.Icon = void 0;
7
+ exports.CalendarIcon = void 0;
8
8
  var React = _interopRequireWildcard(require("react"));
9
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
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 && {}.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() {
11
+ var CalendarIcon = exports.CalendarIcon = function CalendarIcon() {
12
12
  return /*#__PURE__*/React.createElement("svg", {
13
13
  xmlns: "http://www.w3.org/2000/svg",
14
14
  width: 24,
@@ -0,0 +1,5 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { CalendarIcon } from '.';
3
+ declare const meta: Meta<typeof CalendarIcon>;
4
+ export default meta;
5
+ export declare const Default: StoryObj<typeof CalendarIcon>;
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports["default"] = exports.Default = void 0;
7
7
  var _ = require(".");
8
8
  var meta = {
9
- title: 'form/DateInput/_components/Icon',
10
- component: _.Icon,
9
+ title: 'form/DateInput/_components/CalendarIcon',
10
+ component: _.CalendarIcon,
11
11
  tags: ['autodocs']
12
12
  };
13
13
  var _default = exports["default"] = meta;
@@ -8,6 +8,7 @@ export type TProps = {
8
8
  value: Date | null;
9
9
  onChange: (value: Date) => void;
10
10
  withTime?: boolean;
11
+ placeholder?: string;
11
12
  dropdownProps?: Pick<TDropdownProps, 'isAutoPosition' | 'positionLeft' | 'positionRight' | 'positionVertical'>;
12
13
  } & Pick<TPureInputProps, 'hasError' | 'name' | 'onBlur' | 'onFocus'> & Pick<TInputLabelProps, 'label'> & Pick<TCalendarProps, 'maxDate' | 'minDate'> & {
13
14
  size?: TSizes;
@@ -14,7 +14,7 @@ var _InputLabel = require("../InputLabel");
14
14
  var _PureInput = require("../PureInput");
15
15
  var _Dropdown = require("../../common/Dropdown");
16
16
  var _Calendar = require("../../common/Calendar");
17
- var _Icon = require("./components/Icon");
17
+ var _CalendarIcon = require("./components/CalendarIcon");
18
18
  var _palette = require("../../../palette");
19
19
  var _constants = require("../constants");
20
20
  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); }
@@ -41,7 +41,8 @@ var DateInput = exports.DateInput = function DateInput(_ref) {
41
41
  withTime = _ref$withTime === void 0 ? false : _ref$withTime,
42
42
  _ref$size = _ref.size,
43
43
  size = _ref$size === void 0 ? 'M' : _ref$size,
44
- dropdownProps = _ref.dropdownProps;
44
+ dropdownProps = _ref.dropdownProps,
45
+ placeholder = _ref.placeholder;
45
46
  var palette = (0, _palette.useComponentPalette)('dateInput');
46
47
  var inputRef = (0, _react.useRef)(null);
47
48
  var _useState = (0, _react.useState)(false),
@@ -113,7 +114,7 @@ var DateInput = exports.DateInput = function DateInput(_ref) {
113
114
  hasError: hasError,
114
115
  inFocus: inFocus,
115
116
  name: name,
116
- placeholder: _logic.logic.getPlaceholder(withTime),
117
+ placeholder: placeholder || _logic.logic.getPlaceholder(withTime),
117
118
  onFocus: handleFocus,
118
119
  onBlur: handleBlur,
119
120
  value: stringValue,
@@ -122,7 +123,7 @@ var DateInput = exports.DateInput = function DateInput(_ref) {
122
123
  }, _constants.SIZE_PARAMS_MAP[size])), /*#__PURE__*/_react["default"].createElement(S.Icon, {
123
124
  onClick: handleTrigger,
124
125
  $palette: palette
125
- }, /*#__PURE__*/_react["default"].createElement(_Icon.Icon, null)))), /*#__PURE__*/_react["default"].createElement(_Dropdown.Dropdown, _extends({
126
+ }, /*#__PURE__*/_react["default"].createElement(_CalendarIcon.CalendarIcon, null)))), /*#__PURE__*/_react["default"].createElement(_Dropdown.Dropdown, _extends({
126
127
  isOpen: isOpen,
127
128
  isAutoPosition: true
128
129
  }, dropdownProps), /*#__PURE__*/_react["default"].createElement(S.CalendarWrapper, null, /*#__PURE__*/_react["default"].createElement(_Calendar.Calendar, {
@@ -5,6 +5,8 @@ declare class Logic {
5
5
  isBetweenMinAndMax(date: Date, minDate?: Date, maxDate?: Date): boolean;
6
6
  valueToString(value: null | Date, withTime: boolean): string;
7
7
  stringToDate(str: string, withTime: boolean): Date;
8
+ addHoursAndMinutesToDate(date: Date, hours: number, minutes: number): Date;
9
+ getHoursAndMinutesFromDate(date: Date): number[];
8
10
  }
9
11
  export declare const logic: Logic;
10
12
  export {};
@@ -78,6 +78,18 @@ var Logic = /*#__PURE__*/function () {
78
78
  }).join(':');
79
79
  return new Date(withTime ? formattedDateStr + ' ' + formattedTimeStr : formattedDateStr);
80
80
  }
81
+ }, {
82
+ key: "addHoursAndMinutesToDate",
83
+ value: function addHoursAndMinutesToDate(date, hours, minutes) {
84
+ var newDate = new Date(date);
85
+ newDate.setHours(hours, minutes, 0, 0);
86
+ return newDate;
87
+ }
88
+ }, {
89
+ key: "getHoursAndMinutesFromDate",
90
+ value: function getHoursAndMinutesFromDate(date) {
91
+ return [date.getHours(), date.getMinutes()];
92
+ }
81
93
  }]);
82
94
  }();
83
95
  var logic = exports.logic = new Logic();
@@ -25,4 +25,4 @@ var Icon = exports.Icon = _styledComponents["default"].div.withConfig({
25
25
  var CalendarWrapper = exports.CalendarWrapper = _styledComponents["default"].div.withConfig({
26
26
  displayName: "styles__CalendarWrapper",
27
27
  componentId: "sc-7tnmvh-3"
28
- })(["padding:30px;@media ", "{padding:15px;}"], _breakpoints.breakpoints.sm);
28
+ })(["padding:16px;@media ", "{padding:15px;}"], _breakpoints.breakpoints.sm);
@@ -0,0 +1 @@
1
+ export declare const CheckIcon: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,25 @@
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.CheckIcon = 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 && {}.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 CheckIcon = exports.CheckIcon = function CheckIcon() {
12
+ return /*#__PURE__*/React.createElement("svg", {
13
+ xmlns: "http://www.w3.org/2000/svg",
14
+ width: "20",
15
+ height: "20",
16
+ viewBox: "0 0 20 20",
17
+ fill: "none"
18
+ }, /*#__PURE__*/React.createElement("path", {
19
+ d: "M15 6.66699L8.8037 13.3337L5 9.28353",
20
+ stroke: "#353F47",
21
+ strokeWidth: "1.5",
22
+ strokeLinecap: "round",
23
+ strokeLinejoin: "round"
24
+ }));
25
+ };
@@ -0,0 +1,5 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { CheckIcon } from './index';
3
+ declare const meta: Meta<typeof CheckIcon>;
4
+ export default meta;
5
+ export declare const Default: StoryObj<typeof CheckIcon>;
@@ -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 _index = require("./index");
8
+ var meta = {
9
+ title: 'form/DateTimeInput/_components/CheckIcon',
10
+ component: _index.CheckIcon,
11
+ tags: ['autodocs']
12
+ };
13
+ var _default = exports["default"] = meta;
14
+ var Default = exports.Default = {};
@@ -0,0 +1 @@
1
+ export declare const Cross24Icon: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Cross24Icon = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
9
+ var Cross24Icon = exports.Cross24Icon = function Cross24Icon() {
10
+ return /*#__PURE__*/_react["default"].createElement("svg", {
11
+ width: "24",
12
+ height: "24",
13
+ viewBox: "0 0 24 24",
14
+ fill: "none",
15
+ xmlns: "http://www.w3.org/2000/svg"
16
+ }, /*#__PURE__*/_react["default"].createElement("path", {
17
+ d: "M17 7L7 17M17 17L7 7",
18
+ stroke: "#353F47",
19
+ strokeWidth: "1.5",
20
+ strokeLinecap: "round",
21
+ strokeLinejoin: "round"
22
+ }));
23
+ };
@@ -0,0 +1,5 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { Cross24Icon } from './index';
3
+ declare const meta: Meta<typeof Cross24Icon>;
4
+ export default meta;
5
+ export declare const Default: StoryObj<typeof Cross24Icon>;
@@ -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 _index = require("./index");
8
+ var meta = {
9
+ title: 'form/DateTimeInput/_components/Cross24Icon',
10
+ component: _index.Cross24Icon,
11
+ tags: ['autodocs']
12
+ };
13
+ var _default = exports["default"] = meta;
14
+ var Default = exports.Default = {};
@@ -0,0 +1 @@
1
+ export declare const CrossIcon: () => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,25 @@
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.CrossIcon = 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 && {}.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 CrossIcon = exports.CrossIcon = function CrossIcon() {
12
+ return /*#__PURE__*/React.createElement("svg", {
13
+ xmlns: "http://www.w3.org/2000/svg",
14
+ width: "20",
15
+ height: "20",
16
+ viewBox: "0 0 20 20",
17
+ fill: "none"
18
+ }, /*#__PURE__*/React.createElement("path", {
19
+ d: "M14.1673 5.83301L5.83398 14.1663M14.1673 14.1663L5.83398 5.83301",
20
+ stroke: "#353F47",
21
+ strokeWidth: "1.5",
22
+ strokeLinecap: "round",
23
+ strokeLinejoin: "round"
24
+ }));
25
+ };
@@ -0,0 +1,5 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { CrossIcon } from './index';
3
+ declare const meta: Meta<typeof CrossIcon>;
4
+ export default meta;
5
+ export declare const Default: StoryObj<typeof CrossIcon>;
@@ -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 _index = require("./index");
8
+ var meta = {
9
+ title: 'form/DateTimeInput/_components/CrossIcon',
10
+ component: _index.CrossIcon,
11
+ tags: ['autodocs']
12
+ };
13
+ var _default = exports["default"] = meta;
14
+ var Default = exports.Default = {};
@@ -0,0 +1,12 @@
1
+ import { FC } from 'react';
2
+ import { TProps as TCalendarProps } from '../../../../common/Calendar';
3
+ export type TProps = Pick<TCalendarProps, 'maxDate' | 'minDate'> & {
4
+ isOpen: boolean;
5
+ onClose: () => void;
6
+ calendarDropdownValue: Date | null;
7
+ onCalendarChange: (value: Date) => void;
8
+ onTimeChange: (newValue: [number, number]) => void;
9
+ onSubmit: () => void;
10
+ afterSubmit: () => void;
11
+ };
12
+ export declare const MobileDateTimeCalendar: FC<TProps>;
@@ -0,0 +1,84 @@
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.MobileDateTimeCalendar = void 0;
8
+ var _react = _interopRequireWildcard(require("react"));
9
+ var _Drawer = require("../../../../common/Drawer");
10
+ var _Cross24Icon = require("../Cross24Icon");
11
+ var S = _interopRequireWildcard(require("./styles"));
12
+ var _palette = require("../../../../../palette");
13
+ var _Typography = require("../../../../common/Typography");
14
+ var _Calendar = require("../../../../common/Calendar");
15
+ var _TimePicker = require("../TimePicker");
16
+ var _logic = require("../../../DateInput/logic");
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
+ 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
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
20
+ 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."); }
21
+ 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; } }
22
+ 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; }
23
+ 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; } }
24
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
25
+ var MobileDateTimeCalendar = exports.MobileDateTimeCalendar = function MobileDateTimeCalendar(_ref) {
26
+ var isOpen = _ref.isOpen,
27
+ onClose = _ref.onClose,
28
+ maxDate = _ref.maxDate,
29
+ minDate = _ref.minDate,
30
+ onCalendarChange = _ref.onCalendarChange,
31
+ calendarDropdownValue = _ref.calendarDropdownValue,
32
+ afterSubmit = _ref.afterSubmit,
33
+ onSubmit = _ref.onSubmit,
34
+ onTimeChange = _ref.onTimeChange;
35
+ var palette = (0, _palette.useComponentPalette)('mobileDateTimeCalendar');
36
+ var _useState = (0, _react.useState)(true),
37
+ _useState2 = _slicedToArray(_useState, 2),
38
+ isDateStep = _useState2[0],
39
+ setIsDateStep = _useState2[1];
40
+ var handleClose = function handleClose() {
41
+ onClose();
42
+ setIsDateStep(true);
43
+ };
44
+ var handleDone = function handleDone() {
45
+ if (isDateStep) {
46
+ setIsDateStep(false);
47
+ } else {
48
+ onSubmit();
49
+ afterSubmit();
50
+ setIsDateStep(true);
51
+ }
52
+ };
53
+ return /*#__PURE__*/_react["default"].createElement(_Drawer.Drawer, {
54
+ onClose: handleClose,
55
+ isOpen: isOpen,
56
+ isPadding: false
57
+ }, /*#__PURE__*/_react["default"].createElement(S.Header, {
58
+ $borderColor: palette.border
59
+ }, /*#__PURE__*/_react["default"].createElement(S.CloseButton, {
60
+ type: 'button',
61
+ onClick: handleClose
62
+ }, /*#__PURE__*/_react["default"].createElement(_Cross24Icon.Cross24Icon, null)), /*#__PURE__*/_react["default"].createElement(S.HeadLabel, {
63
+ $color: palette.headLabel,
64
+ variant: 'headline3'
65
+ }, isDateStep ? 'Выберите дату' : 'Выберите время'), /*#__PURE__*/_react["default"].createElement(S.ApplyButton, {
66
+ disabled: isDateStep ? !calendarDropdownValue : !calendarDropdownValue || !_logic.logic.isBetweenMinAndMax(calendarDropdownValue, minDate, maxDate),
67
+ onClick: handleDone,
68
+ type: 'button',
69
+ $color: palette.applyButton
70
+ }, /*#__PURE__*/_react["default"].createElement(_Typography.Typography, {
71
+ variant: 'headline6'
72
+ }, "\u0413\u043E\u0442\u043E\u0432\u043E"))), isDateStep ? /*#__PURE__*/_react["default"].createElement(S.MobileCalendarWrapper, null, /*#__PURE__*/_react["default"].createElement(_Calendar.Calendar, {
73
+ value: calendarDropdownValue,
74
+ onChange: onCalendarChange,
75
+ minDate: minDate,
76
+ maxDate: maxDate,
77
+ isLargeMobileSize: true
78
+ })) : /*#__PURE__*/_react["default"].createElement(_TimePicker.TimePicker, {
79
+ value: [(calendarDropdownValue === null || calendarDropdownValue === void 0 ? void 0 : calendarDropdownValue.getHours()) || 0, (calendarDropdownValue === null || calendarDropdownValue === void 0 ? void 0 : calendarDropdownValue.getMinutes()) || 0],
80
+ onChange: onTimeChange,
81
+ maxTime: calendarDropdownValue && maxDate && calendarDropdownValue.getDay() === maxDate.getDay() ? [maxDate.getHours(), maxDate.getMinutes()] : undefined,
82
+ minTime: calendarDropdownValue && minDate && calendarDropdownValue.getDay() === minDate.getDay() ? [minDate.getHours(), minDate.getMinutes()] : undefined
83
+ }));
84
+ };
@@ -0,0 +1,6 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { MobileDateTimeCalendar, TProps } from './index';
3
+ import 'react-calendar/dist/Calendar.css';
4
+ declare const meta: Meta<typeof MobileDateTimeCalendar>;
5
+ export default meta;
6
+ export declare const Default: StoryObj<TProps>;