@steroidsjs/bootstrap 3.0.0-beta.99 → 3.0.0

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 (185) hide show
  1. package/content/Calendar/CalendarView.js +6 -3
  2. package/content/Calendar/CaptionElement.js +6 -3
  3. package/content/CalendarSystem/AsideCalendars/AsideCalendars.d.ts +12 -0
  4. package/content/CalendarSystem/AsideCalendars/AsideCalendars.js +43 -0
  5. package/content/CalendarSystem/AsideCalendars/AsideCalendars.scss +107 -0
  6. package/content/CalendarSystem/AsideCalendars/index.d.ts +2 -0
  7. package/content/CalendarSystem/AsideCalendars/index.js +7 -0
  8. package/content/CalendarSystem/AsideHeader/AsideHeader.d.ts +9 -0
  9. package/content/CalendarSystem/AsideHeader/AsideHeader.js +40 -0
  10. package/content/CalendarSystem/AsideHeader/AsideHeader.scss +41 -0
  11. package/content/CalendarSystem/AsideHeader/index.d.ts +2 -0
  12. package/content/CalendarSystem/AsideHeader/index.js +7 -0
  13. package/content/CalendarSystem/CalendarSystemEventGroupModalView.d.ts +2 -0
  14. package/content/CalendarSystem/CalendarSystemEventGroupModalView.js +25 -0
  15. package/content/CalendarSystem/CalendarSystemEventGroupModalView.scss +53 -0
  16. package/content/CalendarSystem/CalendarSystemModalView.d.ts +2 -0
  17. package/content/CalendarSystem/CalendarSystemModalView.js +54 -0
  18. package/content/CalendarSystem/CalendarSystemModalView.scss +84 -0
  19. package/content/CalendarSystem/CalendarSystemView.d.ts +2 -0
  20. package/content/CalendarSystem/CalendarSystemView.js +44 -0
  21. package/content/CalendarSystem/CalendarSystemView.scss +50 -0
  22. package/content/CalendarSystem/ContentHeader/ContentHeader.d.ts +10 -0
  23. package/content/CalendarSystem/ContentHeader/ContentHeader.js +26 -0
  24. package/content/CalendarSystem/ContentHeader/ContentHeader.scss +57 -0
  25. package/content/CalendarSystem/ContentHeader/index.d.ts +2 -0
  26. package/content/CalendarSystem/ContentHeader/index.js +7 -0
  27. package/content/CalendarSystem/MonthGrid/MonthGrid.d.ts +14 -0
  28. package/content/CalendarSystem/MonthGrid/MonthGrid.js +39 -0
  29. package/content/CalendarSystem/MonthGrid/MonthGrid.scss +41 -0
  30. package/content/CalendarSystem/MonthGrid/index.d.ts +2 -0
  31. package/content/CalendarSystem/MonthGrid/index.js +7 -0
  32. package/content/CalendarSystem/MonthGrid/views/MonthDay/MonthDay.d.ts +11 -0
  33. package/content/CalendarSystem/MonthGrid/views/MonthDay/MonthDay.js +73 -0
  34. package/content/CalendarSystem/MonthGrid/views/MonthDay/MonthDay.scss +126 -0
  35. package/content/CalendarSystem/MonthGrid/views/MonthDay/index.d.ts +2 -0
  36. package/content/CalendarSystem/MonthGrid/views/MonthDay/index.js +7 -0
  37. package/content/CalendarSystem/WeekGrid/WeekGrid.d.ts +14 -0
  38. package/content/CalendarSystem/WeekGrid/WeekGrid.js +25 -0
  39. package/content/CalendarSystem/WeekGrid/WeekGrid.scss +154 -0
  40. package/content/CalendarSystem/WeekGrid/index.d.ts +2 -0
  41. package/content/CalendarSystem/WeekGrid/index.js +7 -0
  42. package/content/CalendarSystem/WeekGrid/views/WeekHour/WeekHour.d.ts +12 -0
  43. package/content/CalendarSystem/WeekGrid/views/WeekHour/WeekHour.js +79 -0
  44. package/content/CalendarSystem/WeekGrid/views/WeekHour/WeekHour.scss +108 -0
  45. package/content/CalendarSystem/WeekGrid/views/WeekHour/index.d.ts +2 -0
  46. package/content/CalendarSystem/WeekGrid/views/WeekHour/index.js +7 -0
  47. package/content/Chart/ChartView.js +12 -2
  48. package/content/Chart/ChartView.scss +35 -4
  49. package/content/Chat/ChatView.d.ts +2 -0
  50. package/content/Chat/ChatView.js +62 -0
  51. package/content/Chat/ChatView.scss +59 -0
  52. package/content/Chat/index.d.ts +2 -0
  53. package/content/Chat/index.js +7 -0
  54. package/content/Chat/views/BubbleMessage/BubbleMessageView.d.ts +17 -0
  55. package/content/Chat/views/BubbleMessage/BubbleMessageView.js +72 -0
  56. package/content/Chat/views/BubbleMessage/BubbleMessageView.scss +195 -0
  57. package/content/Chat/views/BubbleMessage/index.d.ts +2 -0
  58. package/content/Chat/views/BubbleMessage/index.js +7 -0
  59. package/content/Chat/views/BubblesDateGroup/BubblesDateGroup.d.ts +12 -0
  60. package/content/Chat/views/BubblesDateGroup/BubblesDateGroup.js +48 -0
  61. package/content/Chat/views/BubblesDateGroup/BubblesDateGroup.scss +78 -0
  62. package/content/Chat/views/BubblesDateGroup/index.d.ts +2 -0
  63. package/content/Chat/views/BubblesDateGroup/index.js +7 -0
  64. package/content/Chat/views/ChatFileItem/ChatFileItemView.d.ts +9 -0
  65. package/content/Chat/views/ChatFileItem/ChatFileItemView.js +50 -0
  66. package/content/Chat/views/ChatFileItem/ChatFileItemView.scss +184 -0
  67. package/content/Chat/views/ChatFileItem/index.d.ts +2 -0
  68. package/content/Chat/views/ChatFileItem/index.js +7 -0
  69. package/content/Chat/views/ChatInput/ChatInputView.d.ts +3 -0
  70. package/content/Chat/views/ChatInput/ChatInputView.js +64 -0
  71. package/content/Chat/views/ChatInput/ChatInputView.scss +82 -0
  72. package/content/Chat/views/ChatInput/index.d.ts +2 -0
  73. package/content/Chat/views/ChatInput/index.js +7 -0
  74. package/content/Dashboard/DashboardItemView.d.ts +2 -0
  75. package/content/Dashboard/DashboardItemView.js +18 -0
  76. package/content/Dashboard/DashboardItemView.scss +47 -0
  77. package/content/DropDown/DropDownView.js +12 -12
  78. package/content/DropDown/DropDownView.scss +34 -175
  79. package/content/Icon/IconView.js +18 -2
  80. package/content/Kanban/KanbanView.d.ts +2 -0
  81. package/content/Kanban/KanbanView.js +29 -0
  82. package/content/Kanban/KanbanView.scss +12 -0
  83. package/content/Kanban/views/KanbanColumn/KanbanColumnView.d.ts +2 -0
  84. package/content/Kanban/views/KanbanColumn/KanbanColumnView.js +36 -0
  85. package/content/Kanban/views/KanbanColumn/KanbanColumnView.scss +75 -0
  86. package/content/Kanban/views/KanbanColumn/index.d.ts +2 -0
  87. package/content/Kanban/views/KanbanColumn/index.js +7 -0
  88. package/content/Kanban/views/KanbanModal/KanbanModalView.d.ts +2 -0
  89. package/content/Kanban/views/KanbanModal/KanbanModalView.js +57 -0
  90. package/content/Kanban/views/KanbanModal/KanbanModalView.scss +210 -0
  91. package/content/Kanban/views/KanbanModal/index.d.ts +2 -0
  92. package/content/Kanban/views/KanbanModal/index.js +7 -0
  93. package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/CreateOrEditTaskModalContentView.d.ts +2 -0
  94. package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/CreateOrEditTaskModalContentView.js +95 -0
  95. package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/index.d.ts +2 -0
  96. package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/index.js +7 -0
  97. package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/views/Label/Label.d.ts +6 -0
  98. package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/views/Label/Label.js +11 -0
  99. package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/views/Label/index.d.ts +2 -0
  100. package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/views/Label/index.js +7 -0
  101. package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/views/TagsSelector/TagsSelector.d.ts +8 -0
  102. package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/views/TagsSelector/TagsSelector.js +49 -0
  103. package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/views/TagsSelector/TagsSelector.scss +30 -0
  104. package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/views/TagsSelector/index.d.ts +2 -0
  105. package/content/Kanban/views/KanbanModal/views/CreateOrEditTaskModalContent/views/TagsSelector/index.js +7 -0
  106. package/content/Kanban/views/KanbanModal/views/TaskDetailsModalContent/TaskDetailsModalContentView.d.ts +2 -0
  107. package/content/Kanban/views/KanbanModal/views/TaskDetailsModalContent/TaskDetailsModalContentView.js +53 -0
  108. package/content/Kanban/views/KanbanModal/views/TaskDetailsModalContent/index.d.ts +2 -0
  109. package/content/Kanban/views/KanbanModal/views/TaskDetailsModalContent/index.js +7 -0
  110. package/content/Kanban/views/KanbanTask/KanbanTaskView.d.ts +5 -0
  111. package/content/Kanban/views/KanbanTask/KanbanTaskView.js +66 -0
  112. package/content/Kanban/views/KanbanTask/KanbanTaskView.scss +110 -0
  113. package/content/Kanban/views/KanbanTask/index.d.ts +2 -0
  114. package/content/Kanban/views/KanbanTask/index.js +7 -0
  115. package/content/Kanban/views/TaskTags/TaskTags.d.ts +9 -0
  116. package/content/Kanban/views/TaskTags/TaskTags.js +14 -0
  117. package/content/Kanban/views/TaskTags/TaskTags.scss +7 -0
  118. package/content/Kanban/views/TaskTags/index.d.ts +2 -0
  119. package/content/Kanban/views/TaskTags/index.js +7 -0
  120. package/content/Menu/MenuItemView.js +4 -1
  121. package/form/CheckboxField/CheckboxFieldView.js +5 -2
  122. package/form/CheckboxField/CheckboxFieldView.scss +27 -0
  123. package/form/CheckboxListField/CheckboxListFieldView.js +2 -1
  124. package/form/CheckboxTreeField/CheckboxTreeFieldView.d.ts +2 -0
  125. package/form/CheckboxTreeField/CheckboxTreeFieldView.js +30 -0
  126. package/form/CheckboxTreeField/CheckboxTreeFieldView.scss +5 -0
  127. package/form/CheckboxTreeField/index.d.ts +2 -0
  128. package/form/CheckboxTreeField/index.js +7 -0
  129. package/form/DateRangeField/DateRangeFieldView.js +2 -2
  130. package/form/DateTimeField/DateTimeFieldView.js +1 -1
  131. package/form/DateTimeRangeField/DateTimeRangeFieldView.js +2 -2
  132. package/form/DropDownField/DropDownFieldView.js +4 -3
  133. package/form/DropDownField/DropDownFieldView.scss +12 -2
  134. package/form/DropDownFieldItem/DropDownFieldItemView.js +1 -1
  135. package/form/Form/FormView.js +1 -0
  136. package/form/InputField/InputFieldView.js +2 -2
  137. package/form/PasswordField/PasswordFieldView.js +1 -1
  138. package/form/WizardForm/WizardFormView.d.ts +2 -0
  139. package/form/WizardForm/WizardFormView.js +33 -0
  140. package/form/WizardForm/WizardFormView.scss +30 -0
  141. package/icons/index.js +3 -0
  142. package/icons/svgs/add_16x16.svg +4 -0
  143. package/icons/svgs/done-all.svg +4 -0
  144. package/icons/svgs/send.svg +3 -0
  145. package/icons/svgs/view.svg +1 -0
  146. package/icons/svgs/warning_16x16.svg +2 -0
  147. package/index.d.ts +36 -0
  148. package/index.js +36 -0
  149. package/index.scss +15 -0
  150. package/layout/ProgressBar/CircleProgressBarView.js +4 -1
  151. package/layout/ProgressBar/LineProgressBarView.js +4 -1
  152. package/layout/Skeleton/SkeletonView.js +4 -1
  153. package/layout/Tooltip/TooltipView.js +3 -3
  154. package/layout/Tooltip/TooltipView.scss +10 -77
  155. package/list/FlexGrid/FlexGridView.scss +6 -13
  156. package/list/Grid/GridView.scss +8 -10
  157. package/list/Grid/views/TreeColumnView/TreeColumnView.d.ts +2 -0
  158. package/list/Grid/views/TreeColumnView/TreeColumnView.js +27 -0
  159. package/list/Grid/views/TreeColumnView/TreeColumnView.scss +6 -0
  160. package/list/Steps/StepItemView.js +21 -10
  161. package/list/Steps/StepItemView.scss +113 -83
  162. package/list/Steps/StepsView.js +4 -24
  163. package/list/Steps/StepsView.scss +6 -15
  164. package/nav/Controls/ControlsView.scss +3 -3
  165. package/nav/Tree/TreeView.js +3 -9
  166. package/nav/Tree/TreeView.scss +10 -47
  167. package/nav/TreeItem/TreeItemView.d.ts +2 -0
  168. package/nav/TreeItem/TreeItemView.js +69 -0
  169. package/nav/TreeItem/TreeItemView.scss +60 -0
  170. package/package.json +3 -3
  171. package/scss/bootstrap-classes/flex.scss +42 -0
  172. package/scss/bootstrap-classes/index.scss +4 -0
  173. package/scss/bootstrap-classes/layout.scss +72 -0
  174. package/scss/bootstrap-classes/spacing.scss +181 -0
  175. package/scss/bootstrap-classes/typography.scss +25 -0
  176. package/scss/mixins/button.scss +24 -8
  177. package/scss/mixins/index.scss +1 -0
  178. package/scss/mixins/scroll.scss +6 -0
  179. package/scss/mixins/tooltip.scss +113 -0
  180. package/scss/variables/common/colors.scss +5 -2
  181. package/scss/variables/common/flex.scss +5 -0
  182. package/scss/variables/common/typography.scss +13 -0
  183. package/scss/variables/index.scss +1 -0
  184. package/utils/getFormattedExpandLabel.d.ts +1 -0
  185. package/utils/getFormattedExpandLabel.js +5 -0
