@steroidsjs/bootstrap 2.1.0-beta.2 → 2.1.0-beta.7

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 (125) hide show
  1. package/README.md +7 -0
  2. package/content/Alert/AlertView.d.ts +3 -0
  3. package/content/Alert/AlertView.js +33 -0
  4. package/content/Alert/AlertView.scss +120 -0
  5. package/content/Avatar/AvatarGroupView.d.ts +0 -1
  6. package/content/Avatar/AvatarGroupView.js +20 -21
  7. package/content/Avatar/AvatarGroupView.scss +5 -1
  8. package/content/Avatar/AvatarView.d.ts +0 -1
  9. package/content/Avatar/AvatarView.js +14 -47
  10. package/content/Avatar/AvatarView.scss +93 -34
  11. package/content/Calendar/CalendarView.d.ts +0 -1
  12. package/content/Calendar/CalendarView.js +0 -1
  13. package/content/Calendar/CalendarView.scss +24 -24
  14. package/content/Calendar/CaptionElement.d.ts +0 -1
  15. package/content/Calendar/CaptionElement.js +2 -3
  16. package/content/Calendar/CaptionElement.scss +22 -17
  17. package/content/Card/CardView.d.ts +0 -1
  18. package/content/Card/CardView.js +15 -12
  19. package/content/Card/CardView.scss +138 -26
  20. package/content/Collapse/CollapseItemView.d.ts +3 -0
  21. package/content/Collapse/CollapseItemView.js +60 -0
  22. package/content/Collapse/CollapseItemView.scss +88 -0
  23. package/content/Collapse/CollapseView.d.ts +3 -0
  24. package/content/Collapse/CollapseView.js +28 -0
  25. package/content/Collapse/CollapseView.scss +15 -0
  26. package/content/Detail/DetailView.d.ts +3 -0
  27. package/content/Detail/DetailView.js +37 -0
  28. package/content/Detail/DetailView.scss +66 -0
  29. package/content/DropDown/DropDownView.scss +1 -2
  30. package/form/AutoCompleteField/AutoCompleteFieldView.d.ts +1 -0
  31. package/form/AutoCompleteField/AutoCompleteFieldView.js +1 -0
  32. package/form/AutoCompleteField/AutoCompleteFieldView.scss +31 -20
  33. package/form/Button/ButtonView.js +15 -11
  34. package/form/Button/ButtonView.scss +63 -2
  35. package/form/CheckboxField/CheckboxFieldView.js +1 -1
  36. package/form/CheckboxField/CheckboxFieldView.scss +40 -6
  37. package/form/CheckboxListField/CheckboxListFieldView.js +4 -5
  38. package/form/CheckboxListField/CheckboxListFieldView.scss +45 -1
  39. package/form/DateField/DateFieldView.d.ts +0 -1
  40. package/form/DateField/DateFieldView.js +1 -1
  41. package/form/DateField/DateFieldView.scss +8 -9
  42. package/form/DateRangeField/DateRangeFieldView.d.ts +0 -1
  43. package/form/DateRangeField/DateRangeFieldView.js +0 -1
  44. package/form/DateRangeField/DateRangeFieldView.scss +8 -9
  45. package/form/DateTimeField/DateTimeFieldView.js +4 -1
  46. package/form/DateTimeField/DateTimeFieldView.scss +11 -11
  47. package/form/DateTimeRangeField/DateTimeRangeFieldView.d.ts +0 -1
  48. package/form/DateTimeRangeField/DateTimeRangeFieldView.js +0 -1
  49. package/form/DateTimeRangeField/DateTimeRangeFieldView.scss +10 -10
  50. package/form/DropDownField/DropDownFieldView.js +1 -1
  51. package/form/DropDownField/DropDownFieldView.scss +28 -18
  52. package/form/FileField/FileFieldView.js +1 -1
  53. package/form/Form/FormView.js +4 -1
  54. package/form/Form/FormView.scss +16 -2
  55. package/form/HtmlField/HtmlFieldView.d.ts +4 -0
  56. package/form/HtmlField/HtmlFieldView.js +37 -0
  57. package/form/ImageField/ImageFieldModalView.d.ts +4 -0
  58. package/form/ImageField/ImageFieldModalView.js +55 -0
  59. package/form/ImageField/ImageFieldModalView.scss +7 -0
  60. package/form/ImageField/ImageFieldView.d.ts +3 -0
  61. package/form/ImageField/ImageFieldView.js +43 -0
  62. package/form/ImageField/ImageFieldView.scss +108 -0
  63. package/form/InputField/InputFieldView.js +8 -3
  64. package/form/InputField/InputFieldView.scss +77 -14
  65. package/form/NumberField/NumberFieldView.js +2 -2
  66. package/form/NumberField/NumberFieldView.scss +30 -12
  67. package/form/PasswordField/PasswordFieldView.scss +5 -5
  68. package/form/RateField/RateFieldView.d.ts +0 -1
  69. package/form/RateField/RateFieldView.js +0 -1
  70. package/form/RateField/RateFieldView.scss +5 -5
  71. package/form/SliderField/SliderFieldView.js +29 -9
  72. package/form/SliderField/SliderFieldView.scss +39 -20
  73. package/form/TextField/TextFieldView.scss +3 -2
  74. package/form/TimeField/TimeFieldView.d.ts +0 -1
  75. package/form/TimeField/TimeFieldView.js +0 -1
  76. package/form/TimeField/TimeFieldView.scss +8 -9
  77. package/form/TimeField/TimePanelView.d.ts +0 -1
  78. package/form/TimeField/TimePanelView.js +0 -1
  79. package/form/TimeField/TimePanelView.scss +11 -11
  80. package/icon/Icon/IconView.d.ts +0 -1
  81. package/icon/Icon/IconView.js +0 -1
  82. package/icon/Icon/IconView.scss +6 -6
  83. package/icon/fontawesome.js +5 -1
  84. package/index.d.ts +33 -0
  85. package/index.js +217 -67
  86. package/index.scss +22 -2
  87. package/layout/ProgressBar/CircleProgressBarView.d.ts +4 -0
  88. package/layout/ProgressBar/CircleProgressBarView.js +40 -0
  89. package/layout/ProgressBar/CircleProgressBarView.scss +150 -0
  90. package/layout/ProgressBar/LineProgressBarView.d.ts +4 -0
  91. package/layout/ProgressBar/LineProgressBarView.js +31 -0
  92. package/layout/ProgressBar/LineProgressBarView.scss +115 -0
  93. package/layout/Skeleton/SkeletonView.d.ts +3 -0
  94. package/layout/Skeleton/SkeletonView.js +31 -0
  95. package/layout/Skeleton/SkeletonView.scss +71 -0
  96. package/list/List/ListView.js +3 -0
  97. package/list/Steps/StepItemView.d.ts +3 -0
  98. package/list/Steps/StepItemView.js +41 -0
  99. package/list/Steps/StepItemView.scss +144 -0
  100. package/list/Steps/StepsView.d.ts +3 -0
  101. package/list/Steps/StepsView.js +28 -0
  102. package/list/Steps/StepsView.scss +16 -0
  103. package/modal/Modal/ModalView.js +13 -14
  104. package/modal/Modal/ModalView.scss +34 -30
  105. package/nav/Breadcrubms/BreadcrumbsView.js +4 -4
  106. package/nav/Breadcrubms/BreadcrumbsView.scss +14 -0
  107. package/nav/Controls/ControlsView.scss +1 -1
  108. package/nav/Nav/NavButtonView.js +1 -1
  109. package/nav/Nav/NavIconView.js +1 -1
  110. package/package.json +4 -3
  111. package/scss/mixins/button.scss +33 -0
  112. package/scss/mixins/card.scss +26 -0
  113. package/scss/mixins/index.scss +2 -0
  114. package/scss/variables/colors.scss +74 -0
  115. package/scss/variables/components/alert.scss +9 -0
  116. package/scss/variables/components/avatar.scss +17 -0
  117. package/scss/variables/components/button.scss +14 -0
  118. package/scss/variables/components/calendar.scss +15 -0
  119. package/scss/variables/components/card.scss +20 -0
  120. package/scss/variables/components/icon.scss +3 -0
  121. package/scss/variables/components/input.scss +11 -0
  122. package/scss/variables/components/ratefield.scss +2 -0
  123. package/scss/variables/index.scss +9 -0
  124. package/list/Accordion/AccordionView.scss +0 -10
  125. package/list/Detail/DetailView.scss +0 -5
