@actabldesign/bellhop-styles 0.0.4 → 0.0.12

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 (60) hide show
  1. package/README.md +105 -70
  2. package/dist/index.css +33 -0
  3. package/dist/utilities.css +5730 -0
  4. package/llms.txt +2765 -119
  5. package/package.json +6 -1
  6. package/rollup.config.js +39 -24
  7. package/src/bh-tokens/_primitives.scss +296 -0
  8. package/src/bh-tokens/_semantic.scss +158 -0
  9. package/src/bh-tokens/components/_avatar.tokens.scss +64 -0
  10. package/src/bh-tokens/components/_badge-dot.tokens.scss +33 -0
  11. package/src/bh-tokens/components/_badge.tokens.scss +61 -0
  12. package/src/bh-tokens/components/_button-icon.tokens.scss +65 -0
  13. package/src/bh-tokens/components/_button.tokens.scss +185 -0
  14. package/src/bh-tokens/components/_checkbox.tokens.scss +67 -0
  15. package/src/bh-tokens/components/_dropdown.tokens.scss +103 -0
  16. package/src/bh-tokens/components/_featured-icon.tokens.scss +57 -0
  17. package/src/bh-tokens/components/_input-number.tokens.scss +50 -0
  18. package/src/bh-tokens/components/_input.tokens.scss +86 -0
  19. package/src/bh-tokens/components/_label.tokens.scss +37 -0
  20. package/src/bh-tokens/components/_modal.tokens.scss +42 -0
  21. package/src/bh-tokens/components/_pagination.tokens.scss +104 -0
  22. package/src/bh-tokens/components/_password.tokens.scss +63 -0
  23. package/src/bh-tokens/components/_progress-bar.tokens.scss +34 -0
  24. package/src/bh-tokens/components/_progress-spinner.tokens.scss +51 -0
  25. package/src/bh-tokens/components/_radiobutton.tokens.scss +90 -0
  26. package/src/bh-tokens/components/_skeleton.tokens.scss +22 -0
  27. package/src/bh-tokens/components/_textarea.tokens.scss +76 -0
  28. package/src/bh-tokens/components/_toggle.tokens.scss +74 -0
  29. package/src/bh-tokens/components/avatar.scss +288 -0
  30. package/src/bh-tokens/components/badge-dot.scss +177 -0
  31. package/src/bh-tokens/components/badge.scss +497 -0
  32. package/src/bh-tokens/components/button-icon.scss +227 -0
  33. package/src/bh-tokens/components/button.scss +640 -0
  34. package/src/bh-tokens/components/checkbox.scss +254 -0
  35. package/src/bh-tokens/components/dropdown.scss +231 -0
  36. package/src/bh-tokens/components/featured-icon.scss +219 -0
  37. package/src/bh-tokens/components/input-number.scss +147 -0
  38. package/src/bh-tokens/components/input.scss +271 -0
  39. package/src/bh-tokens/components/label.scss +176 -0
  40. package/src/bh-tokens/components/modal.scss +103 -0
  41. package/src/bh-tokens/components/pagination.scss +324 -0
  42. package/src/bh-tokens/components/password.scss +193 -0
  43. package/src/bh-tokens/components/progress-bar.scss +124 -0
  44. package/src/bh-tokens/components/progress-spinner.scss +130 -0
  45. package/src/bh-tokens/components/radiobutton.scss +193 -0
  46. package/src/bh-tokens/components/skeleton.scss +50 -0
  47. package/src/bh-tokens/components/textarea.scss +228 -0
  48. package/src/bh-tokens/components/toggle.scss +320 -0
  49. package/src/mixins/_responsive.scss +167 -0
  50. package/src/tokens/bellhop-typography.css +34 -0
  51. package/src/utilities/_breakpoints.scss +19 -0
  52. package/src/utilities/_flex.scss +228 -0
  53. package/src/utilities/_grid.scss +189 -0
  54. package/src/utilities/_index.scss +32 -0
  55. package/src/utilities/_scrollable.scss +239 -0
  56. package/src/utilities/_sizing.scss +229 -0
  57. package/src/utilities/_spacing.scss +187 -0
  58. package/src/utilities/_truncation.scss +126 -0
  59. package/src/utilities/_visibility.scss +117 -0
  60. package/src/utilities.scss +32 -0