@@ -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 ChatFileItemView_1 = __importDefault(require("./ChatFileItemView"));
7
+ exports["default"] = ChatFileItemView_1["default"];
@@ -0,0 +1,3 @@
1
+ import { IChatInputViewProps } from '@steroidsjs/core/ui/content/Chat/Chat';
2
+ import './ChatInputView.scss';
3
+ export default function ChatInputView(props: IChatInputViewProps): JSX.Element;
@@ -0,0 +1,64 @@
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 __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ var __importDefault = (this && this.__importDefault) || function (mod) {
37
+ return (mod && mod.__esModule) ? mod : { "default": mod };
38
+ };
39
+ exports.__esModule = true;
40
+ var react_1 = __importStar(require("react"));
41
+ var useBem_1 = __importDefault(require("@steroidsjs/core/hooks/useBem"));
42
+ var form_1 = require("@steroidsjs/core/ui/form");
43
+ var ButtonView_1 = __importDefault(require("../../../../form/Button/ButtonView"));
44
+ var ChatFileItem_1 = __importDefault(require("../ChatFileItem"));
45
+ require("./ChatInputView.scss");
46
+ var HiddenUploadFileButton = (0, react_1.forwardRef)(function (props, ref) { return (react_1["default"].createElement("button", __assign({ type: 'button', ref: ref }, props))); });
47
+ function ChatInputView(props) {
48
+ var bem = (0, useBem_1["default"])('ChatInputView');
49
+ var filePickerRef = (0, react_1.useRef)(null);
50
+ var onBrowseFile = (0, react_1.useCallback)(function (e) {
51
+ e.preventDefault();
52
+ filePickerRef.current.click();
53
+ }, [filePickerRef]);
54
+ var renderInputActions = (0, react_1.useCallback)(function () { return (react_1["default"].createElement("div", { className: bem.element('actions') },
55
+ react_1["default"].createElement(ButtonView_1["default"], { className: bem.element('action'), icon: "clip", onClick: onBrowseFile }),
56
+ react_1["default"].createElement(ButtonView_1["default"], { className: bem.element('action'), icon: "send", type: "submit" }))); }, [bem, onBrowseFile]);
57
+ return (react_1["default"].createElement("div", { className: bem.block() },
58
+ react_1["default"].createElement(form_1.Form, { formId: props.chatId, className: bem.element('form'), onSubmit: props.onSendMessage, useRedux: true },
59
+ react_1["default"].createElement(form_1.InputField, { className: bem.element('input'), attribute: "text", size: "lg", placeholder: props.inputPlaceholder, addonAfter: renderInputActions() }),
60
+ react_1["default"].createElement(form_1.FileField, __assign({ className: bem.element('files'), attribute: 'filesId', itemView: ChatFileItem_1["default"], buttonView: HiddenUploadFileButton, buttonProps: {
61
+ ref: filePickerRef
62
+ }, multiple: false, showRemove: true, onChange: props.onUploadFiles }, props.fileFieldProps)))));
63
+ }
64
+ exports["default"] = ChatInputView;
@@ -0,0 +1,82 @@
1
+ @use "../../../../scss/variables";
2
+ @use "../../../../scss/mixins";
3
+
4
+ :root {
5
+ --sidebar-scroll-thumb-color: #cbd5db;
6
+ --sidebar-scroll-track-color: rgba(0, 0, 0, 0.04);
7
+ }
8
+
9
+ html[data-theme="dark"] {
10
+ --sidebar-scroll-thumb-color: #4B4E5E;
11
+ --sidebar-scroll-track-color: #272A37;
12
+ }
13
+
14
+ $sidebar-scroll-thumb-color: var(--sidebar-scroll-thumb-color);
15
+ $sidebar-scroll-track-color: var(--sidebar-scroll-track-color);
16
+
17
+ .ChatInputView {
18
+ &__actions {
19
+ display: flex;
20
+ align-items: center;
21
+ justify-content: center;
22
+ gap: 24px;
23
+ }
24
+
25
+ &__action {
26
+ svg > * {
27
+ stroke: variables.$text-color
28
+ }
29
+ }
30
+
31
+ &__input {
32
+ .InputFieldView__addon-after {
33
+ background-color: inherit;
34
+ }
35
+
36
+ .InputFieldView__input {
37
+ border: none;
38
+ padding: 16px 0 16px 16px;
39
+ font-size: 14px;
40
+ font-style: normal;
41
+ font-weight: 400;
42
+ line-height: 18px;
43
+ }
44
+
45
+ .ButtonView_button {
46
+ background-color: inherit;
47
+ padding: 0;
48
+ }
49
+ }
50
+
51
+ &__form {
52
+ >* {
53
+ margin-bottom: 8px;
54
+ }
55
+ }
56
+
57
+ .FileFieldView__button {
58
+ position: absolute;
59
+ opacity: 0;
60
+ height: 0;
61
+ width: 0;
62
+ line-height: 0;
63
+ overflow: hidden;
64
+ padding: 0;
65
+ margin: 0;
66
+ border: 0;
67
+ }
68
+
69
+ &__files .FileFieldView__files {
70
+ flex-flow: row nowrap;
71
+ overflow: auto;
72
+ gap: 8px;
73
+ padding-bottom: 8px;
74
+ margin-bottom: 0;
75
+
76
+ @include mixins.horizontalScrollWrapper(8px, $sidebar-scroll-thumb-color, $sidebar-scroll-track-color);
77
+
78
+ &::-webkit-scrollbar {
79
+ width: 4px;
80
+ }
81
+ }
82
+ }
@@ -0,0 +1,2 @@
1
+ import ChatInputView from './ChatInputView';
2
+ export default ChatInputView;
@@ -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 ChatInputView_1 = __importDefault(require("./ChatInputView"));
7
+ exports["default"] = ChatInputView_1["default"];
@@ -0,0 +1,2 @@
1
+ import { IDashboardItemViewProps } from '@steroidsjs/core/ui/content/Dashboard/Dashboard';
2
+ export default function DashboardItemView(props: IDashboardItemViewProps): JSX.Element;
@@ -0,0 +1,18 @@
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 typography_1 = require("@steroidsjs/core/ui/typography");
9
+ var content_1 = require("@steroidsjs/core/ui/content");
10
+ function DashboardItemView(props) {
11
+ var bem = (0, hooks_1.useBem)('DashboardItemView');
12
+ return (react_1["default"].createElement("div", { className: bem.block() },
13
+ react_1["default"].createElement("div", { className: bem.element('header') },
14
+ props.iconName && react_1["default"].createElement(content_1.Icon, { name: props.iconName }),
15
+ react_1["default"].createElement(typography_1.Title, { content: props.title, type: 'h3' })),
16
+ props.children));
17
+ }
18
+ exports["default"] = DashboardItemView;
@@ -0,0 +1,47 @@
1
+ @use "../../scss/variables";
2
+
3
+ :root {
4
+ --dashboard-item-background-color: #fff;
5
+ --title-icon-color: #323232;
6
+ }
7
+
8
+ html[data-theme="dark"] {
9
+ --dashboard-item-background-color: #191b1f;
10
+ --title-icon-color: #fff;
11
+
12
+ }
13
+
14
+ $dashboard-item-background-color: var(--dashboard-item-background-color);
15
+ $title-icon-color: var(--title-icon-color);
16
+
17
+ .DashboardItemView {
18
+ width: 100%;
19
+ overflow-x: auto;
20
+ overflow-y: hidden;
21
+ padding: 16px;
22
+ border-radius: 12px;
23
+ background-color: $dashboard-item-background-color;
24
+ box-shadow: 0 8px 20px 0 variables.$black-4;
25
+
26
+ &__header {
27
+ display: flex;
28
+ flex-flow: row nowrap;
29
+ gap: 8px;
30
+ margin-bottom: 16px;
31
+ }
32
+
33
+ &__header,
34
+ .CardView {
35
+ svg {
36
+ path,
37
+ rect,
38
+ circle {
39
+ stroke: $title-icon-color;
40
+ }
41
+ }
42
+ }
43
+
44
+ .TitleView {
45
+ margin-bottom: 0;
46
+ }
47
+ }
@@ -26,18 +26,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  exports.__esModule = true;
29
- var isFunction_1 = __importDefault(require("lodash-es/isFunction"));
30
29
  var React = __importStar(require("react"));
