@steroidsjs/bootstrap 3.0.0-beta.99 → 3.0.1

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 (187) hide show
  1. package/content/Calendar/CalendarView.js +6 -3
  2. package/content/Calendar/CalendarView.scss +7 -2
  3. package/content/Calendar/CaptionElement.js +6 -3
  4. package/content/CalendarSystem/AsideCalendars/AsideCalendars.d.ts +12 -0
  5. package/content/CalendarSystem/AsideCalendars/AsideCalendars.js +43 -0
  6. package/content/CalendarSystem/AsideCalendars/AsideCalendars.scss +107 -0
  7. package/content/CalendarSystem/AsideCalendars/index.d.ts +2 -0
  8. package/content/CalendarSystem/AsideCalendars/index.js +7 -0
  9. package/content/CalendarSystem/AsideHeader/AsideHeader.d.ts +9 -0
  10. package/content/CalendarSystem/AsideHeader/AsideHeader.js +40 -0
  11. package/content/CalendarSystem/AsideHeader/AsideHeader.scss +41 -0
  12. package/content/CalendarSystem/AsideHeader/index.d.ts +2 -0
  13. package/content/CalendarSystem/AsideHeader/index.js +7 -0
  14. package/content/CalendarSystem/CalendarSystemEventGroupModalView.d.ts +2 -0
  15. package/content/CalendarSystem/CalendarSystemEventGroupModalView.js +25 -0
  16. package/content/CalendarSystem/CalendarSystemEventGroupModalView.scss +53 -0
  17. package/content/CalendarSystem/CalendarSystemModalView.d.ts +2 -0
  18. package/content/CalendarSystem/CalendarSystemModalView.js +54 -0
  19. package/content/CalendarSystem/CalendarSystemModalView.scss +84 -0
  20. package/content/CalendarSystem/CalendarSystemView.d.ts +2 -0
  21. package/content/CalendarSystem/CalendarSystemView.js +44 -0
  22. package/content/CalendarSystem/CalendarSystemView.scss +50 -0
  23. package/content/CalendarSystem/ContentHeader/ContentHeader.d.ts +10 -0
  24. package/content/CalendarSystem/ContentHeader/ContentHeader.js +26 -0
  25. package/content/CalendarSystem/ContentHeader/ContentHeader.scss +57 -0
  26. package/content/CalendarSystem/ContentHeader/index.d.ts +2 -0
  27. package/content/CalendarSystem/ContentHeader/index.js +7 -0
  28. package/content/CalendarSystem/MonthGrid/MonthGrid.d.ts +14 -0
  29. package/content/CalendarSystem/MonthGrid/MonthGrid.js +39 -0
  30. package/content/CalendarSystem/MonthGrid/MonthGrid.scss +41 -0
  31. package/content/CalendarSystem/MonthGrid/index.d.ts +2 -0
  32. package/content/CalendarSystem/MonthGrid/index.js +7 -0
  33. package/content/CalendarSystem/MonthGrid/views/MonthDay/MonthDay.d.ts +11 -0
  34. package/content/CalendarSystem/MonthGrid/views/MonthDay/MonthDay.js +73 -0
  35. package/content/CalendarSystem/MonthGrid/views/MonthDay/MonthDay.scss +126 -0
  36. package/content/CalendarSystem/MonthGrid/views/MonthDay/index.d.ts +2 -0
  37. package/content/CalendarSystem/MonthGrid/views/MonthDay/index.js +7 -0
  38. package/content/CalendarSystem/WeekGrid/WeekGrid.d.ts +14 -0
  39. package/content/CalendarSystem/WeekGrid/WeekGrid.js +25 -0
  40. package/content/CalendarSystem/WeekGrid/WeekGrid.scss +154 -0
  41. package/content/CalendarSystem/WeekGrid/index.d.ts +2 -0
  42. package/content/CalendarSystem/WeekGrid/index.js +7 -0
  43. package/content/CalendarSystem/WeekGrid/views/WeekHour/WeekHour.d.ts +12 -0
  44. package/content/CalendarSystem/WeekGrid/views/WeekHour/WeekHour.js +79 -0
  45. package/content/CalendarSystem/WeekGrid/views/WeekHour/WeekHour.scss +108 -0
  46. package/content/CalendarSystem/WeekGrid/views/WeekHour/index.d.ts +2 -0
  47. package/content/CalendarSystem/WeekGrid/views/WeekHour/index.js +7 -0
  48. package/content/Chart/ChartView.js +12 -2
  49. package/content/Chart/ChartView.scss +35 -4
  50. package/content/Chat/ChatView.d.ts +2 -0
  51. package/content/Chat/ChatView.js +62 -0
  52. package/content/Chat/ChatView.scss +59 -0
  53. package/content/Chat/index.d.ts +2 -0
  54. package/content/Chat/index.js +7 -0
  55. package/content/Chat/views/BubbleMessage/BubbleMessageView.d.ts +17 -0
  56. package/content/Chat/views/BubbleMessage/BubbleMessageView.js +72 -0
  57. package/content/Chat/views/BubbleMessage/BubbleMessageView.scss +195 -0
  58. package/content/Chat/views/BubbleMessage/index.d.ts +2 -0
  59. package/content/Chat/views/BubbleMessage/index.js +7 -0
  60. package/content/Chat/views/BubblesDateGroup/BubblesDateGroup.d.ts +12 -0
  61. package/content/Chat/views/BubblesDateGroup/BubblesDateGroup.js +48 -0
  62. package/content/Chat/views/BubblesDateGroup/BubblesDateGroup.scss +78 -0
  63. package/content/Chat/views/BubblesDateGroup/index.d.ts +2 -0
  64. package/content/Chat/views/BubblesDateGroup/index.js +7 -0
  65. package/content/Chat/views/ChatFileItem/ChatFileItemView.d.ts +9 -0
  66. package/content/Chat/views/ChatFileItem/ChatFileItemView.js +50 -0
  67. package/content/Chat/views/ChatFileItem/ChatFileItemView.scss +184 -0
  68. package/content/Chat/views/ChatFileItem/index.d.ts +2 -0
  69. package/content/Chat/views/ChatFileItem/index.js +7 -0
  70. package/content/Chat/views/ChatInput/ChatInputView.d.ts +3 -0
  71. package/content/Chat/views/ChatInput/ChatInputView.js +64 -0
  72. package/content/Chat/views/ChatInput/ChatInputView.scss +82 -0
  73. package/content/Chat/views/ChatInput/index.d.ts +2 -0
  74. package/content/Chat/views/ChatInput/index.js +7 -0
  75. package/content/Dashboard/DashboardItemView.d.ts +2 -0
  76. package/content/Dashboard/DashboardItemView.js +18 -0
  77. package/content/Dashboard/DashboardItemView.scss +47 -0
  78. package/content/DropDown/DropDownView.js +12 -12
  79. package/content/DropDown/DropDownView.scss +34 -175
  80. package/content/Icon/IconView.js +18 -2
  81. package/content/Kanban/KanbanView.d.ts +2 -0
  82. package/content/Kanban/KanbanView.js +29 -0
  83. package/content/Kanban/KanbanView.scss +12 -0
  84. package/content/Kanban/views/KanbanColumn/KanbanColumnView.d.ts +2 -0
  85. package/content/Kanban/views/KanbanColumn/KanbanColumnView.js +36 -0
  86. package/content/Kanban/views/KanbanColumn/KanbanColumnView.scss +75 -0
  87. package/content/Kanban/views/KanbanColumn/index.d.ts +2 -0
  88. package/content/Kanban/views/KanbanColumn/index.js +7 -0
  89. package/content/Kanban/views/KanbanModal/KanbanModalView.d.ts +2 -0
  90. package/content/Kanban/views/KanbanModal/KanbanModalView.js +57 -0
  91. package/content/Kanban/views/KanbanModal/KanbanModalView.scss +210 -0
  92. package/content/Kanban/views/KanbanModal/index.d.ts +2 -0
  93. package/content/Kanban/views/KanbanModal/index.js +7 -0
  94. package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/CreateOrEditTaskModalContentView.d.ts +2 -0
  95. package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/CreateOrEditTaskModalContentView.js +95 -0
  96. package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/index.d.ts +2 -0
  97. package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/index.js +7 -0
  98. package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/views/Label/Label.d.ts +6 -0
  99. package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/views/Label/Label.js +11 -0
  100. package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/views/Label/index.d.ts +2 -0
  101. package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/views/Label/index.js +7 -0
  102. package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/views/TagsSelector/TagsSelector.d.ts +8 -0
  103. package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/views/TagsSelector/TagsSelector.js +49 -0
  104. package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/views/TagsSelector/TagsSelector.scss +30 -0
  105. package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/views/TagsSelector/index.d.ts +2 -0
  106. package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/views/TagsSelector/index.js +7 -0
  107. package/content/Kanban/views/KanbanModal/views/TaskDetailsModalContent/TaskDetailsModalContentView.d.ts +2 -0
  108. package/content/Kanban/views/KanbanModal/views/TaskDetailsModalContent/TaskDetailsModalContentView.js +53 -0
  109. package/content/Kanban/views/KanbanModal/views/TaskDetailsModalContent/index.d.ts +2 -0
  110. package/content/Kanban/views/KanbanModal/views/TaskDetailsModalContent/index.js +7 -0
  111. package/content/Kanban/views/KanbanTask/KanbanTaskView.d.ts +5 -0
  112. package/content/Kanban/views/KanbanTask/KanbanTaskView.js +66 -0
  113. package/content/Kanban/views/KanbanTask/KanbanTaskView.scss +110 -0
  114. package/content/Kanban/views/KanbanTask/index.d.ts +2 -0
  115. package/content/Kanban/views/KanbanTask/index.js +7 -0
  116. package/content/Kanban/views/TaskTags/TaskTags.d.ts +9 -0
  117. package/content/Kanban/views/TaskTags/TaskTags.js +14 -0
  118. package/content/Kanban/views/TaskTags/TaskTags.scss +7 -0
  119. package/content/Kanban/views/TaskTags/index.d.ts +2 -0
  120. package/content/Kanban/views/TaskTags/index.js +7 -0
  121. package/content/Menu/MenuItemView.js +4 -1
  122. package/form/CheckboxField/CheckboxFieldView.js +5 -2
  123. package/form/CheckboxField/CheckboxFieldView.scss +27 -0
  124. package/form/CheckboxListField/CheckboxListFieldView.js +2 -1
  125. package/form/CheckboxTreeField/CheckboxTreeFieldView.d.ts +2 -0
  126. package/form/CheckboxTreeField/CheckboxTreeFieldView.js +30 -0
  127. package/form/CheckboxTreeField/CheckboxTreeFieldView.scss +5 -0
  128. package/form/CheckboxTreeField/index.d.ts +2 -0
  129. package/form/CheckboxTreeField/index.js +7 -0
  130. package/form/DateField/DateFieldView.js +1 -1
  131. package/form/DateRangeField/DateRangeFieldView.js +2 -2
  132. package/form/DateTimeField/DateTimeFieldView.js +1 -1
  133. package/form/DateTimeRangeField/DateTimeRangeFieldView.js +2 -2
  134. package/form/DropDownField/DropDownFieldView.js +4 -3
  135. package/form/DropDownField/DropDownFieldView.scss +12 -2
  136. package/form/DropDownFieldItem/DropDownFieldItemView.js +1 -1
  137. package/form/Form/FormView.js +1 -0
  138. package/form/InputField/InputFieldView.js +2 -2
  139. package/form/PasswordField/PasswordFieldView.js +1 -1
  140. package/form/WizardForm/WizardFormView.d.ts +2 -0
  141. package/form/WizardForm/WizardFormView.js +33 -0
  142. package/form/WizardForm/WizardFormView.scss +30 -0
  143. package/icons/index.js +3 -0
  144. package/icons/svgs/add_16x16.svg +4 -0
  145. package/icons/svgs/done-all.svg +4 -0
  146. package/icons/svgs/send.svg +3 -0
  147. package/icons/svgs/view.svg +1 -0
  148. package/icons/svgs/warning_16x16.svg +2 -0
  149. package/index.d.ts +36 -0
  150. package/index.js +36 -0
  151. package/index.scss +15 -0
  152. package/layout/ProgressBar/CircleProgressBarView.js +4 -1
  153. package/layout/ProgressBar/LineProgressBarView.js +4 -1
  154. package/layout/Skeleton/SkeletonView.js +4 -1
  155. package/layout/Tooltip/TooltipView.js +3 -3
  156. package/layout/Tooltip/TooltipView.scss +10 -77
  157. package/list/FlexGrid/FlexGridView.scss +6 -13
  158. package/list/Grid/GridView.scss +8 -10
  159. package/list/Grid/views/TreeColumnView/TreeColumnView.d.ts +2 -0
  160. package/list/Grid/views/TreeColumnView/TreeColumnView.js +27 -0
  161. package/list/Grid/views/TreeColumnView/TreeColumnView.scss +6 -0
  162. package/list/Steps/StepItemView.js +21 -10
  163. package/list/Steps/StepItemView.scss +113 -83
  164. package/list/Steps/StepsView.js +4 -24
  165. package/list/Steps/StepsView.scss +6 -15
  166. package/nav/Controls/ControlsView.scss +3 -3
  167. package/nav/Tree/TreeView.js +3 -9
  168. package/nav/Tree/TreeView.scss +10 -47
  169. package/nav/TreeItem/TreeItemView.d.ts +2 -0
  170. package/nav/TreeItem/TreeItemView.js +70 -0
  171. package/nav/TreeItem/TreeItemView.scss +67 -0
  172. package/package.json +3 -3
  173. package/scss/bootstrap-classes/flex.scss +42 -0
  174. package/scss/bootstrap-classes/index.scss +4 -0
  175. package/scss/bootstrap-classes/layout.scss +72 -0
  176. package/scss/bootstrap-classes/spacing.scss +181 -0
  177. package/scss/bootstrap-classes/typography.scss +25 -0
  178. package/scss/mixins/button.scss +24 -8
  179. package/scss/mixins/index.scss +1 -0
  180. package/scss/mixins/scroll.scss +6 -0
  181. package/scss/mixins/tooltip.scss +113 -0
  182. package/scss/variables/common/colors.scss +5 -2
  183. package/scss/variables/common/flex.scss +5 -0
  184. package/scss/variables/common/typography.scss +13 -0
  185. package/scss/variables/index.scss +1 -0
  186. package/utils/getFormattedExpandLabel.d.ts +1 -0
  187. package/utils/getFormattedExpandLabel.js +5 -0
