@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
@@ -0,0 +1,75 @@
1
+ @use "../../../../scss/variables";
2
+ @use "../../../../scss/mixins";
3
+
4
+ :root {
5
+ --kanban-background-color: #fff;
6
+ --add-task-icon-color: #323232;
7
+ }
8
+
9
+ html[data-theme="dark"] {
10
+ --kanban-background-color: #333646;
11
+ --add-task-icon-color: #fff;
12
+ }
13
+
14
+ $sidebar-scroll-thumb-color: var(--sidebar-scroll-thumb-color);
15
+ $sidebar-scroll-track-color: var(--sidebar-scroll-track-color);
16
+ $add-task-icon-color: var(--add-task-icon-color);
17
+
18
+ .KanbanColumnView {
19
+ white-space: normal;
20
+ min-width: 375px;
21
+ width: 375px;
22
+ margin-right: 8px;
23
+ padding: 16px 8px 16px 16px;
24
+ border: 1px solid variables.$element-border-color;
25
+ border-radius: 20px;
26
+ color: variables.$text-color;
27
+ background-color: variables.$element-background-color;
28
+
29
+ &__header {
30
+ display: flex;
31
+ font-size: 18px;
32
+ }
33
+
34
+ &__title {
35
+ margin-bottom: 16px;
36
+ }
37
+
38
+ &__tasks-count {
39
+ overflow-y: auto;
40
+ overflow-x: hidden;
41
+ margin-left: 8px;
42
+ color: variables.$element-placeholder-color;
43
+ }
44
+
45
+ &__content {
46
+ display: flex;
47
+ flex-direction: column;
48
+ min-height: 10px;
49
+ overflow: scroll;
50
+ overflow-x: hidden;
51
+
52
+ @include mixins.scrollWrapper(#{900px}, 8px, $sidebar-scroll-thumb-color, $sidebar-scroll-track-color);
53
+
54
+ &::-webkit-scrollbar {
55
+ width: 4px;
56
+ }
57
+
58
+ &::-webkit-scrollbar-track {
59
+ margin-bottom: 8px;
60
+ }
61
+ }
62
+
63
+ &__button {
64
+ padding-right: 8px;
65
+
66
+ .ButtonView {
67
+ margin-top: 1em;
68
+ background-color: variables.$light-gray;
69
+
70
+ svg path {
71
+ stroke: $add-task-icon-color;
72
+ }
73
+ }
74
+ }
75
+ }
@@ -0,0 +1,2 @@
1
+ import KanbanColumnView from './KanbanColumnView';
2
+ export default KanbanColumnView;
@@ -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 KanbanColumnView_1 = __importDefault(require("./KanbanColumnView"));
7
+ exports["default"] = KanbanColumnView_1["default"];
@@ -0,0 +1,2 @@
1
+ import { IKanbanModalViewProps } from '@steroidsjs/core/ui/content/Kanban/Kanban';
2
+ export default function KanbanModalView(props: IKanbanModalViewProps): JSX.Element;
@@ -0,0 +1,57 @@
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 Modal_1 = __importDefault(require("@steroidsjs/core/ui/modal/Modal/Modal"));
31
+ var enums_1 = require("@steroidsjs/core/ui/content/Kanban/enums");
32
+ var hooks_1 = require("@steroidsjs/core/hooks");
33
+ var CreateOrEditTaskModalContent_1 = __importDefault(require("./views/CreateOrEditTaskModalContent"));
34
+ var TaskDetailsModalContent_1 = __importDefault(require("./views/TaskDetailsModalContent"));
35
+ function KanbanModalView(props) {
36
+ var bem = (0, hooks_1.useBem)('KanbanModalView');
37
+ var renderModalContent = (0, react_1.useCallback)(function (modalType) {
38
+ switch (modalType) {
39
+ case enums_1.KanbanModalTypeEnum.CREATE:
40
+ return (react_1["default"].createElement(CreateOrEditTaskModalContent_1["default"], { bem: bem, formId: props.formId, columns: props.columns, columnId: props.columnId, tags: props.tags, assigners: props.assigners, submitButtonLabel: __('Создать'), onSubmit: props.onSubmit }));
41
+ case enums_1.KanbanModalTypeEnum.DETAILS:
42
+ return (react_1["default"].createElement(TaskDetailsModalContent_1["default"], { bem: bem, task: props.task }));
43
+ case enums_1.KanbanModalTypeEnum.EDIT:
44
+ return (react_1["default"].createElement(CreateOrEditTaskModalContent_1["default"], { bem: bem, formId: props.formId, task: props.task, columns: props.columns, columnId: props.columnId, tags: props.tags, assigners: props.assigners, submitButtonLabel: __('Сохранить'), onSubmit: props.onSubmit }));
45
+ default:
46
+ return null;
47
+ }
48
+ }, [bem, props.assigners, props.columnId, props.columns, props.formId, props.onSubmit, props.tags, props.task]);
49
+ var renderModalButton = (0, react_1.useCallback)(function (modalType) { return modalType !== enums_1.KanbanModalTypeEnum.CREATE
50
+ ? [{
51
+ icon: enums_1.KanbanModalTypeEnum.getModalIconByType(modalType),
52
+ onClick: props.onToggleModalType
53
+ }]
54
+ : null; }, [props.modalType]);
55
+ return (react_1["default"].createElement(Modal_1["default"], { className: bem.block(), title: props.title, onClose: props.onClose, size: "lg", buttons: renderModalButton(props.modalType) }, renderModalContent(props.modalType)));
56
+ }
57
+ exports["default"] = KanbanModalView;
@@ -0,0 +1,210 @@
1
+ @use "../../../../scss/variables";
2
+
3
+ :root {
4
+ --badge-background-color: #f8f8f8;
5
+ --badge-text-color: variables.$static-text-color;
6
+ }
7
+
8
+ html[data-theme="dark"] {
9
+ --badge-background-color: #4b4e5e;
10
+ --badge-text-color: variables.$white;
11
+ }
12
+
13
+ $badge-background-color: var(--badge-background-color);
14
+ $badge-text-color: var(--badge-text-color);
15
+ $html-field-text-color: #312c3a;
16
+
17
+ .KanbanModalView {
18
+ min-width: 536px;
19
+
20
+ &__row {
21
+ display: flex;
22
+ align-items: center;
23
+ gap: 16px;
24
+
25
+ &_radio {
26
+ height: 46px;
27
+ }
28
+
29
+ &_tags {
30
+ display: flex;
31
+ flex-flow: row wrap;
32
+ gap: 4px;
33
+ }
34
+ }
35
+
36
+ &__label {
37
+ flex: 1;
38
+ margin: 0;
39
+ }
40
+
41
+ &__right {
42
+ display: flex;
43
+ flex-flow: row nowrap;
44
+ gap: 24px;
45
+
46
+ &_column {
47
+ flex-flow: column nowrap;
48
+ gap: 16px;
49
+ }
50
+
51
+ &_html-field {
52
+ width: 1040px;
53
+ }
54
+ }
55
+
56
+ &__assigner {
57
+ display: flex;
58
+ align-items: center;
59
+ gap: 8px;
60
+ }
61
+
62
+ &__content {
63
+ display: flex;
64
+ flex-flow: column nowrap;
65
+ gap: 24px;
66
+ max-width: 488px;
67
+ width: 100%;
68
+ padding-top: 16px;
69
+ word-break: break-all;
70
+ }
71
+
72
+ &__data {
73
+ flex: 4;
74
+ }
75
+
76
+ &__form-content {
77
+ display: flex;
78
+ flex-flow: column nowrap;
79
+ gap: 16px;
80
+ padding-top: 24px;
81
+ font-size: 14px;
82
+
83
+ .FieldLayoutView {
84
+ flex: 2;
85
+ margin: 0;
86
+ }
87
+ }
88
+
89
+ &__right {
90
+ flex: 5;
91
+
92
+ .RadioFieldView {
93
+ display: flex;
94
+ }
95
+ }
96
+
97
+ &__sub-right {
98
+ display: flex;
99
+ flex-flow: row nowrap;
100
+ align-items: center;
101
+ gap: 8px;
102
+
103
+ .FieldLayoutView {
104
+ min-width: 140px;
105
+ flex: 1;
106
+ }
107
+ }
108
+
109
+ &__button {
110
+ margin-top: 24px;
111
+ }
112
+
113
+ .DropDownItemView {
114
+ &__icon {
115
+ display: flex;
116
+ align-items: center;
117
+ justify-content: center;
118
+ }
119
+
120
+ &__img {
121
+ img {
122
+ object-fit: cover;
123
+ }
124
+ }
125
+ }
126
+
127
+ .ModalView {
128
+ &__header {
129
+ align-items: flex-start;
130
+ padding-bottom: 0 !important;
131
+ }
132
+
133
+ &__title {
134
+ max-width: 440px;
135
+ font-size: 18px;
136
+ line-height: 24px;
137
+ }
138
+
139
+ &__content {
140
+ padding-top: 0 !important;
141
+ }
142
+
143
+ &__footer {
144
+ padding-top: 0 !important;
145
+ justify-content: flex-end;
146
+
147
+ .ButtonView {
148
+ width: 46px;
149
+ height: 46px;
150
+
151
+ background-color: variables.$secondary;
152
+
153
+ &__label {
154
+ width: 24px;
155
+ height: 24px;
156
+ flex-shrink: 0;
157
+ }
158
+ }
159
+
160
+ svg {
161
+ width: 24px;
162
+ height: 24px;
163
+ path {
164
+ stroke: #fff;
165
+ }
166
+ }
167
+ }
168
+ }
169
+
170
+ .BadgeView {
171
+ &_light-gray {
172
+ background-color: $badge-background-color;
173
+ color: $badge-text-color;
174
+ }
175
+ }
176
+
177
+ .TextView {
178
+ margin: 0;
179
+ }
180
+
181
+ .DropDownFieldView__icon-close {
182
+ z-index: 0;
183
+ }
184
+
185
+ .RadioListFieldView_horizontal {
186
+ gap: 24px;
187
+ }
188
+
189
+ .ck-content {
190
+ max-height: 332px;
191
+ overflow: scroll;
192
+ color: $html-field-text-color;
193
+ }
194
+ }
195
+
196
+ .ModalView {
197
+ overflow-y: auto;
198
+ }
199
+
200
+ .KanbanModalView:has(.TaskTags) .KanbanModalView {
201
+ &__row_tags-field {
202
+ align-items: flex-start;
203
+ }
204
+ }
205
+
206
+ .KanbanModalView:has(.ModalView__footer) .ModalView {
207
+ &__content {
208
+ padding-bottom: 0 !important;
209
+ }
210
+ }
@@ -0,0 +1,2 @@
1
+ import KanbanModalView from './KanbanModalView';
2
+ export default KanbanModalView;
@@ -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 KanbanModalView_1 = __importDefault(require("./KanbanModalView"));
7
+ exports["default"] = KanbanModalView_1["default"];
@@ -0,0 +1,2 @@
1
+ import { ICreateOrEditTaskModalContentViewProps } from '@steroidsjs/core/ui/content/Kanban/Kanban';
2
+ export default function CreateOrEditTaskModalContentView(props: ICreateOrEditTaskModalContentViewProps): JSX.Element;
@@ -0,0 +1,95 @@
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 KanbanPrioritiesEnum_1 = __importDefault(require("@steroidsjs/core/ui/content/Kanban/enums/KanbanPrioritiesEnum"));
31
+ var form_1 = require("@steroidsjs/core/ui/form");
32
+ var content_1 = require("@steroidsjs/core/ui/content");
33
+ var TagsSelector_1 = __importDefault(require("./views/TagsSelector"));
34
+ var Label_1 = __importDefault(require("./views/Label"));
35
+ function CreateOrEditTaskModalContentView(props) {
36
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
37
+ var columns = (0, react_1.useMemo)(function () { return (props.columns.map(function (column) { return ({
38
+ id: column.id,
39
+ label: column.title
40
+ }); })); }, [props.columns]);
41
+ var prioritiesFields = (0, react_1.useMemo)(function () { return KanbanPrioritiesEnum_1["default"].getPrioritiesArray()
42
+ .map(function (priority) { return ({
43
+ id: priority.id,
44
+ label: react_1["default"].createElement(content_1.Badge, { size: "md", roundingStyle: "squarer", message: KanbanPrioritiesEnum_1["default"].getLabel(priority.type), type: KanbanPrioritiesEnum_1["default"].getColorByType(priority.type) })
45
+ }); }); }, []);
46
+ return (react_1["default"].createElement(form_1.Form, { formId: props.formId, className: props.bem.element('form'), initialValues: props.task
47
+ ? {
48
+ columnId: props.columnId || null,
49
+ title: props.task.title || '',
50
+ description: props.task.description || '',
51
+ fullDescription: props.task.fullDescription || '',
52
+ tags: ((_a = props.task.tags) === null || _a === void 0 ? void 0 : _a.map(function (tag) { return tag.id; })) || [],
53
+ priority: ((_b = props.task.priority) === null || _b === void 0 ? void 0 : _b.id) || null,
54
+ assigner: ((_c = props.task.assigner) === null || _c === void 0 ? void 0 : _c.id) || null
55
+ }
56
+ : {
57
+ columnId: props.columnId || null
58
+ }, onSubmit: function (data) {
59
+ var _a;
60
+ props.onSubmit((_a = props.task) === null || _a === void 0 ? void 0 : _a.id, data, props.columnId);
61
+ }, useRedux: true },
62
+ react_1["default"].createElement("div", { className: props.bem.element('form-content') },
63
+ react_1["default"].createElement("div", { className: props.bem.element('row') },
64
+ react_1["default"].createElement(Label_1["default"], { className: props.bem.element('label'), content: __('Заголовок') }),
65
+ react_1["default"].createElement("div", { className: props.bem.element('right') },
66
+ react_1["default"].createElement(form_1.InputField, { attribute: "title", size: "md", showClear: true, required: true, outline: true }),
67
+ react_1["default"].createElement("div", { className: props.bem.element('sub-right') },
68
+ react_1["default"].createElement(Label_1["default"], { className: props.bem.element('label'), content: __('Переместить в') }),
69
+ react_1["default"].createElement(form_1.DropDownField, { attribute: 'columnId', items: columns, size: "md", required: true, outline: true })))),
70
+ react_1["default"].createElement("div", { className: props.bem.element('row') },
71
+ react_1["default"].createElement(Label_1["default"], { className: props.bem.element('label'), content: __('Описание') }),
72
+ react_1["default"].createElement("div", { className: props.bem.element('right', 'column') },
73
+ react_1["default"].createElement(form_1.InputField, { attribute: "description", size: "md", showClear: true }))),
74
+ react_1["default"].createElement("div", { className: props.bem.element('row') },
75
+ react_1["default"].createElement("div", { className: props.bem.element('label') }),
76
+ react_1["default"].createElement("div", { className: props.bem.element('right', 'html-field') },
77
+ react_1["default"].createElement(form_1.HtmlField, { attribute: "fullDescription", size: "md" }))),
78
+ !!((_d = props.tags) === null || _d === void 0 ? void 0 : _d.length) && (react_1["default"].createElement("div", { className: props.bem.element('row', 'tags-field') },
79
+ react_1["default"].createElement(Label_1["default"], { className: props.bem.element('label'), content: __('Добавить теги') }),
80
+ react_1["default"].createElement("div", { className: props.bem.element('right', 'column') },
81
+ react_1["default"].createElement(TagsSelector_1["default"], { tags: props.tags, formId: props.formId })))),
82
+ react_1["default"].createElement("div", { className: props.bem.element('row') },
83
+ react_1["default"].createElement(Label_1["default"], { className: props.bem.element('label'), content: __('Исполнители') }),
84
+ react_1["default"].createElement("div", { className: props.bem.element('right') },
85
+ react_1["default"].createElement(form_1.DropDownField, { attribute: 'assigner', selectedIds: ((_f = (_e = props.task) === null || _e === void 0 ? void 0 : _e.assigner) === null || _f === void 0 ? void 0 : _f.id) && [props.task.assigner.id], items: props.assigners, showReset: true, outline: true }))),
86
+ react_1["default"].createElement("div", { className: props.bem.element('row', 'radio') },
87
+ react_1["default"].createElement(Label_1["default"], { className: props.bem.element('label'), content: __('Приоритет') }),
88
+ react_1["default"].createElement("div", { className: props.bem.element('right') },
89
+ react_1["default"].createElement(form_1.RadioListField, { attribute: 'priority', items: prioritiesFields, selectedIds: [
90
+ (_j = (_h = (_g = props.task) === null || _g === void 0 ? void 0 : _g.priority) === null || _h === void 0 ? void 0 : _h.id) !== null && _j !== void 0 ? _j : KanbanPrioritiesEnum_1["default"].getDefaultSelectedPriorityId(),
91
+ ], multiple: false, orientation: 'horizontal' }))),
92
+ react_1["default"].createElement("div", { className: props.bem.element('button') },
93
+ react_1["default"].createElement(form_1.Button, { type: "submit", label: props.submitButtonLabel, size: "md" })))));
94
+ }
95
+ exports["default"] = CreateOrEditTaskModalContentView;
@@ -0,0 +1,2 @@
1
+ import CreateOrEditTaskModalContentView from './CreateOrEditTaskModalContentView';
2
+ export default CreateOrEditTaskModalContentView;
@@ -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 CreateOrEditTaskModalContentView_1 = __importDefault(require("./CreateOrEditTaskModalContentView"));
7
+ exports["default"] = CreateOrEditTaskModalContentView_1["default"];
@@ -0,0 +1,6 @@
1
+ interface ILabelProps {
2
+ content: string;
3
+ className: string;
4
+ }
5
+ export default function Label(props: ILabelProps): JSX.Element;
6
+ export {};
@@ -0,0 +1,11 @@
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 typography_1 = require("@steroidsjs/core/ui/typography");
8
+ function Label(props) {
9
+ return (react_1["default"].createElement(typography_1.Text, { className: props.className, type: 'body2', content: props.content, color: "light-dark" }));
10
+ }
11
+ exports["default"] = Label;
@@ -0,0 +1,2 @@
1
+ import Label from './Label';
2
+ export default Label;
@@ -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 Label_1 = __importDefault(require("./Label"));
7
+ exports["default"] = Label_1["default"];
@@ -0,0 +1,8 @@
1
+ import { ITaskTag } from '@steroidsjs/core/ui/content/Kanban/Kanban';
2
+ import './TagsSelector.scss';
3
+ interface ITagsSelectorProps {
4
+ tags?: ITaskTag[];
5
+ formId?: string;
6
+ }
7
+ export default function TagsSelector(props: ITagsSelectorProps): JSX.Element;
8
+ export {};
@@ -0,0 +1,49 @@
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 hooks_1 = require("@steroidsjs/core/hooks");
31
+ var form_1 = require("@steroidsjs/core/reducers/form");
32
+ var form_2 = require("@steroidsjs/core/ui/form");
33
+ var TaskTags_1 = __importDefault(require("../../../../../TaskTags"));
34
+ require("./TagsSelector.scss");
35
+ function TagsSelector(props) {
36
+ var bem = (0, hooks_1.useBem)('TagsSelector');
37
+ var selectedTags = (0, hooks_1.useSelector)(function (state) { return (0, form_1.getFormValues)(state, props.formId); }).tags;
38
+ var taskTags = (0, react_1.useMemo)(function () { return (props.tags.filter(function (tag) { return selectedTags === null || selectedTags === void 0 ? void 0 : selectedTags.includes(tag.id); })); }, [props.tags, selectedTags]);
39
+ var tagsList = (0, react_1.useMemo)(function () { return (props.tags.map(function (tag) { return ({
40
+ id: tag.id,
41
+ label: tag.message,
42
+ contentType: 'icon',
43
+ contentSrc: react_1["default"].createElement("div", { className: bem.element('tag-color', tag.type) })
44
+ }); })); }, [bem, props.tags]);
45
+ return (react_1["default"].createElement("div", { className: bem.block() },
46
+ !!(selectedTags === null || selectedTags === void 0 ? void 0 : selectedTags.length) && (react_1["default"].createElement(TaskTags_1["default"], { tags: taskTags })),
47
+ react_1["default"].createElement(form_2.DropDownField, { attribute: "tags", placeholder: __('Выберите теги'), multiple: true, items: tagsList, selectedIds: selectedTags, autoComplete: true, outline: true })));
48
+ }
49
+ exports["default"] = TagsSelector;
@@ -0,0 +1,30 @@
1
+ @use "../../../../../../../../scss/variables";
2
+
3
+ .TagsSelector {
4
+ $root: &;
5
+
6
+ display: flex;
7
+ flex-direction: column;
8
+ gap: 16px;
9
+
10
+ $tag-types: (
11
+ "primary": variables.$primary,
12
+ "secondary": variables.$secondary,
13
+ "success": variables.$success,
14
+ "danger": variables.$danger,
15
+ "warning": variables.$warning,
16
+ "info": variables.$info,
17
+ );
18
+
19
+ @each $type, $color in $tag-types {
20
+ &__tag-color_#{$type} {
21
+ background-color: $color;
22
+ }
23
+ }
24
+
25
+ &__tag-color {
26
+ width: 12px;
27
+ height: 12px;
28
+ border-radius: 4px;
29
+ }
30
+ }
@@ -0,0 +1,2 @@
1
+ import TagsSelector from './TagsSelector';
2
+ export default TagsSelector;
@@ -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 TagsSelector_1 = __importDefault(require("./TagsSelector"));
7
+ exports["default"] = TagsSelector_1["default"];
@@ -0,0 +1,2 @@
1
+ import { IKanbanTaskDetailsModalViewProps } from '@steroidsjs/core/ui/content/Kanban/Kanban';
2
+ export default function TaskDetailsModalContentView(props: IKanbanTaskDetailsModalViewProps): JSX.Element;