31
- var react_use_1 = require("react-use");
30
+ var isFunction_1 = __importDefault(require("lodash-es/isFunction"));
32
31
  var hooks_1 = require("@steroidsjs/core/hooks");
33
32
  var react_1 = require("react");
34
33
  function DropDownView(props) {
35
- var _a;
36
34
  var bem = (0, hooks_1.useBem)('DropDownView');
37
35
  var ui = (0, hooks_1.useComponents)().ui;
38
- (0, react_use_1.useMount)(function () {
39
- props.calculatePosition(props.forwardedRef.current.getBoundingClientRect());
40
- });
36
+ var arrowRef = (0, react_1.useRef)(null);
37
+ (0, react_1.useEffect)(function () {
38
+ props.calculatePosition(props.forwardedRef.current.getBoundingClientRect(), props.hasArrow ? arrowRef.current.getBoundingClientRect() : null);
39
+ }, [props.calculatePosition]);
41
40
  var contentProps = (0, react_1.useMemo)(function () { return ({
42
41
  onClose: props.onClose
43
42
  }); }, [props.onClose]);
@@ -48,11 +47,12 @@ function DropDownView(props) {
48
47
  content = ui.renderView(content, contentProps);
49
48
  }
50
49
  }
51
- return (React.createElement("div", { ref: props.forwardedRef, className: bem(bem.block((_a = {
52
- show: props.isComponentVisible
53
- },
54
- _a["position-".concat(props.position)] = !!props.position,
55
- _a.hasArrow = props.hasArrow,
56
- _a)), props.className), style: props.style }, content));
50
+ return (React.createElement("div", { ref: props.forwardedRef, className: bem(bem.block({
51
+ show: props.isComponentVisible,
52
+ position: props.position
53
+ }), props.className), style: props.style },
54
+ props.hasArrow && (React.createElement("div", { ref: arrowRef, className: bem.element('arrow', { position: props.position }), style: props.arrowPosition })),
55
+ React.createElement("div", { className: bem.element('content') },
56
+ React.createElement("span", null, content))));
57
57
  }
