@steroidsjs/bootstrap 3.0.0-beta.27 → 3.0.0-beta.29

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.
@@ -35,7 +35,7 @@ function FieldLayoutView(props) {
35
35
  return (React.createElement("div", { className: bem(bem.block({
36
36
  layout: props.layout.layout
37
37
  }), 'form-group', props.layout.className, props.layout.layout === 'horizontal' && 'row', props.layout.layout === 'inline' && 'form-inline mb-0'), style: props.layout.style },
38
- props.label && (React.createElement("div", { className: bem(bem.element('label', {
38
+ props.label && (React.createElement("label", { htmlFor: props.id, className: bem(bem.element('label', {
39
39
  required: props.required,
40
40
  size: props.size
41
41
  }), props.layout.layout === 'horizontal' && 'col-form-label text-right', props.layout.layout === 'horizontal' && 'col-' + props.layout.cols[0], props.layout.layout === 'inline' && 'sr-only') }, props.label + ':')),
@@ -69,10 +69,10 @@ function InputFieldView(props) {
69
69
  props.maskProps
70
70
  ? (React.createElement("input", __assign({ onBlur: props.onBlur, onFocus: props.onFocus, onMouseDown: props.onMouseDown, className: bem(bem.element('input', {
71
71
  size: props.size
72
- })) }, props.inputProps, { type: props.type, placeholder: props.placeholder, disabled: props.disabled, required: props.required })))
72
+ })) }, props.inputProps, { type: props.type, placeholder: props.placeholder, disabled: props.disabled, required: props.required, id: props.id })))
73
73
  : (React.createElement("input", __assign({ className: bem(bem.element('input', {
74
74
  size: props.size
75
- })) }, props.inputProps, { onChange: function (e) { return props.input.onChange(e.target.value); }, type: props.type, placeholder: props.placeholder, disabled: props.disabled, required: props.required }))),
75
+ })) }, props.inputProps, { onChange: function (e) { return props.input.onChange(e.target.value); }, type: props.type, placeholder: props.placeholder, disabled: props.disabled, required: props.required, id: props.id }))),
76
76
  !props.disabled && props.showClear && !props.maskProps && (React.createElement(Icon_1["default"], { name: "field-close", className: bem.element('icon-clear'), tabIndex: -1, onClick: props.onClear }))),
77
77
  props.textAfter && (React.createElement("span", { className: bem.element('text-after') }, props.textAfter)),
78
78
  props.addonAfter && (React.createElement("span", { className: bem.element('addon-after') }, props.addonAfter))));
@@ -61,16 +61,16 @@ function NumberFieldView(props) {
61
61
  hasErrors: !!props.errors,
62
62
  filled: !!((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.value)
63
63
  }), props.className) },
64
- React.createElement("input", __assign({ ref: inputRef, className: bem(bem.element('input')) }, props.inputProps, { onChange: function (e) { return props.input.onChange(e.target.value); } })),
64
+ React.createElement("input", __assign({ ref: inputRef, className: bem(bem.element('input')) }, props.inputProps, { onChange: function (e) { return props.input.onChange(e.target.value); }, id: props.id })),
65
65
  !props.disabled && !props.errors && (React.createElement("div", { className: bem.element('arrows-container') },
66
66
  React.createElement("button", { className: bem.element('arrow', {
67
67
  disabled: (0, isNumber_1["default"])(props.inputProps.max) && props.inputProps.value >= props.inputProps.max
68
68
  }), type: 'button', onClick: onStepUp },
69
- React.createElement(Icon_1["default"], { name: 'arrow' })),
69
+ React.createElement(Icon_1["default"], { name: 'arrow', tabIndex: -1 })),
70
70
  React.createElement("button", { className: bem.element('arrow', {
71
71
  disabled: (0, isNumber_1["default"])(props.inputProps.min) && props.inputProps.value <= props.inputProps.min
72
72
  }), type: 'button', onClick: onStepDown },
73
- React.createElement(Icon_1["default"], { name: 'arrow' })))),
73
+ React.createElement(Icon_1["default"], { name: 'arrow', tabIndex: -1 })))),
74
74
  React.createElement("span", { className: bem.element('input-effects') })));
75
75
  }
76
76
  exports["default"] = NumberFieldView;
@@ -96,10 +96,10 @@ $number-field-arrow-color: var(--number-field-arrow-color);
96
96
  }
97
97
 
