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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/content/Calendar/CaptionElement.js +6 -3
  2. package/content/CalendarSystem/AsideCalendars/AsideCalendars.d.ts +12 -0
  3. package/content/CalendarSystem/AsideCalendars/AsideCalendars.js +41 -0
  4. package/content/CalendarSystem/AsideCalendars/AsideCalendars.scss +81 -0
  5. package/content/CalendarSystem/AsideCalendars/index.d.ts +2 -0
  6. package/content/CalendarSystem/AsideCalendars/index.js +7 -0
  7. package/content/CalendarSystem/AsideHeader/AsideHeader.d.ts +9 -0
  8. package/content/CalendarSystem/AsideHeader/AsideHeader.js +40 -0
  9. package/content/CalendarSystem/AsideHeader/AsideHeader.scss +41 -0
  10. package/content/CalendarSystem/AsideHeader/index.d.ts +2 -0
  11. package/content/CalendarSystem/AsideHeader/index.js +7 -0
  12. package/content/CalendarSystem/CalendarSystemModalView.d.ts +3 -0
  13. package/content/CalendarSystem/CalendarSystemModalView.js +14 -0
  14. package/content/CalendarSystem/CalendarSystemModalView.scss +5 -0
  15. package/content/CalendarSystem/CalendarSystemView.d.ts +2 -0
  16. package/content/CalendarSystem/CalendarSystemView.js +28 -0
  17. package/content/CalendarSystem/CalendarSystemView.scss +50 -0
  18. package/content/CalendarSystem/ContentHeader/ContentHeader.d.ts +10 -0
  19. package/content/CalendarSystem/ContentHeader/ContentHeader.js +29 -0
  20. package/content/CalendarSystem/ContentHeader/ContentHeader.scss +57 -0
  21. package/content/CalendarSystem/ContentHeader/index.d.ts +2 -0
  22. package/content/CalendarSystem/ContentHeader/index.js +7 -0
  23. package/content/CalendarSystem/MonthGrid/MonthGrid.d.ts +12 -0
  24. package/content/CalendarSystem/MonthGrid/MonthGrid.js +50 -0
  25. package/content/CalendarSystem/MonthGrid/MonthGrid.scss +131 -0
  26. package/content/CalendarSystem/MonthGrid/index.d.ts +2 -0
  27. package/content/CalendarSystem/MonthGrid/index.js +7 -0
  28. package/content/CalendarSystem/WeekGrid/WeekGrid.d.ts +12 -0
  29. package/content/CalendarSystem/WeekGrid/WeekGrid.js +25 -0
  30. package/content/CalendarSystem/WeekGrid/WeekGrid.scss +225 -0
  31. package/content/CalendarSystem/WeekGrid/index.d.ts +2 -0
  32. package/content/CalendarSystem/WeekGrid/index.js +7 -0
  33. package/content/CalendarSystem/WeekGrid/views/WeekHour/WeekHour.d.ts +12 -0
  34. package/content/CalendarSystem/WeekGrid/views/WeekHour/WeekHour.js +38 -0
  35. package/content/CalendarSystem/WeekGrid/views/WeekHour/WeekHour.scss +14 -0
  36. package/content/CalendarSystem/WeekGrid/views/WeekHour/index.d.ts +2 -0
  37. package/content/CalendarSystem/WeekGrid/views/WeekHour/index.js +7 -0
  38. package/content/Icon/IconView.js +18 -2
  39. package/form/CheckboxField/CheckboxFieldView.js +5 -2
  40. package/form/CheckboxField/CheckboxFieldView.scss +27 -0
  41. package/index.d.ts +3 -0
  42. package/index.js +3 -0
  43. package/index.scss +2 -0
  44. package/package.json +2 -2