58
58
  exports["default"] = DropDownView;
@@ -1,212 +1,71 @@
1
+ @use 'sass:math';
1
2
  @use "../../scss/variables";
3
+ @use '../../scss/mixins';
2
4
 
3
5
  :root {
4
- --dropdown-background: #fff;
5
- --dropdown-border: #dbe2e6;
6
- --dropdown-triangle-svg: url("data:image/svg+xml,%3Csvg width='21' height='11' viewBox='0 0 21 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19.0416 0.5L10.1719 10.2567L1.30215 0.499998L19.0416 0.5Z' fill='white' stroke='%23dbe2e6'/%3E%3C/svg%3E%0A");
6
+ --dropdown-background-color: #fff;
7
+ --dropdown-border-color: #dbe2e6;
7
8
  }
8
9
 
9
10
  html[data-theme="dark"] {
10
- --dropdown-background: var(--gray-dark);
11
- --dropdown-border: transparent;
12
- --dropdown-triangle-svg: url("data:image/svg+xml,%3Csvg width='21' height='12' viewBox='0 0 21 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.5859 11.222L0.585938 0.222044L20.5859 0.222046L10.5859 11.222Z' fill='%23272A37'/%3E%3C/svg%3E");
11
+ --dropdown-background-color: var(--gray-dark);
12
+ --dropdown-border-color: transparent;
13
13
  }