@@ -38,10 +38,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
38
38
  };
39
39
  exports.__esModule = true;
40
40
  var React = __importStar(require("react"));
41
- var moment_1 = __importDefault(require("react-day-picker/moment"));
42
41
  var react_1 = require("react");
43
42
  var hooks_1 = require("@steroidsjs/core/hooks");
44
43
  var react_day_picker_1 = __importStar(require("react-day-picker"));
44
+ var calendar_1 = require("@steroidsjs/core/utils/calendar");
45
45
  var CaptionElement_1 = __importDefault(require("./CaptionElement"));
46
46
  function CalendarView(props) {
47
47
  var bem = (0, hooks_1.useBem)('CalendarView');
@@ -57,7 +57,10 @@ function CalendarView(props) {
57
57
  var outRange = function (day) { return react_day_picker_1.DateUtils.isDayBefore(day, from); };
58
58
  return {
59
59
  selectedDays: isRange
60
- ? [from, { from: from, to: to }]
60
+ ? [from, {
61
+ from: from,
62
+ to: to
63
+ }]
61
64
  : from,
62
65
  modifiers: isRange && !react_day_picker_1.DateUtils.isSameDay(from, to)
63
66
  ? {
@@ -81,6 +84,6 @@ function CalendarView(props) {
81
84
  else {
82
85
  onDaySelect(day);
83
86
  }
84
- }, fixedWeeks: true, month: month, firstDayOfWeek: 1, modifiers: modifiers, canChangeMonth: false, onDayClick: onDaySelect, selectedDays: selectedDays, numberOfMonths: numberOfMonths, localeUtils: moment_1["default"], locale: localeComponent.language })));
87
+ }, fixedWeeks: true, month: month, firstDayOfWeek: 1, modifiers: modifiers, canChangeMonth: false, onDayClick: onDaySelect, selectedDays: selectedDays, numberOfMonths: numberOfMonths, localeUtils: calendar_1.customLocaleUtils, locale: localeComponent.language })));
85
88
  }