@@ -0,0 +1,131 @@
1
+ @use "style/variables";
2
+
3
+ :root {
4
+ --month-day-background-color: #ffffff;
5
+ --month-day-out-of-range-color: #f9fcff;
6
+ --month-day-color-text: #000000;
7
+ --month-day-out-of-range-color-text: rgba(0, 0, 0, 0.3);
8
+ }
9
+
10
+ html[data-theme="dark"] {
11
+ --month-day-background-color: #333646;
12
+ --month-day-out-of-range-color: #161b20;
13
+ --month-day-color-text: #ffffff;
14
+ --month-day-out-of-range-color-text: rgba(255, 255, 255, 0.3);
15
+ }
16
+
17
+ $month-day-background-color: var(--month-day-background-color);
18
+ $month-day-out-of-range-color: var(--month-day-out-of-range-color);
19
+ $month-day-color-text: var(--month-day-color-text);
20
+ $month-day-out-of-range-color-text: var(--month-day-out-of-range-color-text);
21
+
22
+ .MonthGrid {
23
+ display: flex;
24
+ flex-flow: column nowrap;
25
+ height: 100%;
26
+
27
+ &__grid {
28
+ flex-shrink: 0;
29
+ flex-grow: 1;
30
+ display: grid;
31
+ height: 90%;
32
+ gap: 5px;
33
+ grid-template-columns: repeat(7, 1fr);
34
+ grid-template-rows: repeat(6, 1fr);
35
+ }
36
+
37
+ &__week-days {
38
+ display: grid;
39
+ grid-template-columns: repeat(7, 1fr);
40
+ text-align: right;
41
+
42
+ &-day {
43
+ color: $month-day-color-text;
44
+ font-size: variables.$font-size-14;
45
+ font-weight: variables.$font-weight-md;
46
+ line-height: variables.$line-height-18;
47
+ padding: 8px 10px;
48
+ }
49
+ }
50
+
51
+ &__day {
52
+ $dayRoot: &;
53
+ padding: 4px 8px 0px 8px;
54
+ min-height: 84px;
55
+ border-radius: variables.$radius-large;
56
+ background-color: $month-day-background-color;
57
+
58
+ &-wrapper {
59
+ display: block;
60
+ text-align: right;
61
+ }
62
+
63
+ &-number {
64
+ position: relative;
65
+ display: inline-flex;
66
+ justify-content: center;
67
+ align-items: center;
68
+ font-size: variables.$font-size-14;
69
+ font-weight: variables.$font-weight-sm;
70
+ line-height: variables.$line-height-18;
71
+ color: $month-day-color-text;
72
+ width: 24px;
73
+ height: 24px;
74
+ }
75
+
76
+ &_outOfRange {
77
+ background-color: $month-day-out-of-range-color;
78
+
79
+ #{$dayRoot}-number {
80
+ color: $month-day-out-of-range-color-text;
81
+ }
82
+ }
83
+
84
+ &_isToday {
85
+ #{$dayRoot}-number {
86
+ &::before {
87
+ position: absolute;
88
+ content: "";
89
+ border: 1px solid variables.$primary;
90
+ display: block;
91
+ width: 100%;
92
+ height: 100%;
93
+ border-radius: variables.$radius-small;
94
+ }
95
+ color: variables.$primary;
96
+ }
97
+ }
98
+
99
+ &-content {
100
+ overflow: hidden;
101
+ display: flex;
102
+ flex-flow: column nowrap;
103
+ gap: 1px;
104
+ }
105
+
106
+ &-event {
107
+ position: relative;
108
+ display: inline-block;
109
+ width: 100%;
110
+ font-size: variables.$font-size-xs;
111
+ font-weight: variables.$font-weight-sm;
112
+ line-height: variables.$line-height-xs;
113
+ color: variables.$text-color;
114
+
115
+ text-overflow: ellipsis;
116
+ white-space: nowrap;
117
+ overflow: hidden;
118
+ cursor: pointer;
119
+ text-align: left;
120
+
121
+
122
+ &-dot {
123
+ display: inline-block;
124
+ width: 6px;
125
+ height: 6px;
126
+ margin-right: 8px;
127
+ border-radius: 100px;
128
+ }
129
+ }
130
+ }
131
+ }
@@ -0,0 +1,2 @@
1
+ import MonthGrid from './MonthGrid';
2
+ export default MonthGrid;
@@ -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 MonthGrid_1 = __importDefault(require("./MonthGrid"));
7
+ exports["default"] = MonthGrid_1["default"];
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import { IDay, IEvent } from '@steroidsjs/core/ui/content/CalendarSystem/CalendarSystem';
3
+ import './WeekGrid.scss';
4
+ interface IWeekGridProps {
5
+ onClickHour: () => void;
6
+ currentWeekDays: IDay[];
7
+ allHours: string[];
8
+ getEventsFromDate: (dateFromDay: Date, isMonth: boolean) => IEvent[];
9
+ }
10
+ declare function WeekGrid(props: IWeekGridProps): JSX.Element;
11
+ declare const _default: React.MemoExoticComponent<typeof WeekGrid>;
12
+ export default _default;
@@ -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 useBem_1 = __importDefault(require("@steroidsjs/core/hooks/useBem"));
8
+ var Text_1 = __importDefault(require("@steroidsjs/core/ui/typography/Text/Text"));
9
+ var WeekHour_1 = __importDefault(require("./views/WeekHour"));
10
+ require("./WeekGrid.scss");
11
+ function WeekGrid(props) {
12
+ var bem = (0, useBem_1["default"])('WeekGrid');
13
+ var currentWeekDays = props.currentWeekDays, onClickHour = props.onClickHour, getEventsFromDate = props.getEventsFromDate;
14
+ var renderWeekHours = react_1["default"].useCallback(function (hour) { return currentWeekDays.map(function (dayOfWeek, dayOfWeekIndex) { return (react_1["default"].createElement(WeekHour_1["default"], { parentBem: bem, hour: hour, getEventsFromDate: getEventsFromDate, key: dayOfWeekIndex, dayOfWeek: dayOfWeek })); }); }, [bem, currentWeekDays, getEventsFromDate]);
15
+ return (react_1["default"].createElement("div", { className: bem.block() },
16
+ react_1["default"].createElement("div", { className: bem.element('content') },
17
+ react_1["default"].createElement("div", { className: bem.element('hours-time') }, props.allHours.map(function (hour, hourIndex) { return (react_1["default"].createElement("div", { key: hourIndex, className: bem.element('hours-time-item') }, hour)); })),
18
+ react_1["default"].createElement("div", { className: bem.element('table') },
19
+ react_1["default"].createElement("div", { className: bem.element('table-heading') }, currentWeekDays.map(function (weekDay, weekDayIndex) { return (react_1["default"].createElement(Text_1["default"], { key: weekDayIndex, className: bem.element('day', {
20
+ isToday: weekDay.isToday
21
+ }) },
22
+ react_1["default"].createElement("span", { className: bem.element('day-wrapper') }, weekDay.formattedDisplay))); })),
23
+ react_1["default"].createElement("div", { className: bem.element('table-grid') }, props.allHours.map(function (hour, hourIndex) { return (react_1["default"].createElement("div", { key: hourIndex, className: bem.element('table-grid-row') }, renderWeekHours(hour))); }))))));
24
+ }
25
+ exports["default"] = react_1["default"].memo(WeekGrid);
@@ -0,0 +1,225 @@
1
+ @use "style/variables";
2
+
3
+ :root {
4
+ --calendar-system-hour-border-color: #dbe2e6;
5
+ --calendar-system-time-background-color: #fff;
6
+ --calendar-system-today-background-color: #dbe2e6;
7
+ --calendar-system-today-border-color: #cbd5db;
8
+ }
9
+
10
+ html[data-theme="dark"] {
11
+ --calendar-system-hour-border-color: #333646;
12
+ --calendar-system-time-background-color: #4b4e5e;
13
+ --calendar-system-today-background-color: #191b1f;
14
+ --calendar-system-today-border-color: #333646;
15
+ --calendar-system-today-day-background-color: #651fff;
16
+ }
17
+
18
+ $calendar-system-hour-border-color: var(--calendar-system-hour-border-color);
19
+ $calendar-system-time-background-color: var(--calendar-system-time-background-color);
20
+ $calendar-system-today-background-color: var(--calendar-system-today-background-color);
21
+ $calendar-system-today-border-color: var(--calendar-system-today-border-color);
22
+
23
+ $calendar-border-style: 1px solid $calendar-system-hour-border-color;
24
+ $calendar-today-border-style: 1px solid $calendar-system-today-border-color;
25
+
26
+ .WeekGrid {
27
+ $root: &;
28
+ overflow-y: scroll;
29
+ margin-top: 11px;
30
+
31
+ @include variables.scrollWrapper(568px, 20px, variables.$scroll-thumb-color, variables.$scroll-track-color);
32
+
33
+ &__content {
34
+ display: flex;
35
+
36
+ #{$root}__hours-time {
37
+ display: flex;
38
+ flex-flow: column nowrap;
39
+ justify-content: space-around;
40
+ margin-right: 8px;
41
+
42
+ &-item {
43
+ width: 40px;
44
+ height: 24px;
45
+ border-radius: variables.$radius-small;
46
+ background-color: $calendar-system-time-background-color;
47
+ color: variables.$custom-text-color-base;
48
+ font-size: variables.$font-size-xs;
49
+ font-weight: variables.$font-weight-sm;
50
+ line-height: variables.$line-height-xs;
51
+
52
+ display: flex;
53
+ justify-content: center;
54
+ align-items: center;
55
+ }
56
+ }
57
+ }
58
+
59
+ &__table {
60
+ display: flex;
61
+ flex-flow: column nowrap;
62
+ width: calc(100% - 48px);
63
+
64
+ &-heading {
65
+ display: grid;
66
+ max-height: 100%;
67
+ grid-template-columns: repeat(7, 1fr);
68
+ }
69
+
70
+ &-grid {
71
+ width: auto;
72
+ display: grid;
73
+ grid-template-rows: repeat(24, 1fr);
74
+
75
+ &-row {
76
+ display: grid;
77
+ height: auto;
78
+ grid-template-columns: repeat(7, 1fr);
79
+ min-height: 80px;
80
+
81
+ //Borders
82
+ &:first-child #{$root}__hour {
83
+ border-top: $calendar-border-style;
84
+ }
85
+
86
+ #{$root}__hour {
87
+ border-right: $calendar-border-style;
88
+ border-bottom: $calendar-border-style;
89
+
90
+ &:first-child {
91
+ border-left: $calendar-border-style;
92
+ }
93
+ }
94
+
95
+ &:first-child #{$root}__hour_isToday {
96
+ border-top: $calendar-today-border-style;
97
+ }
98
+
99
+ #{$root}__hour_isToday {
100
+ background-color: $calendar-system-today-background-color;
101
+ border-right: $calendar-today-border-style;
102
+ border-bottom: $calendar-today-border-style;
103
+
104
+ &:first-child {
105
+ border-left: $calendar-today-border-style;
106
+ }
107
+ }
108
+ }
109
+ }
110
+ }
111
+
112
+ &__hours-time {
113
+ margin-top: 32px;
114
+ }
115
+
116
+ &__day {
117
+ $dayRoot: &;
118
+
119
+ font-size: variables.$font-size-sm;
120
+ font-weight: variables.$font-weight-md;
121
+ line-height: variables.$line-height-sm;
122
+ padding: 8px 10px;
123
+ margin-bottom: 0;
124
+ display: flex;
125
+ justify-content: flex-end;
126
+
127
+ &_isToday {
128
+ padding: 4px 10px;
129
+ color: variables.$white;
130
+
131
+ #{$dayRoot}-wrapper {
132
+ position: relative;
133
+ padding: 4px;
134
+ background-color: variables.$primary;
135
+ border-radius: 200px;
136
+
137
+ &::before {
138
+ content: "";
139
+ display: block;
140
+ position: absolute;
141
+ width: 100%;
142
+ height: 100%;
143
+ border: 3px solid variables.$primary-light;
144
+ top: 0;
145
+ left: 0;
146
+ right: 0;
147
+ bottom: 0;
148
+ border-radius: inherit;
149
+ transform: translate(-3px, -3px);
150
+ }
151
+ }
152
+ }
153
+ }
154
+
155
+ &__hour {
156
+ $rootHour: &;
157
+ display: flex;
158
+ flex-flow: column nowrap;
159
+ gap: 1px;
160
+ max-height: 80px;
161
+
162
+ &-event {
163
+ position: relative;
164
+ padding: 4px 8px;
165
+ overflow: hidden;
166
+ border-radius: 4px;
167
+
168
+ &-title {
169
+ font-size: variables.$font-size-sm;
170
+ font-weight: variables.$font-weight-sm;
171
+ line-height: variables.$line-height-sm;
172
+ color: #312c3a;
173
+
174
+ padding-right: 36px;
175
+ }
176
+
177
+ &-time {
178
+ top: 4px;
179
+ right: 8px;
180
+ position: absolute;
181
+ display: inline-block;
182
+ font-size: variables.$font-size-xs;
183
+ font-weight: variables.$font-weight-sm;
184
+ line-height: variables.$line-height-xs;
185
+ }
186
+ }
187
+
188
+ &_hasOneEvent {
189
+ #{$rootHour}-event-title {
190
+ -webkit-line-clamp: 4; /* Число отображаемых строк */
191
+ display: -webkit-box; /* Включаем флексбоксы */
192
+ -webkit-box-orient: vertical; /* Вертикальная ориентация */
193
+ overflow: hidden;
194
+ }
195
+ }
196
+
197
+ &_hasTwoEvents {
198
+ #{$rootHour}-event-title {
199
+ -webkit-line-clamp: 2; /* Число отображаемых строк */
200
+ display: -webkit-box; /* Включаем флексбоксы */
201
+ -webkit-box-orient: vertical; /* Вертикальная ориентация */
202
+ overflow: hidden;
203
+ }
204
+ }
205
+
206
+ &_hasTreeEvents {
207
+ #{$rootHour}-event-title {
208
+ -webkit-line-clamp: 1; /* Число отображаемых строк */
209
+ display: -webkit-box; /* Включаем флексбоксы */
210
+ -webkit-box-orient: vertical; /* Вертикальная ориентация */
211
+ overflow: hidden;
212
+ }
213
+
214
+ #{$rootHour}-event {
215
+ max-height: 18px;
216
+ padding: 0 8px;
217
+ }
218
+
219
+ #{$rootHour}-event-time {
220
+ top: 0;
221
+ right: 8px
222
+ }
223
+ }
224
+ }
225
+ }
@@ -0,0 +1,2 @@
1
+ import WeekGrid from './WeekGrid';
2
+ export default WeekGrid;
@@ -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 WeekGrid_1 = __importDefault(require("./WeekGrid"));
7
+ exports["default"] = WeekGrid_1["default"];
@@ -0,0 +1,12 @@
1
+ import { IBem } from '@steroidsjs/core/hooks/useBem';
2
+ import { IDay, IEvent } from '@steroidsjs/core/ui/content/CalendarSystem/CalendarSystem';
3
+ import CalendarEnum from '@steroidsjs/core/ui/content/CalendarSystem/enums/CalendarType';
4
+ import './WeekHour.scss';
5
+ interface IWeekHourProps {
6
+ dayOfWeek: IDay;
7
+ getEventsFromDate: (dateFromDay: Date, currentCalendarType: CalendarEnum) => IEvent[];
8
+ hour: string;
9
+ parentBem: IBem;
10
+ }
11
+ export default function WeekHour(props: IWeekHourProps): JSX.Element;
12
+ export {};
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ exports.__esModule = true;
6
+ var react_1 = __importDefault(require("react"));
7
+ var useBem_1 = __importDefault(require("@steroidsjs/core/hooks/useBem"));
8
+ var calendar_1 = require("@steroidsjs/core/utils/calendar");
9
+ var form_1 = require("@steroidsjs/core/ui/form");
10
+ var CalendarType_1 = __importDefault(require("@steroidsjs/core/ui/content/CalendarSystem/enums/CalendarType"));
11
+ require("./WeekHour.scss");
12
+ function WeekHour(props) {
13
+ var bem = (0, useBem_1["default"])('WeekHour');
14
+ var parentBem = props.parentBem;
15
+ var _a = react_1["default"].useState(false), isExpanded = _a[0], setIsExpanded = _a[1];
16
+ var events = react_1["default"].useMemo(function () {
17
+ var callingDate = new Date(props.dayOfWeek.date);
18
+ var timeArray = props.hour.replace(':', '').split('');
19
+ callingDate.setHours(Number(timeArray[0] + timeArray[1]), 0, 0, 0);
20
+ return props.getEventsFromDate(callingDate, CalendarType_1["default"].WEEK);
21
+ }, [props]);
22
+ var getFormattedExpandLabel = react_1["default"].useCallback(function () { return "".concat(__('Показать ещё'), " +").concat(events.length - 3); }, [events.length]);
23
+ var hasOneEvent = events.length <= 1;
24
+ var hasTwoEvents = events.length === 2;
25
+ var hasTreeEvents = events.length >= 3;
26
+ return (react_1["default"].createElement("div", { className: parentBem.element('hour', {
27
+ isToday: props.dayOfWeek.isToday,
28
+ hasOneEvent: hasOneEvent,
29
+ hasTwoEvents: hasTwoEvents,
30
+ hasTreeEvents: hasTreeEvents,
31
+ isExpanded: isExpanded
32
+ }) },
33
+ events.map(function (event, eventIndex) { return (react_1["default"].createElement("div", { key: eventIndex, className: parentBem.element('hour-event'), style: { backgroundColor: event.color }, title: event.title },
34
+ react_1["default"].createElement("span", { className: parentBem.element('hour-event-title') }, event.title),
35
+ react_1["default"].createElement("span", { className: parentBem.element('hour-event-time') }, (0, calendar_1.convertDate)(event.date, null, 'HH:mm')))); }),
36
+ hasTreeEvents && events.length > 3 && (react_1["default"].createElement(form_1.Button, { link: true, className: bem.element('expand-button') }, getFormattedExpandLabel()))));
37
+ }
38
+ exports["default"] = WeekHour;
@@ -0,0 +1,14 @@
1
+ @use "style/variables";
2
+
3
+ .WeekHour {
4
+ &__expand-button {
5
+ font-size: variables.$font-size-xs;
6
+ font-weight: variables.$font-weight-sm;
7
+ line-height: variables.$line-height-xs;
8
+ text-align: center;
9
+
10
+ .ButtonView__text {
11
+ color: #312C3A;
12
+ }
13
+ }
14
+ }
@@ -0,0 +1,2 @@
1
+ import WeekHour from './WeekHour';
2
+ export default WeekHour;
@@ -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 WeekHour_1 = __importDefault(require("./WeekHour"));
7
+ exports["default"] = WeekHour_1["default"];
@@ -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;
@@ -43,11 +43,14 @@ var useUniqueId_1 = __importDefault(require("@steroidsjs/core/hooks/useUniqueId"
43
43
  function CheckboxFieldView(props) {
44
44
  var bem = (0, hooks_1.useBem)('CheckboxFieldView');
45
45
  var id = (0, useUniqueId_1["default"])('checkbox');
46
+ var customVariableColorStyle = { '--checkbox-custom-color': props.color };
46
47
  return (React.createElement("div", { className: bem(bem.block({
47
48
  size: props.size,
48
49
  hasErrors: !!props.errors
49
- }), props.className), style: props.style, onClick: props.onChange },
50
- React.createElement("input", __assign({ className: bem.element('input'), id: props.id || id }, props.inputProps, { disabled: props.disabled, required: props.required })),
50
+ }), props.className), style: __assign(__assign({}, props.style), customVariableColorStyle), onClick: props.onChange },
51
+ React.createElement("input", __assign({ className: bem.element('input', {
52
+ hasCustomColor: !!props.color
53
+ }), id: props.id || id }, props.inputProps, { disabled: props.disabled, required: props.required })),
51
54
  React.createElement("label", { className: bem.element('label'), htmlFor: props.id || id }, props.label && (React.createElement("span", { className: bem.element('label-text', { required: props.required }) }, props.label)))));