14
14
 
15
- $dropdown-background: var(--dropdown-background);
16
- $dropdown-border: var(--dropdown-border);
17
- $dropdown-triangle-svg: var(--dropdown-triangle-svg);
15
+ $dropdown-background-color: var(--dropdown-background-color);
16
+ $dropdown-border-color: var(--dropdown-border-color);
18
17
 
18
+ $dropdown-arrow-width: 10px;
19
+ $dropdown-arrow-height: 10px;
20
+ $dropdown-arrow-border: math.div($dropdown-arrow-width, 2);
19
21
  $gap: 12px;
20
22
 
21
- %triangle {
22
- content: "";
23
- position: absolute;
24
- width: 20px;
25
- height: 11px;
26
- z-index: 2;
27
- background-image: $dropdown-triangle-svg;
28
- }
29
-
30
- %borderShaper {
31
- content: "";
32
- position: absolute;
33
- z-index: 3;
34
-
35
- width: 16px;
36
- height: 1px;
37
- background-color: $dropdown-background;
38
- border-left: 2px solid $dropdown-border;
39
- border-right: 2px solid $dropdown-border;
40
- }
41
-
42
- @mixin drop($edge, $padding) {
43
- @if ($edge == "top") {
44
- &::before {
45
- @extend %triangle;
46
-
47
- top: 100%;
48
- left: $padding;
49
- transform: translateX(-50%);
50
- }
51
-
52
- &::after {
53
- @extend %borderShaper;
54
-
55
- top: 100%;
56
- left: $padding;
57
- transform: translateX(-50%);
58
- }
59
- } @else if ($edge == "bottom") {
60
- &::before {
61
- @extend %triangle;
62
-
63
- top: 0;
64
- left: $padding;
65
- top: -11px;
66
- transform: translateX(-50%) rotate(180deg);
67
- }
68
-
69
- &::after {
70
- @extend %borderShaper;
71
-
72
- transform: translateX(-50%);
73
- top: -1px;
74
- left: $padding;
75
- }
76
- } @else if($edge == "left") {
77
- &::before {
78
- @extend %triangle;
79
-
80
- left: 100%;
81
- top: $padding;
82
- transform: translateX(-22.5%) rotate(-90deg);
83
- }
84
-
85
- &::after {
86
- @extend %borderShaper;
87
-
88
- left: 100%;
89
- top: $padding;
90
- transform: rotate(-90deg) translate(-30%, -7.5px);
91
- }
92
- } @else if($edge == "right") {
93
- &::before {
94
- @extend %triangle;
95
-
96
- right: 100%;
97
- top: $padding;
98
- transform: translateX(22.5%) rotate(90deg);
99
- }
100
-
101
- &::after {
102
- @extend %borderShaper;
103
-
104
- right: 100%;
105
- top: $padding;
106
- transform: rotate(-90deg) translate(-30%, 7.5px);
107
- }
108
- }
109
- }
23
+ $dropdown-arrow-offset-horizontal: 20px;
24
+ $dropdown-arrow-offset-vertical-top: 15px;
25
+ $dropdown-arrow-offset-vertical-bottom: 7px;
110
26
 