package/README.md CHANGED
@@ -0,0 +1,7 @@
1
+
2
+ # Bootstrap views for Steroids
3
+
4
+ Эта библиотека содержит представления (views) для компонентов из [Steroids](https://github.com/steroids/react/),
5
+ стилизованные под UI-фреймворк [Bootstrap](https://getbootstrap.com/).
6
+
7
+ Подробнее о том как создавать и использовать эти view-файлы можно узнать в [документации Steroids](https://github.com/steroids/react/blob/master/docs/index.md)
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import { IAlertViewProps } from '@steroidsjs/core/ui/content/Alert/Alert';
3
+ export default function Alert(props: IAlertViewProps): JSX.Element;
@@ -0,0 +1,33 @@
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 Icon_1 = __importDefault(require("@steroidsjs/core/ui/icon/Icon"));
9
+ function Alert(props) {
10
+ var _a, _b;
11
+ var bem = hooks_1.useBem('AlertView');
12
+ return (props.isExist && (react_1["default"].createElement("div", { className: bem(bem.block((_a = {},
13
+ _a[props.type] = !!props.type,
14
+ _a['has-description'] = !!props.description,
15
+ _a['close-animation'] = !props.isVisible,
16
+ _a)), props.className), style: props.style },
17
+ props.showIcon && (react_1["default"].createElement(Icon_1["default"], { name: props.type, className: bem.element('icon', (_b = {},
18
+ _b[props.type] = !!props.type,
19
+ _b)) })),
20
+ typeof props.showIcon === 'string' && (react_1["default"].createElement(Icon_1["default"], { name: props.showIcon, className: bem.element('icon') })),
21
+ react_1["default"].createElement("div", { className: bem.element('content-wrapper') },
22
+ react_1["default"].createElement("div", { className: bem.element('content') },
23
+ props.message && (react_1["default"].createElement("div", { className: bem.element('message') }, props.message)),
24
+ props.description && (react_1["default"].createElement("div", { className: bem.element('description') }, props.description))),
25
+ props.action && (react_1["default"].createElement("div", { className: bem.element('action') }, props.action))),
26
+ props.showClose && (react_1["default"].createElement(Icon_1["default"], { className: bem.element('icon-close', {
27
+ large: !!props.description
28
+ }), name: 'times', onClick: function (e) {
29
+ e.preventDefault();
30
+ props.onClose();
31
+ } })))));
32
+ }
33
+ exports["default"] = Alert;
@@ -0,0 +1,120 @@
1
+ .AlertView {
2
+ $root: &;
3
+
4
+ position: relative;
5
+
6
+ display: flex;
7
+ flex-direction: row;
8
+ align-items: center;
9
+ padding: $alert-padding-y $alert-padding-x;
10
+
11
+ border-radius: $alert-border-radius;
12
+ border: 1px solid transparent;
13
+
14
+ &_close-animation {
15
+ animation: hide_slide .4s ease-in;
16
+ }
17
+
18
+ @keyframes hide_slide {
19
+ 0% {
20
+ transform: translateX(-10px);
21
+ }
22
+ 40% {
23
+ transform: translateX(0%);
24
+ }
25
+ 80% {
26
+ transform: translateX(-10%);
27
+ }
28
+ 100% {
29
+ transform: translateX(100%);
30
+ }
31
+ }
32
+
33
+ &_has-description {
34
+ align-items: flex-start;
35
+
36
+ #{$root}__message {
37
+ font-size: $alert-description-font-size;
38
+ }
39
+ }
40
+
41
+ &_success {
42
+ background: $back-success;
43
+ border-color: $success;
44
+
45
+ #{$root}__icon.IconView {
46
+ fill: $success;
47
+ }
48
+ }
49
+ &_info {
50
+ background: $back-info;
51
+ border-color: $info;
52
+
53
+ #{$root}__icon.IconView {
54
+ fill: $info;
55
+ }
56
+ }
57
+ &_warning {
58
+ background: $back-warning;
59
+ border-color: $warning;
60
+
61
+ #{$root}__icon.IconView {
62
+ fill: $warning;
63
+ }
64
+ }
65
+ &_error {
66
+ background: $back-error;
67
+ border-color: $danger;
68
+
69
+ #{$root}__icon.IconView {
70
+ fill: $danger;
71
+ }
72
+ }
73
+
74
+ &__icon.IconView svg {
75
+ width: $alert-icon-size;
76
+ height: $alert-icon-size;
77
+ margin-right: 12px;
78
+ }
79
+
80
+ &__action {
81
+ display: flex;
82
+ flex-direction: column;
83
+ padding: 0 35px 0 15px;
84
+ }
85
+
86
+ &__message {
87
+ flex-grow: 1;
88
+ font-size: $alert-message-font-size;
89
+ }
90
+
91
+ &__content-wrapper {
92
+ display: flex;
93
+ justify-content: space-between;
94
+ }
95
+
96
+ &__content {
97
+ display: grid;
98
+ grid-gap: 12px;
99
+ }
100
+
101
+ &__description {
102
+ font-size: $alert-description-font-size;
103
+ }
104
+
105
+ &__icon-close.IconView {
106
+ position: absolute;
107
+ right: 20px;
108
+
109
+ svg {
110
+ width: $alert-close-icon-size;
111
+ height: $alert-close-icon-size;
112
+ }
113
+
114
+ fill: rgba($heading, .6);
115
+ transition: fill .1s ease-in;
116
+ &:hover {
117
+ fill: $heading;
118
+ }
119
+ }
120
+ }
@@ -1,4 +1,3 @@
1
1
  /// <reference types="react" />