52
55
  }
53
56
  exports["default"] = CheckboxFieldView;
@@ -1,4 +1,5 @@
1
1
  @use "../../scss/variables";
2
+ @use "sass:meta";
2
3
 
3
4
  :root {
4
5
  --disabled-text-color: rgba(0, 0, 0, 0.3);
@@ -92,6 +93,7 @@ $disabled-text-color: var(--disabled-text-color);
92
93
 
93
94
  &:checked:active + #{$root}__label::before {
94
95
  background-color: variables.$primary-light;
96
+
95
97
  border-color: transparent;
96
98
  }
97
99
 
@@ -104,6 +106,7 @@ $disabled-text-color: var(--disabled-text-color);
104
106
  &:checked + #{$root}__label::before {
105
107
  border-color: variables.$primary;
106
108
  background-color: variables.$primary;
109
+
107
110
  background-image: url("data:image/svg+xml,%3Csvg width='11' height='8' viewBox='0 0 11 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.20898 1L3.70898 7L1.20898 4.27273' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
108
111
  }
109
112
 
@@ -127,6 +130,29 @@ $disabled-text-color: var(--disabled-text-color);
127
130
  }
128
131
  }
129
132
 
133
+ &__input#{$root}__input_hasCustomColor {
134
+ //ACTIVE
135
+ &:not(:disabled):not(:checked):active + #{$root}__label::before {
136
+ border-color: var(--checkbox-custom-color);
137
+ }
138
+
139
+ &:checked:active + #{$root}__label::before {
140
+ background-color: var(--checkbox-custom-color);
141
+ }
142
+
143
+ //CHECKED
144
+ &:checked + #{$root}__label::before {
145
+ border-color: var(--checkbox-custom-color);
146
+ background-color: var(--checkbox-custom-color);
147
+ }
148
+
149
+
150
+ //FOCUS
151
+ &:focus + #{$root}__label::after {
152
+ opacity: 0;
153
+ }
154
+ }
155
+
130
156
  &_size {
131
157
  &_lg {
132
158
  #{$root}__label {
@@ -196,6 +222,7 @@ $disabled-text-color: var(--disabled-text-color);
196
222
  }
197
223
  }
