@steroidsjs/bootstrap 3.0.0-beta.4 → 3.0.0-beta.40

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 (124) hide show
  1. package/README.md +1 -2
  2. package/content/Accordion/AccordionItemView.d.ts +2 -0
  3. package/content/{Collapse/CollapseItemView.js → Accordion/AccordionItemView.js} +46 -22
  4. package/content/Accordion/AccordionItemView.scss +209 -0
  5. package/content/Accordion/AccordionView.d.ts +2 -0
  6. package/content/{Collapse/CollapseView.js → Accordion/AccordionView.js} +3 -3
  7. package/content/{Collapse/CollapseView.scss → Accordion/AccordionView.scss} +3 -4
  8. package/content/Alert/AlertView.scss +19 -4
  9. package/content/Avatar/AvatarView.js +2 -3
  10. package/content/Avatar/AvatarView.scss +32 -39
  11. package/content/Badge/BadgeView.d.ts +3 -0
  12. package/content/Badge/BadgeView.js +25 -0
  13. package/content/Badge/BadgeView.scss +135 -0
  14. package/content/Calendar/CaptionElement.scss +5 -4
  15. package/content/Card/CardView.js +36 -14
  16. package/content/Card/CardView.scss +139 -107
  17. package/content/Detail/DetailView.scss +75 -52
  18. package/content/DropDown/DropDownView.js +6 -3
  19. package/content/DropDown/DropDownView.scss +196 -27
  20. package/content/Icon/IconView.js +2 -2
  21. package/form/Button/ButtonView.js +12 -8
  22. package/form/Button/ButtonView.scss +166 -68
  23. package/form/CheckboxField/CheckboxFieldView.js +6 -3
  24. package/form/CheckboxField/CheckboxFieldView.scss +183 -36
  25. package/form/CheckboxListField/CheckboxListFieldView.js +19 -15
  26. package/form/CheckboxListField/CheckboxListFieldView.scss +7 -41
  27. package/form/DropDownField/DropDownFieldView.js +31 -47
  28. package/form/DropDownField/DropDownFieldView.scss +390 -182
  29. package/form/DropDownField/utils.d.ts +2 -0
  30. package/form/DropDownField/utils.js +15 -0
  31. package/form/DropDownFieldItem/DropDownFieldItemView.d.ts +2 -0
  32. package/form/DropDownFieldItem/DropDownFieldItemView.js +78 -0
  33. package/form/DropDownFieldItem/DropDownFieldItemView.scss +216 -0
  34. package/form/FieldLayout/FieldLayoutView.js +13 -9
  35. package/form/FieldLayout/FieldLayoutView.scss +129 -24
  36. package/form/FieldList/FieldListView.js +1 -1
  37. package/form/FileField/FileFieldView.js +1 -1
  38. package/form/Form/FormView.js +1 -4
  39. package/form/Form/FormView.scss +1 -14
  40. package/form/InputField/InputFieldView.js +30 -13
  41. package/form/InputField/InputFieldView.scss +245 -99
  42. package/form/NumberField/NumberFieldView.js +19 -13
  43. package/form/NumberField/NumberFieldView.scss +195 -89
  44. package/form/PasswordField/PasswordFieldView.js +11 -9
  45. package/form/PasswordField/PasswordFieldView.scss +231 -63
  46. package/form/RadioField/RadioFieldView.d.ts +3 -0
  47. package/form/RadioField/RadioFieldView.js +57 -0
  48. package/form/RadioField/RadioFieldView.scss +226 -0
  49. package/form/RadioListField/RadioListFieldView.js +20 -16
  50. package/form/RadioListField/RadioListFieldView.scss +11 -1
  51. package/form/ReCaptchaField/ReCaptchaFieldView.js +2 -2
  52. package/form/SwitcherField/SwitcherFieldView.js +1 -1
  53. package/form/TextField/TextFieldView.js +10 -2
  54. package/form/TextField/TextFieldView.scss +143 -2
  55. package/icons/index.d.ts +2 -0
  56. package/{icon/fontawesome.js → icons/index.js} +40 -11
  57. package/icons/svgs/accordion-chevron.svg +4 -0
  58. package/icons/svgs/arrow-left.svg +3 -0
  59. package/icons/svgs/arrow.svg +3 -0
  60. package/icons/svgs/badge-close.svg +3 -0
  61. package/icons/svgs/close.svg +4 -0
  62. package/icons/svgs/crossed-out-eye.svg +5 -0
  63. package/icons/svgs/default.svg +11 -0
  64. package/icons/svgs/dots.svg +5 -0
  65. package/icons/svgs/double-arrow-left.svg +4 -0
  66. package/icons/svgs/error.svg +12 -0
  67. package/icons/svgs/field-close.svg +4 -0
  68. package/icons/svgs/home.svg +4 -0
  69. package/icons/svgs/info.svg +12 -0
  70. package/icons/svgs/loader.svg +3 -0
  71. package/icons/svgs/search.svg +4 -0
  72. package/icons/svgs/success.svg +4 -0
  73. package/icons/svgs/user.svg +4 -0
  74. package/icons/svgs/visible-eye.svg +4 -0
  75. package/icons/svgs/warning.svg +12 -0
  76. package/index.d.ts +11 -2
  77. package/index.js +13 -4
  78. package/index.scss +8 -3
  79. package/layout/Header/HeaderView.scss +3 -3
  80. package/layout/Tooltip/TooltipView.js +6 -6
  81. package/layout/Tooltip/TooltipView.scss +45 -37
  82. package/list/Grid/GridView.js +1 -1
  83. package/list/Grid/GridView.scss +28 -30
  84. package/list/List/ListView.d.ts +1 -0
  85. package/list/List/ListView.js +5 -5
  86. package/list/List/ListView.scss +9 -0
  87. package/list/Pagination/PaginationButtonView.js +34 -5
  88. package/list/Pagination/PaginationButtonView.scss +258 -1
  89. package/list/Pagination/PaginationMoreView.js +1 -1
  90. package/list/Pagination/PaginationMoreView.scss +4 -1
  91. package/nav/Breadcrubms/BreadcrumbsView.js +9 -1
  92. package/nav/Breadcrubms/BreadcrumbsView.scss +51 -0
  93. package/nav/Nav/NavIconView.js +1 -1
  94. package/nav/Nav/NavListView.js +1 -1
  95. package/nav/Nav/NavTabsView.js +1 -1
  96. package/nav/Tree/TreeView.scss +14 -11
  97. package/package.json +56 -56
  98. package/scss/fonts.scss +6 -0
  99. package/scss/mixins/button.scss +61 -24
  100. package/scss/mixins/index.scss +2 -1
  101. package/scss/mixins/scroll.scss +31 -0
  102. package/scss/mixins/typography.scss +26 -0
  103. package/scss/variables/common/colors.scss +95 -70
  104. package/scss/variables/common/media.scss +2 -0
  105. package/scss/variables/common/typography.scss +96 -28
  106. package/scss/variables/components/input.scss +7 -6
  107. package/scss/variables/index.scss +2 -2
  108. package/scss/variables/normalize.scss +25 -0
  109. package/typography/Text/TextView.d.ts +3 -0
  110. package/typography/Text/TextView.js +46 -0
  111. package/typography/Text/TextView.scss +16 -0
  112. package/typography/Title/TitleView.d.ts +3 -0
  113. package/typography/Title/TitleView.js +50 -0
  114. package/typography/Title/TitleView.scss +16 -0
  115. package/utils/renderIcon.d.ts +9 -0
  116. package/utils/renderIcon.js +27 -0
  117. package/content/Collapse/CollapseItemView.d.ts +0 -2
  118. package/content/Collapse/CollapseItemView.scss +0 -88
  119. package/content/Collapse/CollapseView.d.ts +0 -2
  120. package/content/Icon/IconView.scss +0 -25
  121. package/icon/fontawesome.d.ts +0 -2
  122. package/list/List/ListItemView.scss +0 -3
  123. package/scss/mixins/card.scss +0 -26
  124. package/scss/variables/components/card.scss +0 -20