2
2
  import { IAvatarGroupViewProps } from '@steroidsjs/core/ui/content/Avatar/AvatarGroup';
3
- import './AvatarGroupView.scss';
4
3
  export default function Avatar(props: IAvatarGroupViewProps): JSX.Element;
@@ -1,29 +1,28 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
4
20
  };
5
21
  exports.__esModule = true;
6
- var react_1 = __importDefault(require("react"));
22
+ var React = __importStar(require("react"));
7
23
  var hooks_1 = require("@steroidsjs/core/hooks");
8
- require("./AvatarGroupView.scss");
9
24
  function Avatar(props) {
10
25
  var bem = hooks_1.useBem('AvatarGroupView');
11
- // const childrenWithProps = (props.children).map((child, index) =>
12
- // );;
13
- // if (props.maxCount && props.maxCount < count) {
14
- // const childrenShow = childrenWithProps.slice(0, props.maxCount);
15
- // const childrenHidden = childrenWithProps.slice(props.maxCount, count);
16
- // childrenShow.push(
17
- // <div>
18
- // <Avatar /*style={maxStyle}*/>{`+${count - props.maxCount}`}</Avatar>
19
- // </div>
20
- // );
21
- // return (
22
- // <div /*{className={cls}}*/ style={props.style}>
23
- // {childrenShow}
24
- // </div>
25
- // );
26
- // }
27
- return (react_1["default"].createElement("div", { className: bem.block() }, props.children));
26
+ return (React.createElement("div", { className: bem.block() }, props.children));
28
27
  }
