@steroidsjs/bootstrap 3.0.0-beta.101 → 3.0.0-beta.102

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 (44) hide show
  1. package/content/Calendar/CaptionElement.js +6 -3
  2. package/content/CalendarSystem/AsideCalendars/AsideCalendars.d.ts +12 -0
  3. package/content/CalendarSystem/AsideCalendars/AsideCalendars.js +41 -0
  4. package/content/CalendarSystem/AsideCalendars/AsideCalendars.scss +81 -0
  5. package/content/CalendarSystem/AsideCalendars/index.d.ts +2 -0
  6. package/content/CalendarSystem/AsideCalendars/index.js +7 -0
  7. package/content/CalendarSystem/AsideHeader/AsideHeader.d.ts +9 -0
  8. package/content/CalendarSystem/AsideHeader/AsideHeader.js +40 -0
  9. package/content/CalendarSystem/AsideHeader/AsideHeader.scss +41 -0
  10. package/content/CalendarSystem/AsideHeader/index.d.ts +2 -0
  11. package/content/CalendarSystem/AsideHeader/index.js +7 -0
  12. package/content/CalendarSystem/CalendarSystemModalView.d.ts +3 -0
  13. package/content/CalendarSystem/CalendarSystemModalView.js +14 -0
  14. package/content/CalendarSystem/CalendarSystemModalView.scss +5 -0
  15. package/content/CalendarSystem/CalendarSystemView.d.ts +2 -0
  16. package/content/CalendarSystem/CalendarSystemView.js +28 -0
  17. package/content/CalendarSystem/CalendarSystemView.scss +50 -0
  18. package/content/CalendarSystem/ContentHeader/ContentHeader.d.ts +10 -0
  19. package/content/CalendarSystem/ContentHeader/ContentHeader.js +29 -0
  20. package/content/CalendarSystem/ContentHeader/ContentHeader.scss +57 -0
  21. package/content/CalendarSystem/ContentHeader/index.d.ts +2 -0
  22. package/content/CalendarSystem/ContentHeader/index.js +7 -0
  23. package/content/CalendarSystem/MonthGrid/MonthGrid.d.ts +12 -0
  24. package/content/CalendarSystem/MonthGrid/MonthGrid.js +50 -0
  25. package/content/CalendarSystem/MonthGrid/MonthGrid.scss +131 -0
  26. package/content/CalendarSystem/MonthGrid/index.d.ts +2 -0
  27. package/content/CalendarSystem/MonthGrid/index.js +7 -0
  28. package/content/CalendarSystem/WeekGrid/WeekGrid.d.ts +12 -0
  29. package/content/CalendarSystem/WeekGrid/WeekGrid.js +25 -0
  30. package/content/CalendarSystem/WeekGrid/WeekGrid.scss +225 -0
  31. package/content/CalendarSystem/WeekGrid/index.d.ts +2 -0
  32. package/content/CalendarSystem/WeekGrid/index.js +7 -0
  33. package/content/CalendarSystem/WeekGrid/views/WeekHour/WeekHour.d.ts +12 -0
  34. package/content/CalendarSystem/WeekGrid/views/WeekHour/WeekHour.js +38 -0
  35. package/content/CalendarSystem/WeekGrid/views/WeekHour/WeekHour.scss +14 -0
  36. package/content/CalendarSystem/WeekGrid/views/WeekHour/index.d.ts +2 -0
  37. package/content/CalendarSystem/WeekGrid/views/WeekHour/index.js +7 -0
  38. package/content/Icon/IconView.js +18 -2
  39. package/form/CheckboxField/CheckboxFieldView.js +5 -2
  40. package/form/CheckboxField/CheckboxFieldView.scss +27 -0
  41. package/index.d.ts +3 -0
  42. package/index.js +3 -0
  43. package/index.scss +2 -0
  44. package/package.json +2 -2
@@ -31,6 +31,7 @@ var react_1 = require("react");
31
31
  var hooks_1 = require("@steroidsjs/core/hooks");
32
32
  var Icon_1 = __importDefault(require("@steroidsjs/core/ui/content/Icon"));
33
33
  var upperFirst_1 = __importDefault(require("lodash-es/upperFirst"));