198
224
  }
225
+
199
226
  .has-errors label {
200
227
  &::before {
201
228
  border-color: variables.$danger;
package/index.d.ts CHANGED
@@ -41,6 +41,9 @@ declare const _default: {
41
41
  'content.SliderView': {
42
42
  lazy: () => any;
43
43
  };
44
+ 'content.CalendarSystemView': {
45
+ lazy: () => any;
46
+ };
44
47
  'form.AutoCompleteFieldView': {
45
48
  lazy: () => any;
46
49
  };
package/index.js CHANGED
@@ -44,6 +44,9 @@ exports["default"] = {
44
44
  'content.SliderView': {
45
45
  lazy: function () { return require('./content/Slider/SliderView')["default"]; }
46
46
  },
47
+ 'content.CalendarSystemView': {
48
+ lazy: function () { return require('./content/CalendarSystem/CalendarSystemView')["default"]; }
49
+ },
47
50
  'form.AutoCompleteFieldView': {
48
51
  lazy: function () { return require('./form/AutoCompleteField/AutoCompleteFieldView')["default"]; }
49
52
  },
package/index.scss CHANGED
@@ -14,6 +14,8 @@
14
14
  @include meta.load-css('content/Badge/BadgeView');
15
15
  @include meta.load-css('content/Calendar/CalendarView');
16
16
  @include meta.load-css('content/Calendar/CaptionElement');
17
+ @include meta.load-css('content/CalendarSystem/CalendarSystemView');
18
+ @include meta.load-css('content/CalendarSystem/CalendarSystemModal/CalendarSystemModalView');
17
19
  @include meta.load-css('content/Card/CardView');
18
20
  @include meta.load-css('content/Detail/DetailView');
19
21
  @include meta.load-css('content/DropDown/DropDownView');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steroidsjs/bootstrap",
3
- "version": "3.0.0-beta.101",
3
+ "version": "3.0.0-beta.102",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "author": "Vladimir Kozhin <hello@kozhindev.com>",
@@ -37,7 +37,7 @@
37
37
  "react-use": "^17.4.0"
38
38
  },
39
39
  "devDependencies": {
40
- "@steroidsjs/core": "^3.0 || >=3.0.0-beta.85",
40
+ "@steroidsjs/core": "^3.0 || >=3.0.0-beta.86",
41
41
  "@steroidsjs/eslint-config": "^2.1.4",
42
42
  "@types/enzyme": "^3.10.8",
43
43
  "@types/googlemaps": "^3.43.3",