29
28
  exports["default"] = Avatar;
@@ -3,4 +3,8 @@
3
3
  display: inline-flex;
4
4
  box-sizing: border-box;
5
5
  align-items: center;
6
- }
6
+
7
+ & > :not(:first-child) {
8
+ margin-left: -8px;
9
+ }
10
+ }
@@ -1,4 +1,3 @@
1
1
  /// <reference types="react" />
2
2
  import { IAvatarViewProps } from '@steroidsjs/core/ui/content/Avatar/Avatar';
3
- import './AvatarView.scss';
4
3
  export default function Avatar(props: IAvatarViewProps): JSX.Element;
@@ -10,64 +10,31 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
16
- }) : (function(o, m, k, k2) {
17
- if (k2 === undefined) k2 = k;
18
- o[k2] = m[k];
19
- }));
20
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
- Object.defineProperty(o, "default", { enumerable: true, value: v });
22
- }) : function(o, v) {
23
- o["default"] = v;
24
- });
25
- var __importStar = (this && this.__importStar) || function (mod) {
26
- if (mod && mod.__esModule) return mod;
27
- var result = {};
28
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
29
- __setModuleDefault(result, mod);
30
- return result;
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
31
15
  };
32
16
  exports.__esModule = true;
33
- var react_1 = __importStar(require("react"));
17
+ var react_1 = __importDefault(require("react"));
34
18
  var hooks_1 = require("@steroidsjs/core/hooks");