98
98
  &__arrow {
99
- transform: translateX(-3px) translateY(5px);
99
+ transform: translateX(-3px) translateY(6px);
100
100
 
101
101
  &:last-child{
102
- transform: translateX(-3px) translateY(-6px) rotate(180deg);
102
+ transform: translateX(-3px) translateY(-8px) rotate(180deg);
103
103
  }
104
104
  }
105
105
  }
@@ -125,7 +125,7 @@ $number-field-arrow-color: var(--number-field-arrow-color);
125
125
  transform: translateX(-3px) translateY(4px) scale(0.8);
126
126
 
127
127
  &:last-child{
128
- transform: translateX(-3px) translateY(-2px) rotate(180deg) scale(0.8);
128
+ transform: translateX(-3px) translateY(-4px) rotate(180deg) scale(0.8);
129
129
  }
130
130
  }
131
131
  }
@@ -147,10 +147,10 @@ $number-field-arrow-color: var(--number-field-arrow-color);
147
147
  }
148
148
 
149
149
  &__arrow {
150
- transform: translateX(1px) translateY(-2px) scale(0.8);
150
+ transform: translateX(1px) translateY(2px) scale(0.8);
151
151
 
152
152
  &:last-child{
153
- transform: translateX(1px) translateY(0px) rotate(180deg) scale(0.8);
153
+ transform: translateX(1px) translateY(-3px) rotate(180deg) scale(0.8);
154
154
  }
155
155
  }
156
156
  }
@@ -47,8 +47,10 @@ function PasswordFieldView(props) {
47
47
  filled: !!props.inputProps.value,
48
48
  disabled: props.inputProps.disabled
49
49
  }), props.className) },
50
- React.createElement("div", { className: bem.element('container') },
51
- React.createElement("input", __assign({ className: bem.element('input') }, props.inputProps)),
50
+ React.createElement("div", { className: bem.element('container', {
51
+ disabled: props.inputProps.disabled
52
+ }) },
53
+ React.createElement("input", __assign({ className: bem.element('input') }, props.inputProps, { id: props.id })),
52
54
  props.showSecurityIcon && (React.createElement("span", { className: bem(bem.element('icon-eye')), onMouseDown: props.onShowPassword, onMouseUp: props.onHidePassword },
53
55
  React.createElement(Icon_1["default"], { name: props.inputProps.type === 'password' ? 'crossed-out-eye' : 'visible-eye' })))),
54
56
  props.showSecurityBar && (React.createElement("div", { className: bem.element('security-bar', props.securityLevel) }))));
@@ -31,21 +31,21 @@ $eye-filled-color: var(--eye-filled-color);
31
31
  &::before {
32
32
  position: absolute;
33
33
  content: "";
34
- width: 101.6666666667%;
35
- height: 111.7647058824%;
34
+ width: 100%;
35
+ height: 100%;
36
36
  top: 0;
37
37
  left: 0;
38
38
 
39
- border-radius: $radius-small;
39
+ border-radius: 16px;
40
40
 
41
41
  border: 4px solid $primary-light;
42
42
  transition: opacity 150ms ease-in-out;
43
43
  opacity: 0;
44
44
  pointer-events: none;
45
- transform: translate(-0.8333333334%, -5.8823529412%);
45
+ transform: translateX(-2%) translateY(-7.5%);
46
46
  }
47
47
 
48
- &:focus-within:not(:active)::before {
48
+ &:focus-within:not(&_disabled):not(:active)::before {
49
49
  opacity: 1;
50
50
  }
51
51
  }
@@ -59,6 +59,9 @@ $eye-filled-color: var(--eye-filled-color);
59
59
  padding-left: 8px;
60
60
  padding-right: 42px;
61
61
 
62
+ background-color: $element-background-color;
63
+ color: $text-color;
64
+
62
65
  &::placeholder {
63
66
  color: $placeholder-color;
64
67
  }
@@ -71,6 +74,10 @@ $eye-filled-color: var(--eye-filled-color);
71
74
  border: 1px solid $primary;
72
75
  }
73
76
 
77
+ &:not(:disabled):focus {
78
+ border-color: transparent;
79
+ }
80
+
74
81
  &:disabled {
75
82
  border: none;
76
83
  background-color: $background-disabled-color;
@@ -83,15 +90,16 @@ $eye-filled-color: var(--eye-filled-color);
83
90
  height: 56px;
84
91
 
85
92
  &::before {
86
- border-radius: $radius-large;
93
+ border-radius: 16px;
94
+ transform: translateX(-2%) translateY(-6.5%)
87
95
  }
88
96
  }
