guestbell-forms 3.0.125 → 3.0.127
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/build/components/inputHeader/InputHeader.js +3 -3
- package/build/components/inputHeader/InputHeader.js.map +1 -1
- package/build/dist/guestbell-forms.css +505 -388
- package/build/dist/guestbell-forms.css.map +1 -1
- package/build/dist/guestbell-forms.min.css +1 -1
- package/build/dist/report.html +2 -2
- package/build/scss/components/button/base.scss +77 -0
- package/build/scss/components/button/buttons.scss +41 -147
- package/build/scss/components/button/index.scss +2 -0
- package/build/scss/components/button/utils.scss +78 -0
- package/package.json +1 -1
- package/src/lib/components/inputHeader/InputHeader.tsx +34 -39
- package/src/lib/scss/components/button/base.scss +77 -0
- package/src/lib/scss/components/button/buttons.scss +41 -147
- package/src/lib/scss/components/button/index.scss +2 -0
- package/src/lib/scss/components/button/utils.scss +78 -0
@@ -1,166 +1,60 @@
|
|
1
|
-
@
|
2
|
-
background-color: $bg;
|
3
|
-
fill: $fg;
|
4
|
-
color: $fg;
|
5
|
-
&:not(.guestbell-btn--disabled):not(.guestbell-btn--blank):not(
|
6
|
-
.guestbell-btn--outlined
|
7
|
-
):not(.guestbell-btn--unobtrusive):hover {
|
8
|
-
background-color: darken($bg, 7%);
|
9
|
-
}
|
10
|
-
&:not(.guestbell-btn--disabled).guestbell-btn--outlined {
|
11
|
-
box-shadow: inset 0 0 0 1px $bg !important;
|
12
|
-
color: $bg;
|
13
|
-
fill: $bg;
|
14
|
-
background-color: transparent;
|
15
|
-
@media (hover: hover) and (pointer: fine) {
|
16
|
-
&:hover {
|
17
|
-
color: $fg;
|
18
|
-
fill: $fg;
|
19
|
-
background-color: $bg;
|
20
|
-
}
|
21
|
-
}
|
22
|
-
}
|
23
|
-
&:not(.guestbell-btn--disabled).guestbell-btn--blank {
|
24
|
-
color: $bg;
|
25
|
-
fill: $bg;
|
26
|
-
background-color: transparent;
|
27
|
-
&:hover {
|
28
|
-
color: $fg;
|
29
|
-
fill: $fg;
|
30
|
-
background-color: rgba($bg, 0.5);
|
31
|
-
}
|
32
|
-
}
|
33
|
-
&.guestbell-btn--disabled.guestbell-btn--unobtrusive {
|
34
|
-
background-color: transparent;
|
35
|
-
}
|
36
|
-
&:not(.guestbell-btn--disabled).guestbell-btn--unobtrusive {
|
37
|
-
box-shadow: none;
|
38
|
-
background-color: transparent;
|
39
|
-
color: inherit;
|
40
|
-
fill: inherit;
|
41
|
-
&:hover {
|
42
|
-
color: $bg;
|
43
|
-
fill: $bg;
|
44
|
-
background-color: transparent;
|
45
|
-
}
|
46
|
-
}
|
47
|
-
&.guestbell-btn--disabled.guestbell-btn--text {
|
48
|
-
background-color: transparent;
|
49
|
-
}
|
50
|
-
&:not(.guestbell-btn--disabled).guestbell-btn--text {
|
51
|
-
box-shadow: none;
|
52
|
-
background-color: transparent;
|
53
|
-
color: $bg;
|
54
|
-
fill: $bg;
|
55
|
-
&:hover {
|
56
|
-
color: lighten($bg, 10);
|
57
|
-
fill: lighten($bg, 10);
|
58
|
-
background-color: transparent !important;
|
59
|
-
}
|
60
|
-
}
|
61
|
-
}
|
1
|
+
@import './utils.scss';
|
62
2
|
|
63
3
|
.guestbell-btn {
|
64
|
-
&:focus {
|
65
|
-
outline: 0;
|
66
|
-
}
|
67
|
-
&:focus-visible {
|
68
|
-
outline: 1px dotted;
|
69
|
-
outline: 5px auto -webkit-focus-ring-color;
|
70
|
-
}
|
71
|
-
text-transform: uppercase;
|
72
|
-
background: transparent;
|
73
|
-
color: inherit;
|
74
|
-
border: none;
|
75
|
-
font: inherit;
|
76
|
-
cursor: pointer;
|
77
|
-
position: relative;
|
78
|
-
padding: 0.5rem;
|
79
|
-
transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,
|
80
|
-
box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,
|
81
|
-
border 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
|
82
|
-
box-shadow: 0px 1px 5px 0px rgba(0, 0, 0, 0.15),
|
83
|
-
0px 2px 2px 0px rgba(0, 0, 0, 0.12), 0px 3px 1px -2px rgba(0, 0, 0, 0.08);
|
84
|
-
display: inline-block;
|
85
|
-
text-align: center;
|
86
|
-
white-space: nowrap;
|
87
|
-
vertical-align: middle;
|
88
|
-
user-select: none;
|
89
|
-
cursor: pointer;
|
90
|
-
fill: $input-text-color;
|
91
|
-
> svg {
|
92
|
-
pointer-events: none;
|
93
|
-
}
|
94
|
-
&:active {
|
95
|
-
box-shadow: 0px 4px 5px -3px rgba(0, 0, 0, 0.15),
|
96
|
-
0px 6px 10px 1px rgba(0, 0, 0, 0.12), 0px 2px 14px 2px rgba(0, 0, 0, 0.08);
|
97
|
-
}
|
98
|
-
&.guestbell-btn--outlined {
|
99
|
-
background-color: transparent;
|
100
|
-
box-shadow: none;
|
101
|
-
}
|
102
|
-
&.guestbell-btn--icon {
|
103
|
-
line-height: 0;
|
104
|
-
}
|
105
|
-
&.guestbell-btn--blank {
|
106
|
-
background-color: transparent;
|
107
|
-
box-shadow: none;
|
108
|
-
}
|
109
|
-
&.guestbell-btn--small {
|
110
|
-
padding: 0;
|
111
|
-
}
|
112
|
-
&.guestbell-btn--hero {
|
113
|
-
padding-left: 2rem;
|
114
|
-
padding-right: 2rem;
|
115
|
-
}
|
116
|
-
&.guestbell-btn--no-shadow {
|
117
|
-
box-shadow: none !important;
|
118
|
-
}
|
119
|
-
&.guestbell-btn--dropdown {
|
120
|
-
width: 100%;
|
121
|
-
box-shadow: none;
|
122
|
-
&:not(.guestbell-btn--disabled):hover {
|
123
|
-
color: $primary-color;
|
124
|
-
fill: $primary-color;
|
125
|
-
background-color: $input-divider-color;
|
126
|
-
}
|
127
|
-
&:active {
|
128
|
-
box-shadow: none;
|
129
|
-
}
|
130
|
-
}
|
131
|
-
&.guestbell-btn--circular {
|
132
|
-
overflow: hidden;
|
133
|
-
border-radius: 50%;
|
134
|
-
display: inline-table;
|
135
|
-
}
|
136
|
-
&.guestbell-btn.guestbell-btn--disabled {
|
137
|
-
box-shadow: none;
|
138
|
-
cursor: not-allowed;
|
139
|
-
background-color: $input-border-color;
|
140
|
-
color: $input-label-color;
|
141
|
-
}
|
142
4
|
&.guestbell-btn-primary {
|
143
|
-
@include create-button-type(
|
5
|
+
@include create-button-type(
|
6
|
+
$primary-color,
|
7
|
+
$input-text-color--white,
|
8
|
+
rgba($primary-color, 0.25)
|
9
|
+
);
|
144
10
|
}
|
145
11
|
&.guestbell-btn-success {
|
146
|
-
@include create-button-type(
|
12
|
+
@include create-button-type(
|
13
|
+
$success-color,
|
14
|
+
$input-text-color--white,
|
15
|
+
rgba($success-color, 0.25)
|
16
|
+
);
|
147
17
|
}
|
148
18
|
&.guestbell-btn-white {
|
149
|
-
@include create-button-type(
|
19
|
+
@include create-button-type(
|
20
|
+
$white-color,
|
21
|
+
$input-text-color,
|
22
|
+
rgba($white-color, 0.25)
|
23
|
+
);
|
150
24
|
}
|
151
25
|
&.guestbell-btn-black {
|
152
|
-
@include create-button-type(
|
26
|
+
@include create-button-type(
|
27
|
+
$black-color,
|
28
|
+
$input-text-color--white,
|
29
|
+
rgba($black-color, 0.25)
|
30
|
+
);
|
153
31
|
}
|
154
32
|
&.guestbell-btn-info {
|
155
|
-
@include create-button-type(
|
33
|
+
@include create-button-type(
|
34
|
+
$info-color,
|
35
|
+
$input-text-color--white,
|
36
|
+
rgba($info-color, 0.25)
|
37
|
+
);
|
156
38
|
}
|
157
39
|
&.guestbell-btn-error {
|
158
|
-
@include create-button-type(
|
40
|
+
@include create-button-type(
|
41
|
+
$error-color,
|
42
|
+
$input-text-color--white,
|
43
|
+
rgba($error-color, 0.25)
|
44
|
+
);
|
159
45
|
}
|
160
46
|
&.guestbell-btn-warning {
|
161
|
-
@include create-button-type(
|
47
|
+
@include create-button-type(
|
48
|
+
$warning-color,
|
49
|
+
$input-text-color--white,
|
50
|
+
rgba($warning-color, 0.25)
|
51
|
+
);
|
162
52
|
}
|
163
53
|
&.guestbell-btn-gray {
|
164
|
-
@include create-button-type(
|
54
|
+
@include create-button-type(
|
55
|
+
$gray-color,
|
56
|
+
$input-text-color--white,
|
57
|
+
rgba($gray-color, 0.25)
|
58
|
+
);
|
165
59
|
}
|
166
60
|
}
|
@@ -0,0 +1,78 @@
|
|
1
|
+
@mixin create-button-type($bg, $fg, $disabled) {
|
2
|
+
background-color: $bg;
|
3
|
+
fill: $fg;
|
4
|
+
color: $fg;
|
5
|
+
&:not(.guestbell-btn--disabled):not(.guestbell-btn--blank):not(
|
6
|
+
.guestbell-btn--outlined
|
7
|
+
):not(.guestbell-btn--unobtrusive):hover {
|
8
|
+
background-color: darken($bg, 7%);
|
9
|
+
}
|
10
|
+
&:not(.guestbell-btn--disabled).guestbell-btn--outlined {
|
11
|
+
box-shadow: inset 0 0 0 1px $bg !important;
|
12
|
+
color: $bg;
|
13
|
+
fill: $bg;
|
14
|
+
background-color: transparent;
|
15
|
+
@media (hover: hover) and (pointer: fine) {
|
16
|
+
&:hover {
|
17
|
+
color: $fg;
|
18
|
+
fill: $fg;
|
19
|
+
background-color: $bg;
|
20
|
+
}
|
21
|
+
}
|
22
|
+
}
|
23
|
+
&:not(.guestbell-btn--disabled).guestbell-btn--blank {
|
24
|
+
color: $bg;
|
25
|
+
fill: $bg;
|
26
|
+
background-color: transparent;
|
27
|
+
&:hover {
|
28
|
+
color: $fg;
|
29
|
+
fill: $fg;
|
30
|
+
background-color: rgba($bg, 0.5);
|
31
|
+
}
|
32
|
+
}
|
33
|
+
&.guestbell-btn--disabled {
|
34
|
+
background-color: $disabled;
|
35
|
+
}
|
36
|
+
&.guestbell-btn--disabled.guestbell-btn--outlined {
|
37
|
+
background-color: transparent;
|
38
|
+
box-shadow: inset 0 0 0 1px $disabled !important;
|
39
|
+
color: $disabled;
|
40
|
+
fill: $disabled;
|
41
|
+
}
|
42
|
+
&:not(.guestbell-btn--disabled).guestbell-btn--unobtrusive {
|
43
|
+
box-shadow: none;
|
44
|
+
background-color: transparent;
|
45
|
+
color: inherit;
|
46
|
+
fill: inherit;
|
47
|
+
&:hover {
|
48
|
+
color: $bg;
|
49
|
+
fill: $bg;
|
50
|
+
background-color: transparent;
|
51
|
+
}
|
52
|
+
}
|
53
|
+
&.guestbell-btn--disabled.guestbell-btn--unobtrusive {
|
54
|
+
color: $input-text-color;
|
55
|
+
background-color: transparent;
|
56
|
+
box-shadow: none;
|
57
|
+
}
|
58
|
+
&:not(.guestbell-btn--disabled).guestbell-btn--text {
|
59
|
+
box-shadow: none;
|
60
|
+
background-color: transparent;
|
61
|
+
color: $bg;
|
62
|
+
fill: $bg;
|
63
|
+
&:hover {
|
64
|
+
color: lighten($bg, 10);
|
65
|
+
fill: lighten($bg, 10);
|
66
|
+
background-color: transparent !important;
|
67
|
+
}
|
68
|
+
}
|
69
|
+
&.guestbell-btn--disabled.guestbell-btn--text {
|
70
|
+
color: $disabled;
|
71
|
+
background-color: transparent;
|
72
|
+
box-shadow: none;
|
73
|
+
}
|
74
|
+
&.guestbell-btn--disabled.guestbell-btn--blank {
|
75
|
+
background-color: transparent;
|
76
|
+
color: darken($bg, 20%);
|
77
|
+
}
|
78
|
+
}
|
package/package.json
CHANGED
@@ -50,14 +50,14 @@ export type InputHeaderRawProps = React.PropsWithChildren<
|
|
50
50
|
stopsPropagation?: boolean;
|
51
51
|
/*something like div, span, button ...*/
|
52
52
|
ButtonsContainer?:
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
53
|
+
| React.ComponentType<{
|
54
|
+
className: string;
|
55
|
+
onClick: (e: React.MouseEvent<HTMLElement>) => void;
|
56
|
+
children: React.ReactNode;
|
57
|
+
}>
|
58
|
+
| 'div';
|
59
59
|
} & InputHeaderContextProps &
|
60
|
-
|
60
|
+
ThemeContextProps
|
61
61
|
>;
|
62
62
|
|
63
63
|
export type InputHeaderProps = OmitInputHeaderContext<InputHeaderRawProps>;
|
@@ -83,8 +83,7 @@ const CollapseExpandButtonComponent: React.FC<ButtonComponentProps> = (
|
|
83
83
|
|
84
84
|
export class InputHeaderRaw
|
85
85
|
extends React.PureComponent<InputHeaderRawProps, InputHeaderState>
|
86
|
-
implements InputHeaderApi
|
87
|
-
{
|
86
|
+
implements InputHeaderApi {
|
88
87
|
public static defaultProps: InputHeaderProps = {
|
89
88
|
ignoreContext: false,
|
90
89
|
showExpandAll: false,
|
@@ -138,35 +137,32 @@ export class InputHeaderRaw
|
|
138
137
|
}
|
139
138
|
|
140
139
|
public expand() {
|
141
|
-
this.
|
142
|
-
this.
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
});
|
140
|
+
this.setState({ collapsed: false }, () => {
|
141
|
+
this.props.inputHeaderContext?.stateChanged?.();
|
142
|
+
this.props.onChange?.(true);
|
143
|
+
this.props.onExpanded?.();
|
144
|
+
});
|
147
145
|
}
|
148
146
|
|
149
147
|
public collapse() {
|
150
|
-
this.
|
151
|
-
this.
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
});
|
148
|
+
this.setState({ collapsed: true }, () => {
|
149
|
+
this.props.inputHeaderContext?.stateChanged?.();
|
150
|
+
this.props.onChange?.(false);
|
151
|
+
this.props.onCollapsed?.();
|
152
|
+
});
|
156
153
|
}
|
157
154
|
|
158
155
|
public toggle() {
|
159
|
-
this.
|
160
|
-
this.
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
});
|
156
|
+
this.setState({ collapsed: !this.state.collapsed }, () => {
|
157
|
+
this.props.inputHeaderContext?.stateChanged?.();
|
158
|
+
this.props.onChange?.(this.state.collapsed);
|
159
|
+
if (this.state.collapsed) {
|
160
|
+
this.props.onCollapsed?.();
|
161
|
+
}
|
162
|
+
if (!this.state.collapsed) {
|
163
|
+
this.props.onExpanded?.();
|
164
|
+
}
|
165
|
+
});
|
170
166
|
}
|
171
167
|
|
172
168
|
public render() {
|
@@ -176,8 +172,8 @@ export class InputHeaderRaw
|
|
176
172
|
: !this.state.collapsed;
|
177
173
|
const showButtons = Boolean(
|
178
174
|
this.props.mainButton ||
|
179
|
-
|
180
|
-
|
175
|
+
this.props.extraButtons?.length ||
|
176
|
+
this.props.collapsible
|
181
177
|
);
|
182
178
|
const ButtonContainer = this.props.ButtonsContainer ?? 'div';
|
183
179
|
return (
|
@@ -203,13 +199,13 @@ export class InputHeaderRaw
|
|
203
199
|
)}
|
204
200
|
role={
|
205
201
|
this.props.collapsible &&
|
206
|
-
|
202
|
+
this.props.shouldToggleCollapseOnHeaderClick
|
207
203
|
? 'button'
|
208
204
|
: undefined
|
209
205
|
}
|
210
206
|
onClick={
|
211
207
|
this.props.collapsible &&
|
212
|
-
|
208
|
+
this.props.shouldToggleCollapseOnHeaderClick
|
213
209
|
? this.toggleClick
|
214
210
|
: undefined
|
215
211
|
}
|
@@ -257,9 +253,8 @@ export class InputHeaderRaw
|
|
257
253
|
<Button
|
258
254
|
circular={true}
|
259
255
|
blank={true}
|
260
|
-
className={`input__header__collapse-button line-height--0 ${
|
261
|
-
|
262
|
-
}`}
|
256
|
+
className={`input__header__collapse-button line-height--0 ${this.state.collapsed ? 'collapsed' : ''
|
257
|
+
}`}
|
263
258
|
{...this.props.collapseButtonsButtonProps}
|
264
259
|
onClick={this.toggleClick}
|
265
260
|
>
|
@@ -0,0 +1,77 @@
|
|
1
|
+
.guestbell-btn {
|
2
|
+
&:focus {
|
3
|
+
outline: 0;
|
4
|
+
}
|
5
|
+
&:focus-visible {
|
6
|
+
outline: 1px dotted;
|
7
|
+
outline: 5px auto -webkit-focus-ring-color;
|
8
|
+
}
|
9
|
+
text-transform: uppercase;
|
10
|
+
background: transparent;
|
11
|
+
color: inherit;
|
12
|
+
border: none;
|
13
|
+
font: inherit;
|
14
|
+
cursor: pointer;
|
15
|
+
position: relative;
|
16
|
+
padding: 0.5rem;
|
17
|
+
transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,
|
18
|
+
box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,
|
19
|
+
border 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
|
20
|
+
box-shadow: 0px 1px 5px 0px rgba(0, 0, 0, 0.15),
|
21
|
+
0px 2px 2px 0px rgba(0, 0, 0, 0.12), 0px 3px 1px -2px rgba(0, 0, 0, 0.08);
|
22
|
+
display: inline-block;
|
23
|
+
text-align: center;
|
24
|
+
white-space: nowrap;
|
25
|
+
vertical-align: middle;
|
26
|
+
user-select: none;
|
27
|
+
cursor: pointer;
|
28
|
+
fill: $input-text-color;
|
29
|
+
> svg {
|
30
|
+
pointer-events: none;
|
31
|
+
}
|
32
|
+
&:active {
|
33
|
+
box-shadow: 0px 4px 5px -3px rgba(0, 0, 0, 0.15),
|
34
|
+
0px 6px 10px 1px rgba(0, 0, 0, 0.12), 0px 2px 14px 2px rgba(0, 0, 0, 0.08);
|
35
|
+
}
|
36
|
+
&.guestbell-btn--outlined {
|
37
|
+
background-color: transparent;
|
38
|
+
box-shadow: none;
|
39
|
+
}
|
40
|
+
&.guestbell-btn--icon {
|
41
|
+
line-height: 0;
|
42
|
+
}
|
43
|
+
&.guestbell-btn--blank {
|
44
|
+
background-color: transparent;
|
45
|
+
box-shadow: none;
|
46
|
+
}
|
47
|
+
&.guestbell-btn--small {
|
48
|
+
padding: 0;
|
49
|
+
}
|
50
|
+
&.guestbell-btn--hero {
|
51
|
+
padding-left: 2rem;
|
52
|
+
padding-right: 2rem;
|
53
|
+
}
|
54
|
+
&.guestbell-btn--no-shadow {
|
55
|
+
box-shadow: none !important;
|
56
|
+
}
|
57
|
+
&.guestbell-btn--dropdown {
|
58
|
+
width: 100%;
|
59
|
+
box-shadow: none;
|
60
|
+
&:not(.guestbell-btn--disabled):hover {
|
61
|
+
color: $primary-color;
|
62
|
+
fill: $primary-color;
|
63
|
+
background-color: $input-divider-color;
|
64
|
+
}
|
65
|
+
&:active {
|
66
|
+
box-shadow: none;
|
67
|
+
}
|
68
|
+
}
|
69
|
+
&.guestbell-btn--circular {
|
70
|
+
overflow: hidden;
|
71
|
+
border-radius: 50%;
|
72
|
+
display: inline-table;
|
73
|
+
}
|
74
|
+
&.guestbell-btn.guestbell-btn--disabled {
|
75
|
+
cursor: not-allowed;
|
76
|
+
}
|
77
|
+
}
|
@@ -1,166 +1,60 @@
|
|
1
|
-
@
|
2
|
-
background-color: $bg;
|
3
|
-
fill: $fg;
|
4
|
-
color: $fg;
|
5
|
-
&:not(.guestbell-btn--disabled):not(.guestbell-btn--blank):not(
|
6
|
-
.guestbell-btn--outlined
|
7
|
-
):not(.guestbell-btn--unobtrusive):hover {
|
8
|
-
background-color: darken($bg, 7%);
|
9
|
-
}
|
10
|
-
&:not(.guestbell-btn--disabled).guestbell-btn--outlined {
|
11
|
-
box-shadow: inset 0 0 0 1px $bg !important;
|
12
|
-
color: $bg;
|
13
|
-
fill: $bg;
|
14
|
-
background-color: transparent;
|
15
|
-
@media (hover: hover) and (pointer: fine) {
|
16
|
-
&:hover {
|
17
|
-
color: $fg;
|
18
|
-
fill: $fg;
|
19
|
-
background-color: $bg;
|
20
|
-
}
|
21
|
-
}
|
22
|
-
}
|
23
|
-
&:not(.guestbell-btn--disabled).guestbell-btn--blank {
|
24
|
-
color: $bg;
|
25
|
-
fill: $bg;
|
26
|
-
background-color: transparent;
|
27
|
-
&:hover {
|
28
|
-
color: $fg;
|
29
|
-
fill: $fg;
|
30
|
-
background-color: rgba($bg, 0.5);
|
31
|
-
}
|
32
|
-
}
|
33
|
-
&.guestbell-btn--disabled.guestbell-btn--unobtrusive {
|
34
|
-
background-color: transparent;
|
35
|
-
}
|
36
|
-
&:not(.guestbell-btn--disabled).guestbell-btn--unobtrusive {
|
37
|
-
box-shadow: none;
|
38
|
-
background-color: transparent;
|
39
|
-
color: inherit;
|
40
|
-
fill: inherit;
|
41
|
-
&:hover {
|
42
|
-
color: $bg;
|
43
|
-
fill: $bg;
|
44
|
-
background-color: transparent;
|
45
|
-
}
|
46
|
-
}
|
47
|
-
&.guestbell-btn--disabled.guestbell-btn--text {
|
48
|
-
background-color: transparent;
|
49
|
-
}
|
50
|
-
&:not(.guestbell-btn--disabled).guestbell-btn--text {
|
51
|
-
box-shadow: none;
|
52
|
-
background-color: transparent;
|
53
|
-
color: $bg;
|
54
|
-
fill: $bg;
|
55
|
-
&:hover {
|
56
|
-
color: lighten($bg, 10);
|
57
|
-
fill: lighten($bg, 10);
|
58
|
-
background-color: transparent !important;
|
59
|
-
}
|
60
|
-
}
|
61
|
-
}
|
1
|
+
@import './utils.scss';
|
62
2
|
|
63
3
|
.guestbell-btn {
|
64
|
-
&:focus {
|
65
|
-
outline: 0;
|
66
|
-
}
|
67
|
-
&:focus-visible {
|
68
|
-
outline: 1px dotted;
|
69
|
-
outline: 5px auto -webkit-focus-ring-color;
|
70
|
-
}
|
71
|
-
text-transform: uppercase;
|
72
|
-
background: transparent;
|
73
|
-
color: inherit;
|
74
|
-
border: none;
|
75
|
-
font: inherit;
|
76
|
-
cursor: pointer;
|
77
|
-
position: relative;
|
78
|
-
padding: 0.5rem;
|
79
|
-
transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,
|
80
|
-
box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms,
|
81
|
-
border 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
|
82
|
-
box-shadow: 0px 1px 5px 0px rgba(0, 0, 0, 0.15),
|
83
|
-
0px 2px 2px 0px rgba(0, 0, 0, 0.12), 0px 3px 1px -2px rgba(0, 0, 0, 0.08);
|
84
|
-
display: inline-block;
|
85
|
-
text-align: center;
|
86
|
-
white-space: nowrap;
|
87
|
-
vertical-align: middle;
|
88
|
-
user-select: none;
|
89
|
-
cursor: pointer;
|
90
|
-
fill: $input-text-color;
|
91
|
-
> svg {
|
92
|
-
pointer-events: none;
|
93
|
-
}
|
94
|
-
&:active {
|
95
|
-
box-shadow: 0px 4px 5px -3px rgba(0, 0, 0, 0.15),
|
96
|
-
0px 6px 10px 1px rgba(0, 0, 0, 0.12), 0px 2px 14px 2px rgba(0, 0, 0, 0.08);
|
97
|
-
}
|
98
|
-
&.guestbell-btn--outlined {
|
99
|
-
background-color: transparent;
|
100
|
-
box-shadow: none;
|
101
|
-
}
|
102
|
-
&.guestbell-btn--icon {
|
103
|
-
line-height: 0;
|
104
|
-
}
|
105
|
-
&.guestbell-btn--blank {
|
106
|
-
background-color: transparent;
|
107
|
-
box-shadow: none;
|
108
|
-
}
|
109
|
-
&.guestbell-btn--small {
|
110
|
-
padding: 0;
|
111
|
-
}
|
112
|
-
&.guestbell-btn--hero {
|
113
|
-
padding-left: 2rem;
|
114
|
-
padding-right: 2rem;
|
115
|
-
}
|
116
|
-
&.guestbell-btn--no-shadow {
|
117
|
-
box-shadow: none !important;
|
118
|
-
}
|
119
|
-
&.guestbell-btn--dropdown {
|
120
|
-
width: 100%;
|
121
|
-
box-shadow: none;
|
122
|
-
&:not(.guestbell-btn--disabled):hover {
|
123
|
-
color: $primary-color;
|
124
|
-
fill: $primary-color;
|
125
|
-
background-color: $input-divider-color;
|
126
|
-
}
|
127
|
-
&:active {
|
128
|
-
box-shadow: none;
|
129
|
-
}
|
130
|
-
}
|
131
|
-
&.guestbell-btn--circular {
|
132
|
-
overflow: hidden;
|
133
|
-
border-radius: 50%;
|
134
|
-
display: inline-table;
|
135
|
-
}
|
136
|
-
&.guestbell-btn.guestbell-btn--disabled {
|
137
|
-
box-shadow: none;
|
138
|
-
cursor: not-allowed;
|
139
|
-
background-color: $input-border-color;
|
140
|
-
color: $input-label-color;
|
141
|
-
}
|
142
4
|
&.guestbell-btn-primary {
|
143
|
-
@include create-button-type(
|
5
|
+
@include create-button-type(
|
6
|
+
$primary-color,
|
7
|
+
$input-text-color--white,
|
8
|
+
rgba($primary-color, 0.25)
|
9
|
+
);
|
144
10
|
}
|
145
11
|
&.guestbell-btn-success {
|
146
|
-
@include create-button-type(
|
12
|
+
@include create-button-type(
|
13
|
+
$success-color,
|
14
|
+
$input-text-color--white,
|
15
|
+
rgba($success-color, 0.25)
|
16
|
+
);
|
147
17
|
}
|
148
18
|
&.guestbell-btn-white {
|
149
|
-
@include create-button-type(
|
19
|
+
@include create-button-type(
|
20
|
+
$white-color,
|
21
|
+
$input-text-color,
|
22
|
+
rgba($white-color, 0.25)
|
23
|
+
);
|
150
24
|
}
|
151
25
|
&.guestbell-btn-black {
|
152
|
-
@include create-button-type(
|
26
|
+
@include create-button-type(
|
27
|
+
$black-color,
|
28
|
+
$input-text-color--white,
|
29
|
+
rgba($black-color, 0.25)
|
30
|
+
);
|
153
31
|
}
|
154
32
|
&.guestbell-btn-info {
|
155
|
-
@include create-button-type(
|
33
|
+
@include create-button-type(
|
34
|
+
$info-color,
|
35
|
+
$input-text-color--white,
|
36
|
+
rgba($info-color, 0.25)
|
37
|
+
);
|
156
38
|
}
|
157
39
|
&.guestbell-btn-error {
|
158
|
-
@include create-button-type(
|
40
|
+
@include create-button-type(
|
41
|
+
$error-color,
|
42
|
+
$input-text-color--white,
|
43
|
+
rgba($error-color, 0.25)
|
44
|
+
);
|
159
45
|
}
|
160
46
|
&.guestbell-btn-warning {
|
161
|
-
@include create-button-type(
|
47
|
+
@include create-button-type(
|
48
|
+
$warning-color,
|
49
|
+
$input-text-color--white,
|
50
|
+
rgba($warning-color, 0.25)
|
51
|
+
);
|
162
52
|
}
|
163
53
|
&.guestbell-btn-gray {
|
164
|
-
@include create-button-type(
|
54
|
+
@include create-button-type(
|
55
|
+
$gray-color,
|
56
|
+
$input-text-color--white,
|
57
|
+
rgba($gray-color, 0.25)
|
58
|
+
);
|
165
59
|
}
|
166
60
|
}
|