34
+ var DateControlType_1 = __importDefault(require("@steroidsjs/core/ui/content/CalendarSystem/enums/DateControlType"));
34
35
  function CaptionElement(props) {
35
36
  var bem = (0, hooks_1.useBem)('CaptionElement');
36
37
  var localeUtils = props.localeUtils, locale = props.locale, fromYear = props.fromYear, toYear = props.toYear, date = props.date, isCaptionPanelVisible = props.isCaptionPanelVisible, toggleCaptionPanel = props.toggleCaptionPanel;
@@ -60,20 +61,22 @@ function CaptionElement(props) {
60
61
  var icons = (0, react_1.useMemo)(function () { return [
61
62
  {
62
63
  name: 'double_arrow_left',
64
+ sourceControl: DateControlType_1["default"].PREV_DOUBLE,
63
65
  onClick: function () { return handleYearChange(currentYear - 1); }
64
66
  },
65
67
  {
66
68
  name: 'arrow_left_24x24',
67
- externalClass: 'one-arrow',
69
+ sourceControl: DateControlType_1["default"].PREV_ONE,
68
70
  onClick: function () { return handleMonthChange(currentMonth - 1); }
69
71
  },
70
72
  {
71
73
  name: 'arrow_right_24x24',
72
- externalClass: 'one-arrow',
74
+ sourceControl: DateControlType_1["default"].NEXT_ONE,
73
75
  onClick: function () { return handleMonthChange(currentMonth + 1); }
74
76
  },
75
77
  {
76
78
  name: 'double_arrow_right',
79
+ sourceControl: DateControlType_1["default"].NEXT_DOUBLE,
77
80
  onClick: function () { return handleYearChange(currentYear + 1); }
78
81
  },
79
82
  ]; }, [currentYear, handleYearChange, currentMonth, handleMonthChange]);
@@ -91,7 +94,7 @@ function CaptionElement(props) {
91
94
  React.createElement("div", { className: bem.element('container-icons') }, icons.map(function (icon, iconIndex) { return (React.createElement(Icon_1["default"], { key: iconIndex, name: icon.name, onClick: function (e) {
92
95
  e.preventDefault();
93
96
  icon.onClick();
94
- }, className: bem.element('button', icon.externalClass) })); }))),
97
+ }, className: bem.element('button'), "data-sourcecontrol": icon.sourceControl })); }))),
95
98
  isCaptionPanelVisible && (React.createElement("div", { className: bem.element('panel', { 'full-height': !props.showCalendarFooter }) },
96
99
  React.createElement("div", { className: bem.element('panel-header', 'months') }, __('Месяц')),
97
100
  React.createElement("div", { className: bem.element('panel-header', 'years') }, __('Год')),
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { IEventGroup } from '@steroidsjs/core/ui/content/CalendarSystem/CalendarSystem';
3
+ import './AsideCalendars.scss';
4
+ interface IAsideCalendarsProps {
5
+ eventGroups: IEventGroup[];
6
+ eventGroupsTitle: string;
7
+ selectedCalendarGroupsIds: number[];
8
+ onChangeEventGroupsIds: (selectedIds: number[]) => void;
9
+ }
10
+ declare function AsideCalendars(props: IAsideCalendarsProps): JSX.Element;
11
+ declare const _default: React.MemoExoticComponent<typeof AsideCalendars>;
12
+ export default _default;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ exports.__esModule = true;
29
+ var react_1 = __importStar(require("react"));
30
+ var useBem_1 = __importDefault(require("@steroidsjs/core/hooks/useBem"));
31
+ var content_1 = require("@steroidsjs/core/ui/content");
32
+ var form_1 = require("@steroidsjs/core/ui/form");
33
+ require("./AsideCalendars.scss");
34
+ function AsideCalendars(props) {
35
+ var bem = (0, useBem_1["default"])('AsideCalendars');
36
+ return (react_1["default"].createElement("div", { className: bem.block() },
37
+ react_1["default"].createElement(content_1.Accordion, null,
38
+ react_1["default"].createElement(content_1.AccordionItem, { title: props.eventGroupsTitle },
39
+ react_1["default"].createElement(form_1.CheckboxListField, { items: props.eventGroups, selectedIds: props.selectedCalendarGroupsIds, onChange: function (selectedIds) { return props.onChangeEventGroupsIds(selectedIds); } })))));
40
+ }
41
+ exports["default"] = (0, react_1.memo)(AsideCalendars);
@@ -0,0 +1,81 @@
1
+ @use "style/variables";
2
+
3
+ :root {
4
+ --calendar-system-icon-background-color: #f1f5f7;
5
+ --calendar-system-icon-chevron-color: #323232;
6
+ }
7
+
8
+ html[data-theme="dark"] {
9
+ --calendar-system-icon-background-color: #4b4e5e;
10
+ --calendar-system-separator-color: rgba(255, 255, 255, 0.1);
11
+ }
12
+
13
+ $calendar-system-icon-background-color: var(--calendar-system-icon-background-color);
14
+ $calendar-system-separator-color: var(--calendar-system-separator-color);
15
+
16
+ .AsideCalendars {
17
+ position: relative;
18
+
19
+ &::before {
20
+ content: "";
21
+ display: block;
22
+ position: relative;
23
+ height: 1px;
24
+ width: 100%;
25
+ margin: 32px 0px;
26
+
27
+ background-color: $calendar-system-separator-color;
28
+ }
29
+
30
+ .AccordionItemView {
31
+ width: 100%;
32
+
33
+ &_opened {
34
+ overflow: visible;
35
+ }
36
+
37
+ &__icon-chevron {
38
+ box-shadow: none;
39
+
40
+ svg {
41
+ rect {
42
+ fill: $calendar-system-icon-background-color;
43
+ }
44
+ path {
45
+ stroke: variables.$icon-color;
46
+ }
47
+ }
48
+ }
49
+
50
+ &__icon-wrapper {
51
+ top: 14px;
52
+ }
53
+
54
+ &__header-container {
55
+ background-color: variables.$element-background-color;
56
+ }
57
+
58
+ &__content {
59
+ padding: 0;
60
+ padding-top: 0;
61
+ }
62
+
63
+ &__content_visible {
64
+ padding: 0;
65
+ border: none;
66
+ overflow: visible;
67
+ }
68
+
69
+ &__title-container {
70
+ width: 238px;
71
+ padding-left: 0;
72
+ padding-top: 12px;
73
+
74
+ p {
75
+ font-size: variables.$font-size-16;
76
+ font-weight: variables.$font-weight-lg;
77
+ line-height: variables.$line-height-22;
78
+ }
79
+ }
80
+ }
81
+ }
@@ -0,0 +1,2 @@
1
+ import AsideCalendars from './AsideCalendars';
2
+ export default AsideCalendars;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ exports.__esModule = true;
6
+ var AsideCalendars_1 = __importDefault(require("./AsideCalendars"));
7
+ exports["default"] = AsideCalendars_1["default"];
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import './AsideHeader.scss';
3
+ interface IAsideHeaderProps {
4
+ onClick?: () => void;
5
+ className?: string;
6
+ }
7
+ declare function AsideHeader(props: IAsideHeaderProps): JSX.Element;
8
+ declare const _default: React.MemoExoticComponent<typeof AsideHeader>;
9
+ export default _default;
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ exports.__esModule = true;
29
+ var react_1 = __importStar(require("react"));
30
+ var useBem_1 = __importDefault(require("@steroidsjs/core/hooks/useBem"));
31
+ var Title_1 = __importDefault(require("@steroidsjs/core/ui/typography/Title/Title"));
32
+ var form_1 = require("@steroidsjs/core/ui/form");
33
+ require("./AsideHeader.scss");
34
+ function AsideHeader(props) {
35
+ var bem = (0, useBem_1["default"])('AsideHeader');
36
+ return (react_1["default"].createElement("div", { className: bem(bem.block(), props.className) },
37
+ react_1["default"].createElement(Title_1["default"], { content: __('Календарь'), className: bem.element('title') }),
38
+ react_1["default"].createElement(form_1.Button, { icon: "add", size: "sm", label: __('Создать'), className: bem.element('create'), onClick: props.onClick })));
39
+ }
40
+ exports["default"] = (0, react_1.memo)(AsideHeader);
@@ -0,0 +1,41 @@
1
+ @use "style/variables";
2
+
3
+ .AsideHeader {
4
+ display: flex;
5
+ align-items: center;
6
+ justify-content: space-between;
7
+
8
+ &__title {
9
+ font-size: variables.$font-size-24;
10
+ font-weight: variables.$font-weight-lg;
11
+ line-height: variables.$line-height-32;
12
+ color: variables.$text-color;
13
+ margin-bottom: 0;
14
+ }
15
+
16
+ .ButtonView {
17
+ width: 94px;
18
+ height: 34px;
19
+ border: none;
20
+ padding: 5px 12px;
21
+
22
+ &__label {
23
+ gap: 4px;
24
+ }
25
+
26
+ &__text {
27
+ font-size: variables.$font-size-14;
28
+ font-weight: variables.$font-weight-sm;
29
+ line-height: variables.$line-height-24;
30
+ }
31
+
32
+ &__icon {
33
+ margin: 0;
34
+ svg path,
35
+ rect,
36
+ circle {
37
+ stroke: #FFFFFF;
38
+ }
39
+ }
40
+ }
41
+ }
@@ -0,0 +1,2 @@
1
+ import AsideHeader from './AsideHeader';
2
+ export default AsideHeader;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ exports.__esModule = true;
6
+ var AsideHeader_1 = __importDefault(require("./AsideHeader"));
7
+ exports["default"] = AsideHeader_1["default"];
@@ -0,0 +1,3 @@
1
+ import './CalendarSystemModalView.scss';
2
+ import { ICalendarSystemModalViewProps } from '@steroidsjs/core/ui/content/CalendarSystem/CalendarSystem';
3
+ export default function CalendarSystemModalView(props: ICalendarSystemModalViewProps): JSX.Element;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ exports.__esModule = true;
6
+ var react_1 = __importDefault(require("react"));
7
+ var useBem_1 = __importDefault(require("@steroidsjs/core/hooks/useBem"));
8
+ require("./CalendarSystemModalView.scss");
9
+ var Modal_1 = __importDefault(require("@steroidsjs/core/ui/modal/Modal"));
10
+ function CalendarSystemModalView(props) {
11
+ var bem = (0, useBem_1["default"])('CalendarSystemModalView');
12
+ return (react_1["default"].createElement(Modal_1["default"], { title: __('Новое событие'), onClose: props.onClose }));
13
+ }
14
+ exports["default"] = CalendarSystemModalView;
@@ -0,0 +1,5 @@
1
+ @import 'style/variables';
2
+
3
+ .CalendarSystemModalView {
4
+
5
+ }
@@ -0,0 +1,2 @@
1
+ import { ICalendarSystemViewProps } from '@steroidsjs/core/ui/content/CalendarSystem/CalendarSystem';
2
+ export default function CalendarSystemView(props: ICalendarSystemViewProps): JSX.Element;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ exports.__esModule = true;
6
+ var react_1 = __importDefault(require("react"));
7
+ var useBem_1 = __importDefault(require("@steroidsjs/core/hooks/useBem"));
8
+ var Calendar_1 = __importDefault(require("@steroidsjs/core/ui/content/Calendar"));
9
+ var CalendarType_1 = __importDefault(require("@steroidsjs/core/ui/content/CalendarSystem/enums/CalendarType"));
10
+ var AsideHeader_1 = __importDefault(require("./AsideHeader"));
11
+ var AsideCalendars_1 = __importDefault(require("./AsideCalendars"));
12
+ var ContentHeader_1 = __importDefault(require("./ContentHeader"));
13
+ var MonthGrid_1 = __importDefault(require("./MonthGrid"));
14
+ var WeekGrid_1 = __importDefault(require("./WeekGrid"));
15
+ function CalendarSystemView(props) {
16
+ var bem = (0, useBem_1["default"])('CalendarSystemView');
17
+ return (react_1["default"].createElement("div", { className: bem(bem.block(), props.className), style: props.style },
18
+ react_1["default"].createElement("aside", { className: bem.element('aside') },
19
+ react_1["default"].createElement(AsideHeader_1["default"], { onClick: props.onClickCreate, className: bem.element('aside-header') }),
20
+ react_1["default"].createElement(Calendar_1["default"], { showFooter: false, onMonthChange: props.onMonthChange }),
21
+ react_1["default"].createElement(AsideCalendars_1["default"], { eventGroups: props.eventGroups, eventGroupsTitle: props.eventGroupsTitle, selectedCalendarGroupsIds: props.selectedCalendarGroups, onChangeEventGroupsIds: props.onChangeEventGroupsIds })),
22
+ react_1["default"].createElement("div", { className: bem.element('content') },
23
+ react_1["default"].createElement(ContentHeader_1["default"], { dateToDisplay: props.dateToDisplay, onChangeCalendarType: props.onChangeCalendarType, applyControl: props.applyControl }),
24
+ props.calendarType === CalendarType_1["default"].MONTH
25
+ ? (react_1["default"].createElement(MonthGrid_1["default"], { monthCalendarDays: props.monthCalendarDays, getEventsFromDate: props.getEventsFromDate, weekDays: props.weekDays }))
26
+ : (react_1["default"].createElement(WeekGrid_1["default"], { allHours: props.allHours, getEventsFromDate: props.getEventsFromDate, onClickHour: props.onClickHour, currentWeekDays: props.currentWeekDays })))));
27
+ }
28
+ exports["default"] = CalendarSystemView;
@@ -0,0 +1,50 @@
1
+ @use 'style/variables';
2
+
3
+ :root {
4
+ --calendar-system-content-background-color: #f1f5f7;
5
+ }
6
+
7
+ html[data-theme="dark"] {
8
+ --calendar-system-content-background-color: #101216;
9
+ }
10
+
11
+ $calendar-system-content-background-color: var(--calendar-system-content-background-color);
12
+
13
+ .CalendarSystemView {
14
+ $root: &;
15
+ max-height: 1080px;
16
+
17
+ display: flex;
18
+ &__aside {
19
+ display: flex;
20
+ flex-flow: column nowrap;
21
+ flex-shrink: 0;
22
+ gap: 32px;
23
+ max-width: 310px;
24
+ padding: 12px;
25
+
26
+ background-color: variables.$element-background-color;
27
+
28
+ .CalendarView {
29
+ padding: 0;
30
+ border: none;
31
+
32
+ .DayPicker-WeekdaysRow {
33
+ gap: 8px;
34
+ }
35
+
36
+ .DayPicker-Week {
37
+ gap: 8px;
38
+ }
39
+ }
40
+ }
41
+
42
+ &__content {
43
+ background-color: $calendar-system-content-background-color;
44
+ width: 100%;
45
+ padding: 12px;
46
+ display: flex;
47
+ flex-flow: column nowrap;
48
+ gap: 11px;
49
+ }
50
+ }
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import './ContentHeader.scss';
3
+ interface IContentHeaderProps {
4
+ dateToDisplay: string;
5
+ onChangeCalendarType: (newType: string) => void;
6
+ applyControl: (event: React.MouseEvent<HTMLElement>) => void;
7
+ }
8
+ declare function ContentHeader(props: IContentHeaderProps): JSX.Element;
9
+ declare const _default: React.MemoExoticComponent<typeof ContentHeader>;
10
+ export default _default;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ exports.__esModule = true;
6
+ /* eslint-disable jsx-a11y/no-noninteractive-element-interactions */
7
+ var react_1 = __importDefault(require("react"));
8
+ var useBem_1 = __importDefault(require("@steroidsjs/core/hooks/useBem"));
9
+ var Text_1 = __importDefault(require("@steroidsjs/core/ui/typography/Text/Text"));
10
+ var nav_1 = require("@steroidsjs/core/ui/nav");
11
+ var content_1 = require("@steroidsjs/core/ui/content");
12
+ var DateControlType_1 = __importDefault(require("@steroidsjs/core/ui/content/CalendarSystem/enums/DateControlType"));
13
+ var CalendarType_1 = __importDefault(require("@steroidsjs/core/ui/content/CalendarSystem/enums/CalendarType"));
14
+ require("./ContentHeader.scss");
15
+ function ContentHeader(props) {
16
+ var bem = (0, useBem_1["default"])('ContentHeader');
17
+ return (react_1["default"].createElement("div", { className: bem.block() },
18
+ react_1["default"].createElement(Text_1["default"], { content: props.dateToDisplay, className: bem.element('month') }),
19
+ react_1["default"].createElement("ul", { className: bem.element('controls'), onClick: props.applyControl }, Object.entries(DateControlType_1["default"].getIcons()).map(function (_a, controlIndex) {
20
+ var controlLabel = _a[0], controlIcon = _a[1];
21
+ return (react_1["default"].createElement("li", { key: controlIndex, className: bem.element('controls-item'), "data-control": controlLabel },
22
+ react_1["default"].createElement(content_1.Icon, { className: bem.element('controls-item-icon'), name: controlIcon })));
23
+ })),
24
+ react_1["default"].createElement(nav_1.ButtonGroup, { className: bem.element('measures'), items: Object.entries(CalendarType_1["default"].getLabels()).map(function (_a) {
25
+ var _ = _a[0], label = _a[1];
26
+ return label;
27
+ }), onClick: props.onChangeCalendarType, defaultActiveButton: CalendarType_1["default"].getLabels()[CalendarType_1["default"].MONTH] })));
28
+ }
29
+ exports["default"] = react_1["default"].memo(ContentHeader);
@@ -0,0 +1,57 @@
1
+ @use "style/variables";
2
+
3
+ :root {
4
+ --calendar-system-caption-arrow-background-color: #fff;
5
+ --calendar-system-caption-arrow-color: #323232;
6
+ }
7
+
8
+ html[data-theme="dark"] {
9
+ --calendar-system-caption-arrow-background-color: var(--gray);
10
+ --calendar-system-caption-arrow-color: #ffffff;
11
+ }
12
+
13
+ $calendar-system-caption-arrow-color: var(--calendar-system-caption-arrow-color);
14
+ $calendar-system-caption-arrow-background-color: var(--calendar-system-caption-arrow-background-color);
15
+
16
+ .ContentHeader {
17
+ display: flex;
18
+ align-items: center;
19
+
20
+ &__month {
21
+ display: inline-block;
22
+ font-size: variables.$font-size-24;
23
+ font-weight: variables.$font-weight-lg;
24
+ line-height: variables.$line-height-32;
25
+ margin-right: 93px;
26
+ margin-bottom: 0;
27
+ width: 190px;
28
+ }
29
+
30
+ &__controls {
31
+ display: inline-flex;
32
+ align-items: center;
33
+ flex-flow: row nowrap;
34
+ margin-right: auto;
35
+ gap: 8px;
36
+
37
+ &-item {
38
+ cursor: pointer;
39
+
40
+ svg {
41
+ path {
42
+ stroke: $calendar-system-caption-arrow-color;
43
+ }
44
+ rect {
45
+ fill: $calendar-system-caption-arrow-background-color;
46
+ }
47
+ }
48
+
49
+ &-icon {
50
+ pointer-events: none;
51
+ }
52
+ }
53
+ }
54
+
55
+ &__measures {
56
+ }
57
+ }
@@ -0,0 +1,2 @@
1
+ import ContentHeader from './ContentHeader';
2
+ export default ContentHeader;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ exports.__esModule = true;
6
+ var ContentHeader_1 = __importDefault(require("./ContentHeader"));
7
+ exports["default"] = ContentHeader_1["default"];
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { IDay, IEvent } from '@steroidsjs/core/ui/content/CalendarSystem/CalendarSystem';
3
+ import CalendarEnum from '@steroidsjs/core/ui/content/CalendarSystem/enums/CalendarType';
4
+ import './MonthGrid.scss';
5
+ interface IMonthGridProps {
6
+ monthCalendarDays: IDay[];
7
+ getEventsFromDate: (dateFromDay: Date, currentCalendarType: CalendarEnum) => IEvent[];
8
+ weekDays: string[];
9
+ }
10
+ declare function MonthGrid(props: IMonthGridProps): JSX.Element;
11
+ declare const _default: React.MemoExoticComponent<typeof MonthGrid>;
12
+ export default _default;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ exports.__esModule = true;
29
+ var react_1 = __importStar(require("react"));
30
+ var useBem_1 = __importDefault(require("@steroidsjs/core/hooks/useBem"));
31
+ var CalendarType_1 = __importDefault(require("@steroidsjs/core/ui/content/CalendarSystem/enums/CalendarType"));
32
+ require("./MonthGrid.scss");
33
+ function MonthGrid(props) {
34
+ var bem = (0, useBem_1["default"])('MonthGrid');
35
+ return (react_1["default"].createElement("div", { className: bem.block() },
36
+ react_1["default"].createElement("div", { className: bem.element('week-days') }, props.weekDays.map(function (day, dayIndex) { return (react_1["default"].createElement("span", { key: dayIndex, className: bem.element('week-days-day') }, day)); })),
37
+ react_1["default"].createElement("div", { className: bem.element('grid') }, props.monthCalendarDays.map(function (day, dayIndex) {
38
+ var _a;
39
+ return (react_1["default"].createElement("div", { key: dayIndex, className: bem.element('day', {
40
+ outOfRange: day.outOfRange,
41
+ isToday: day.isToday
42
+ }) },
43
+ react_1["default"].createElement("div", { className: bem.element('day-wrapper') },
44
+ react_1["default"].createElement("span", { className: bem.element('day-number') }, day.dayNumber.toString()),
45
+ react_1["default"].createElement("div", { className: bem.element('day-content') }, (_a = props.getEventsFromDate(day.date, CalendarType_1["default"].MONTH)) === null || _a === void 0 ? void 0 : _a.map(function (event, eventIndex) { return (react_1["default"].createElement("span", { key: eventIndex, className: bem.element('day-event'), title: event.title },
46
+ react_1["default"].createElement("span", { className: bem.element('day-event-dot'), style: { backgroundColor: event.color } }),
47
+ event.title)); })))));
48
+ }))));
49
+ }
50
+ exports["default"] = (0, react_1.memo)(MonthGrid);