89
97
 
90
98
  #{$root}__input {
91
99
  border-radius: $radius-large;
100
+ font-size: $font-size-lg;
92
101
  }
93
102
 
94
- font-size: $font-size-lg;
95
103
  }
96
104
 
97
105
  &_md {
@@ -99,15 +107,15 @@ $eye-filled-color: var(--eye-filled-color);
99
107
  height: 46px;
100
108
 
101
109
  &::before {
102
- border-radius: $radius-large;
110
+ border-radius: 16px;
103
111
  }
104
112
  }
105
113
 
106
114
  #{$root}__input {
107
115
  border-radius: $radius-large;
116
+ font-size: $font-size-base;
108
117
  }
109
118
 
110
- font-size: $font-size-base;
111
119
  }
112
120
 
113
121
  &_sm {
@@ -115,15 +123,16 @@ $eye-filled-color: var(--eye-filled-color);
115
123
  height: $input-height-sm;
116
124
 
117
125
  &::before {
118
- border-radius: $radius-small;
126
+ border-radius: 12px;
127
+ transform: translateX(-2%) translateY(-9.5%);
119
128
  }
120
129
  }
121
130
 
122
131
  #{$root}__input {
123
132
  border-radius: $radius-small;
133
+ font-size: $font-size-sm;
124
134
  }
125
135
 
126
- font-size: $font-size-sm;
127
136
  }
128
137
  }
129
138
 
@@ -165,6 +174,7 @@ $eye-filled-color: var(--eye-filled-color);
165
174
  outline: none;
166
175
  border: none;
167
176
 
177
+ cursor: pointer;
168
178
  position: absolute;
169
179
  right: 8px;
170
180
  top: 50%;
@@ -172,6 +182,9 @@ $eye-filled-color: var(--eye-filled-color);
172
182
  }
173
183
 
