@brady_h/styles 1.0.4 → 1.0.6

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 ADDED
@@ -0,0 +1,371 @@
1
+ # @brady_h/styles
2
+
3
+ A reusable SCSS foundation providing shared design tokens, responsive breakpoints, Sass functions, mixins, and utility classes for web projects.
4
+
5
+ Designed to keep styling consistent across multiple applications while reducing duplicated SCSS code.
6
+
7
+ ## Installation
8
+
9
+ ```bash
10
+ npm install @brady_h/styles
11
+ ```
12
+
13
+ ## Getting Started
14
+
15
+ The package provides two ways to use its styling resources:
16
+
17
+ - **Sass APIs:** Variables, maps, functions, breakpoints, and mixins.
18
+ - **Utility classes:** Predefined global CSS classes for common styling needs.
19
+
20
+ ### Sass Variables, Functions & Mixins
21
+
22
+ Import the package into any SCSS file:
23
+
24
+ ```scss
25
+ @use "@brady_h/styles" as *;
26
+
27
+ .container {
28
+ @include flex-center;
29
+
30
+ @include mobile-query {
31
+ flex-direction: column;
32
+ }
33
+ }
34
+ ```
35
+
36
+ Using a namespace is also supported:
37
+
38
+ ```scss
39
+ @use "@brady_h/styles" as styles;
40
+
41
+ .container {
42
+ @include styles.flex-center;
43
+ padding: styles.to-rem(24px);
44
+ }
45
+ ```
46
+
47
+ ## Available Features
48
+
49
+ ### Variables
50
+
51
+ Reusable design tokens and Sass maps.
52
+
53
+ | Variable | Description |
54
+ | ----------------- | ---------------------------- |
55
+ | `$spacing` | Spacing scale |
56
+ | `$sizing` | Sizing values |
57
+ | `$border-radius` | Border radius values |
58
+ | `$border-width` | Border widths |
59
+ | `$border-style` | Border styles |
60
+ | `$z-index` | Z-index scale |
61
+ | `$font-size` | Font sizes |
62
+ | `$font-weight` | Font weights |
63
+ | `$line-height` | Line heights |
64
+ | `$letter-spacing` | Letter spacing |
65
+ | `$opacity` | Opacity values |
66
+ | `$box-shadow` | Box shadow presets |
67
+ | `$breakpoints` | Responsive breakpoint values |
68
+
69
+ Example:
70
+
71
+ ```scss
72
+ @use "sass:map";
73
+ @use "@brady_h/styles" as *;
74
+
75
+ .card {
76
+ padding: map.get($spacing, 4);
77
+ border-radius: map.get($border-radius, md);
78
+ box-shadow: map.get($box-shadow, md);
79
+ }
80
+ ```
81
+
82
+ ### Breakpoints
83
+
84
+ Responsive breakpoint values and helper functions.
85
+
86
+ Default breakpoints:
87
+
88
+ | Name | Width |
89
+ | ----- | -----: |
90
+ | `xs` | 320px |
91
+ | `sm` | 576px |
92
+ | `md` | 768px |
93
+ | `lg` | 992px |
94
+ | `xl` | 1200px |
95
+ | `xxl` | 1400px |
96
+
97
+ Example:
98
+
99
+ ```scss
100
+ @use "@brady_h/styles" as *;
101
+
102
+ .container {
103
+ width: 100%;
104
+
105
+ @include respond-up(md) {
106
+ width: 80%;
107
+ }
108
+ }
109
+ ```
110
+
111
+ ### Mixins
112
+
113
+ Reusable styling patterns for common layouts and responsive behavior.
114
+
115
+ Examples include:
116
+
117
+ - `flex-center`
118
+ - `flex-between`
119
+ - `flex-start`
120
+ - `flex-end`
121
+ - `flex-column`
122
+ - `flex-column-center`
123
+ - `grid-center`
124
+ - `grid-auto-fit`
125
+ - `grid-auto-fill`
126
+ - `text-truncate`
127
+ - `visually-hidden`
128
+ - `focus-ring`
129
+ - `mobile-query`
130
+ - `not-mobile-query`
131
+ - `respond-up`
132
+ - `respond-down`
133
+ - `touch-query`
134
+ - `pointer-query`
135
+ - `scrollbar-hide`
136
+ - `no-transition`
137
+
138
+ Example:
139
+
140
+ ```scss
141
+ @use "@brady_h/styles" as *;
142
+
143
+ .card {
144
+ @include flex-column;
145
+ @include focus-ring;
146
+ }
147
+ ```
148
+
149
+ ### Functions
150
+
151
+ Reusable Sass functions for working with design tokens, units, colors, sizing, and calculations.
152
+
153
+ Examples include:
154
+
155
+ - `to-rem()`
156
+ - `to-em()`
157
+ - `to-px()`
158
+ - `strip-unit()`
159
+ - `spacing()`
160
+ - `radius()`
161
+ - `font-size()`
162
+ - `font-weight()`
163
+ - `line-height()`
164
+ - `shadow()`
165
+ - `z-index()`
166
+ - `fluid-size()`
167
+ - `fluid-spacing()`
168
+ - `clamp-value()`
169
+ - `color-opacity()`
170
+ - `lighten-color()`
171
+ - `darken-color()`
172
+
173
+ Example:
174
+
175
+ ```scss
176
+ @use "@brady_h/styles" as *;
177
+
178
+ .heading {
179
+ font-size: to-rem(32px);
180
+ }
181
+ ```
182
+
183
+ ## Utility Classes
184
+
185
+ The package also provides predefined utility classes for common styling requirements.
186
+
187
+ ### Installation
188
+
189
+ Import the utility stylesheet once in your application's global SCSS file:
190
+
191
+ ```scss
192
+ @use "@brady_h/styles/src/classes";
193
+ ```
194
+
195
+ These classes are global and can be used throughout your application.
196
+
197
+ ### Display
198
+
199
+ ```jsx
200
+ <div className="u-flex">...</div>
201
+ <div className="u-grid">...</div>
202
+ <div className="u-hidden">...</div>
203
+ ```
204
+
205
+ Available classes include:
206
+
207
+ - `u-block`
208
+ - `u-inline`
209
+ - `u-inline-block`
210
+ - `u-flex`
211
+ - `u-inline-flex`
212
+ - `u-grid`
213
+ - `u-inline-grid`
214
+ - `u-hidden`
215
+
216
+ ### Flexbox
217
+
218
+ ```jsx
219
+ <div className="u-flex u-items-center u-justify-between">...</div>
220
+ ```
221
+
222
+ Examples:
223
+
224
+ - `u-flex-center`
225
+ - `u-flex-between`
226
+ - `u-flex-column`
227
+ - `u-flex-wrap`
228
+ - `u-flex-nowrap`
229
+ - `u-flex-grow`
230
+ - `u-flex-shrink-0`
231
+ - `u-items-center`
232
+ - `u-justify-center`
233
+ - `u-justify-between`
234
+
235
+ ### Grid
236
+
237
+ ```jsx
238
+ <div className="u-grid u-grid-cols-3 u-gap-4">...</div>
239
+ ```
240
+
241
+ Examples:
242
+
243
+ - `u-grid-center`
244
+ - `u-grid-auto-fit`
245
+ - `u-grid-auto-fill`
246
+ - `u-grid-cols-1`
247
+ - `u-grid-cols-2`
248
+ - `u-grid-cols-3`
249
+ - `u-grid-cols-4`
250
+ - `u-grid-cols-6`
251
+ - `u-grid-cols-12`
252
+
253
+ ### Spacing
254
+
255
+ Spacing utilities are generated from the shared spacing map.
256
+
257
+ Examples:
258
+
259
+ - `u-p-4`
260
+ - `u-px-4`
261
+ - `u-py-4`
262
+ - `u-m-4`
263
+ - `u-mx-auto`
264
+ - `u-mt-4`
265
+ - `u-gap-4`
266
+ - `u-gap-x-4`
267
+ - `u-gap-y-4`
268
+
269
+ ### Typography
270
+
271
+ ```jsx
272
+ <h1 className="u-text-center u-font-bold u-leading-tight">Heading</h1>
273
+ ```
274
+
275
+ Examples:
276
+
277
+ - `u-text-center`
278
+ - `u-text-left`
279
+ - `u-text-uppercase`
280
+ - `u-text-italic`
281
+ - `u-text-truncate`
282
+ - `u-font-bold`
283
+ - `u-font-semibold`
284
+ - `u-leading-normal`
285
+
286
+ Font-size utilities use the `u-font-size-*` prefix.
287
+
288
+ ### Borders & Shadows
289
+
290
+ ```jsx
291
+ <div className="u-rounded-lg u-shadow-md">...</div>
292
+ ```
293
+
294
+ Examples:
295
+
296
+ - `u-rounded-none`
297
+ - `u-rounded-sm`
298
+ - `u-rounded-md`
299
+ - `u-rounded-lg`
300
+ - `u-rounded-full`
301
+ - `u-border`
302
+ - `u-border-none`
303
+ - `u-border-solid`
304
+ - `u-shadow-sm`
305
+ - `u-shadow-md`
306
+ - `u-shadow-lg`
307
+
308
+ ### Sizing & Layout
309
+
310
+ Examples:
311
+
312
+ - `u-w-full`
313
+ - `u-w-auto`
314
+ - `u-h-full`
315
+ - `u-h-screen`
316
+ - `u-min-w-0`
317
+ - `u-max-w-full`
318
+ - `u-relative`
319
+ - `u-absolute`
320
+ - `u-fixed`
321
+ - `u-sticky`
322
+ - `u-overflow-hidden`
323
+ - `u-overflow-auto`
324
+
325
+ ### Responsive Utilities
326
+
327
+ Responsive utility classes use a mobile-first approach and are generated for each configured breakpoint.
328
+
329
+ Example:
330
+
331
+ ```jsx
332
+ <div className="u-flex u-flex-column u-md-flex-row u-gap-3 u-lg-gap-5">...</div>
333
+ ```
334
+
335
+ The breakpoint prefix applies the utility at that breakpoint and above.
336
+
337
+ Examples:
338
+
339
+ - `u-sm-flex`
340
+ - `u-md-hidden`
341
+ - `u-md-flex-row`
342
+ - `u-lg-grid`
343
+ - `u-lg-grid-cols-3`
344
+ - `u-xl-text-center`
345
+
346
+ ## Package Structure
347
+
348
+ ```text
349
+ styles/
350
+ ├── src/
351
+ │ ├── _index.scss
352
+ │ ├── _variables.scss
353
+ │ ├── _breakpoints.scss
354
+ │ ├── _functions.scss
355
+ │ ├── _mixins.scss
356
+ │ └── _classes.scss
357
+ ├── package.json
358
+ └── README.md
359
+ ```
360
+
361
+ ## Notes
362
+
363
+ - Sass variables, functions, breakpoints, and mixins are imported through the main package entry point.
364
+ - Utility classes must be imported separately into a global stylesheet.
365
+ - Utility classes are globally scoped, not CSS-module scoped.
366
+ - Projects can customize their own colors, fonts, and application-specific design tokens.
367
+ - The package provides reusable styling foundations rather than a complete design system.
368
+
369
+ ## License
370
+
371
+ MIT
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brady_h/styles",
3
- "version": "1.0.4",
3
+ "version": "1.0.6",
4
4
  "description": "Shared SCSS styling foundation for projects",