111
27
  .DropDownView {
112
- $root: &;
113
-
114
- z-index: 1000;
115
28
  position: absolute;
116
29
  color: variables.$text-color;
117
30
 
118
31
  transform: translate(0, 0);
119
32
  opacity: 0;
120
33
  transition: opacity 0.15s ease-in, transform 0.15s ease-in;
121
-
122
34
  z-index: 4;
35
+
123
36
  min-width: 200px;
124
37
  padding: 12px;
125
38
  border-radius: variables.$radius-large;
126
- background-color: $dropdown-background;
127
- border: 1px solid $dropdown-border;
39
+ background-color: $dropdown-background-color;
40
+ border: 1px solid $dropdown-border-color;
128
41
 
129
42
  &_show {
130
43
  opacity: 1;
131
44
  }
132
- &_position-top,
133
- &_position-topLeft,
134
- &_position-topRight {
135
- transform: translateY(-$gap);
136
- }
137
- &_position-bottom,
138
- &_position-bottomLeft,
139
- &_position-bottomRight {
140
- transform: translateY($gap);
141
- }
142
- &_position-left,
143
- &_position-leftTop,
144
- &_position-leftBottom {
145
- transform: translateX(-$gap);
146
- }
147
- &_position-right,
148
- &_position-rightTop,
149
- &_position-rightBottom {
150
- transform: translateX($gap);
151
- }
152
45
 
153
- &_position-top {
154
- @include drop("top", 50%);
155
- }
46
+ @include mixins.absolute-position($gap);
156
47
 
157
- &_position-topLeft {
158
- @include drop("top", 15%);
159
- }
160
-
161
- &_position-topRight {
162
- @include drop("top", 85%);
163
- }
164
-
165
- &_position-bottom {
166
- @include drop("bottom", 50%);
167
- }
168
-
169
- &_position-bottomLeft {
170
- @include drop("bottom", 15%);
171
- }
172
-
173
- &_position-bottomRight {
174
- @include drop("bottom", 85%);
175
- }
48
+ &__arrow {
49
+ position: absolute;
50
+ z-index: 1;
51
+ display: block;
52
+ pointer-events: none;
53
+ width: $dropdown-arrow-width;
54
+ height: $dropdown-arrow-height;
55
+ overflow: hidden;
56
+ border: 1px solid $dropdown-border-color;
57
+ background-color: $dropdown-background-color;
176
58
 
177
- &_position-left {
178
- @include drop("left", 46.5%);
179
- }
180
-
181
- &_position-leftTop {
182
- @include drop("left", 12.5%);
183
- }
184
-
185
- &_position-leftBottom {
186
- @include drop("left", 80%);
187
- }
188
-
189
- &_position-right {
190
- @include drop("right", 46.5%);
191
- }
192
-
193
- &_position-rightTop {
194
- @include drop("right", 12.5%);
195
- }
196
-
197
- &_position-rightBottom {
198
- @include drop("right", 80%);
59
+ @include mixins.arrow-position(
60
+ $dropdown-arrow-border,
61
+ $dropdown-arrow-offset-horizontal,
62
+ $dropdown-arrow-offset-vertical-top,
63
+ $dropdown-arrow-offset-vertical-bottom
64
+ );
199
65
  }
200
66
 
201
67
  &::before,
202
68
  &::after {
203
69
  opacity: 0;
204
70
  }
205
-
206
- &_hasArrow {
207
- &::before,
208
- &::after {
209
- opacity: 1;
210
- }
211
- }
212
71
  }
@@ -1,4 +1,15 @@
1
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
+ };
2
13
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
14
  if (k2 === undefined) k2 = k;