@@ -0,0 +1,135 @@
1
+ @import "../../scss/variables";
2
+
3
+ :root {
4
+ --counter-background-color: #ffffff;
5
+ }
6
+
7
+ html[data-theme="dark"] {
8
+ --counter-background-color: #414141;
9
+ }
10
+
11
+ $counter-background-color: var(--counter-background-color);
12
+
13
+ .BadgeView {
14
+ $root: &;
15
+
16
+ display: inline-block;
17
+ position: relative;
18
+ width: fit-content;
19
+
20
+ font-family: $font-family-nunito;
21
+ color: $white;
22
+ font-size: $font-size-xs;
23
+ line-height: 16px;
24
+
25
+ &__content {
26
+ width: 100%;
27
+ height: 100%;
28
+ display: flex;
29
+ flex-flow: row nowrap;
30
+ justify-content: center;
31
+ }
32
+
33
+ &__close {
34
+ width: 16px;
35
+ height: 16px;
36
+ cursor: pointer;
37
+ }
38
+
39
+ $badge-types: (
40
+ "primary": $primary,
41
+ "secondary": $secondary,
42
+ "success": $success,
43
+ "danger": $danger,
44
+ "warning": $warning,
45
+ "info": $info,
46
+ );
47
+
48
+ @each $type, $color in $badge-types {
49
+ &_#{$type} {
50
+ background-color: $color;
51
+
52
+ @if ($type == "warning" or $type == "info") {
53
+ color: $text-color;
54
+
55
+ #{$root}__close {
56
+ svg {
57
+ path {
58
+ stroke: #000;
59
+ }
60
+ }
61
+ }
62
+ }
63
+ }
64
+ }
65
+
66
+ &_size {
67
+ &_lg {
68
+ padding: 4px 8px;
69
+ }
70
+ &_md {
71
+ padding: 3px 8px;
72
+ }
73
+ &_sm {
74
+ padding: 1px 8px;
75
+ }
76
+ }
77
+
78
+ &_squarer {
79
+ border-radius: $radius-small;
80
+ }
81
+
82
+ &_rounder {
83
+ border-radius: $radius-xlarge;
84
+ }
85
+
86
+ &_hasClose {
87
+ #{$root}__message {
88
+ margin-right: 4px;
89
+ }
90
+ }
91
+
92
+ &_has-counter {
93
+ border: 1px solid #e9e9e9;
94
+ border-radius: 100px;
95
+
96
+ background: $light-gray;
97
+ color: $text-color;
98
+ padding: 3px 12px;
99
+
100
+ #{$root}__content {
101
+ height: 100%;
102
+ padding: 0;
103
+ }
104
+
105
+ #{$root}__message {
106
+ margin-right: 8px;
107
+ }
108
+
109
+ #{$root}__counter {
110
+ display: flex;
111
+ justify-content: center;
112
+ align-items: center;
113
+
114
+ margin-right: 4px;
115
+ padding: 0 5.4px;
116
+ background-color: $white;
117
+
118
+ border-radius: $radius-circle;
119
+ background-color: $counter-background-color;
120
+ }
121
+
122
+ #{$root}__counter-content {
123
+ font-weight: $font-weight-sm;
124
+ font-size: $font-size-xs;
125
+ line-height: 16px;
126
+ color: $text-color;
127
+ }
128
+
129
+ #{$root}__close {
130
+ path {
131
+ stroke: #000;
132
+ }
133
+ }
134
+ }
135
+ }
@@ -1,8 +1,9 @@
1
+
1
2
  .CaptionElement {
2
3
  height: 45px;
3
4
  display: table-caption;
4
5
  padding: 0 10px;
5
- border-bottom: 1px solid $border-color;
6
+ border-bottom: 1px solid gray;
6
7
 
7
8
  & > div {
8
9
  font-size: 14px;
@@ -85,12 +86,12 @@
85
86
  padding: 5px;
86
87
 
87
88
  text-align: center;
88
- border-bottom: 1px solid $border-color;
89
+ border-bottom: 1px solid gray;
89
90
  background-color: $calendar-primary-light-color;
90
91
 
91
92
  &_months {
92
93
  grid-area: HeaderMonths;
93
- border-right: 1px solid $border-color;
94
+ border-right: 1px solid gray;
94
95
  }
95
96
 
96
97
  &_years {
@@ -99,7 +100,7 @@
99
100
  }
100
101
 
101
102
  &__panel-column-months {
102
- border-right: 1px solid $border-color;
103
+ border-right: 1px solid gray;
103
104
 
104
105
  &_first {
105
106
  grid-area: Months1stCol;
@@ -1,27 +1,49 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
3
14
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
15
  };
5
16
  exports.__esModule = true;
6
17
  var react_1 = __importDefault(require("react"));
7
18
  var hooks_1 = require("@steroidsjs/core/hooks");
19
+ var form_1 = require("@steroidsjs/core/ui/form");
20
+ var Avatar_1 = __importDefault(require("@steroidsjs/core/ui/content/Avatar/Avatar"));
21
+ var Icon_1 = __importDefault(require("@steroidsjs/core/ui/content/Icon"));
22
+ var nav_1 = require("@steroidsjs/core/ui/nav");
8
23
  function CardView(props) {
9
24
  var bem = (0, hooks_1.useBem)('CardView');
10
- return (react_1["default"].createElement("div", { className: bem(bem.block({
11
- orientation: props.orientation,
12
- shape: props.shape,
13
- color: props.color,
14
- border: props.borderColor
15
- }), props.className), style: props.style },
16
- props.header && (react_1["default"].createElement("div", { className: bem.element('header') }, props.header)),
25
+ var hasContent = !!(props.title || props.buttons || props.links || props.description);
26
+ return (react_1["default"].createElement("div", { className: bem(bem.block(), props.className), style: props.style },
27
+ props.header && (react_1["default"].createElement("div", { className: bem.element('header', {
28
+ withoutCover: !props.cover && hasContent
29
+ }) },
30
+ react_1["default"].createElement("div", { className: bem.element('header-data') },
31
+ props.header.avatar && (react_1["default"].createElement(Avatar_1["default"], __assign({}, props.header.avatar, { className: bem(props.header.avatar.className, bem.element('header-avatar')) }))),
32
+ react_1["default"].createElement("div", { className: bem.element('header-text-content') },
33
+ react_1["default"].createElement("h3", { className: bem.element('header-head') }, props.header.head),
34
+ react_1["default"].createElement("p", { className: bem.element('header-subhead') }, props.header.subhead))),
35
+ props.header.menu && (react_1["default"].createElement("div", { className: bem.element('header-menu'), role: 'button' },
36
+ react_1["default"].createElement(Icon_1["default"], { name: 'dots', className: bem.element('header-dots') }))))),
17
37
  props.cover && (react_1["default"].createElement("div", { className: bem.element('cover') },
18
- react_1["default"].createElement("img", { src: props.cover, alt: 'cover-img' }))),
19
- react_1["default"].createElement("div", { className: bem.element('content') },
20
- props.title && (react_1["default"].createElement("div", { className: bem.element('title') }, props.title)),
38
+ react_1["default"].createElement("img", { src: props.cover, alt: 'Card cover img' }))),
39
+ hasContent && (react_1["default"].createElement("div", { className: bem.element('content') },
40
+ props.title && (react_1["default"].createElement("h3", { className: bem.element('title') }, props.title)),
21
41
  react_1["default"].createElement("div", { className: bem.element('content-inner') },
22
- react_1["default"].createElement(react_1["default"].Fragment, null,
23
- props.description && (react_1["default"].createElement("div", { className: bem.element('description') }, props.description)),
24
- props.children))),
25
- props.footer && (react_1["default"].createElement("div", { className: bem.element('footer') }, props.footer))));
42
+ props.description && (react_1["default"].createElement("p", { className: bem.element('description') }, props.description)),
43
+ props.buttons && (react_1["default"].createElement("div", { className: bem.element('buttons') }, props.buttons.map(function (button, buttonIndex) { return (react_1["default"].createElement(form_1.Button, __assign({}, button, { key: buttonIndex }))); }))),
44
+ props.links && (react_1["default"].createElement("div", { className: bem.element('links') }, props.links.map(function (link, linkIndex) { return (react_1["default"].createElement(nav_1.Link, __assign({}, link, { key: linkIndex }))); })))))),
45
+ props.footer && (react_1["default"].createElement("div", { className: bem.element('footer') },
46
+ react_1["default"].createElement("h3", { className: bem.element('footer-head') }, props.footer.head),
47
+ react_1["default"].createElement("p", { className: bem.element('footer-subhead') }, props.footer.subhead)))));
26
48
  }
