@actabldesign/bellhop-styles 0.0.3 → 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.
- package/README.md +105 -70
- package/dist/index.css +1538 -0
- package/dist/utilities.css +5730 -0
- package/llms.txt +2852 -0
- package/package.json +29 -20
- package/project.json +29 -0
- package/rollup.config.js +44 -0
- package/{base → src/base}/normalize.css +4 -0
- package/src/bh-tokens/_primitives.scss +296 -0
- package/src/bh-tokens/_semantic.scss +158 -0
- package/src/bh-tokens/components/_avatar.tokens.scss +64 -0
- package/src/bh-tokens/components/_badge-dot.tokens.scss +33 -0
- package/src/bh-tokens/components/_badge.tokens.scss +61 -0
- package/src/bh-tokens/components/_button-icon.tokens.scss +65 -0
- package/src/bh-tokens/components/_button.tokens.scss +185 -0
- package/src/bh-tokens/components/_checkbox.tokens.scss +67 -0
- package/src/bh-tokens/components/_dropdown.tokens.scss +103 -0
- package/src/bh-tokens/components/_featured-icon.tokens.scss +57 -0
- package/src/bh-tokens/components/_input-number.tokens.scss +50 -0
- package/src/bh-tokens/components/_input.tokens.scss +86 -0
- package/src/bh-tokens/components/_label.tokens.scss +37 -0
- package/src/bh-tokens/components/_modal.tokens.scss +42 -0
- package/src/bh-tokens/components/_pagination.tokens.scss +104 -0
- package/src/bh-tokens/components/_password.tokens.scss +63 -0
- package/src/bh-tokens/components/_progress-bar.tokens.scss +34 -0
- package/src/bh-tokens/components/_progress-spinner.tokens.scss +51 -0
- package/src/bh-tokens/components/_radiobutton.tokens.scss +90 -0
- package/src/bh-tokens/components/_skeleton.tokens.scss +22 -0
- package/src/bh-tokens/components/_textarea.tokens.scss +76 -0
- package/src/bh-tokens/components/_toggle.tokens.scss +74 -0
- package/src/bh-tokens/components/avatar.scss +288 -0
- package/src/bh-tokens/components/badge-dot.scss +177 -0
- package/src/bh-tokens/components/badge.scss +497 -0
- package/src/bh-tokens/components/button-icon.scss +227 -0
- package/src/bh-tokens/components/button.scss +640 -0
- package/src/bh-tokens/components/checkbox.scss +254 -0
- package/src/bh-tokens/components/dropdown.scss +231 -0
- package/src/bh-tokens/components/featured-icon.scss +219 -0
- package/src/bh-tokens/components/input-number.scss +147 -0
- package/src/bh-tokens/components/input.scss +271 -0
- package/src/bh-tokens/components/label.scss +176 -0
- package/src/bh-tokens/components/modal.scss +103 -0
- package/src/bh-tokens/components/pagination.scss +324 -0
- package/src/bh-tokens/components/password.scss +193 -0
- package/src/bh-tokens/components/progress-bar.scss +124 -0
- package/src/bh-tokens/components/progress-spinner.scss +130 -0
- package/src/bh-tokens/components/radiobutton.scss +193 -0
- package/src/bh-tokens/components/skeleton.scss +50 -0
- package/src/bh-tokens/components/textarea.scss +228 -0
- package/src/bh-tokens/components/toggle.scss +320 -0
- package/src/index.css +22 -0
- package/src/mixins/_responsive.scss +167 -0
- package/src/tokens/bellhop-animations.css +392 -0
- package/src/tokens/bellhop-global.css +175 -0
- package/src/tokens/bellhop-icons.css +77 -0
- package/src/tokens/bellhop-layout.css +216 -0
- package/src/tokens/bellhop-primary-colors.css +96 -0
- package/src/tokens/bellhop-radius.css +14 -0
- package/src/tokens/bellhop-secondary-colors.css +154 -0
- package/src/tokens/bellhop-shadows.css +55 -0
- package/src/tokens/bellhop-spacing.css +66 -0
- package/src/tokens/bellhop-styles.css +174 -0
- package/src/tokens/bellhop-typography.css +146 -0
- package/src/tokens/colors.json +737 -0
- package/src/tokens/colors.mdx +59 -0
- package/src/tokens/index.css +17 -0
- package/src/utilities/_breakpoints.scss +19 -0
- package/src/utilities/_flex.scss +228 -0
- package/src/utilities/_grid.scss +189 -0
- package/src/utilities/_index.scss +32 -0
- package/src/utilities/_scrollable.scss +239 -0
- package/src/utilities/_sizing.scss +229 -0
- package/src/utilities/_spacing.scss +187 -0
- package/src/utilities/_truncation.scss +126 -0
- package/src/utilities/_visibility.scss +117 -0
- package/src/utilities.scss +32 -0
- package/components/appbar.css +0 -167
- package/components/autocomplete-menu.css +0 -142
- package/components/avatar-add.css +0 -112
- package/components/avatar.css +0 -253
- package/components/badge-dot.css +0 -78
- package/components/badge.css +0 -337
- package/components/bar-chart-card.css +0 -261
- package/components/bar-chart.css +0 -149
- package/components/breadcrumbs.css +0 -136
- package/components/button.css +0 -266
- package/components/chart-tooltip.css +0 -96
- package/components/checkbox-label.css +0 -53
- package/components/checkbox.css +0 -127
- package/components/container-footer.css +0 -22
- package/components/container.css +0 -17
- package/components/date-picker-content.css +0 -337
- package/components/date-picker.css +0 -103
- package/components/date-range-picker-content.css +0 -85
- package/components/date-range-picker.css +0 -72
- package/components/dropdown-menu.css +0 -204
- package/components/dropdown.css +0 -126
- package/components/empty-state.css +0 -83
- package/components/featured-icon.css +0 -194
- package/components/illustrations.css +0 -120
- package/components/input-autocomplete.css +0 -158
- package/components/input-number.css +0 -2
- package/components/input-verification.css +0 -137
- package/components/input.css +0 -374
- package/components/loader-spinner.css +0 -421
- package/components/logo-box.css +0 -85
- package/components/month-picker-content.css +0 -190
- package/components/month-picker.css +0 -83
- package/components/nav-item.css +0 -110
- package/components/notification.css +0 -262
- package/components/page-navigation.css +0 -294
- package/components/picker-menu.css +0 -43
- package/components/pie-chart-card.css +0 -213
- package/components/pie-chart.css +0 -80
- package/components/product-switcher.css +0 -127
- package/components/property-switcher.css +0 -95
- package/components/radio-button-label.css +0 -53
- package/components/radio-button.css +0 -134
- package/components/sidebar.css +0 -178
- package/components/skeleton-loader.css +0 -47
- package/components/tag.css +0 -214
- package/components/textarea.css +0 -211
- package/components/toggle.css +0 -298
- package/components/tooltip.css +0 -85
- package/components/trend-chart-card.css +0 -189
- package/components/trend-chart.css +0 -94
- package/index.css +0 -8115
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
## Base colors palette
|
|
2
|
+
Semantic colors values and base colors palette.
|
|
3
|
+
|
|
4
|
+
In the semantic palette, which defines colors based on how they are used, each and every semantic color points to color from a base palette. It means that all our semantic colors refer to this base palette.
|
|
5
|
+
|
|
6
|
+
## Primary colors
|
|
7
|
+
These are the main neutral, brand and feedback colors that make up the majority of the colors used in the design system and components.
|
|
8
|
+
|
|
9
|
+
### Base
|
|
10
|
+
These are base black and white color styles to quickly swap out if you need to.
|
|
11
|
+
### Neutral
|
|
12
|
+
Gray is a neutral color and is the foundation of the color system. Almost everything in UI design — text, form fields, backgrounds, dividers — are usually gray. Maps from gray-cool
|
|
13
|
+
### Brand
|
|
14
|
+
The brand color is your "primary" color, and is used across all interactive elements such as buttons, links, inputs, etc. It can define the overall feel and can elicit emotion. Uses Indigo color.Brand colors are defined based on Actabl's Brand Guidelines. Maps from indigo
|
|
15
|
+
### Accent
|
|
16
|
+
The accent color is used to accentuate and complement the primary colors. Uses Guava color.Brand colors are defined based on Actabl's Brand Guidelines. Maps from guava.
|
|
17
|
+
|
|
18
|
+
## Support colors
|
|
19
|
+
|
|
20
|
+
### Error - feedback
|
|
21
|
+
Error colors are used across error states and in "destructive" actions. They communicate a destructive/negative action, such as removing a user from your team. Maps from red
|
|
22
|
+
### Warning - feedback
|
|
23
|
+
Warning colors can communicate that an action is potentially destructive or "on-hold". These colors are commonly used in confirmations to grab the users' attention. Maps from red
|
|
24
|
+
### Success - feedback
|
|
25
|
+
Success colors communicate a positive action, positive trend, or a successful confirmation. If you're using green as your primary color, it can be helpful to introduce a different hue for your success green.
|
|
26
|
+
|
|
27
|
+
## Extended colors
|
|
28
|
+
Along with primary colors, it's helpful to have a selection of secondary colors to use in components such as pills, alerts and labels. These secondary colors should be used sparingly or as accents, while the primary color(s) should take precedence.
|
|
29
|
+
|
|
30
|
+
### Gray cool
|
|
31
|
+
Can be swapped with the default neutral color.
|
|
32
|
+
### Lime
|
|
33
|
+
Can be swapped with the default success color.
|
|
34
|
+
### Teal
|
|
35
|
+
Can be swapped with the default success color.
|
|
36
|
+
### Blue
|
|
37
|
+
### Indigo
|
|
38
|
+
### Purple
|
|
39
|
+
### Purple Lavender
|
|
40
|
+
### Pink
|
|
41
|
+
### Guava / Rose
|
|
42
|
+
### Orange
|
|
43
|
+
Can be swapped with the default warning color.
|
|
44
|
+
### Yellow
|
|
45
|
+
Can be swapped with the default warning color.
|
|
46
|
+
|
|
47
|
+
## DataViz colors
|
|
48
|
+
#5068DD
|
|
49
|
+
#A05DA8
|
|
50
|
+
#5D6B98
|
|
51
|
+
#E26E76
|
|
52
|
+
#7498FB
|
|
53
|
+
#BB81BA
|
|
54
|
+
#7D89B0
|
|
55
|
+
#E38C91
|
|
56
|
+
#8DAAFC
|
|
57
|
+
#CFA5CE
|
|
58
|
+
#B9C0D4
|
|
59
|
+
#E9AAAE
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/* ==========================================================================
|
|
2
|
+
BELLHOP DESIGN TOKENS
|
|
3
|
+
Shared design system tokens for all frameworks
|
|
4
|
+
========================================================================== */
|
|
5
|
+
|
|
6
|
+
/* Import all design token files */
|
|
7
|
+
@import './bellhop-primary-colors.css';
|
|
8
|
+
@import './bellhop-secondary-colors.css';
|
|
9
|
+
@import './bellhop-typography.css';
|
|
10
|
+
@import './bellhop-spacing.css';
|
|
11
|
+
@import './bellhop-radius.css';
|
|
12
|
+
@import './bellhop-shadows.css';
|
|
13
|
+
@import './bellhop-animations.css';
|
|
14
|
+
@import './bellhop-layout.css';
|
|
15
|
+
@import './bellhop-icons.css';
|
|
16
|
+
@import './bellhop-global.css';
|
|
17
|
+
@import './bellhop-styles.css';
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/* ==========================================================================
|
|
2
|
+
BELLHOP UTILITIES - BREAKPOINTS
|
|
3
|
+
Exposes breakpoint values as CSS custom properties for JavaScript access
|
|
4
|
+
|
|
5
|
+
Dependencies:
|
|
6
|
+
- _semantic.scss (tokens)
|
|
7
|
+
|
|
8
|
+
Note: Breakpoint values are already defined in _semantic.scss:
|
|
9
|
+
- --min-width-breakpoint-mobile
|
|
10
|
+
- --min-width-breakpoint-tablet
|
|
11
|
+
- --min-width-breakpoint-desktop
|
|
12
|
+
- --min-width-breakpoint-wide
|
|
13
|
+
|
|
14
|
+
This file exists for completeness but doesn't generate additional classes.
|
|
15
|
+
Use the responsive mixins from mixins/_responsive.scss for media queries.
|
|
16
|
+
========================================================================== */
|
|
17
|
+
|
|
18
|
+
// No additional classes needed - breakpoints are consumed via SCSS mixins
|
|
19
|
+
// CSS custom properties already exist in _semantic.scss
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
/* ==========================================================================
|
|
2
|
+
BELLHOP UTILITIES - FLEX
|
|
3
|
+
Flexbox layout and alignment utilities
|
|
4
|
+
|
|
5
|
+
Dependencies:
|
|
6
|
+
- _semantic.scss (tokens)
|
|
7
|
+
- _responsive.scss (breakpoint mixins)
|
|
8
|
+
|
|
9
|
+
Generated classes:
|
|
10
|
+
- .bh-flex, .bh-inline-flex (display)
|
|
11
|
+
- .bh-flex-row, .bh-flex-col (direction)
|
|
12
|
+
- .bh-flex-wrap (wrapping)
|
|
13
|
+
- .bh-justify_{alignment} (main axis)
|
|
14
|
+
- .bh-align_{alignment} (cross axis)
|
|
15
|
+
- .bh-self_{alignment} (self alignment)
|
|
16
|
+
- .bh-flex_{grow/shrink} (grow/shrink)
|
|
17
|
+
========================================================================== */
|
|
18
|
+
|
|
19
|
+
@use '../mixins/responsive' as *;
|
|
20
|
+
|
|
21
|
+
/* --- BASE FLEX --- */
|
|
22
|
+
|
|
23
|
+
.bh-flex {
|
|
24
|
+
display: flex;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.bh-inline-flex {
|
|
28
|
+
display: inline-flex;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
/* --- FLEX DIRECTION --- */
|
|
32
|
+
|
|
33
|
+
.bh-flex-row {
|
|
34
|
+
flex-direction: row;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.bh-flex-row-reverse {
|
|
38
|
+
flex-direction: row-reverse;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.bh-flex-col {
|
|
42
|
+
flex-direction: column;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.bh-flex-col-reverse {
|
|
46
|
+
flex-direction: column-reverse;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/* --- FLEX WRAP --- */
|
|
50
|
+
|
|
51
|
+
.bh-flex-wrap {
|
|
52
|
+
flex-wrap: wrap;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.bh-flex-wrap-reverse {
|
|
56
|
+
flex-wrap: wrap-reverse;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.bh-flex-nowrap {
|
|
60
|
+
flex-wrap: nowrap;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/* --- JUSTIFY CONTENT (Main Axis) --- */
|
|
64
|
+
|
|
65
|
+
.bh-justify_start {
|
|
66
|
+
justify-content: flex-start;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.bh-justify_end {
|
|
70
|
+
justify-content: flex-end;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.bh-justify_center {
|
|
74
|
+
justify-content: center;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.bh-justify_between {
|
|
78
|
+
justify-content: space-between;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
.bh-justify_around {
|
|
82
|
+
justify-content: space-around;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.bh-justify_evenly {
|
|
86
|
+
justify-content: space-evenly;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.bh-justify_stretch {
|
|
90
|
+
justify-content: stretch;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/* --- ALIGN ITEMS (Cross Axis) --- */
|
|
94
|
+
|
|
95
|
+
.bh-align_start {
|
|
96
|
+
align-items: flex-start;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.bh-align_end {
|
|
100
|
+
align-items: flex-end;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.bh-align_center {
|
|
104
|
+
align-items: center;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.bh-align_baseline {
|
|
108
|
+
align-items: baseline;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.bh-align_stretch {
|
|
112
|
+
align-items: stretch;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/* --- ALIGN CONTENT (Multi-line) --- */
|
|
116
|
+
|
|
117
|
+
.bh-align-content_start {
|
|
118
|
+
align-content: flex-start;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.bh-align-content_end {
|
|
122
|
+
align-content: flex-end;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.bh-align-content_center {
|
|
126
|
+
align-content: center;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
.bh-align-content_between {
|
|
130
|
+
align-content: space-between;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
.bh-align-content_around {
|
|
134
|
+
align-content: space-around;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.bh-align-content_evenly {
|
|
138
|
+
align-content: space-evenly;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.bh-align-content_stretch {
|
|
142
|
+
align-content: stretch;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/* --- ALIGN SELF --- */
|
|
146
|
+
|
|
147
|
+
.bh-self_auto {
|
|
148
|
+
align-self: auto;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
.bh-self_start {
|
|
152
|
+
align-self: flex-start;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
.bh-self_end {
|
|
156
|
+
align-self: flex-end;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
.bh-self_center {
|
|
160
|
+
align-self: center;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
.bh-self_baseline {
|
|
164
|
+
align-self: baseline;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
.bh-self_stretch {
|
|
168
|
+
align-self: stretch;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
/* --- FLEX GROW/SHRINK/BASIS --- */
|
|
172
|
+
|
|
173
|
+
.bh-flex_1 {
|
|
174
|
+
flex: 1 1 0%;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
.bh-flex_auto {
|
|
178
|
+
flex: 1 1 auto;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
.bh-flex_initial {
|
|
182
|
+
flex: 0 1 auto;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
.bh-flex_none {
|
|
186
|
+
flex: none;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
/* --- FLEX GROW --- */
|
|
190
|
+
|
|
191
|
+
.bh-grow {
|
|
192
|
+
flex-grow: 1;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
.bh-grow_0 {
|
|
196
|
+
flex-grow: 0;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
/* --- FLEX SHRINK --- */
|
|
200
|
+
|
|
201
|
+
.bh-shrink {
|
|
202
|
+
flex-shrink: 1;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
.bh-shrink_0 {
|
|
206
|
+
flex-shrink: 0;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
/* --- ORDER --- */
|
|
210
|
+
|
|
211
|
+
.bh-order_first {
|
|
212
|
+
order: -9999;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
.bh-order_last {
|
|
216
|
+
order: 9999;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
.bh-order_none {
|
|
220
|
+
order: 0;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
// Generate .bh-order_1 through .bh-order_12
|
|
224
|
+
@for $i from 1 through 12 {
|
|
225
|
+
.bh-order_#{$i} {
|
|
226
|
+
order: $i;
|
|
227
|
+
}
|
|
228
|
+
}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
/* ==========================================================================
|
|
2
|
+
BELLHOP UTILITIES - GRID
|
|
3
|
+
CSS Grid layout utilities
|
|
4
|
+
|
|
5
|
+
Dependencies:
|
|
6
|
+
- _semantic.scss (tokens)
|
|
7
|
+
- _responsive.scss (breakpoint mixins)
|
|
8
|
+
|
|
9
|
+
Generated classes:
|
|
10
|
+
- .bh-grid (display: grid)
|
|
11
|
+
- .bh-grid-cols_{n} (grid-template-columns)
|
|
12
|
+
- .bh-grid-cols_auto-fit (responsive auto-fit)
|
|
13
|
+
- .bh-col-span_{n} (grid-column span)
|
|
14
|
+
- .bh-grid-rows_{n} (grid-template-rows)
|
|
15
|
+
- .bh-grid-place_{alignment} (place-items)
|
|
16
|
+
- Responsive variants for column counts
|
|
17
|
+
========================================================================== */
|
|
18
|
+
|
|
19
|
+
@use '../mixins/responsive' as *;
|
|
20
|
+
|
|
21
|
+
/* --- BASE GRID --- */
|
|
22
|
+
|
|
23
|
+
.bh-grid {
|
|
24
|
+
display: grid;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/* --- GRID COLUMNS (Explicit) --- */
|
|
28
|
+
|
|
29
|
+
// Generate .bh-grid-cols_1 through .bh-grid-cols_12 with responsive variants
|
|
30
|
+
@for $i from 1 through 12 {
|
|
31
|
+
@include generate-responsive(
|
|
32
|
+
'bh-grid-cols_#{$i}',
|
|
33
|
+
(
|
|
34
|
+
'grid-template-columns': repeat($i, minmax(0, 1fr)),
|
|
35
|
+
)
|
|
36
|
+
);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/* --- GRID COLUMNS (Auto-fit Responsive) --- */
|
|
40
|
+
|
|
41
|
+
.bh-grid-cols_auto-fit {
|
|
42
|
+
grid-template-columns: repeat(
|
|
43
|
+
auto-fit,
|
|
44
|
+
minmax(var(--bh-grid-min, 280px), 1fr)
|
|
45
|
+
);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/* --- COLUMN SPAN --- */
|
|
49
|
+
|
|
50
|
+
// Generate .bh-col-span_1 through .bh-col-span_12
|
|
51
|
+
@for $i from 1 through 12 {
|
|
52
|
+
.bh-col-span_#{$i} {
|
|
53
|
+
grid-column: span #{$i} / span #{$i};
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// Full width column span
|
|
58
|
+
.bh-col-span_full {
|
|
59
|
+
grid-column: 1 / -1;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/* --- GRID ROWS --- */
|
|
63
|
+
|
|
64
|
+
// Generate .bh-grid-rows_1 through .bh-grid-rows_6
|
|
65
|
+
@for $i from 1 through 6 {
|
|
66
|
+
.bh-grid-rows_#{$i} {
|
|
67
|
+
grid-template-rows: repeat($i, minmax(0, 1fr));
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/* --- ROW SPAN --- */
|
|
72
|
+
|
|
73
|
+
// Generate .bh-row-span_1 through .bh-row-span_6
|
|
74
|
+
@for $i from 1 through 6 {
|
|
75
|
+
.bh-row-span_#{$i} {
|
|
76
|
+
grid-row: span #{$i} / span #{$i};
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
// Full height row span
|
|
81
|
+
.bh-row-span_full {
|
|
82
|
+
grid-row: 1 / -1;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/* --- GRID ALIGNMENT --- */
|
|
86
|
+
|
|
87
|
+
// Place items (both axes)
|
|
88
|
+
.bh-grid-place_center {
|
|
89
|
+
place-items: center;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.bh-grid-place_start {
|
|
93
|
+
place-items: start;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.bh-grid-place_end {
|
|
97
|
+
place-items: end;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.bh-grid-place_stretch {
|
|
101
|
+
place-items: stretch;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
// Justify items (inline/horizontal axis)
|
|
105
|
+
.bh-grid-justify_start {
|
|
106
|
+
justify-items: start;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.bh-grid-justify_end {
|
|
110
|
+
justify-items: end;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.bh-grid-justify_center {
|
|
114
|
+
justify-items: center;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.bh-grid-justify_stretch {
|
|
118
|
+
justify-items: stretch;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
// Align items (block/vertical axis)
|
|
122
|
+
.bh-grid-align_start {
|
|
123
|
+
align-items: start;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.bh-grid-align_end {
|
|
127
|
+
align-items: end;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.bh-grid-align_center {
|
|
131
|
+
align-items: center;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
.bh-grid-align_stretch {
|
|
135
|
+
align-items: stretch;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
.bh-grid-align_baseline {
|
|
139
|
+
align-items: baseline;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
/* --- GRID CONTENT ALIGNMENT --- */
|
|
143
|
+
|
|
144
|
+
// Place content (both axes)
|
|
145
|
+
.bh-grid-place-content_center {
|
|
146
|
+
place-content: center;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
.bh-grid-place-content_start {
|
|
150
|
+
place-content: start;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
.bh-grid-place-content_end {
|
|
154
|
+
place-content: end;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
.bh-grid-place-content_between {
|
|
158
|
+
place-content: space-between;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
.bh-grid-place-content_around {
|
|
162
|
+
place-content: space-around;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
.bh-grid-place-content_evenly {
|
|
166
|
+
place-content: space-evenly;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
/* --- GRID FLOW --- */
|
|
170
|
+
|
|
171
|
+
.bh-grid-flow_row {
|
|
172
|
+
grid-auto-flow: row;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
.bh-grid-flow_col {
|
|
176
|
+
grid-auto-flow: column;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
.bh-grid-flow_dense {
|
|
180
|
+
grid-auto-flow: dense;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
.bh-grid-flow_row-dense {
|
|
184
|
+
grid-auto-flow: row dense;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
.bh-grid-flow_col-dense {
|
|
188
|
+
grid-auto-flow: column dense;
|
|
189
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/* ==========================================================================
|
|
2
|
+
BELLHOP UTILITIES - BARREL FILE
|
|
3
|
+
Central import point for all utility modules
|
|
4
|
+
|
|
5
|
+
Phase 1: Foundation (Current)
|
|
6
|
+
- Breakpoints
|
|
7
|
+
- Spacing (margin, padding, gap)
|
|
8
|
+
|
|
9
|
+
Phase 2: Layout (Planned)
|
|
10
|
+
- Grid
|
|
11
|
+
- Flex
|
|
12
|
+
- Sizing
|
|
13
|
+
|
|
14
|
+
Phase 3: Content (Planned)
|
|
15
|
+
- Visibility
|
|
16
|
+
- Truncation
|
|
17
|
+
- Scrollable
|
|
18
|
+
========================================================================== */
|
|
19
|
+
|
|
20
|
+
// Phase 1: Foundation
|
|
21
|
+
@forward './breakpoints';
|
|
22
|
+
@forward './spacing';
|
|
23
|
+
|
|
24
|
+
// Phase 2: Layout
|
|
25
|
+
@forward './grid';
|
|
26
|
+
@forward './flex';
|
|
27
|
+
@forward './sizing';
|
|
28
|
+
|
|
29
|
+
// Phase 3: Content
|
|
30
|
+
@forward './visibility';
|
|
31
|
+
@forward './truncation';
|
|
32
|
+
@forward './scrollable';
|