5
5
  "license": "MIT",
6
6
  "files": [
package/src/_classes.scss CHANGED
@@ -1,1011 +0,0 @@
1
- @use "sass:map";
2
- @use "./mixins" as *;
3
- @use "./variables" as vars;
4
- @use "./breakpoints" as bp;
5
-
6
- $utility-spacing: vars.$spacing;
7
-
8
- $utility-display: (
9
- block: block,
10
- inline: inline,
11
- inline-block: inline-block,
12
- flex: flex,
13
- inline-flex: inline-flex,
14
- grid: grid,
15
- inline-grid: inline-grid,
16
- hidden: none,
17
- );
18
-
19
- $utility-font-sizes: vars.$font-size;
20
- $utility-font-weights: vars.$font-weight;
21
- $utility-line-heights: vars.$line-height;
22
- $utility-radii: vars.$border-radius;
23
- $utility-shadows: vars.$box-shadow;
24
-
25
- $utility-opacity: (
26
- 0: 0,
27
- 10: 0.1,
28
- 20: 0.2,
29
- 25: 0.25,
30
- 30: 0.3,
31
- 40: 0.4,
32
- 50: 0.5,
33
- 60: 0.6,
34
- 70: 0.7,
35
- 75: 0.75,
36
- 80: 0.8,
37
- 90: 0.9,
38
- 100: 1,
39
- );
40
-
41
- $utility-z-index: vars.$z-index;
42
-
43
- @each $name, $value in $utility-display {
44
- .u-#{$name} {
45
- display: $value;
46
- }
47
- }
48
-
49
- .u-visible {
50
- visibility: visible;
51
- }
52
-
53
- .u-invisible {
54
- visibility: hidden;
55
- }
56
-
57
- .u-collapse {
58
- visibility: collapse;
59
- }
60
-
61
- .u-flex-center {
62
- @include flex-center;
63
- }
64
-
65
- .u-flex-between {
66
- @include flex-between;
67
- }
68
-
69
- .u-flex-start {
70
- @include flex-start;
71
- }
72
-
73
- .u-flex-end {
74
- @include flex-end;
75
- }
76
-
77
- .u-flex-column {
78
- @include flex-column;
79
- }
80
-
81
- .u-flex-column-center {
82
- @include flex-column-center;
83
- }
84
-
85
- .u-flex-wrap {
86
- flex-wrap: wrap;
87
- }
88
-
89
- .u-flex-nowrap {
90
- flex-wrap: nowrap;
91
- }
92
-
93
- .u-flex-wrap-reverse {
94
- flex-wrap: wrap-reverse;
95
- }
96
-
97
- .u-flex-1 {
98
- flex: 1;
99
- }
100
-
101
- .u-flex-auto {
102
- flex: auto;
103
- }
104
-
105
- .u-flex-none {
106
- flex: none;
107
- }
108
-
109
- .u-flex-grow {
110
- flex-grow: 1;
111
- }
112
-
113
- .u-flex-grow-0 {
114
- flex-grow: 0;
115
- }
116
-
117
- .u-flex-shrink {
118
- flex-shrink: 1;
119
- }
120
-
121
- .u-flex-shrink-0 {
122
- flex-shrink: 0;
123
- }
124
-
125
- .u-flex-row {
126
- flex-direction: row;
127
- }
128
-
129
- .u-flex-row-reverse {
130
- flex-direction: row-reverse;
131
- }
132
-
133
- .u-flex-column-reverse {
134
- flex-direction: column-reverse;
135
- }
136
-
137
- .u-items-start {
138
- align-items: flex-start;
139
- }
140
-
141
- .u-items-center {
142
- align-items: center;
143
- }
144
-
145
- .u-items-end {
146
- align-items: flex-end;
147
- }
148
-
149
- .u-items-stretch {
150
- align-items: stretch;
151
- }
152
-
153
- .u-items-baseline {
154
- align-items: baseline;
155
- }
156
-
157
- .u-justify-start {
158
- justify-content: flex-start;
159
- }
160
-
161
- .u-justify-center {
162
- justify-content: center;
163
- }
164
-
165
- .u-justify-end {
166
- justify-content: flex-end;
167
- }
168
-
169
- .u-justify-between {
170
- justify-content: space-between;
171
- }
172
-
173
- .u-justify-around {
174
- justify-content: space-around;
175
- }
176
-
177
- .u-justify-evenly {
178
- justify-content: space-evenly;
179
- }
180
-
181
- .u-self-auto {
182
- align-self: auto;
183
- }
184
-
185
- .u-self-start {
186
- align-self: flex-start;
187
- }
188
-
189
- .u-self-center {
190
- align-self: center;
191
- }
192
-
193
- .u-self-end {
194
- align-self: flex-end;
195
- }
196
-
197
- .u-self-stretch {
198
- align-self: stretch;
199
- }
200
-
201
- .u-grid-center {
202
- @include grid-center;
203
- }
204
-
205
- .u-grid-auto-fit {
206
- @include grid-auto-fit;
207
- }
208
-
209
- .u-grid-auto-fill {
210
- @include grid-auto-fill;
211
- }
212
-
213
- .u-grid-cols-1 {
214
- grid-template-columns: repeat(1, minmax(0, 1fr));
215
- }
216
-
217
- .u-grid-cols-2 {
218
- grid-template-columns: repeat(2, minmax(0, 1fr));
219
- }
220
-
221
- .u-grid-cols-3 {
222
- grid-template-columns: repeat(3, minmax(0, 1fr));
223
- }
224
-
225
- .u-grid-cols-4 {
226
- grid-template-columns: repeat(4, minmax(0, 1fr));
227
- }
228
-
229
- .u-grid-cols-6 {
230
- grid-template-columns: repeat(6, minmax(0, 1fr));
231
- }
232
-
233
- .u-grid-cols-12 {
234
- grid-template-columns: repeat(12, minmax(0, 1fr));
235
- }
236
-
237
- .u-grid-cols-none {
238
- grid-template-columns: none;
239
- }
240
-
241
- .u-col-span-1 {
242
- grid-column: span 1 / span 1;
243
- }
244
-
245
- .u-col-span-2 {
246
- grid-column: span 2 / span 2;
247
- }
248
-
249
- .u-col-span-3 {
250
- grid-column: span 3 / span 3;
251
- }
252
-
253
- .u-col-span-full {
254
- grid-column: 1 / -1;
255
- }
256
-
257
- .u-w-auto {
258
- width: auto;
259
- }
260
-
261
- .u-w-full {
262
- width: 100%;
263
- }
264
-
265
- .u-w-screen {
266
- width: 100vw;
267
- }
268
-
269
- .u-w-fit {
270
- width: fit-content;
271
- }
272
-
273
- .u-w-max {
274
- width: max-content;
275
- }
276
-
277
- .u-w-min {
278
- width: min-content;
279
- }
280
-
281
- .u-h-auto {
282
- height: auto;
283
- }
284
-
285
- .u-h-full {
286
- height: 100%;
287
- }
288
-
289
- .u-h-screen {
290
- height: 100vh;
291
- }
292
-
293
- .u-h-dvh {
294
- height: 100dvh;
295
- }
296
-
297
- .u-h-fit {
298
- height: fit-content;
299
- }
300
-
301
- .u-min-w-0 {
302
- min-width: 0;
303
- }
304
-
305
- .u-min-h-0 {
306
- min-height: 0;
307
- }
308
-
309
- .u-min-w-full {
310
- min-width: 100%;
311
- }
312
-
313
- .u-min-h-full {
314
- min-height: 100%;
315
- }
316
-
317
- .u-max-w-full {
318
- max-width: 100%;
319
- }
320
-
321
- .u-max-h-full {
322
- max-height: 100%;
323
- }
324
-
325
- .u-max-w-screen {
326
- max-width: 100vw;
327
- }
328
-
329
- .u-max-h-screen {
330
- max-height: 100vh;
331
- }
332
-
333
- .u-m-auto {
334
- margin: auto;
335
- }
336
-
337
- .u-mx-auto {
338
- margin-inline: auto;
339
- }
340
-
341
- .u-my-auto {
342
- margin-block: auto;
343
- }
344
-
345
- .u-m-0 {
346
- margin: 0;
347
- }
348
-
349
- .u-p-0 {
350
- padding: 0;
351
- }
352
-
353
- @each $key, $value in $utility-spacing {
354
- .u-gap-#{$key} {
355
- gap: $value;
356
- }
357
-
358
- .u-gap-x-#{$key} {
359
- column-gap: $value;
360
- }
361
-
362
- .u-gap-y-#{$key} {
363
- row-gap: $value;
364
- }
365
-
366
- .u-p-#{$key} {
367
- padding: $value;
368
- }
369
-
370
- .u-px-#{$key} {
371
- padding-inline: $value;
372
- }
373
-
374
- .u-py-#{$key} {
375
- padding-block: $value;
376
- }
377
-
378
- .u-pt-#{$key} {
379
- padding-top: $value;
380
- }
381
-
382
- .u-pr-#{$key} {
383
- padding-right: $value;
384
- }
385
-
386
- .u-pb-#{$key} {
387
- padding-bottom: $value;
388
- }
389
-
390
- .u-pl-#{$key} {
391
- padding-left: $value;
392
- }
393
-
394
- .u-m-#{$key} {
395
- margin: $value;
396
- }
397
-
398
- .u-mx-#{$key} {
399
- margin-inline: $value;
400
- }
401
-
402
- .u-my-#{$key} {
403
- margin-block: $value;
404
- }
405
-
406
- .u-mt-#{$key} {
407
- margin-top: $value;
408
- }
409
-
410
- .u-mr-#{$key} {
411
- margin-right: $value;
412
- }
413
-
414
- .u-mb-#{$key} {
415
- margin-bottom: $value;
416
- }
417
-
418
- .u-ml-#{$key} {
419
- margin-left: $value;
420
- }
421
-
422
- .u-inset-#{$key} {
423
- inset: $value;
424
- }
425
- }
426
-
427
- .u-text-left {
428
- text-align: left;
429
- }
430
-
431
- .u-text-center {
432
- text-align: center;
433
- }
434
-
435
- .u-text-right {
436
- text-align: right;
437
- }
438
-
439
- .u-text-justify {
440
- text-align: justify;
441
- }
442
-
443
- .u-text-start {
444
- text-align: start;
445
- }
446
-
447
- .u-text-end {
448
- text-align: end;
449
- }
450
-
451
- .u-text-uppercase {
452
- text-transform: uppercase;
453
- }
454
-
455
- .u-text-lowercase {
456
- text-transform: lowercase;
457
- }
458
-
459
- .u-text-capitalize {
460
- text-transform: capitalize;
461
- }
462
-
463
- .u-text-normal {
464
- text-transform: none;
465
- }
466
-
467
- .u-text-italic {
468
- font-style: italic;
469
- }
470
-
471
- .u-text-not-italic {
472
- font-style: normal;
473
- }
474
-
475
- .u-text-underline {
476
- text-decoration: underline;
477
- }
478
-
479
- .u-text-no-underline {
480
- text-decoration: none;
481
- }
482
-
483
- .u-text-line-through {
484
- text-decoration: line-through;
485
- }
486
-
487
- .u-text-truncate {
488
- @include text-truncate;
489
- }
490
-
491
- .u-text-wrap {
492
- white-space: normal;
493
- }
494
-
495
- .u-text-nowrap {
496
- white-space: nowrap;
497
- }
498
-
499
- .u-text-balance {
500
- text-wrap: balance;
501
- }
502
-
503
- .u-text-pretty {
504
- text-wrap: pretty;
505
- }
506
-
507
- .u-text-break {
508
- overflow-wrap: break-word;
509
- }
510
-
511
- .u-text-break-all {
512
- word-break: break-all;
513
- }
514
-
515
- @each $key, $value in $utility-font-sizes {
516
- .u-text-#{$key} {
517
- font-size: $value;
518
- }
519
- }
520
-
521
- @each $key, $value in $utility-font-weights {
522
- .u-font-#{$key} {
523
- font-weight: $value;
524
- }
525
- }
526
-
527
- @each $key, $value in $utility-line-heights {
528
- .u-leading-#{$key} {
529
- line-height: $value;
530
- }
531
- }
532
-
533
- .u-font-normal {
534
- font-weight: 400;
535
- }
536
-
537
- .u-font-medium {
538
- font-weight: 500;
539
- }
540
-
541
- .u-font-semibold {
542
- font-weight: 600;
543
- }
544
-
545
- .u-font-bold {
546
- font-weight: 700;
547
- }
548
-
549
- .u-leading-none {
550
- line-height: 1;
551
- }
552
-
553
- .u-leading-tight {
554
- line-height: 1.25;
555
- }
556
-
557
- .u-leading-normal {
558
- line-height: 1.5;
559
- }
560
-
561
- .u-leading-loose {
562
- line-height: 2;
563
- }
564
-
565
- .u-relative {
566
- position: relative;
567
- }
568
-
569
- .u-absolute {
570
- position: absolute;
571
- }
572
-
573
- .u-fixed {
574
- position: fixed;
575
- }
576
-
577
- .u-sticky {
578
- position: sticky;
579
- }
580
-
581
- .u-inset-0 {
582
- inset: 0;
583
- }
584
-
585
- .u-top-0 {
586
- top: 0;
587
- }
588
-
589
- .u-right-0 {
590
- right: 0;
591
- }
592
-
593
- .u-bottom-0 {
594
- bottom: 0;
595
- }
596
-
597
- .u-left-0 {
598
- left: 0;
599
- }
600
-
601
- .u-overflow-hidden {
602
- overflow: hidden;
603
- }
604
-
605
- .u-overflow-auto {
606
- overflow: auto;
607
- }
608
-
609
- .u-overflow-scroll {
610
- overflow: scroll;
611
- }
612
-
613
- .u-overflow-visible {
614
- overflow: visible;
615
- }
616
-
617
- .u-overflow-x-auto {
618
- overflow-x: auto;
619
- }
620
-
621
- .u-overflow-y-auto {
622
- overflow-y: auto;
623
- }
624
-
625
- .u-overflow-x-hidden {
626
- overflow-x: hidden;
627
- }
628
-
629
- .u-overflow-y-hidden {
630
- overflow-y: hidden;
631
- }
632
-
633
- @each $key, $value in $utility-radii {
634
- .u-rounded-#{$key} {
635
- border-radius: $value;
636
- }
637
- }
638
-
639
- .u-rounded {
640
- border-radius: map.get($utility-radii, md);
641
- }
642
-
643
- .u-rounded-full {
644
- border-radius: 9999px;
645
- }
646
-
647
- .u-rounded-none {
648
- border-radius: 0;
649
- }
650
-
651
- .u-border {
652
- border-style: solid;
653
- border-width: 1px;
654
- }
655
-
656
- .u-border-0 {
657
- border-width: 0;
658
- }
659
-
660
- .u-border-none {
661
- border: none;
662
- }
663
-
664
- .u-border-solid {
665
- border-style: solid;
666
- }
667
-
668
- .u-border-dashed {
669
- border-style: dashed;
670
- }
671
-
672
- .u-border-dotted {
673
- border-style: dotted;
674
- }
675
-
676
- .u-shadow {
677
- box-shadow: map.get($utility-shadows, md);
678
- }
679
-
680
- @each $key, $value in $utility-shadows {
681
- .u-shadow-#{$key} {
682
- box-shadow: $value;
683
- }
684
- }
685
-
686
- .u-shadow-none {
687
- box-shadow: none;
688
- }
689
-
690
- .u-cursor-pointer {
691
- cursor: pointer;
692
- }
693
-
694
- .u-cursor-default {
695
- cursor: default;
696
- }
697
-
698
- .u-cursor-not-allowed {
699
- cursor: not-allowed;
700
- }
701
-
702
- .u-cursor-grab {
703
- cursor: grab;
704
- }
705
-
706
- .u-cursor-grabbing {
707
- cursor: grabbing;
708
- }
709
-
710
- .u-pointer {
711
- cursor: pointer;
712
- }
713
-
714
- .u-pointer-events-none {
715
- pointer-events: none;
716
- }
717
-
718
- .u-pointer-events-auto {
719
- pointer-events: auto;
720
- }
721
-
722
- .u-select-none {
723
- user-select: none;
724
- }
725
-
726
- .u-select-text {
727
- user-select: text;
728
- }
729
-
730
- .u-select-all {
731
- user-select: all;
732
- }
733
-
734
- .u-sr-only {
735
- @include visually-hidden;
736
- }
737
-
738
- .u-focus-ring {
739
- @include focus-ring;
740
- }
741
-
742
- .u-no-transition {
743
- @include no-transition;
744
- }
745
-
746
- .u-scrollbar-hide {
747
- @include scrollbar-hide;
748
- }
749
-
750
- .u-scroll-smooth {
751
- scroll-behavior: smooth;
752
- }
753
-
754
- .u-scroll-auto {
755
- scroll-behavior: auto;
756
- }
757
-
758
- .u-list-none {
759
- list-style: none;
760
- }
761
-
762
- .u-list-disc {
763
- list-style: disc;
764
- }
765
-
766
- .u-list-decimal {
767
- list-style: decimal;
768
- }
769
-
770
- .u-bg-transparent {
771
- background-color: transparent;
772
- }
773
-
774
- .u-bg-current {
775
- background-color: currentColor;
776
- }
777
-
778
- .u-opacity-0 {
779
- opacity: 0;
780
- }
781
-
782
- @each $key, $value in $utility-opacity {
783
- .u-opacity-#{$key} {
784
- opacity: $value;
785
- }
786
- }
787
-
788
- .u-transition {
789
- transition: all 200ms ease;
790
- }
791
-
792
- .u-transition-none {
793
- transition: none;
794
- }
795
-
796
- .u-transition-colors {
797
- transition:
798
- color 200ms ease,
799
- background-color 200ms ease,
800
- border-color 200ms ease;
801
- }
802
-
803
- .u-transition-transform {
804
- transition: transform 200ms ease;
805
- }
806
-
807
- .u-transform-none {
808
- transform: none;
809
- }
810
-
811
- .u-scale-95 {
812
- transform: scale(0.95);
813
- }
814
-
815
- .u-scale-100 {
816
- transform: scale(1);
817
- }
818
-
819
- .u-scale-105 {
820
- transform: scale(1.05);
821
- }
822
-
823
- .u-rotate-90 {
824
- transform: rotate(90deg);
825
- }
826
-
827
- .u-rotate-180 {
828
- transform: rotate(180deg);
829
- }
830
-
831
- .u-rotate-270 {
832
- transform: rotate(270deg);
833
- }
834
-
835
- .u-z-auto {
836
- z-index: auto;
837
- }
838
-
839
- @each $key, $value in $utility-z-index {
840
- .u-z-#{$key} {
841
- z-index: $value;
842
- }
843
- }
844
-
845
- .u-aspect-square {
846
- aspect-ratio: 1 / 1;
847
- }
848
-
849
- .u-aspect-video {
850
- aspect-ratio: 16 / 9;
851
- }
852
-
853
- .u-aspect-portrait {
854
- aspect-ratio: 3 / 4;
855
- }
856
-
857
- .u-object-cover {
858
- object-fit: cover;
859
- }
860
-
861
- .u-object-contain {
862
- object-fit: contain;
863
- }
864
-
865
- .u-object-fill {
866
- object-fit: fill;
867
- }
868
-
869
- .u-object-none {
870
- object-fit: none;
871
- }
872
-
873
- .u-object-center {
874
- object-position: center;
875
- }
876
-
877
- .u-object-top {
878
- object-position: top;
879
- }
880
-
881
- .u-object-bottom {
882
- object-position: bottom;
883
- }
884
-
885
- .u-mobile-hidden {
886
- @include bp.respond-down(md) {
887
- display: none;
888
- }
889
- }
890
-
891
- .u-mobile-block {
892
- @include bp.respond-down(md) {
893
- display: block;
894
- }
895
- }
896
-
897
- .u-mobile-flex {
898
- @include bp.respond-down(md) {
899
- display: flex;
900
- }
901
- }
902
-
903
- .u-mobile-grid {
904
- @include bp.respond-down(md) {
905
- display: grid;
906
- }
907
- }
908
-
909
- .u-desktop-hidden {
910
- @include bp.respond-up(md) {
911
- display: none;
912
- }
913
- }
914
-
915
- .u-desktop-block {
916
- @include bp.respond-up(md) {
917
- display: block;
918
- }
919
- }
920
-
921
- .u-desktop-flex {
922
- @include bp.respond-up(md) {
923
- display: flex;
924
- }
925
- }
926
-
927
- .u-desktop-grid {
928
- @include bp.respond-up(md) {
929
- display: grid;
930
- }
931
- }
932
-
933
- @each $breakpoint-name, $breakpoint-value in bp.$breakpoints {
934
- @media (min-width: #{$breakpoint-value}) {
935
- @each $name, $value in $utility-display {
936
- .u-#{$breakpoint-name}-#{$name} {
937
- display: $value;
938
- }
939
- }
940
-
941
- .u-#{$breakpoint-name}-flex-row {
942
- flex-direction: row;
943
- }
944
-
945
- .u-#{$breakpoint-name}-flex-column {
946
- flex-direction: column;
947
- }
948
-
949
- .u-#{$breakpoint-name}-flex-wrap {
950
- flex-wrap: wrap;
951
- }
952
-
953
- .u-#{$breakpoint-name}-flex-nowrap {
954
- flex-wrap: nowrap;
955
- }
956
-
957
- .u-#{$breakpoint-name}-items-center {
958
- align-items: center;
959
- }
960
-
961
- .u-#{$breakpoint-name}-justify-center {
962
- justify-content: center;
963
- }
964
-
965
- .u-#{$breakpoint-name}-justify-between {
966
- justify-content: space-between;
967
- }
968
-
969
- .u-#{$breakpoint-name}-text-left {
970
- text-align: left;
971
- }
972
-
973
- .u-#{$breakpoint-name}-text-center {
974
- text-align: center;
975
- }
976
-
977
- .u-#{$breakpoint-name}-text-right {
978
- text-align: right;
979
- }
980
-
981
- @each $key, $value in $utility-spacing {
982
- .u-#{$breakpoint-name}-gap-#{$key} {
983
- gap: $value;
984
- }
985
-
986
- .u-#{$breakpoint-name}-p-#{$key} {
987
- padding: $value;
988
- }
989
-
990
- .u-#{$breakpoint-name}-px-#{$key} {
991
- padding-inline: $value;
992
- }
993
-
994
- .u-#{$breakpoint-name}-py-#{$key} {
995
- padding-block: $value;
996
- }
997
-
998
- .u-#{$breakpoint-name}-m-#{$key} {
999
- margin: $value;
1000
- }
1001
-
1002
- .u-#{$breakpoint-name}-mx-#{$key} {
1003
- margin-inline: $value;
1004
- }
1005
-
1006
- .u-#{$breakpoint-name}-my-#{$key} {
1007
- margin-block: $value;
1008
- }
1009
- }
1010
- }
1011
- }
package/src/_index.scss CHANGED
@@ -1,5 +1,4 @@
1
1
  @forward "variables";
2
2
  @forward "breakpoints";
3
+ @forward "functions" hide breakpoint;
3
4
  @forward "mixins";
4
- @forward "classes";
5
- @forward "functions";