174
184
  &__icon-eye {
185
+ width: 24px;
186
+ height: 24px;
187
+
175
188
  svg {
176
189
  path {
177
190
  fill: $eye-default-color;
@@ -1,15 +1,15 @@
1
1
  :root {
2
- --radio-svg-default: url("data:image/svg+xml,%3Csvg width='13' height='13' viewBox='0 0 13 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.210938' y='0.915161' width='12' height='12' rx='6' fill='%23651FFF'/%3E%3C/svg%3E%0A");
3
- --radio-checked-hover-svg: url("data:image/svg+xml,%3Csvg width='13' height='13' viewBox='0 0 13 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.210938' y='0.915161' width='12' height='12' rx='6' fill='%23651FFF'/%3E%3C/svg%3E%0A");
4
- --radio-checked-active-svg: url("data:image/svg+xml,%3Csvg width='13' height='13' viewBox='0 0 13 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.210938' y='0.915161' width='12' height='12' rx='6' fill='%23DBCBFF'/%3E%3C/svg%3E%0A");
5
- --radio-checked-disabled-svg: url("data:image/svg+xml,%3Csvg width='13' height='13' viewBox='0 0 13 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.710938' y='0.915161' width='12' height='12' rx='6' fill='%23EEF1F2'/%3E%3C/svg%3E%0A");
2
+ --radio-svg-default: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 13 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.110938' y='0.115161' width='12' height='12' rx='6' fill='%23651FFF'/%3E%3C/svg%3E%0A");
3
+ --radio-checked-hover-svg: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 13 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.110938' y='0.115161' width='12' height='12' rx='6' fill='%23651FFF'/%3E%3C/svg%3E%0A");
4
+ --radio-checked-active-svg: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 13 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.110938' y='0.115161' width='12' height='12' rx='6' fill='%23DBCBFF'/%3E%3C/svg%3E%0A");
5
+ --radio-checked-disabled-svg: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 13 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.110938' y='0.115161' width='12' height='12' rx='6' fill='%23EEF1F2'/%3E%3C/svg%3E%0A");
6
6
  }
7
7
 
8
8
  html[data-theme="dark"] {
9
- --radio-svg-default: url("data:image/svg+xml,%3Csvg width='13' height='13' viewBox='0 0 13 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.210938' y='0.915161' width='12' height='12' rx='6' fill='%238B57FF'/%3E%3C/svg%3E%0A");
10
- --radio-checked-hover-svg: url("data:image/svg+xml,%3Csvg width='13' height='13' viewBox='0 0 13 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.210938' y='0.915161' width='12' height='12' rx='6' fill='%236648A7'/%3E%3C/svg%3E%0A");
11
- --radio-checked-active-svg: url("data:image/svg+xml,%3Csvg width='13' height='13' viewBox='0 0 13 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.210938' y='0.915161' width='12' height='12' rx='6' fill='%23BA9BFF'/%3E%3C/svg%3E%0A");
12
- --radio-checked-disabled-svg: url("data:image/svg+xml,%3Csvg width='13' height='13' viewBox='0 0 13 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.710938' y='0.915161' width='12' height='12' rx='6' fill='%235B5C6B'/%3E%3C/svg%3E%0A");
9
+ --radio-svg-default: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 13 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.110938' y='0.115161' width='12' height='12' rx='6' fill='%238B57FF'/%3E%3C/svg%3E%0A");
10
+ --radio-checked-hover-svg: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 13 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.110938' y='0.115161' width='12' height='12' rx='6' fill='%236648A7'/%3E%3C/svg%3E%0A");
11
+ --radio-checked-active-svg: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 13 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.110938' y='0.115161' width='12' height='12' rx='6' fill='%23BA9BFF'/%3E%3C/svg%3E%0A");
12
+ --radio-checked-disabled-svg: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 13 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0.010938' y='0.115161' width='12' height='12' rx='6' fill='%235B5C6B'/%3E%3C/svg%3E%0A");
13
13
  }
14
14
 
15
15
  $radio-svg-default: var(--radio-svg-default);
@@ -56,7 +56,7 @@ $radio-checked-disabled-svg: var(--radio-checked-disabled-svg);
56
56
  cursor: pointer;
57
57
 
58
58
  background-repeat: no-repeat;
59
- background-position: center center;
59
+ background-position: 53% 50%;
60
60
  background-size: 50% 50%;
61
61
  }
62
62
 
@@ -72,7 +72,7 @@ $radio-checked-disabled-svg: var(--radio-checked-disabled-svg);
72
72
  pointer-events: none;
73
73
  opacity: 0;
74
74
 
75
- transform: translate(-11%, -11%);
75
+ transform: translate(-12%, -12%);
76
76
 
77
77
  transition: opacity 150ms ease-in-out;
78
78
  }
@@ -47,7 +47,7 @@ function TextFieldView(props) {
47
47
  filled: !!props.inputProps.value,
48
48
  size: props.size
49
49
  }), props.className) },
50
- React.createElement("textarea", __assign({ className: bem.element('textarea') }, props.inputProps)),
50
+ React.createElement("textarea", __assign({ className: bem.element('textarea'), id: props.id }, props.inputProps)),
51
51
  props.showClear && (React.createElement(Icon_1["default"], { className: bem.element('clear'), name: "field-close", onClick: props.onClear }))));
52
52
  }
53
53
  exports["default"] = TextFieldView;
@@ -34,7 +34,7 @@ $text-field-active-clear-color: var(--text-field-active-clear-color);
34
34
  height: 24px;
35
35
  z-index: 3;
36
36
  top: 3%;
37
- right: 16px;
37
+ right: 10px;
38
38
 
39
39
  transition: opacity 150ms ease-in-out;
40
40
  opacity: 0;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steroidsjs/bootstrap",
3
- "version": "3.0.0-beta.27",
3
+ "version": "3.0.0-beta.29",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "author": "Vladimir Kozhin <hello@kozhindev.com>",
@@ -60,7 +60,7 @@ html[data-theme="dark"] {
60
60
  --dark: #6b6477;
61
61
  --light: #b7afc7;
62
62
  --text-color: #ffffff;
63
- --background-color: #414141;
63
+ --background-color: #323030;
64
64
  --is-dark: "true";
65
65
  --border-color: #5B5C6B;
66
66
  --border-color-hover: #4e4f57;
@@ -1,4 +1,5 @@
1
1
  .TextView {
2
+ margin-bottom: 1em;
2
3
  font-family: $font-family-nunito;
3
4
 
4
5
  @each $typeName, $typeMap in $text-types {
@@ -1,4 +1,5 @@
1
1
  .TitleView {
2
+ margin-bottom: 1em;
2
3
  font-family: $font-family-nunito;
3
4
 
4
5
  @each $typeName, $typeMap in $title-types {