35
- require("./AvatarView.scss");
36
19
  function Avatar(props) {
37
- var _a;
38
20
  var bem = hooks_1.useBem('AvatarView');
39
- var _b = react_1.useState(true), isImgExist = _b[0], setIsImgExist = _b[1];
40
21
  var customSize = typeof props.size === 'number'
41
22
  ? {
42
23
  width: props.size,
43
24
  height: props.size,
44
25
  lineHeight: props.size + "px",
45
- fontSize: props.size / 3
26
+ fontSize: props.size / 2
46
27
  }
47
28
  : {};
48
- var hasImageElement = react_1.isValidElement(props.src);
49
- var renderingChildren;
50
- if (typeof props.src === 'string' && isImgExist) {
51
- renderingChildren = (react_1["default"].createElement("img", { src: props.src, srcSet: props.srcSet, alt: props.alt }));
52
- }
53
- else if (hasImageElement) {
54
- renderingChildren = props.src;
55
- }
56
- else if (props.children) {
57
- renderingChildren = (react_1["default"].createElement("span", null, props.children));
58
- }
59
- else if (typeof props.alt === 'string') {
60
- renderingChildren = (react_1["default"].createElement("span", null, props.alt));
61
- }
62
- else if (props.src && props.children === "") {
63
- renderingChildren = (react_1["default"].createElement("img", { src: "https://hh.ru/employer-logo/3775460.png", srcSet: props.srcSet }));
64
- }
65
- return (react_1["default"].createElement("span", { className: bem.block((_a = {},
66
- _a["large"] = props.size === 'large',
67
- _a["medium"] = props.size === 'medium',
68
- _a["small"] = props.size === 'small',
69
- _a["square"] = props.shape === 'square',
70
- _a["circle"] = props.shape === 'circle',
71
- _a)), style: __assign({}, customSize) }, renderingChildren));
29
+ var renderImage = function () { return ((props.isError && (react_1["default"].createElement("span", null, props.formattedTitle))) || (react_1["default"].createElement("img", { alt: props.alt, src: props.src, title: props.title, srcSet: props.srcSet, onError: props.onError }))); };
30
+ return (react_1["default"].createElement("div", { className: bem(bem.block({
31
+ size: props.size,
32
+ shape: props.shape,
33
+ 'has-image': !!props.src && !props.isError,
34
+ 'has-status': props.status
35
+ }), props.className) },
36
+ react_1["default"].createElement("span", { className: bem.element('body'), style: __assign(__assign({}, props.style), customSize) },
37
+ (props.src && renderImage()) || (react_1["default"].createElement("span", null, props.formattedTitle)),
38
+ props.children)));
72
39
  }
73
40
  exports["default"] = Avatar;
