@steroidsjs/bootstrap 3.0.0-beta.2 → 3.0.0-beta.20
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.
- package/content/Accordion/AccordionItemView.d.ts +2 -0
- package/content/Accordion/AccordionItemView.js +96 -0
- package/content/Accordion/AccordionItemView.scss +195 -0
- package/content/Accordion/AccordionView.d.ts +2 -0
- package/content/{Collapse/CollapseView.js → Accordion/AccordionView.js} +3 -3
- package/content/Accordion/AccordionView.scss +14 -0
- package/content/Alert/AlertView.d.ts +0 -1
- package/content/Alert/AlertView.js +12 -16
- package/content/Alert/AlertView.scss +46 -81
- package/content/Avatar/AvatarGroupView.d.ts +0 -1
- package/content/Avatar/AvatarView.d.ts +0 -1
- package/content/Avatar/AvatarView.js +4 -2
- package/content/Avatar/AvatarView.scss +139 -85
- package/content/Badge/BadgeView.d.ts +3 -0
- package/content/Badge/BadgeView.js +25 -0
- package/content/Badge/BadgeView.scss +107 -0
- package/content/Calendar/CalendarView.d.ts +0 -1
- package/content/Calendar/CaptionElement.d.ts +0 -1
- package/content/Calendar/CaptionElement.js +1 -1
- package/content/Card/CardView.d.ts +0 -1
- package/content/Detail/DetailView.d.ts +0 -1
- package/content/DropDown/DropDownView.d.ts +0 -1
- package/content/DropDown/DropDownView.js +6 -3
- package/content/DropDown/DropDownView.scss +196 -27
- package/{icon → content}/Icon/IconView.d.ts +1 -2
- package/crud/Crud/CrudView.d.ts +0 -1
- package/form/AutoCompleteField/AutoCompleteFieldView.d.ts +0 -1
- package/form/Button/ButtonView.d.ts +0 -1
- package/form/Button/ButtonView.js +8 -9
- package/form/Button/ButtonView.scss +116 -78
- package/form/CheckboxField/CheckboxFieldView.d.ts +0 -1
- package/form/CheckboxField/CheckboxFieldView.js +3 -3
- package/form/CheckboxField/CheckboxFieldView.scss +121 -36
- package/form/CheckboxListField/CheckboxListFieldView.d.ts +0 -1
- package/form/DateField/DateFieldView.d.ts +0 -1
- package/form/DateField/DateFieldView.js +1 -1
- package/form/DateRangeField/DateRangeFieldView.d.ts +0 -1
- package/form/DateRangeField/DateRangeFieldView.js +1 -1
- package/form/DateTimeField/DateTimeFieldView.d.ts +0 -1
- package/form/DateTimeField/DateTimeFieldView.js +1 -1
- package/form/DateTimeRangeField/DateTimeRangeFieldView.d.ts +0 -1
- package/form/DateTimeRangeField/DateTimeRangeFieldView.js +1 -1
- package/form/DropDownField/DropDownFieldView.d.ts +0 -1
- package/form/DropDownField/DropDownFieldView.js +1 -1
- package/form/FieldLayout/FieldLayoutView.d.ts +0 -1
- package/form/FieldList/FieldListView.d.ts +0 -1
- package/form/FieldSet/FieldSetView.d.ts +0 -1
- package/form/FileField/FileFieldItemView.d.ts +0 -1
- package/form/FileField/FileFieldItemView.js +1 -1
- package/form/FileField/FileFieldView.d.ts +0 -1
- package/form/FileField/FileFieldView.js +1 -1
- package/form/HtmlField/HtmlFieldView.d.ts +0 -1
- package/form/ImageField/ImageFieldModalView.d.ts +0 -1
- package/form/ImageField/ImageFieldView.d.ts +1 -2
- package/form/ImageField/ImageFieldView.js +9 -9
- package/form/InputField/InputFieldView.d.ts +0 -1
- package/form/NumberField/NumberFieldView.d.ts +0 -1
- package/form/PasswordField/PasswordFieldView.d.ts +0 -1
- package/form/PasswordField/PasswordFieldView.js +1 -1
- package/form/RadioListField/RadioListFieldView.d.ts +0 -1
- package/form/RateField/RateFieldView.d.ts +0 -1
- package/form/RateField/RateFieldView.js +1 -1
- package/form/ReCaptchaField/ReCaptchaFieldView.d.ts +0 -1
- package/form/SliderField/SliderFieldView.d.ts +0 -1
- package/form/SwitcherField/SwitcherFieldView.d.ts +0 -1
- package/form/TextField/TextFieldView.d.ts +0 -1
- package/form/TimeField/TimeFieldView.d.ts +0 -1
- package/form/TimeField/TimeFieldView.js +1 -1
- package/form/TimeField/TimePanelView.d.ts +0 -1
- package/{icon/fontawesome.js → icons/index.js} +17 -6
- package/icons/svgs/accordion-chevron.svg +4 -0
- package/icons/svgs/badge-close.svg +3 -0
- package/icons/svgs/close.svg +4 -0
- package/icons/svgs/default.svg +11 -0
- package/icons/svgs/error.svg +12 -0
- package/icons/svgs/info.svg +12 -0
- package/icons/svgs/loader.svg +3 -0
- package/icons/svgs/success.svg +4 -0
- package/icons/svgs/warning.svg +12 -0
- package/index.d.ts +14 -5
- package/index.js +16 -7
- package/index.scss +5 -3
- package/layout/Header/HeaderView.d.ts +0 -1
- package/layout/Header/HeaderView.js +1 -1
- package/layout/Loader/LoaderView.d.ts +0 -1
- package/layout/Notifications/NotificationsItemView.d.ts +0 -1
- package/layout/Notifications/NotificationsView.d.ts +0 -1
- package/layout/ProgressBar/CircleProgressBarView.d.ts +0 -1
- package/layout/ProgressBar/CircleProgressBarView.js +5 -2
- package/layout/ProgressBar/LineProgressBarView.d.ts +0 -1
- package/layout/Skeleton/SkeletonView.d.ts +0 -1
- package/layout/Tooltip/TooltipView.d.ts +0 -1
- package/list/CheckboxColumn/CheckboxColumnView.d.ts +0 -1
- package/list/ControlsColumnView/ControlsColumnView.d.ts +0 -1
- package/list/Empty/EmptyView.d.ts +0 -1
- package/list/Grid/GridView.js +4 -4
- package/list/List/ListItemView.d.ts +0 -1
- package/list/Pagination/PaginationButtonView.d.ts +0 -1
- package/list/Pagination/PaginationMoreView.d.ts +0 -1
- package/list/PaginationSize/PaginationSizeView.d.ts +0 -1
- package/list/Steps/StepItemView.d.ts +1 -2
- package/list/Steps/StepItemView.js +3 -3
- package/list/Steps/StepsView.d.ts +0 -1
- package/list/Steps/StepsView.js +1 -1
- package/modal/Modal/ModalView.d.ts +0 -1
- package/modal/TwoFactorModal/TwoFactorModalView.d.ts +0 -1
- package/nav/Breadcrubms/BreadcrumbsView.d.ts +0 -1
- package/nav/Controls/ControlsView.d.ts +0 -1
- package/nav/Nav/NavBarView.d.ts +0 -1
- package/nav/Nav/NavButtonView.d.ts +0 -1
- package/nav/Nav/NavIconView.d.ts +0 -1
- package/nav/Nav/NavLinkView.d.ts +0 -1
- package/nav/Nav/NavListView.d.ts +0 -1
- package/nav/Nav/NavTabsView.d.ts +0 -1
- package/nav/Tree/TreeView.d.ts +0 -1
- package/package.json +56 -52
- package/scss/mixins/button.scss +50 -24
- package/scss/mixins/index.scss +2 -1
- package/scss/mixins/typography.scss +26 -0
- package/scss/variables/common/colors.scss +154 -0
- package/scss/variables/common/media.scss +2 -0
- package/scss/variables/common/old-variables.scss +24 -0
- package/scss/variables/common/radiuses.scss +5 -0
- package/scss/variables/common/spacing.scss +12 -0
- package/scss/variables/common/typography.scss +107 -0
- package/scss/variables/components/calendar.scss +1 -1
- package/scss/variables/components/card.scss +1 -1
- package/scss/variables/components/icon.scss +1 -1
- package/scss/variables/components/input.scss +56 -1
- package/scss/variables/components/ratefield.scss +1 -1
- package/scss/variables/index.scss +6 -3
- package/typography/Text/TextView.d.ts +3 -0
- package/typography/Text/TextView.js +46 -0
- package/typography/Text/TextView.scss +15 -0
- package/typography/Title/TitleView.d.ts +3 -0
- package/typography/Title/TitleView.js +50 -0
- package/typography/Title/TitleView.scss +15 -0
- package/content/Collapse/CollapseItemView.d.ts +0 -3
- package/content/Collapse/CollapseItemView.js +0 -64
- package/content/Collapse/CollapseItemView.scss +0 -88
- package/content/Collapse/CollapseView.d.ts +0 -3
- package/content/Collapse/CollapseView.scss +0 -15
- package/icon/Icon/IconView.scss +0 -25
- package/icon/Icon/index.d.ts +0 -1
- package/icon/Icon/index.js +0 -16
- package/scss/variables/colors.scss +0 -74
- package/scss/variables/components/alert.scss +0 -9
- package/scss/variables/components/avatar.scss +0 -17
- /package/{icon → content}/Icon/IconView.js +0 -0
- /package/{icon/fontawesome.d.ts → icons/index.d.ts} +0 -0
|
@@ -1,103 +1,157 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
--border-width-small: 1px;
|
|
3
|
+
--border-width-medium: 2px;
|
|
4
|
+
--border-width-large: 2px;
|
|
5
|
+
--border-width: var(--border-width-large);
|
|
6
|
+
|
|
7
|
+
--status-border-width-small: 1px;
|
|
8
|
+
--status-border-width-medium: 2px;
|
|
9
|
+
--status-border-width-large: 4px;
|
|
10
|
+
--status-border-width: var(--status-border-width-large);
|
|
11
|
+
|
|
12
|
+
--status-size-small: 8px;
|
|
13
|
+
--status-size-medium: 12px;
|
|
14
|
+
--status-size-large: 14px;
|
|
15
|
+
--status-size: var(--status-size-x-large);
|
|
16
|
+
}
|
|
1
17
|
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
18
|
+
@mixin border($background) {
|
|
19
|
+
&::before {
|
|
20
|
+
content: "";
|
|
21
|
+
position: absolute;
|
|
22
|
+
inset: 0;
|
|
23
|
+
top: 50%;
|
|
24
|
+
left: 50%;
|
|
25
|
+
transform: translate(-50%, -50%);
|
|
26
|
+
padding: 53%;
|
|
27
|
+
border-radius: 100%;
|
|
28
|
+
border: var(--border-width) solid transparent;
|
|
29
|
+
background: $background border-box;
|
|
30
|
+
-webkit-mask: linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0);
|
|
31
|
+
-webkit-mask-composite: xor;
|
|
32
|
+
mask-composite: exclude;
|
|
16
33
|
}
|
|
34
|
+
}
|
|
17
35
|
|
|
18
|
-
|
|
19
|
-
|
|
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
|
-
}
|
|
36
|
+
.AvatarView {
|
|
37
|
+
$root: &;
|
|
26
38
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
width: $avatar-middle-size;
|
|
31
|
-
line-height: $avatar-middle-size;
|
|
32
|
-
font-size: $avatar-middle-font-size;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
39
|
+
display: inline-block;
|
|
40
|
+
position: relative;
|
|
41
|
+
aspect-ratio: 1;
|
|
35
42
|
|
|
36
|
-
&
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
width: $avatar-small-size;
|
|
40
|
-
line-height: $avatar-small-size;
|
|
41
|
-
font-size: $avatar-small-font-size;
|
|
42
|
-
}
|
|
43
|
+
&_has-custom-status {
|
|
44
|
+
--status-size: 25%;
|
|
45
|
+
--status-border-width: 2px;
|
|
43
46
|
}
|
|
44
|
-
}
|
|
45
47
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
48
|
+
&_size {
|
|
49
|
+
|
|
50
|
+
&_large {
|
|
51
|
+
#{$root}__body {
|
|
52
|
+
height: 64px;
|
|
53
|
+
width: 64px;
|
|
54
|
+
line-height: 64px;
|
|
55
|
+
font-size: $font-size-base;
|
|
56
|
+
}
|
|
57
|
+
--border-width: var(--border-width-large);
|
|
58
|
+
--status-border-width: var(--status-border-width-large);
|
|
59
|
+
--status-size: var(--status-size-large);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
&_middle {
|
|
63
|
+
#{$root}__body {
|
|
64
|
+
height: 46px;
|
|
65
|
+
width: 46px;
|
|
66
|
+
line-height: 46px;
|
|
67
|
+
font-size: $font-size-sm;
|
|
68
|
+
}
|
|
69
|
+
--border-width: var(--border-width-medium);
|
|
70
|
+
--status-border-width: var(--status-border-width-medium);
|
|
71
|
+
--status-size: var(--status-size-medium);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
&_small {
|
|
75
|
+
#{$root}__body {
|
|
76
|
+
height: 28px;
|
|
77
|
+
width: 28px;
|
|
78
|
+
line-height: 28px;
|
|
79
|
+
font-size: $font-size-xs;
|
|
80
|
+
}
|
|
81
|
+
--border-width: var(--border-width-small);
|
|
82
|
+
--status-border-width: var(--status-border-width-small);
|
|
83
|
+
--status-size: var(--status-size-small);
|
|
84
|
+
}
|
|
51
85
|
}
|
|
52
86
|
|
|
53
|
-
&
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
87
|
+
&_shape {
|
|
88
|
+
&_square {
|
|
89
|
+
#{$root}__body {
|
|
90
|
+
border-radius: unset;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
&_circle {
|
|
95
|
+
#{$root}__body {
|
|
96
|
+
border-radius: 50%;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
57
99
|
}
|
|
58
|
-
}
|
|
59
100
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
101
|
+
&_has-image {
|
|
102
|
+
#{$root}__body {
|
|
103
|
+
background-color: unset;
|
|
104
|
+
}
|
|
63
105
|
}
|
|
64
|
-
}
|
|
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
|
-
}
|
|
83
|
-
}
|
|
84
106
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
107
|
+
&_has-status {
|
|
108
|
+
&::after {
|
|
109
|
+
content: "";
|
|
110
|
+
position: absolute;
|
|
111
|
+
box-sizing: content-box;
|
|
112
|
+
right: -6%;
|
|
113
|
+
bottom: -6%;
|
|
114
|
+
width: var(--status-size);
|
|
115
|
+
height: var(--status-size);
|
|
116
|
+
z-index: 10;
|
|
117
|
+
|
|
118
|
+
color: $success;
|
|
88
119
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
vertical-align: middle;
|
|
120
|
+
border-radius: $radius-circle;
|
|
121
|
+
background-color: $success;
|
|
92
122
|
|
|
93
|
-
|
|
94
|
-
|
|
123
|
+
border: var(--status-border-width) solid $white;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
&_has-border {
|
|
128
|
+
@include border($gradient-blue);
|
|
129
|
+
}
|
|
95
130
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
131
|
+
&__body {
|
|
132
|
+
display: inline-block;
|
|
133
|
+
overflow: hidden;
|
|
134
|
+
|
|
135
|
+
text-align: center;
|
|
136
|
+
white-space: nowrap;
|
|
137
|
+
vertical-align: middle;
|
|
138
|
+
|
|
139
|
+
color: $white;
|
|
140
|
+
background: $gradient-blue border-box;
|
|
141
|
+
border: 1px solid #fff;
|
|
142
|
+
|
|
143
|
+
span {
|
|
144
|
+
display: block;
|
|
145
|
+
font-family: $font-family-nunito;
|
|
146
|
+
font-weight: 800;
|
|
147
|
+
letter-spacing: 0.1em;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
img {
|
|
151
|
+
display: block;
|
|
152
|
+
width: 100%;
|
|
153
|
+
height: 100%;
|
|
154
|
+
object-fit: cover;
|
|
155
|
+
}
|
|
101
156
|
}
|
|
102
|
-
}
|
|
103
157
|
}
|
|
@@ -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 Icon_1 = __importDefault(require("@steroidsjs/core/ui/content/Icon"));
|
|
9
|
+
require("./BadgeView.scss");
|
|
10
|
+
function BadgeView(props) {
|
|
11
|
+
var _a;
|
|
12
|
+
var bem = (0, useBem_1["default"])('BadgeView');
|
|
13
|
+
return (props.isExist && (react_1["default"].createElement("div", { className: bem(bem.block((_a = {},
|
|
14
|
+
_a[props.type] = !!props.type,
|
|
15
|
+
_a[props.size] = !!props.size,
|
|
16
|
+
_a[props.roundingStyle] = !!props.roundingStyle,
|
|
17
|
+
_a['has-counter'] = !!props.counter,
|
|
18
|
+
_a)), props.className), style: props.style },
|
|
19
|
+
react_1["default"].createElement("div", { className: bem.element('wrapper') },
|
|
20
|
+
react_1["default"].createElement("div", { className: bem.element('content') },
|
|
21
|
+
react_1["default"].createElement("span", { className: bem.element('message') }, props.message),
|
|
22
|
+
props.counter && (react_1["default"].createElement("span", { className: bem.element('counter') }, typeof props.counter === 'object' && (react_1["default"].createElement("span", { className: bem.element('counter-content') }, props.counter.content)))),
|
|
23
|
+
props.showClose && (react_1["default"].createElement(Icon_1["default"], { onClick: props.onClose, className: bem.element('close'), name: 'badge-close' })))))));
|
|
24
|
+
}
|
|
25
|
+
exports["default"] = BadgeView;
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
@import "../../scss/variables";
|
|
2
|
+
|
|
3
|
+
.BadgeView {
|
|
4
|
+
$root: &;
|
|
5
|
+
|
|
6
|
+
display: inline-block;
|
|
7
|
+
position: relative;
|
|
8
|
+
width: fit-content;
|
|
9
|
+
|
|
10
|
+
font-family: $font-family-nunito;
|
|
11
|
+
color: $white;
|
|
12
|
+
font-weight: $font-weight-sm;
|
|
13
|
+
|
|
14
|
+
&__content {
|
|
15
|
+
display: flex;
|
|
16
|
+
flex-direction: row;
|
|
17
|
+
align-items: center;
|
|
18
|
+
|
|
19
|
+
#{$root}__message {
|
|
20
|
+
margin-right: 4px;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
$badge-types: (
|
|
25
|
+
"primary": $primary,
|
|
26
|
+
"secondary": $secondary,
|
|
27
|
+
"success": $success,
|
|
28
|
+
"danger": $danger,
|
|
29
|
+
"warning": $warning,
|
|
30
|
+
"info": $info,
|
|
31
|
+
);
|
|
32
|
+
|
|
33
|
+
@each $type, $color in $badge-types {
|
|
34
|
+
&_#{$type} {
|
|
35
|
+
background-color: $color;
|
|
36
|
+
|
|
37
|
+
@if ($type == "warning" or $type == "info") {
|
|
38
|
+
color: $text-color;
|
|
39
|
+
|
|
40
|
+
#{$root}__close {
|
|
41
|
+
svg {
|
|
42
|
+
path {
|
|
43
|
+
stroke: #000;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
&_squarer {
|
|
52
|
+
border-radius: $radius-small;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
&_rounder {
|
|
56
|
+
border-radius: $radius-xlarge;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
&_large {
|
|
60
|
+
padding: 4px 8px;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
&_medium {
|
|
64
|
+
padding: 2px 8px;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
&_small {
|
|
68
|
+
padding: 0 8px;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
&_has-counter {
|
|
72
|
+
border: 1px solid #e9e9e9;
|
|
73
|
+
border-radius: 100px;
|
|
74
|
+
|
|
75
|
+
background: $light-gray;
|
|
76
|
+
color: $text-color;
|
|
77
|
+
padding: 4px 12px;
|
|
78
|
+
|
|
79
|
+
#{$root}__message {
|
|
80
|
+
margin-right: 8px;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
#{$root}__counter {
|
|
84
|
+
margin-right: 8px;
|
|
85
|
+
width: 18px;
|
|
86
|
+
background-color: $white;
|
|
87
|
+
display: flex;
|
|
88
|
+
justify-content: center;
|
|
89
|
+
align-items: center;
|
|
90
|
+
border-radius: $radius-circle;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
#{$root}__counter-content {
|
|
94
|
+
font-weight: $font-weight-sm;
|
|
95
|
+
font-size: $font-size-xs;
|
|
96
|
+
line-height: 16px;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
#{$root}__close {
|
|
100
|
+
svg {
|
|
101
|
+
path {
|
|
102
|
+
stroke: #000;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import { CaptionElementProps } from 'react-day-picker/types/Props';
|
|
3
2
|
import { ICalendarViewProps } from '@steroidsjs/core/ui/content/Calendar/Calendar';
|
|
4
3
|
interface ICaptionElementProps extends CaptionElementProps, Pick<ICalendarViewProps, 'fromYear' | 'toYear' | 'isCaptionPanelVisible' | 'toggleCaptionPanel'> {
|
|
@@ -29,7 +29,7 @@ exports.__esModule = true;
|
|
|
29
29
|
var React = __importStar(require("react"));
|
|
30
30
|
var react_1 = require("react");
|
|
31
31
|
var hooks_1 = require("@steroidsjs/core/hooks");
|
|
32
|
-
var Icon_1 = __importDefault(require("@steroidsjs/core/ui/
|
|
32
|
+
var Icon_1 = __importDefault(require("@steroidsjs/core/ui/content/Icon"));
|
|
33
33
|
var upperFirst_1 = __importDefault(require("lodash-es/upperFirst"));
|
|
34
34
|
function CaptionElement(props) {
|
|
35
35
|
var bem = (0, hooks_1.useBem)('CaptionElement');
|
|
@@ -42,9 +42,12 @@ function DropDownView(props) {
|
|
|
42
42
|
var contentProps = (0, react_1.useMemo)(function () { return ({
|
|
43
43
|
onClose: props.onClose
|
|
44
44
|
}); }, [props.onClose]);
|
|
45
|
-
var content
|
|
46
|
-
if (
|
|
47
|
-
content =
|
|
45
|
+
var content;
|
|
46
|
+
if (props.content) {
|
|
47
|
+
content = props.content();
|
|
48
|
+
if ((0, isFunction_1["default"])(content)) {
|
|
49
|
+
content = ui.renderView(content, contentProps);
|
|
50
|
+
}
|
|
48
51
|
}
|
|
49
52
|
return (React.createElement("div", { ref: props.forwardedRef, className: bem(bem.block((_a = {
|
|
50
53
|
show: props.isComponentVisible
|
|
@@ -1,31 +1,200 @@
|
|
|
1
|
+
@import "../../scss/variables/";
|
|
2
|
+
|
|
3
|
+
:root {
|
|
4
|
+
--dropdown-background: #fff;
|
|
5
|
+
--dropdown-triangle-border: #eef1f2;
|
|
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='%23EEF1F2'/%3E%3C/svg%3E%0A");
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
html[data-theme="dark"] {
|
|
10
|
+
--dropdown-background: #4e4f57;
|
|
11
|
+
--dropdown-triangle-border: transparent;
|
|
12
|
+
--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='M10.1719 11L0.171876 -1.74846e-06L20.1719 0L10.1719 11Z' fill='%234E4F57'/%3E%3C/svg%3E%0A");
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
$dropdown-background: var(--dropdown-background);
|
|
16
|
+
$dropdown-triangle-border: var(--triangle-border);
|
|
17
|
+
$dropdown-triangle-svg: var(--dropdown-triangle-svg);
|
|
18
|
+
|
|
1
19
|
$gap: 12px;
|
|
2
20
|
|
|
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-triangle-border;
|
|
39
|
+
border-right: 2px solid $dropdown-triangle-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
|
+
}
|
|
93
|
+
@else if($edge == "right") {
|
|
94
|
+
&::before {
|
|
95
|
+
@extend %triangle;
|
|
96
|
+
|
|
97
|
+
right: 100%;
|
|
98
|
+
top: $padding;
|
|
99
|
+
transform: translateX(22.5%) rotate(90deg);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
&::after {
|
|
103
|
+
@extend %borderShaper;
|
|
104
|
+
|
|
105
|
+
right: 100%;
|
|
106
|
+
top: $padding;
|
|
107
|
+
transform: rotate(-90deg) translate(-30%, 7.5px) ;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
3
112
|
.DropDownView {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
113
|
+
$root: &;
|
|
114
|
+
|
|
115
|
+
z-index: 1000;
|
|
116
|
+
position: absolute;
|
|
117
|
+
|
|
118
|
+
transform: translate(0, 0);
|
|
119
|
+
opacity: 0;
|
|
120
|
+
transition: opacity 0.15s ease-in, transform 0.15s ease-in;
|
|
121
|
+
|
|
122
|
+
z-index: 4;
|
|
123
|
+
width: 200px;
|
|
124
|
+
padding: 12px;
|
|
125
|
+
border-radius: $radius-large;
|
|
126
|
+
background-color: $dropdown-background;
|
|
127
|
+
border: 1px solid $gray;
|
|
128
|
+
|
|
129
|
+
&_show {
|
|
130
|
+
opacity: 1;
|
|
131
|
+
}
|
|
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
|
+
|
|
153
|
+
&_position-top {
|
|
154
|
+
@include drop("top", 50%);
|
|
155
|
+
}
|
|
156
|
+
|
|
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
|
+
}
|
|
176
|
+
|
|
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%);
|
|
199
|
+
}
|
|
31
200
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import { IBemHocOutput } from '@steroidsjs/core/hoc/bem';
|
|
3
|
-
import { IIconViewProps } from '@steroidsjs/core/ui/
|
|
2
|
+
import { IIconViewProps } from '@steroidsjs/core/ui/content/Icon/Icon';
|
|
4
3
|
export default function IconView(props: IIconViewProps & IBemHocOutput): JSX.Element;
|
package/crud/Crud/CrudView.d.ts
CHANGED