27
49
  exports["default"] = CardView;
@@ -1,154 +1,186 @@
1
+ :root {
2
+ --card-background-color: #ffffff;
3
+ --card-footer-background-color: #f9fcff;
4
+ --card-dots-color: #323232;
5
+ }
6
+
7
+ html[data-theme="dark"] {
8
+ --card-background-color: #4e4f57;
9
+ --card-footer-background-color: #6b6477;
10
+ --card-dots-color: #ffffff;
11
+ }
12
+
13
+ $card-background-color: var(--card-background-color);
14
+ $card-footer-background-color: var(--card-footer-background-color);
15
+ $card-dots-color: var(--card-dots-color);
16
+
17
+ %headTemplate {
18
+ font-weight: 700;
19
+ font-size: $font-size-lg;
20
+ line-height: 24px;
21
+ }
22
+
23
+ %subheadTemplate {
24
+ font-weight: 400;
25
+ font-size: $font-size-xs;
26
+ line-height: 16px;
27
+ }
28
+
29
+ %dotTemplate {
30
+ display: inline-block;
31
+ width: 4px;
32
+ height: 4px;
33
+ background-color: $card-dots-color;
34
+ border-radius: $radius-circle;
35
+ }
36
+
1
37
  .CardView {
2
38
  $root: &;
3
39
 
4
- background: $white;
5
- box-sizing: border-box;
6
- height: fit-content;
7
- position: relative;
8
40
  display: flex;
9
- flex-direction: column;
41
+ flex-flow: column;
10
42
  overflow: hidden;
43
+ height: fit-content;
11
44
 
12
- &_orientation {
13
- &_vertical {
14
- font-size: $card-font-size;
15
- }
45
+ border: 1px solid $border-color;
46
+ border-radius: $radius-large;
47
+ color: $text-color;
48
+ background-color: $card-background-color;
16
49
 
17
- &_vertical-reverse {
18
- font-size: $card-font-size;
19
- flex-direction: column-reverse;
50
+ &__header {
51
+ display: flex;
52
+ flex-flow: row nowrap;
53
+ justify-content: space-between;
54
+
55
+ padding: 18px;
56
+ padding-bottom: 20px;
57
+
58
+ &_withoutCover {
59
+ padding-bottom: 3px;
20
60
  }
21
61
 
22
- &_horizontal {
23
- flex-direction: row;
62
+ &-data {
63
+ display: flex;
64
+ flex-flow: row nowrap;
65
+ align-items: center;
66
+ column-gap: 8px;
67
+ }
24
68
 
25
- #{$root}__title{
26
- font-size: $card-horizontal-header-font-size;
27
- }
69
+ &-avatar {
70
+ margin-right: 2px;
71
+ }
28
72
 
29
- #{$root}__content{
30
- flex-basis: 50%;
31
- font-size: $card-horizontal-font-size;
32
- }
73
+ &-text-content {
74
+ display: flex;
75
+ flex-flow: column nowrap;
76
+ }
33
77
 
34
- #{$root}__cover{
35
- flex-basis: 50%;
36
- }
78
+ &-head {
79
+ @extend %headTemplate;
37
80
  }
38
- }
39
81
 
40
- @each $color, $value in $color-themes {
41
- &_color_#{$color} {
42
- @include card-theme($root, $value)
82
+ &-subhead {
83
+ @extend %subheadTemplate;
43
84
  }
44
- }
45
85
 
46
- &_border {
47
- &_default {
48
- border: 1px solid $border-default;
86
+ &-menu {
87
+ display: flex;
88
+ justify-content: center;
89
+ align-items: center;
90
+ cursor: pointer;
49
91
  }
50
92
 
51
- @each $color, $value in $color-themes {
52
- &_#{$color} {
53
- @include card-border-theme($root, $value)
93
+ &-dots {
94
+ width: 24px;
95
+ height: 24px;
96
+
97
+ display: flex;
98
+ justify-content: center;
99
+ align-items: center;
100
+
101
+ rect {
102
+ fill: $card-dots-color;
54
103
  }
55
- }
56
104
 
57
- &_light {
58
- #{$root}__content {
59
- color: $dark;
105
+ svg {
106
+ transform: translateX(5px);
60
107
  }
61
108
  }
62
109
  }
63
110
 
64
- &_shape {
65
- &_square {
66
- border-radius: unset;
67
- }
111
+ &__cover {
112
+ width: 100%;
113
+ height: 227px;
114
+ overflow: hidden;
115
+ border-radius: $radius-large;
68
116
 
69
- &_circle {
70
- border-radius: $card-border-radius;
117
+ img {
118
+ display: block;
119
+ width: 100%;
120
+ height: 100%;
121
+ object-fit: cover;
71
122
  }
72
123
  }
73
124
 
74
- &__content-inner {
75
- display: grid;
76
- grid-row-gap: 16px;
125
+ &__content {
126
+ padding: 16px;
77
127
  }
78
128
 
79
- &__children {
80
- font-size: $card-children-font-size;
81
- line-height: $card-children-line-height;
82
- box-sizing: border-box;
83
- width: 100%;
84
- word-break: break-all;
129
+ &__content-inner {
130
+ display: flex;
131
+ flex-flow: column nowrap;
132
+ row-gap: 16px;
85
133
  }
86
134
 
87
- &__header {
88
- background: $card-header-background;
89
- padding: 20px;
90
- border-bottom: 1px solid $border-default;
91
- font-weight: bold;
92
- font-size: $card-header-font-size;
93
- line-height: $card-header-line-height;
94
- word-break: break-all;
135
+ &__title {
136
+ @extend %headTemplate;
137
+ margin-bottom: 8px;
95
138
  }
96
139
 
97
- &__footer {
98
- background: $card-header-background;
99
- padding: 20px;
100
- border-top: 1px solid $border-default;
101
- font-weight: bold;
102
- font-size: $card-header-font-size;
103
- line-height: $card-header-line-height;
104
- word-break: break-all;
140
+ &__description {
141
+ font-size: $font-size-base;
142
+ line-height: 22px;
105
143
  }
106
144
 
107
- &__cover {
108
- overflow: hidden;
145
+ &__buttons {
146
+ display: flex;
147
+ flex-flow: row wrap;
148
+ $columnGap: 8px;
149
+ row-gap: 8px;
150
+ column-gap: $columnGap;
151
+
152
+ button:only-of-type {
153
+ width: 100%;
154
+ }
155
+
156
+ button:not(:only-of-type) {
157
+ width: calc(50% - $columnGap / 2);
158
+ }
109
159
  }
110
160
 
111
- &__title{
161
+ &__links {
112
162
  display: flex;
113
- align-items: center;
114
- font-weight: bold;
115
- font-size: $card-title-font-size;
116
- line-height: $card-title-line-height;
117
- border-bottom: 8px;
118
- margin-bottom: 8px;
119
- }
163
+ flex-flow: row wrap;
164
+ column-gap: 16px;
120
165
 
121
- &__content{
122
- padding: 20px;
166
+ a {
167
+ line-height: 18px;
168
+ }
123
169
  }
124
170
 
125
- button {
171
+ &__footer {
126
172
  display: flex;
127
- flex-direction: row;
128
- justify-content: center;
129
- align-items: center;
130
- padding: 10px 20px;
131
- position: static;
132
- width: 140px;
133
- height: 28px;
134
- border: none;
135
- color: $white;
136
- background: $primary;
137
- border-radius: $card-button-border-radius;
138
- }
173
+ flex-flow: column wrap;
139
174
 
140
- img {
141
- display: block;
142
- width: 100%;
143
- height: 100%;
144
- object-fit: cover;
145
- }
175
+ padding: 16px;
176
+ background-color: $card-footer-background-color;
146
177
 
147
- a {
148
- color: $primary;
149
- font-size: $card-link-font-size;
150
- }
151
- p{
152
- margin: 0;
178
+ &-head {
179
+ @extend %headTemplate;
180
+ }
181
+
182
+ &-subhead {
183
+ @extend %subheadTemplate;
184
+ }
153
185
  }
154
186
  }
@@ -1,66 +1,89 @@
1
- .DetailView {
2
- &__header {
3
- display: flex;
4
- align-items: center;
5
- justify-content: space-between;
6
- margin-bottom: 32px;
7
- }
1
+ :root {
2
+ --detail-background-color-value: #ffffff;
3
+ --detail-background-color-label: #f9fcff;
4
+ --detail-border-color: #e9e9e9;
5
+ }
8
6
 
9
- &__title {
10
- color: #343a40;
11
- font-size: 28px;
12
- line-height: 34px;
13
- font-weight: 800;
14
- }
7
+ html[data-theme="dark"] {
8
+ --detail-background-color-value: #4E4F57;
9
+ --detail-background-color-label: #5B5C6B;
10
+ --detail-border-color: #ADAAB3;
11
+ }
15
12
 
16
- &__controls {
17
- margin-left: auto;
18
- }
13
+ $detail-border-color: var(--detail-border-color);
14
+ $detail-background-color-value: var(--detail-background-color-value);
15
+ $detail-background-color-label: var(--detail-background-color-label);
19
16
 
20
- &__table-container {
21
- display: flex;
22
- border-radius: 10px;
23
- border: 1px solid #cccccc;
24
- filter: drop-shadow(0px 0px 30px rgba(0, 0, 0, 0.1));
25
- overflow: hidden;
26
- }
17
+ .DetailView {
18
+ font-family: $font-family-nunito;
27
19
 
28
- &__table {
29
- background: #ffffff;
30
- height: 100%;
31
- width: 100%;
32
- border-collapse: collapse;
33
- border-spacing: 0;
34
- border: none;
35
- }
20
+ &__header {
21
+ display: flex;
22
+ align-items: center;
23
+ justify-content: space-between;
24
+ margin-bottom: 32px;
25
+ }
26
+
27
+ &__title {
28
+ color: $black-30;
29
+ font-size: 56px;
30
+ line-height: 56px;
31
+ font-weight: $font-weight-lg;
32
+ }
36
33
 
37
- &__row:not(:last-child) {
38
- border-bottom: 1px solid #cccccc;
39
- }
34
+ &__controls {
35
+ margin-left: auto;
36
+ }
40
37
 
41
- &__label,
42
- &__value {
43
- &:not(:last-child) {
44
- border-right: 1px solid #cccccc;
38
+ &__table-container {
39
+ display: flex;
40
+ border-radius: 10px;
41
+ border: 1px solid $detail-border-color;
42
+ overflow: hidden;
45
43
  }
46
44
 
47
- padding: 14px 16px;
48
- font-weight: 500;
49
- font-size: 14px;
50
- line-height: 140%;
45
+ &__table {
46
+ background: #ffffff;
47
+ height: 100%;
48
+ width: 100%;
49
+ border-collapse: collapse;
50
+ border-spacing: 0;
51
+ border: none;
52
+ }
51
53
 
52
- &_size_md {
53
- padding: 18px 20px;
54
- font-size: 16px;
54
+ &__row:not(:last-child) {
55
+ border-bottom: 1px solid $detail-border-color;
55
56
  }
56
57
 
57
- &_size_lg {
58
- padding: 22px 24px;
59
- font-size: 18px;
58
+ &__label,
59
+ &__value {
60
+ &:not(:last-child) {
61
+ border-right: 1px solid $detail-border-color;
62
+ }
63
+
64
+ padding: 12px;
65
+
66
+ font-weight: $font-weight-md;
67
+ font-size: $font-size-sm;
68
+ line-height: 18px;
69
+ color: $text-color;
70
+ background-color: $detail-background-color-value;
71
+ text-align: start;
72
+
73
+ &_size_md {
74
+ padding: 16px 12px;
75
+ font-size: $font-size-base;
76
+ line-height: 22px;
77
+ }
78
+
79
+ &_size_lg {
80
+ padding: 18px 12px;
81
+ font-size: $font-size-lg;
82
+ line-height: 24px;
83
+ }
60
84
  }
61
- }
62
85
 
63
- &__label {
64
- background: #f8f8f8;
65
- }
86
+ &__label {
87
+ background: $detail-background-color-label;
88
+ }
66
89
  }
@@ -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 = props.content();
46
- if ((0, isFunction_1["default"])(content)) {
47
- content = ui.renderView(content, contentProps);
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