@@ -1,44 +1,103 @@
1
1
 
2
2
  .AvatarView {
3
- color: aqua;
4
- background: red;
5
- position: relative;
3
+ $root: &;
4
+
6
5
  display: inline-block;
7
- overflow: hidden;
8
- white-space: nowrap;
9
- text-align: center;
10
- justify-content: center;
11
- vertical-align: middle;
12
- // border-radius: 50%;
13
- &_square {
14
- border-radius: none;
15
- }
6
+ position: relative;
7
+
8
+ &_size {
9
+ &_x-large {
10
+ #{$root}__body {
11
+ height: $avatar-x-large-size;
12
+ width: $avatar-x-large-size;
13
+ line-height: $avatar-x-large-size;
14
+ font-size: $avatar-x-large-font-size;
15
+ }
16
+ }
16
17
 
17
- &_circle {
18
- border-radius: 50%;
18
+ &_large {
19
+ #{$root}__body {
20
+ height: $avatar-large-size;
21
+ width: $avatar-large-size;
22
+ line-height: $avatar-large-size;
23
+ font-size: $avatar-large-font-size;
24
+ }
25
+ }
26
+
27
+ &_middle {
28
+ #{$root}__body {
29
+ height: $avatar-middle-size;
30
+ width: $avatar-middle-size;
31
+ line-height: $avatar-middle-size;
32
+ font-size: $avatar-middle-font-size;
33
+ }
34
+ }
35
+
36
+ &_small {
37
+ #{$root}__body {
38
+ height: $avatar-small-size;
39
+ width: $avatar-small-size;
40
+ line-height: $avatar-small-size;
41
+ font-size: $avatar-small-font-size;
42
+ }
43
+ }
19
44
  }
20
- &_large {
21
- height: 40px;
22
- width: 40px;
23
- line-height: 40px;
24
- font-size: 20px;
45
+
46
+ &_shape {
47
+ &_square {
48
+ #{$root}__body{
49
+ border-radius: unset;
50
+ }
51
+ }
52
+
53
+ &_circle {
54
+ #{$root}__body{
55
+ border-radius: 50%;
56
+ }
57
+ }
25
58
  }
26
- &_medium {
27
- height: 32px;
28
- width: 32px;
29
- line-height: 32px;
30
- font-size: 8px;
59
+
60
+ &_has-image {
61
+ #{$root}__body{
62
+ background-color: unset;
63
+ }
31
64
  }