4
15
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -22,15 +33,20 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
33
  __setModuleDefault(result, mod);
23
34
  return result;
24
35
  };
36
+ var __importDefault = (this && this.__importDefault) || function (mod) {
37
+ return (mod && mod.__esModule) ? mod : { "default": mod };
38
+ };
25
39
  exports.__esModule = true;
26
40
  var React = __importStar(require("react"));
27
41
  var hooks_1 = require("@steroidsjs/core/hooks");
42
+ var omit_1 = __importDefault(require("lodash-es/omit"));
28
43
  function IconView(props) {
29
44
  var bem = (0, hooks_1.useBem)('IconView');
45
+ var omittedProps = (0, omit_1["default"])(props, 'contentEditable', 'icon');
30
46
  if (typeof props.icon === 'string' && props.icon.indexOf('<svg') === 0) {
31
- return (React.createElement("span", { dangerouslySetInnerHTML: { __html: props.icon } /* eslint-disable-line react/no-danger */, "aria-label": props.title, title: props.title, className: bem(bem.block(), props.className), onClick: props.onClick, onKeyPress: props.onClick, role: 'button', tabIndex: props.tabIndex || 0 }));
47
+ return (React.createElement("span", __assign({}, omittedProps, { dangerouslySetInnerHTML: { __html: props.icon } /* eslint-disable-line react/no-danger */, "aria-label": props.title, title: props.title, className: bem(bem.block(), props.className), onClick: props.onClick, onKeyPress: props.onClick, role: 'button', tabIndex: props.tabIndex || 0 })));
32
48
  }
33
- return (React.createElement("span", { onClick: props.onClick, onKeyPress: props.onClick, role: 'button', tabIndex: props.tabIndex || 0 },
49
+ return (React.createElement("span", __assign({}, omittedProps, { onClick: props.onClick, onKeyPress: props.onClick, role: 'button', tabIndex: props.tabIndex || 0 }),
34
50
  React.createElement("img", { alt: props.title, title: props.title, src: props.icon, className: bem(bem.block(), props.className) })));
35
51
  }
36
52
  exports["default"] = IconView;
@@ -0,0 +1,2 @@
1
+ import { IKanbanViewProps } from '@steroidsjs/core/ui/content/Kanban/Kanban';
2
+ export default function KanbanView(props: IKanbanViewProps): JSX.Element;
@@ -0,0 +1,29 @@
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 hooks_1 = require("@steroidsjs/core/hooks");
19
+ function KanbanView(props) {
20
+ var bem = (0, hooks_1.useBem)('KanbanView');
21
+ var Droppable = props.droppableComponent;
22
+ return (react_1["default"].createElement(Droppable, { droppableId: "all-columns", direction: "horizontal", type: "column" }, function (provided) {
23
+ var _a;
24
+ return (react_1["default"].createElement("div", __assign({ className: bem.block(), id: "task-board", ref: provided.innerRef }, provided.droppableProps, { style: props.style }), (_a = props.columns) === null || _a === void 0 ? void 0 :
25
+ _a.map(function (column, index) { return props.renderColumn(column, index); }),
26
+ provided.placeholder));
27
+ }));
28
+ }
29
+ exports["default"] = KanbanView;
@@ -0,0 +1,12 @@
1
+ .KanbanView {
2
+ display: flex;
3
+ justify-content: flex-start;
4
+ align-items: flex-start;
5
+ position: relative;
6
+ width: 100%;
7
+ height: 100%;
8
+ margin-top: 10px;
9
+ white-space: nowrap;
10
+ padding: 10px 20px;
11
+ overflow-x: auto;
12
+ }
@@ -0,0 +1,2 @@
1
+ import { IKanbanColumnViewProps } from '@steroidsjs/core/ui/content/Kanban/Kanban';
2
+ export default function KanbanColumnView(props: IKanbanColumnViewProps): JSX.Element;
@@ -0,0 +1,36 @@
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 hooks_1 = require("@steroidsjs/core/hooks");
19
+ var typography_1 = require("@steroidsjs/core/ui/typography");
20
+ var form_1 = require("@steroidsjs/core/ui/form");
21
+ function KanbanColumnView(props) {
22
+ var bem = (0, hooks_1.useBem)('KanbanColumnView');
23
+ var Draggable = props.draggableComponent;
24
+ var Droppable = props.droppableComponent;
25
+ var _a = props.column, id = _a.id, title = _a.title, tasks = _a.tasks;
26
+ return (react_1["default"].createElement(Draggable, { draggableId: id.toString(), index: props.columnIndex }, function (providedDraggable) { return (react_1["default"].createElement("div", __assign({ className: bem.block() }, providedDraggable.draggableProps, { ref: providedDraggable.innerRef }),
27
+ react_1["default"].createElement("div", __assign({ className: bem.element('header') }, providedDraggable.dragHandleProps),
28
+ react_1["default"].createElement(typography_1.Title, { className: bem.element('title'), content: title, type: 'h3' },
29
+ react_1["default"].createElement("span", { className: bem.element('tasks-count') }, tasks.length))),
30
+ react_1["default"].createElement(Droppable, { droppableId: id.toString(), type: "task" }, function (providedDroppable) { return (react_1["default"].createElement("div", __assign({ className: bem.element('content'), ref: providedDroppable.innerRef }, providedDroppable.droppableProps),
31
+ tasks.map(function (task, taskIndex) { return (props.renderTask(task, props.column.id, taskIndex)); }),
32
+ providedDroppable.placeholder)); }),
33
+ react_1["default"].createElement("div", { className: bem.element('button') },
34
+ react_1["default"].createElement(form_1.Button, { size: "sm", color: 'basic', icon: "add", onClick: function () { return props.onOpenCreateTaskModal(props.column.id); }, block: true })))); }));
35
+ }
36
+ exports["default"] = KanbanColumnView;