86
89
  exports["default"] = CalendarView;
@@ -155,10 +155,10 @@ $calendar-border-color: var(--calendar-border-color);
155
155
  z-index: 9;
156
156
  }
157
157
 
158
- &:focus {
158
+ &:focus {
159
159
  outline: none;
160
160
  }
161
-
161
+
162
162
  &:focus:not(:active)::after {
163
163
  opacity: 1;
164
164
  }
@@ -291,3 +291,8 @@ $calendar-border-color: var(--calendar-border-color);
291
291
  }
292
292
  }
293
293
  }
294
+
295
+ // Class to allow body scroll, when Calendar is open in a Modal window
296
+ .ModalView_body-hide-scroll:has(.CalendarView) {
297
+ overflow-y: auto;
298
+ }
@@ -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
+ onChangeEventGroupsIds: (selectedIds: number[]) => void;
8
+ openCreateEventGroupModal: () => 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,43 @@
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, onChange: function (selectedIds) { return props.onChangeEventGroupsIds(selectedIds); } }),
40
+ react_1["default"].createElement(form_1.Button, { color: 'basic', className: bem.element('add'), onClick: props.openCreateEventGroupModal, size: 'sm' },
41
+ react_1["default"].createElement(content_1.Icon, { name: "add_16x16" }))))));
42
+ }
43
+ exports["default"] = (0, react_1.memo)(AsideCalendars);
@@ -0,0 +1,107 @@
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
+ $root: &;
18
+
19
+ position: relative;
20
+
21
+ &::before {
22
+ content: "";
23
+ display: block;
24
+ position: relative;
25
+ height: 1px;
26
+ width: 100%;
27
+ margin: 32px 0px;
28
+
29
+ background-color: $calendar-system-separator-color;
30
+ }
31
+
32
+ .AccordionItemView {
33
+ width: 100%;
34
+
35
+ &_opened {
36
+ overflow: visible;
37
+ }
38
+
39
+ &__icon-chevron {
40
+ box-shadow: none;
41
+
42
+ svg {
43
+ rect {
44
+ fill: $calendar-system-icon-background-color;
45
+ }
46
+ path {
47
+ stroke: variables.$icon-color;
48
+ }
49
+ }
50
+ }
51
+
52
+ &__icon-wrapper {
53
+ top: 14px;
54
+ }
55
+
56
+ &__header-container {
57
+ background-color: variables.$element-background-color;
58
+ }
59
+
60
+ &__content {
61
+ padding: 0;
62
+ padding-top: 0;
63
+
64
+ > .FieldLayoutView {
65
+ margin-bottom: 0;
66
+ }
67
+ }
68
+
69
+ &__content_visible {
70
+ padding: 0;
71
+ border: none;
72
+ overflow: visible;
73
+ }
74
+
75
+ &__title-container {
76
+ width: 238px;
77
+ padding-left: 0;
78
+ padding-top: 12px;
79
+
80
+ p {
81
+ font-size: variables.$font-size-16;
82
+ font-weight: variables.$font-weight-lg;
83
+ line-height: variables.$line-height-22;
84
+ }
85
+ }
86
+ }
87
+
88
+ &__add {
89
+ width: 24px;
90
+ height: 24px;
91
+ max-width: 24px;
92
+ min-width: auto;
93
+ padding: 4px;
94
+ position: relative;
95
+ margin-top: 8px;
96
+
97
+ svg {
98
+ position: absolute;
99
+ width: 100%;
100
+ width: 100%;
101
+ top: 0;
102
+ left: 0;
103
+ right: 0;
104
+ bottom: 0;
105
+ }
106
+ }
107
+ }
@@ -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: auto;
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,2 @@
1
+ import { CalendarSystemEventGroupModalViewProps } from '@steroidsjs/core/ui/content/CalendarSystem/CalendarSystem';
2
+ export default function CalendarSystemEventGroupModalView(props: CalendarSystemEventGroupModalViewProps): JSX.Element;
@@ -0,0 +1,25 @@
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 hooks_1 = require("@steroidsjs/core/hooks");
8
+ var Modal_1 = __importDefault(require("@steroidsjs/core/ui/modal/Modal"));
9
+ var form_1 = require("@steroidsjs/core/ui/form");
10
+ var typography_1 = require("@steroidsjs/core/ui/typography");
11
+ function CalendarSystemEventGroupModalView(props) {
12
+ var bem = (0, hooks_1.useBem)('CalendarSystemEventGroupModalView');
13
+ return (react_1["default"].createElement(Modal_1["default"], { title: props.isCreate ? __('Новая группа') : __('Редактирование группы'), onClose: props.onClose, className: bem.block(), shouldCloseOnEsc: true, shouldCloseOnOverlayClick: true },
14
+ react_1["default"].createElement(form_1.Form, { className: bem.element('form'), onSubmit: function (fields) {
15
+ props.onEventGroupSubmit(fields);
16
+ props.onClose();
17
+ }, submitLabel: props.isCreate ? __('Создать') : __('Сохранить'), initialValues: props.eventGroupInitialValues },
18
+ react_1["default"].createElement("div", null,
19
+ react_1["default"].createElement(typography_1.Text, { className: bem.element('label'), content: __('Имя') }),
20
+ react_1["default"].createElement(form_1.InputField, { attribute: 'label', required: true, className: bem.element('name-field') })),
21
+ react_1["default"].createElement("div", null,
22
+ react_1["default"].createElement(typography_1.Text, { className: bem.element('label'), content: __('Выбор цвета') }),
23
+ react_1["default"].createElement(form_1.InputField, { type: 'color', required: true, attribute: 'color' })))));
24
+ }
25
+ exports["default"] = CalendarSystemEventGroupModalView;
@@ -0,0 +1,53 @@
1
+ @use "style/variables";
2
+
3
+ .CalendarSystemEventGroupModalView {
4
+ $root: &;
5
+ width: 584px;
6
+
7
+ .FieldLayoutView {
8
+ margin-bottom: 0;
9
+ }
10
+
11
+ .ModalView__header {
12
+ .ModalView__title {
13
+ font-size: variables.$font-size-lg;
14
+ font-weight: variables.$font-weight-lg;
15
+ line-height: variables.$line-height-lg;
16
+ }
17
+ }
18
+
19
+ &__form {
20
+ display: flex;
21
+ flex-flow: column nowrap;
22
+ gap: 16px;
23
+
24
+ > div {
25
+ display: flex;
26
+ flex-flow: row nowrap;
27
+ align-items: center;
28
+
29
+ gap: 12px;
30
+
31
+ &:nth-child(2) .FieldLayoutView .InputFieldView{
32
+ width: 120px;
33
+ }
34
+ }
35
+
36
+ #{$root}__label {
37
+ align-self: flex-start;
38
+ margin-bottom: 0;
39
+ margin-right: 16px;
40
+ width: 140px;
41
+ height: 46px;
42
+ }
43
+
44
+ #{$root}__name-field {
45
+ width: 380px;
46
+ }
47
+
48
+ .ButtonView {
49
+ width: 120px;
50
+ padding: 11px 12px;
51
+ }
52
+ }
53
+ }
@@ -0,0 +1,2 @@
1
+ import { ICalendarSystemModalViewProps } from '@steroidsjs/core/ui/content/CalendarSystem/CalendarSystem';
2
+ export default function CalendarSystemModalView(props: ICalendarSystemModalViewProps): JSX.Element;
@@ -0,0 +1,54 @@
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 @typescript-eslint/no-shadow */
7
+ /* eslint-disable implicit-arrow-linebreak */
8
+ /* eslint-disable no-undef */
9
+ var Modal_1 = __importDefault(require("@steroidsjs/core/ui/modal/Modal"));
10
+ var form_1 = require("@steroidsjs/core/ui/form");
11
+ var Text_1 = __importDefault(require("@steroidsjs/core/ui/typography/Text/Text"));
12
+ var react_1 = __importDefault(require("react"));
13
+ var useBem_1 = __importDefault(require("@steroidsjs/core/hooks/useBem"));
14
+ var hooks_1 = require("@steroidsjs/core/hooks");
15
+ var form_2 = require("@steroidsjs/core/actions/form");
16
+ var ADD_EVENT_FORM_ID = 'AddEventForm';
17
+ function CalendarSystemModalView(props) {
18
+ var bem = (0, useBem_1["default"])('CalendarSystemModalView');
19
+ var dispatch = (0, hooks_1.useDispatch)();
20
+ var eventInitialValues = react_1["default"].useMemo(function () { return props.eventInitialValues; }, [props.eventInitialValues]);
21
+ var callOnEventSubmit = function (fields) {
22
+ return eventInitialValues && !props.isCreate ? props.onModalFormSubmit(fields, eventInitialValues) : props.onModalFormSubmit(fields);
23
+ };
24
+ var onCloseModal = react_1["default"].useCallback(function () {
25
+ props.onClose();
26
+ dispatch((0, form_2.formSetErrors)(ADD_EVENT_FORM_ID, {}));
27
+ }, []);
28
+ return (react_1["default"].createElement(Modal_1["default"], { title: props.isCreate ? __('Новое событие') : __('Редактирование события'), onClose: onCloseModal, className: bem.block(), shouldCloseOnEsc: true, shouldCloseOnOverlayClick: true },
29
+ react_1["default"].createElement(form_1.Form, { className: bem.element('default-form'), formId: ADD_EVENT_FORM_ID, onBeforeSubmit: function (data) {
30
+ if (!data.eventGroupId) {
31
+ dispatch((0, form_2.formSetErrors)(ADD_EVENT_FORM_ID, {
32
+ eventGroupId: [__('Поле обязательно для заполнения')]
33
+ }));
34
+ return false;
35
+ }
36
+ return data;
37
+ }, onSubmit: function (fields) {
38
+ callOnEventSubmit(fields);
39
+ onCloseModal();
40
+ }, initialValues: eventInitialValues !== null && eventInitialValues !== void 0 ? eventInitialValues : null, submitLabel: props.isCreate ? __('Создать') : __('Сохранить'), useRedux: true },
41
+ react_1["default"].createElement("div", null,
42
+ react_1["default"].createElement(Text_1["default"], { content: __('Наименование'), className: bem.element('label') }),
43
+ react_1["default"].createElement(form_1.InputField, { attribute: 'title', required: true, className: bem.element('name-field') }),
44
+ react_1["default"].createElement(form_1.DropDownField, { attribute: 'eventGroupId', items: props.eventGroups, outline: true, placeholder: '\u0413\u0440\u0443\u043F\u043F\u0430', color: "primary", itemsContent: {
45
+ type: 'checkbox'
46
+ } })),
47
+ react_1["default"].createElement("div", null,
48
+ react_1["default"].createElement(Text_1["default"], { content: __('Время и дата'), className: bem.element('label') }),
49
+ react_1["default"].createElement(form_1.DateTimeField, { attribute: 'date', required: true })),
50
+ react_1["default"].createElement("div", null,
51
+ react_1["default"].createElement(Text_1["default"], { content: __('Описание'), className: bem.element('label') }),
52
+ react_1["default"].createElement(form_1.TextField, { attribute: 'description', required: true })))));
53
+ }
54
+ exports["default"] = CalendarSystemModalView;
@@ -0,0 +1,84 @@
1
+ @use "style/variables";
2
+
3
+ .CalendarSystemModalView {
4
+ $root: &;
5
+ width: 941px;
6
+
7
+ .FieldLayoutView {
8
+ margin-bottom: 0;
9
+ }
10
+
11
+ .ModalView__header {
12
+ .ModalView__title {
13
+ font-size: variables.$font-size-lg;
14
+ font-weight: variables.$font-weight-lg;
15
+ line-height: variables.$line-height-lg;
16
+ }
17
+ }
18
+
19
+ .ModalView__content {
20
+ padding: 0;
21
+ }
22
+
23
+ &__default-form {
24
+ display: flex;
25
+ flex-flow: column nowrap;
26
+ gap: 16px;
27
+
28
+ > div {
29
+ display: flex;
30
+ flex-flow: row nowrap;
31
+ align-items: flex-start;
32
+
33
+ gap: 12px;
34
+
35
+ &:nth-child(3) {
36
+ > .FieldLayoutView {
37
+ width: calc(84%);
38
+
39
+ .TextFieldView textarea {
40
+ height: 160px;
41
+ }
42
+ }
43
+ }
44
+ }
45
+
46
+ #{$root}__label {
47
+ align-self: flex-start;
48
+ margin-bottom: 0;
49
+ margin-right: 16px;
50
+ width: 140px;
51
+ height: 46px;
52
+ }
53
+
54
+ #{$root}__name-field {
55
+ width: 585px;
56
+ }
57
+
58
+ .ButtonView {
59
+ width: 120px;
60
+ padding: 11px 12px;
61
+ }
62
+
63
+ .InputFieldView {
64
+ max-width: 420px;
65
+ }
66
+
67
+ .DropDownFieldView_outline_primary {
68
+ width: 300px;
69
+ border-color: variables.$element-border-color;
70
+ background-color: variables.$element-field-background-color;
71
+
72
+ &:hover {
73
+ border-color: variables.$element-border-color;
74
+ }
75
+
76
+ .CheckboxFieldView__label-text {
77
+ display: -webkit-box;
78
+ overflow: hidden;
79
+ -webkit-line-clamp: 1;
80
+ -webkit-box-orient: vertical;
81
+ }
82
+ }
83
+ }
84
+ }
@@ -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,44 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ exports.__esModule = true;
17
+ var react_1 = __importDefault(require("react"));
18
+ var useBem_1 = __importDefault(require("@steroidsjs/core/hooks/useBem"));
19
+ var Calendar_1 = __importDefault(require("@steroidsjs/core/ui/content/Calendar"));
20
+ var CalendarType_1 = __importDefault(require("@steroidsjs/core/ui/content/CalendarSystem/enums/CalendarType"));
21
+ var AsideHeader_1 = __importDefault(require("./AsideHeader"));
22
+ var AsideCalendars_1 = __importDefault(require("./AsideCalendars"));
23
+ var ContentHeader_1 = __importDefault(require("./ContentHeader"));
24
+ var MonthGrid_1 = __importDefault(require("./MonthGrid"));
25
+ var WeekGrid_1 = __importDefault(require("./WeekGrid"));
26
+ function CalendarSystemView(props) {
27
+ var bem = (0, useBem_1["default"])('CalendarSystemView');
28
+ var calendarTypeGrids = react_1["default"].useMemo(function () {
29
+ var _a;
30
+ return (_a = {},
31
+ _a[CalendarType_1["default"].MONTH] = react_1["default"].createElement(MonthGrid_1["default"], __assign({}, props.monthGridProps)),
32
+ _a[CalendarType_1["default"].WEEK] = react_1["default"].createElement(WeekGrid_1["default"], __assign({}, props.weekGridProps)),
33
+ _a);
34
+ }, [props.monthGridProps, props.weekGridProps]);
35
+ return (react_1["default"].createElement("div", { className: bem(bem.block(), props.className), style: props.style },
36
+ react_1["default"].createElement("aside", { className: bem.element('aside') },
37
+ react_1["default"].createElement(AsideHeader_1["default"], { onClick: props.openCreateModal, className: bem.element('aside-header') }),
38
+ react_1["default"].createElement(Calendar_1["default"], { showFooter: false, onMonthChange: props.onInnerCalendarChangeMonth }),
39
+ react_1["default"].createElement(AsideCalendars_1["default"], { eventGroups: props.eventGroups, eventGroupsTitle: props.eventGroupsTitle, onChangeEventGroupsIds: props.onChangeEventGroupsIds, openCreateEventGroupModal: props.openCreateEventGroupModal })),
40
+ react_1["default"].createElement("div", { className: bem.element('content') },
41
+ react_1["default"].createElement(ContentHeader_1["default"], { dateToDisplay: props.dateToDisplay, onChangeCalendarType: props.handleCalendarTypeChange, handleControlClick: props.handleControlClick }),
42
+ calendarTypeGrids[props.calendarType])));
43
+ }
44
+ exports["default"] = CalendarSystemView;