32
- &_small {
33
- height: 24px;
34
- width: 24px;
35
- line-height: 24px;
36
- font-size: 12px;
65
+
66
+ &_has-status {
67
+ ::after {
68
+ content: '';
69
+ position: absolute;
70
+ right: 0;
71
+ bottom: 0;
72
+ width: 25%;
73
+ height: 25%;
74
+ z-index: 10;
75
+
76
+ color: $avatar-status-color;
77
+ font-size: 6px;
78
+
79
+ border-radius: 50%;
80
+ background-color: $avatar-status-color;
81
+ border: $avatar-status-border;
82
+ }
37
83
  }
38
- & > img {
39
- display: block;
40
- width: 100%;
41
- height: 100%;
42
- object-fit: cover;
84
+
85
+ &__body {
86
+ display: inline-block;
87
+ overflow: hidden;
88
+
89
+ text-align: center;
90
+ white-space: nowrap;
91
+ vertical-align: middle;
92
+
93
+ color: $avatar-text-color;
94
+ background-color: $avatar-background-color;
95
+
96
+ img {
97
+ display: block;
98
+ width: 100%;
99
+ height: 100%;
100
+ object-fit: cover;
101
+ }
43
102
  }
44
103
  }
@@ -1,4 +1,3 @@
1
1
  /// <reference types="react" />
2
2
  import { ICalendarViewProps } from '@steroidsjs/core/ui/content/Calendar/Calendar';
3
- import './CalendarView.scss';
4
3
  export default function CalendarView(props: ICalendarViewProps): JSX.Element;
@@ -28,7 +28,6 @@ var react_1 = require("react");
28
28
  var hooks_1 = require("@steroidsjs/core/hooks");
29
29
  var react_day_picker_1 = __importStar(require("react-day-picker"));
30
30
  var CaptionElement_1 = __importDefault(require("./CaptionElement"));
31
- require("./CalendarView.scss");
32
31
  function CalendarView(props) {
33
32
  var bem = hooks_1.useBem('CalendarView');
34
33
  var month = props.month, toYear = props.toYear, fromYear = props.fromYear, showFooter = props.showFooter, onDaySelect = props.onDaySelect, selectedDates = props.selectedDates, onMonthSelect = props.onMonthSelect, numberOfMonths = props.numberOfMonths, toggleCaptionPanel = props.toggleCaptionPanel, isCaptionPanelVisible = props.isCaptionPanelVisible;
@@ -2,8 +2,8 @@
2
2
  $root: &;
3
3
 
4
4
  position: relative;
5
- color: #152536;
6
- font-weight: 500;
5
+ color: $calendar-text-color;
6
+ font-weight: $calendar-font-weight;
7
7
  user-select: none;
8
8
 
9
9
  .DayPicker-wrapper {
@@ -55,7 +55,7 @@
55
55
  display: table-cell;
56
56
 
57
57
  padding: 0;
58
- border-radius: 10px;
58
+ border-radius: $calendar-day-border-radius;
59
59
 
60
60
  vertical-align: middle;
61
61
  text-align: center;
@@ -77,12 +77,12 @@
77
77
  }
78
78
 
79
79
  &--outside {
80
- color: #ccc;
80
+ color: $calendar-secondary-color;
81
81
  }
82
82
 
83
83
  &--today {
84
84
  #{$root}__day {
85
- box-shadow: 0 0 0 3px #d8ccf6;
85
+ box-shadow: $calendar-today-shadow;
86
86
  }
87
87
  }
88
88
  }
@@ -98,7 +98,7 @@
98
98
  justify-content: center;
99
99
  padding: 0 10px;
100
100
 
101
- border-top: 1px solid #ccc;
101
+ border-top: 1px solid $calendar-secondary-color;
102
102
  }
103
103
  .DayPicker-TodayButton {
104
104
  border: none;
@@ -107,24 +107,24 @@
107
107
  box-shadow: none;
108
108
  font-size: 0.875em;
109
109
  cursor: pointer;
110
- color: #651fff;
111
- font-weight: 500;
110
+ color: $calendar-primary-color;
111
+ font-weight: $calendar-font-weight;
112
112
  }
113
113
 
114
114
  // Days selection
115
115
 
116
116
  // Selected day
117
117
  .DayPicker-Day--selected:not(.DayPicker-Day--inRange) {
118
- color: #fff;
119
- border-radius: 10px;
120
- background-color: #651fff;
121
- box-shadow: 0 0 0 3px #d8ccf6;
118
+ color: $calendar-selected-text-color;
119
+ border-radius: $calendar-day-border-radius;
120
+ background-color: $calendar-primary-color;
121
+ box-shadow: $calendar-selected-shadow;
122
122
  }
123
123
 
124
124
  // Hover
125
125
  .DayPicker-Day:not(.DayPicker-Day--disabled):not(.DayPicker-Day--selected):not(.DayPicker-Day--outside):hover {
126
- background-color: #f4f4f4 !important;
127
- box-shadow: 0 0 0 3px #e2e6ea;
126
+ background-color: $calendar-secondary-light-color !important;
127
+ box-shadow: $calendar-hover-shadow;
128
128
  }
129
129
 
130
130
  &__day {
@@ -133,22 +133,22 @@
133
133
  width: 30px;
134
134
  height: 30px;
135
135
  line-height: 30px;
136
- border-radius: 10px;
136
+ border-radius: $calendar-day-border-radius;
137
137
  }
138
138
 