@@ -0,0 +1,254 @@
1
+ /* ==========================================================================
2
+ BH-CHECKBOX COMPONENT STYLES
3
+ Uses tokens from _checkbox.tokens.scss
4
+ ========================================================================== */
5
+
6
+ @use './_checkbox.tokens.scss';
7
+
8
+ :host {
9
+ display: inline-flex;
10
+ }
11
+
12
+ /* ==========================================================================
13
+ CHECKBOX WRAPPER
14
+ ========================================================================== */
15
+
16
+ .checkbox-wrapper {
17
+ display: inline-flex;
18
+ align-items: center;
19
+ gap: var(--bh-checkbox-label-gap);
20
+ cursor: pointer;
21
+ }
22
+
23
+ .checkbox-wrapper:has(.bh-checkbox-label) {
24
+ gap: var(--bh-spacing-none);
25
+ }
26
+
27
+ .checkbox-wrapper.checkbox-wrapper-disabled {
28
+ cursor: not-allowed;
29
+ opacity: var(--bh-checkbox-opacity-disabled);
30
+ }
31
+
32
+ .checkbox-wrapper.checkbox-wrapper-readonly {
33
+ cursor: default;
34
+ }
35
+
36
+ /* ==========================================================================
37
+ CHECKBOX CONTAINER (Visual checkbox box)
38
+ ========================================================================== */
39
+
40
+ .checkbox-container {
41
+ position: relative;
42
+ display: inline-flex;
43
+ align-items: center;
44
+ justify-content: center;
45
+ width: var(--bh-checkbox-size-md);
46
+ height: var(--bh-checkbox-size-md);
47
+ background: var(--bh-checkbox-bg);
48
+ border: var(--bh-checkbox-border-width) solid var(--bh-checkbox-border);
49
+ border-radius: var(--bh-checkbox-border-radius);
50
+ transition: var(--bh-checkbox-transition);
51
+ flex-shrink: 0;
52
+ }
53
+
54
+ /* ==========================================================================
55
+ CHECKBOX SIZES
56
+ ========================================================================== */
57
+
58
+ .checkbox-container.checkbox-container-small {
59
+ width: var(--bh-checkbox-size-sm);
60
+ height: var(--bh-checkbox-size-sm);
61
+ }
62
+
63
+ .checkbox-container.checkbox-container-large {
64
+ width: var(--bh-checkbox-size-md);
65
+ height: var(--bh-checkbox-size-md);
66
+ }
67
+
68
+ /* ==========================================================================
69
+ CHECKBOX STATES - HOVER
70
+ ========================================================================== */
71
+
72
+ .checkbox-container.checkbox-container-hovered:not(
73
+ .checkbox-container-disabled
74
+ ):not(.checkbox-container-readonly):not(.checkbox-container-checked):not(
75
+ .checkbox-container-indeterminate
76
+ ) {
77
+ background: var(--bh-checkbox-bg-hover);
78
+ border-color: var(--bh-checkbox-border-hover);
79
+ }
80
+
81
+ .checkbox-container.checkbox-container-checked.checkbox-container-hovered:not(
82
+ .checkbox-container-disabled
83
+ ):not(.checkbox-container-readonly) {
84
+ background: var(--bh-checkbox-bg-checked-hover);
85
+ border-color: var(--bh-checkbox-border-checked-hover);
86
+ }
87
+
88
+ .checkbox-container.checkbox-container-indeterminate.checkbox-container-hovered:not(
89
+ .checkbox-container-disabled
90
+ ):not(.checkbox-container-readonly) {
91
+ background: var(--bh-checkbox-bg-indeterminate-hover);
92
+ border-color: var(--bh-checkbox-border-indeterminate-hover);
93
+ }
94
+
95
+ /* ==========================================================================
96
+ CHECKBOX STATES - CHECKED
97
+ ========================================================================== */
98
+
99
+ .checkbox-container.checkbox-container-checked {
100
+ background: var(--bh-checkbox-bg-checked);
101
+ border-color: var(--bh-checkbox-border-checked);
102
+ color: var(--bh-checkbox-checkmark-color);
103
+ font-weight: var(--bh-font-weight-bold);
104
+
105
+ span {
106
+ color: var(--bh-checkbox-checkmark-color);
107
+ font-weight: var(--bh-font-weight-bold);
108
+ font-variation-settings: 'wght' 600;
109
+ }
110
+ }
111
+
112
+ /* ==========================================================================
113
+ CHECKBOX STATES - INDETERMINATE
114
+ ========================================================================== */
115
+
116
+ .checkbox-container.checkbox-container-indeterminate {
117
+ background: var(--bh-checkbox-bg-indeterminate);
118
+ border-color: var(--bh-checkbox-border-indeterminate);
119
+ color: var(--bh-checkbox-checkmark-color);
120
+ font-weight: var(--bh-font-weight-bold);
121
+
122
+ span {
123
+ color: var(--bh-checkbox-checkmark-color);
124
+ font-weight: var(--bh-font-weight-bold);
125
+ font-variation-settings: 'wght' 600;
126
+ }
127
+ }
128
+
129
+ /* ==========================================================================
130
+ CHECKBOX STATES - DISABLED
131
+ ========================================================================== */
132
+
133
+ .checkbox-container.checkbox-container-disabled {
134
+ background: var(--bh-checkbox-bg-disabled);
135
+ border-color: var(--bh-checkbox-border-disabled);
136
+ cursor: not-allowed;
137
+ }
138
+
139
+ .checkbox-container.checkbox-container-disabled .checkbox-checkmark {
140
+ color: var(--bh-checkbox-checkmark-color-disabled);
141
+ }
142
+
143
+ /* ==========================================================================
144
+ CHECKBOX STATES - READONLY
145
+ ========================================================================== */
146
+
147
+ .checkbox-container.checkbox-container-readonly {
148
+ border-color: var(--bh-checkbox-border-readonly);
149
+ cursor: default;
150
+ }
151
+
152
+ /* ==========================================================================
153
+ CHECKBOX STATES - INVALID
154
+ ========================================================================== */
155
+
156
+ .checkbox-container.checkbox-container-invalid:not(
157
+ .checkbox-container-checked
158
+ ):not(.checkbox-container-indeterminate) {
159
+ border-color: var(--bh-checkbox-border-invalid);
160
+ }
161
+
162
+ .checkbox-container.checkbox-container-invalid.checkbox-container-hovered:not(
163
+ .checkbox-container-disabled
164
+ ):not(.checkbox-container-readonly):not(.checkbox-container-checked):not(
165
+ .checkbox-container-indeterminate
166
+ ) {
167
+ border-color: var(--bh-checkbox-border-invalid-hover);
168
+ }
169
+
170
+ /* ==========================================================================
171
+ CHECKBOX STATES - FOCUSED
172
+ ========================================================================== */
173
+
174
+ .checkbox-container.checkbox-container-focused {
175
+ outline: var(--bh-checkbox-focus-outline-width) solid
176
+ var(--bh-checkbox-focus-outline-color);
177
+ outline-offset: var(--bh-checkbox-focus-outline-offset);
178
+ }
179
+
180
+ /* ==========================================================================
181
+ CHECKBOX CHECKMARK ICON
182
+ ========================================================================== */
183
+
184
+ .checkbox-checkmark {
185
+ display: flex;
186
+ align-items: center;
187
+ justify-content: center;
188
+ color: var(--bh-checkbox-checkmark-color);
189
+ opacity: 0;
190
+ transform: scale(0.7);
191
+ transition: var(--bh-checkbox-transition);
192
+ }
193
+
194
+ .checkbox-container-checked .checkbox-checkmark,
195
+ .checkbox-container-indeterminate .checkbox-checkmark {
196
+ opacity: 1;
197
+ transform: scale(1);
198
+ }
199
+
200
+ .checkbox-checkmark .material-symbols-outlined {
201
+ font-size: var(--bh-checkbox-checkmark-size-md);
202
+ }
203
+
204
+ .checkbox-container-small .checkbox-checkmark .material-symbols-outlined {
205
+ font-size: var(--bh-checkbox-checkmark-size-sm);
206
+ }
207
+
208
+ /* ==========================================================================
209
+ CHECKBOX LABEL
210
+ ========================================================================== */
211
+
212
+ .checkbox-label {
213
+ font-size: var(--bh-checkbox-label-font-size);
214
+ font-weight: var(--bh-checkbox-label-font-weight);
215
+ color: var(--bh-checkbox-label-color);
216
+ line-height: 1.43;
217
+ user-select: none;
218
+ }
219
+
220
+ .checkbox-wrapper-disabled .checkbox-label {
221
+ color: var(--bh-checkbox-label-color-disabled);
222
+ }
223
+
224
+ /* ==========================================================================
225
+ NATIVE INPUT (Hidden but accessible to screen readers)
226
+ ========================================================================== */
227
+
228
+ .checkbox-input {
229
+ position: absolute;
230
+ opacity: 0;
231
+ width: 1px;
232
+ height: 1px;
233
+ pointer-events: none;
234
+ }
235
+
236
+ /* ==========================================================================
237
+ MATERIAL SYMBOLS
238
+ ========================================================================== */
239
+
240
+ .material-symbols-outlined {
241
+ font-family: 'Material Symbols Outlined';
242
+ font-weight: normal;
243
+ font-style: normal;
244
+ line-height: 1;
245
+ letter-spacing: normal;
246
+ text-transform: none;
247
+ display: inline-block;
248
+ white-space: nowrap;
249
+ word-wrap: normal;
250
+ direction: ltr;
251
+ font-feature-settings: 'liga';
252
+ -webkit-font-smoothing: antialiased;
253
+ font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24;
254
+ }
@@ -0,0 +1,231 @@
1
+ /* ==========================================================================
2
+ BH-DROPDOWN COMPONENT STYLES
3
+ Uses tokens from _dropdown.tokens.scss
4
+ ========================================================================== */
5
+
6
+ @use './_dropdown.tokens.scss';
7
+
8
+ :host {
9
+ display: inline-block;
10
+ position: relative;
11
+ }
12
+
13
+ /* ==========================================================================
14
+ DROPDOWN CONTAINER
15
+ ========================================================================== */
16
+
17
+ .dropdown-container {
18
+ position: relative;
19
+ display: inline-block;
20
+ }
21
+
22
+ /* ==========================================================================
23
+ DROPDOWN TRIGGER BUTTON
24
+ ========================================================================== */
25
+
26
+ .dropdown-trigger-button {
27
+ display: inline-flex;
28
+ align-items: center;
29
+ gap: var(--bh-dropdown-trigger-gap);
30
+ padding: var(--bh-dropdown-trigger-padding);
31
+ border: var(--bh-dropdown-trigger-border-width) solid var(--bh-dropdown-trigger-border);
32
+ border-radius: var(--bh-dropdown-trigger-radius);
33
+ background: var(--bh-dropdown-trigger-bg);
34
+ font-family: var(--bh-dropdown-trigger-font-family);
35
+ font-weight: var(--bh-dropdown-trigger-font-weight);
36
+ font-size: var(--bh-dropdown-trigger-font-size);
37
+ line-height: 1.43;
38
+ color: var(--bh-dropdown-trigger-text-color);
39
+ cursor: pointer;
40
+ transition: var(--bh-dropdown-trigger-transition);
41
+ }
42
+
43
+ .dropdown-trigger-button:hover:not(:disabled) {
44
+ background: var(--bh-dropdown-trigger-bg-hover);
45
+ border-color: var(--bh-dropdown-trigger-border-hover);
46
+ }
47
+
48
+ .dropdown-trigger-button:focus {
49
+ outline: none;
50
+ border-color: var(--bh-dropdown-trigger-border-focused);
51
+ box-shadow: var(--bh-dropdown-trigger-focus-shadow);
52
+ }
53
+
54
+ .dropdown-trigger-button:disabled {
55
+ opacity: var(--bh-dropdown-trigger-opacity-disabled);
56
+ cursor: not-allowed;
57
+ }
58
+
59
+ .dropdown-trigger-button .material-symbols-outlined {
60
+ font-size: var(--bh-dropdown-icon-size);
61
+ }
62
+
63
+ /* ==========================================================================
64
+ AVATAR TRIGGER
65
+ ========================================================================== */
66
+
67
+ .dropdown-avatar {
68
+ cursor: pointer;
69
+ border-radius: 50%;
70
+ transition: var(--bh-dropdown-avatar-transition);
71
+ outline: none;
72
+ display: inline-flex;
73
+ user-select: none;
74
+ line-height: 0;
75
+ }
76
+
77
+ .dropdown-avatar:hover:not(.dropdown-avatar-disabled) {
78
+ box-shadow: var(--bh-dropdown-avatar-shadow-hover);
79
+ }
80
+
81
+ .dropdown-avatar:focus:not(.dropdown-avatar-disabled) {
82
+ box-shadow: var(--bh-dropdown-avatar-shadow-focused);
83
+ }
84
+
85
+ .dropdown-avatar-focus {
86
+ box-shadow: var(--bh-dropdown-avatar-shadow-focused);
87
+ }
88
+
89
+ .dropdown-avatar-disabled {
90
+ cursor: not-allowed;
91
+ opacity: var(--bh-dropdown-avatar-opacity-disabled);
92
+ }
93
+
94
+ /* ==========================================================================
95
+ BUTTON STATE WHEN DROPDOWN IS OPEN
96
+ ========================================================================== */
97
+
98
+ .dropdown-open bh-button {
99
+ --button-focus-ring: var(--bh-dropdown-trigger-focus-shadow);
100
+ }
101
+
102
+ /* ==========================================================================
103
+ DROPDOWN MENU
104
+ ========================================================================== */
105
+
106
+ .dropdown-menu {
107
+ width: var(--bh-dropdown-menu-width);
108
+ background: var(--bh-dropdown-menu-bg);
109
+ border-radius: var(--bh-dropdown-menu-radius);
110
+ box-shadow: var(--bh-dropdown-menu-shadow);
111
+ overflow: hidden;
112
+ flex-shrink: 0;
113
+ box-sizing: border-box;
114
+ }
115
+
116
+ /* ==========================================================================
117
+ HEADER SECTION
118
+ ========================================================================== */
119
+
120
+ .dropdown-header {
121
+ padding: var(--bh-dropdown-header-padding);
122
+ border-bottom: 1px solid var(--bh-dropdown-header-border);
123
+ }
124
+
125
+ .dropdown-header-avatar {
126
+ padding: var(--bh-dropdown-header-padding);
127
+ display: flex;
128
+ align-items: center;
129
+ gap: var(--bh-dropdown-header-avatar-gap);
130
+ }
131
+
132
+ /* ==========================================================================
133
+ MENU ITEMS SECTION
134
+ ========================================================================== */
135
+
136
+ .dropdown-menu-items {
137
+ padding: var(--bh-dropdown-menu-items-padding);
138
+ }
139
+
140
+ .dropdown-menu-item {
141
+ display: flex;
142
+ align-items: center;
143
+ gap: var(--bh-dropdown-menu-item-gap);
144
+ padding: var(--bh-dropdown-menu-item-padding);
145
+ width: 100%;
146
+ border: none;
147
+ background: transparent;
148
+ cursor: pointer;
149
+ font-family: var(--bh-dropdown-menu-item-font-family);
150
+ font-weight: var(--bh-dropdown-menu-item-font-weight);
151
+ font-size: var(--bh-dropdown-menu-item-font-size);
152
+ line-height: var(--bh-dropdown-menu-item-line-height);
153
+ color: var(--bh-dropdown-menu-item-text-color);
154
+ text-align: left;
155
+ transition: var(--bh-dropdown-menu-item-transition);
156
+ }
157
+
158
+ .dropdown-menu-item:hover:not(:disabled) {
159
+ background: var(--bh-dropdown-menu-item-bg-hover);
160
+ }
161
+
162
+ .dropdown-menu-item:disabled {
163
+ opacity: var(--bh-dropdown-menu-item-opacity-disabled);
164
+ cursor: not-allowed;
165
+ }
166
+
167
+ .menu-item-icon {
168
+ font-size: var(--bh-dropdown-icon-size);
169
+ color: var(--bh-dropdown-menu-item-icon-color);
170
+ flex-shrink: 0;
171
+ }
172
+
173
+ .menu-item-label {
174
+ flex: 1;
175
+ white-space: nowrap;
176
+ overflow: hidden;
177
+ text-overflow: ellipsis;
178
+ }
179
+
180
+ .menu-item-shortcut {
181
+ font-family: var(--bh-dropdown-menu-item-font-family);
182
+ font-weight: var(--bh-dropdown-menu-item-shortcut-font-weight);
183
+ font-size: var(--bh-dropdown-menu-item-shortcut-font-size);
184
+ line-height: 1.5;
185
+ color: var(--bh-dropdown-menu-item-shortcut-color);
186
+ flex-shrink: 0;
187
+ }
188
+
189
+ /* ==========================================================================
190
+ DIVIDER
191
+ ========================================================================== */
192
+
193
+ .dropdown-divider {
194
+ height: var(--bh-dropdown-divider-height);
195
+ background: var(--bh-dropdown-divider-bg);
196
+ margin: var(--bh-dropdown-divider-margin);
197
+ }
198
+
199
+ /* ==========================================================================
200
+ HEADER COMPONENTS
201
+ ========================================================================== */
202
+
203
+ .header-name {
204
+ font-family: var(--bh-dropdown-menu-item-font-family);
205
+ font-weight: var(--bh-dropdown-header-name-font-weight);
206
+ font-size: var(--bh-dropdown-header-name-font-size);
207
+ line-height: 1.43;
208
+ color: var(--bh-dropdown-header-name-color);
209
+ white-space: nowrap;
210
+ overflow: hidden;
211
+ text-overflow: ellipsis;
212
+ }
213
+
214
+ .header-email {
215
+ font-family: var(--bh-dropdown-menu-item-font-family);
216
+ font-weight: var(--bh-dropdown-header-email-font-weight);
217
+ font-size: var(--bh-dropdown-header-email-font-size);
218
+ line-height: 1.43;
219
+ color: var(--bh-dropdown-header-email-color);
220
+ white-space: nowrap;
221
+ overflow: hidden;
222
+ text-overflow: ellipsis;
223
+ }
224
+
225
+ .header-title {
226
+ font-family: var(--bh-dropdown-menu-item-font-family);
227
+ font-weight: var(--bh-dropdown-header-title-font-weight);
228
+ font-size: var(--bh-dropdown-header-title-font-size);
229
+ line-height: 1.43;
230
+ color: var(--bh-dropdown-header-title-color);
231
+ }
@@ -0,0 +1,219 @@
1
+ /* ==========================================================================
2
+ BH-FEATURED-ICON COMPONENT STYLES
3
+ Uses tokens from _featured-icon.tokens.scss
4
+ ========================================================================== */
5
+
6
+ @use './_featured-icon.tokens.scss';
7
+
8
+ :host {
9
+ display: inline-block;
10
+ }
11
+
12
+ /* ==========================================================================
13
+ BASE CONTAINER
14
+ ========================================================================== */
15
+
16
+ .featured-icon {
17
+ display: inline-flex;
18
+ align-items: center;
19
+ justify-content: center;
20
+ transition: var(--bh-featured-icon-transition);
21
+ }
22
+
23
+ /* ==========================================================================
24
+ SIZE VARIATIONS
25
+ ========================================================================== */
26
+
27
+ .featured-icon-sm {
28
+ width: var(--bh-featured-icon-size-sm);
29
+ height: var(--bh-featured-icon-size-sm);
30
+ border-radius: var(--bh-featured-icon-radius-sm);
31
+ }
32
+
33
+ .featured-icon-md {
34
+ width: var(--bh-featured-icon-size-md);
35
+ height: var(--bh-featured-icon-size-md);
36
+ border-radius: var(--bh-featured-icon-radius-md);
37
+ }
38
+
39
+ .featured-icon-lg {
40
+ width: var(--bh-featured-icon-size-lg);
41
+ height: var(--bh-featured-icon-size-lg);
42
+ border-radius: var(--bh-featured-icon-radius-lg);
43
+ }
44
+
45
+ .featured-icon-xl {
46
+ width: var(--bh-featured-icon-size-xl);
47
+ height: var(--bh-featured-icon-size-xl);
48
+ border-radius: var(--bh-featured-icon-radius-xl);
49
+ }
50
+
51
+ /* ==========================================================================
52
+ ICON SIZES
53
+ ========================================================================== */
54
+
55
+ .icon-sm {
56
+ font-size: var(--bh-featured-icon-icon-size-sm);
57
+ width: var(--bh-featured-icon-icon-size-sm);
58
+ height: var(--bh-featured-icon-icon-size-sm);
59
+ line-height: 1;
60
+ }
61
+
62
+ .icon-md {
63
+ font-size: var(--bh-featured-icon-icon-size-md);
64
+ width: var(--bh-featured-icon-icon-size-md);
65
+ height: var(--bh-featured-icon-icon-size-md);
66
+ line-height: 1;
67
+ }
68
+
69
+ .icon-lg {
70
+ font-size: var(--bh-featured-icon-icon-size-lg);
71
+ width: var(--bh-featured-icon-icon-size-lg);
72
+ height: var(--bh-featured-icon-icon-size-lg);
73
+ line-height: 1;
74
+ }
75
+
76
+ .icon-xl {
77
+ font-size: var(--bh-featured-icon-icon-size-xl);
78
+ width: var(--bh-featured-icon-icon-size-xl);
79
+ height: var(--bh-featured-icon-icon-size-xl);
80
+ line-height: 1;
81
+ }
82
+
83
+ /* ==========================================================================
84
+ OUTLINED STYLES
85
+ ========================================================================== */
86
+
87
+ /* Brand color - Outlined */
88
+ .featured-icon-brand.featured-icon-outlined {
89
+ background-color: transparent;
90
+ border: var(--bh-featured-icon-outlined-border-width) solid var(--bh-featured-icon-outlined-border-color);
91
+ }
92
+
93
+ .featured-icon-brand.featured-icon-outlined .material-symbols-outlined {
94
+ color: var(--bh-featured-icon-brand-icon);
95
+ }
96
+
97
+ /* Gray color - Outlined */
98
+ .featured-icon-gray.featured-icon-outlined {
99
+ border: var(--bh-featured-icon-outlined-border-width) solid var(--bh-featured-icon-outlined-border-color);
100
+ background-color: transparent;
101
+ }
102
+
103
+ .featured-icon-gray.featured-icon-outlined .material-symbols-outlined {
104
+ color: var(--bh-featured-icon-gray-icon);
105
+ }
106
+
107
+ /* Error color - Outlined */
108
+ .featured-icon-error.featured-icon-outlined {
109
+ border: var(--bh-featured-icon-outlined-border-width) solid var(--bh-featured-icon-outlined-border-color);
110
+ background-color: transparent;
111
+ }
112
+
113
+ .featured-icon-error.featured-icon-outlined .material-symbols-outlined {
114
+ color: var(--bh-featured-icon-error-icon);
115
+ }
116
+
117
+ /* Warning color - Outlined */
118
+ .featured-icon-warning.featured-icon-outlined {
119
+ border: var(--bh-featured-icon-outlined-border-width) solid var(--bh-featured-icon-outlined-border-color);
120
+ background-color: transparent;
121
+ }
122
+
123
+ .featured-icon-warning.featured-icon-outlined .material-symbols-outlined {
124
+ color: var(--bh-featured-icon-warning-icon);
125
+ }
126
+
127
+ /* Success color - Outlined */
128
+ .featured-icon-success.featured-icon-outlined {
129
+ border: var(--bh-featured-icon-outlined-border-width) solid var(--bh-featured-icon-outlined-border-color);
130
+ background-color: transparent;
131
+ }
132
+
133
+ .featured-icon-success.featured-icon-outlined .material-symbols-outlined {
134
+ color: var(--bh-featured-icon-success-icon);
135
+ }
136
+
137
+ /* Highlight color - Outlined */
138
+ .featured-icon-highlight.featured-icon-outlined {
139
+ border: var(--bh-featured-icon-outlined-border-width) solid var(--bh-featured-icon-outlined-border-color);
140
+ background-color: transparent;
141
+ }
142
+
143
+ .featured-icon-highlight.featured-icon-outlined .material-symbols-outlined {
144
+ color: var(--bh-featured-icon-highlight-icon);
145
+ }
146
+
147
+ /* ==========================================================================
148
+ FILLED STYLES
149
+ ========================================================================== */
150
+
151
+ /* Brand color - Filled */
152
+ .featured-icon-brand.featured-icon-filled {
153
+ background-color: var(--bh-featured-icon-brand-bg-filled);
154
+ border: none;
155
+ }
156
+
157
+ .featured-icon-brand.featured-icon-filled .material-symbols-outlined {
158
+ color: var(--bh-featured-icon-brand-icon);
159
+ }
160
+
161
+ /* Gray color - Filled */
162
+ .featured-icon-gray.featured-icon-filled {
163
+ background-color: var(--bh-featured-icon-gray-bg-filled);
164
+ border: none;
165
+ }
166
+
167
+ .featured-icon-gray.featured-icon-filled .material-symbols-outlined {
168
+ color: var(--bh-featured-icon-gray-icon);
169
+ }
170
+
171
+ /* Error color - Filled */
172
+ .featured-icon-error.featured-icon-filled {
173
+ background-color: var(--bh-featured-icon-error-bg-filled);
174
+ border: none;
175
+ }
176
+
177
+ .featured-icon-error.featured-icon-filled .material-symbols-outlined {
178
+ color: var(--bh-featured-icon-error-icon);
179
+ }
180
+
181
+ /* Warning color - Filled */
182
+ .featured-icon-warning.featured-icon-filled {
183
+ background-color: var(--bh-featured-icon-warning-bg-filled);
184
+ border: none;
185
+ }
186
+
187
+ .featured-icon-warning.featured-icon-filled .material-symbols-outlined {
188
+ color: var(--bh-featured-icon-warning-icon);
189
+ }
190
+
191
+ /* Success color - Filled */
192
+ .featured-icon-success.featured-icon-filled {
193
+ background-color: var(--bh-featured-icon-success-bg-filled);
194
+ border: none;
195
+ }
196
+
197
+ .featured-icon-success.featured-icon-filled .material-symbols-outlined {
198
+ color: var(--bh-featured-icon-success-icon);
199
+ }
200
+
201
+ /* Highlight color - Filled */
202
+ .featured-icon-highlight.featured-icon-filled {
203
+ background-color: var(--bh-featured-icon-highlight-bg-filled);
204
+ border: none;
205
+ }
206
+
207
+ .featured-icon-highlight.featured-icon-filled .material-symbols-outlined {
208
+ color: var(--bh-featured-icon-highlight-icon);
209
+ }
210
+
211
+ /* ==========================================================================
212
+ MATERIAL SYMBOLS BASE STYLES
213
+ ========================================================================== */
214
+
215
+ .material-symbols-outlined {
216
+ font-family: 'Material Symbols Outlined';
217
+ font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
218
+ user-select: none;
219
+ }