139
139
  &_ranged {
140
140
 
141
141
  .DayPicker-Day {
142
142
  &--start {
143
- color: #fff;
143
+ color: $white;
144
144
 
145
145
  #{$root}__day {
146
- background-color: #651fff;
147
- box-shadow: 0 0 0 3px #d8ccf6;
146
+ background-color: $calendar-primary-color;
147
+ box-shadow: $calendar-selected-shadow;
148
148
  }
149
149
 
150
150
  &::before {
151
- background-color: #e3eaf9;
151
+ background-color: $calendar-primary-light-color;
152
152
  width: 10px;
153
153
  transform: translate(25px, -50%);
154
154
  }
@@ -158,12 +158,12 @@
158
158
  color: #fff;
159
159
 
160
160
  #{$root}__day {
161
- background-color: #651fff;
162
- box-shadow: 0 0 0 3px #d8ccf6;
161
+ background-color: $calendar-primary-color;
162
+ box-shadow: $calendar-selected-shadow;
163
163
  }
164
164
 
165
165
  &::before {
166
- background-color: #e3eaf9;
166
+ background-color: $calendar-primary-light-color;
167
167
  width: 10px;
168
168
  }
169
169
  }
@@ -171,14 +171,14 @@
171
171
 
172
172
  &--inRange {
173
173
  &::before {
174
- background-color: #e3eaf9;
174
+ background-color: $calendar-primary-light-color;
175
175
  }
176
176
  }
177
177
 
178
178
  &--outRange {
179
179
  pointer-events: none;
180
180
  &::before {
181
- background-color: #f4f4f4;
181
+ background-color: $calendar-primary-light-color;
182
182
  }
183
183
  }
184
184
 
@@ -1,7 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { CaptionElementProps } from 'react-day-picker/types/Props';
3
3
  import { ICalendarViewProps } from '@steroidsjs/core/ui/content/Calendar/Calendar';
4
- import './CaptionElement.scss';
5
4
  interface ICaptionElementProps extends CaptionElementProps, Pick<ICalendarViewProps, 'fromYear' | 'toYear' | 'isCaptionPanelVisible' | 'toggleCaptionPanel'> {
6
5
  onChange: (value: any) => void;
7
6
  showCalendarFooter?: boolean;
@@ -27,7 +27,6 @@ var react_1 = require("react");
27
27
  var hooks_1 = require("@steroidsjs/core/hooks");
28
28
  var Icon_1 = __importDefault(require("@steroidsjs/core/ui/icon/Icon"));
29
29
  var upperFirst_1 = __importDefault(require("lodash-es/upperFirst"));
30
- require("./CaptionElement.scss");
31
30
  function CaptionElement(props) {
32
31
  var bem = hooks_1.useBem('CaptionElement');
33
32
  var localeUtils = props.localeUtils, locale = props.locale, fromYear = props.fromYear, toYear = props.toYear, date = props.date, isCaptionPanelVisible = props.isCaptionPanelVisible, toggleCaptionPanel = props.toggleCaptionPanel;
@@ -82,8 +81,8 @@ function CaptionElement(props) {
82
81
  handleYearChange(currentYear + 1);
83
82
  }, name: 'angle-double-right' })),
84
83
  isCaptionPanelVisible && (React.createElement("div", { className: bem.element('panel', { 'full-height': !props.showCalendarFooter }) },
85
- React.createElement("div", { className: bem.element('panel-header', 'months') }, __('Год')),
86
- React.createElement("div", { className: bem.element('panel-header', 'years') }, __('Месяц')),
84
+ React.createElement("div", { className: bem.element('panel-header', 'months') }, __('Месяц')),
85
+ React.createElement("div", { className: bem.element('panel-header', 'years') }, __('Год')),
87
86
  React.createElement("div", { className: bem.element('panel-column-months', 'first') },
88
87
  React.createElement("div", { className: bem.element('content-column') }, months.slice(0, 6).map(function (value, index) { return (React.createElement("div", { key: index, className: bem.element('panel-cell', {
89
88
  selected: value.id === currentMonth