sneat_rails 0.1.0

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 (123) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +28 -0
  4. data/Rakefile +6 -0
  5. data/app/assets/builds/sneat_rails/application.css +3 -0
  6. data/app/assets/builds/sneat_rails/fonts/boxicons.eot +0 -0
  7. data/app/assets/builds/sneat_rails/fonts/boxicons.svg +1660 -0
  8. data/app/assets/builds/sneat_rails/fonts/boxicons.ttf +0 -0
  9. data/app/assets/builds/sneat_rails/fonts/boxicons.woff +0 -0
  10. data/app/assets/builds/sneat_rails/fonts/boxicons.woff2 +0 -0
  11. data/app/assets/builds/sneat_rails/sneat.css +43157 -0
  12. data/app/assets/builds/sneat_rails/sneat.css.map +1 -0
  13. data/app/assets/config/manifest.js +3 -0
  14. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_accordion.scss +56 -0
  15. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_alert.scss +9 -0
  16. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_badge.scss +18 -0
  17. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_breadcrumb.scss +47 -0
  18. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_button-group.scss +59 -0
  19. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_buttons.scss +127 -0
  20. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_card.scss +197 -0
  21. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_carousel.scss +42 -0
  22. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_close.scss +6 -0
  23. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_dropdown.scss +63 -0
  24. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_forms.scss +10 -0
  25. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_functions.scss +147 -0
  26. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_include.scss +13 -0
  27. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_list-group.scss +58 -0
  28. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_mixins.scss +16 -0
  29. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_modal.scss +110 -0
  30. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_nav.scss +327 -0
  31. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_navbar.scss +58 -0
  32. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_offcanvas.scss +10 -0
  33. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_pagination.scss +92 -0
  34. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_popover.scss +31 -0
  35. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_progress.scss +31 -0
  36. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_reboot.scss +32 -0
  37. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_root.scss +4 -0
  38. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_spinners.scss +21 -0
  39. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_tables.scss +106 -0
  40. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_toasts.scss +61 -0
  41. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_tooltip.scss +11 -0
  42. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_type.scss +2 -0
  43. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_utilities-ltr.scss +283 -0
  44. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_utilities.scss +1027 -0
  45. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/_variables.scss +935 -0
  46. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/forms/_floating-labels.scss +12 -0
  47. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/forms/_form-control.scss +15 -0
  48. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/forms/_form-range.scss +52 -0
  49. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/forms/_form-select.scss +11 -0
  50. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/forms/_input-group.scss +77 -0
  51. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/forms/_labels.scss +17 -0
  52. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/forms/_validation.scss +58 -0
  53. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/mixins/_alert.scss +39 -0
  54. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/mixins/_badge.scss +9 -0
  55. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/mixins/_buttons.scss +190 -0
  56. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/mixins/_caret.scss +42 -0
  57. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/mixins/_dropdown.scss +26 -0
  58. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/mixins/_forms.scss +281 -0
  59. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/mixins/_list-group.scss +66 -0
  60. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/mixins/_misc.scss +120 -0
  61. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/mixins/_navs.scss +37 -0
  62. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/mixins/_pagination.scss +21 -0
  63. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/mixins/_progress.scss +19 -0
  64. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/mixins/_table-variants.scss +31 -0
  65. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended/mixins/_toasts.scss +33 -0
  66. data/app/assets/stylesheets/sneat_rails/_bootstrap-extended.scss +39 -0
  67. data/app/assets/stylesheets/sneat_rails/_bootstrap.scss +44 -0
  68. data/app/assets/stylesheets/sneat_rails/_boxicons.scss +6944 -0
  69. data/app/assets/stylesheets/sneat_rails/_colors.scss +39 -0
  70. data/app/assets/stylesheets/sneat_rails/_components/_app-brand.scss +64 -0
  71. data/app/assets/stylesheets/sneat_rails/_components/_avatar.scss +126 -0
  72. data/app/assets/stylesheets/sneat_rails/_components/_base.scss +159 -0
  73. data/app/assets/stylesheets/sneat_rails/_components/_common.scss +232 -0
  74. data/app/assets/stylesheets/sneat_rails/_components/_footer.scss +39 -0
  75. data/app/assets/stylesheets/sneat_rails/_components/_include.scss +11 -0
  76. data/app/assets/stylesheets/sneat_rails/_components/_layout.scss +539 -0
  77. data/app/assets/stylesheets/sneat_rails/_components/_menu.scss +346 -0
  78. data/app/assets/stylesheets/sneat_rails/_components/_mixins.scss +6 -0
  79. data/app/assets/stylesheets/sneat_rails/_components/_text-divider.scss +89 -0
  80. data/app/assets/stylesheets/sneat_rails/_components/_variables.scss +93 -0
  81. data/app/assets/stylesheets/sneat_rails/_components/mixins/_app-brand.scss +33 -0
  82. data/app/assets/stylesheets/sneat_rails/_components/mixins/_avatar.scss +22 -0
  83. data/app/assets/stylesheets/sneat_rails/_components/mixins/_footer.scss +39 -0
  84. data/app/assets/stylesheets/sneat_rails/_components/mixins/_menu.scss +124 -0
  85. data/app/assets/stylesheets/sneat_rails/_components/mixins/_misc.scss +6 -0
  86. data/app/assets/stylesheets/sneat_rails/_components/mixins/_navbar.scss +90 -0
  87. data/app/assets/stylesheets/sneat_rails/_components/mixins/_text-divider.scss +16 -0
  88. data/app/assets/stylesheets/sneat_rails/_components.scss +11 -0
  89. data/app/assets/stylesheets/sneat_rails/_custom-variables/_bootstrap-extended.scss +7 -0
  90. data/app/assets/stylesheets/sneat_rails/_custom-variables/_components.scss +6 -0
  91. data/app/assets/stylesheets/sneat_rails/_custom-variables/_libs.scss +8 -0
  92. data/app/assets/stylesheets/sneat_rails/_custom-variables/_pages.scss +8 -0
  93. data/app/assets/stylesheets/sneat_rails/_custom-variables/_support.scss +9 -0
  94. data/app/assets/stylesheets/sneat_rails/_theme/_common.scss +49 -0
  95. data/app/assets/stylesheets/sneat_rails/_theme/_theme.scss +131 -0
  96. data/app/assets/stylesheets/sneat_rails/application.css +15 -0
  97. data/app/assets/stylesheets/sneat_rails/application.scss +9 -0
  98. data/app/assets/stylesheets/sneat_rails/core.scss +4 -0
  99. data/app/assets/stylesheets/sneat_rails/pages/page-account-settings.scss +13 -0
  100. data/app/assets/stylesheets/sneat_rails/pages/page-auth.scss +106 -0
  101. data/app/assets/stylesheets/sneat_rails/pages/page-icons.scss +46 -0
  102. data/app/assets/stylesheets/sneat_rails/pages/page-misc.scss +15 -0
  103. data/app/assets/stylesheets/sneat_rails/sneat.css +3 -0
  104. data/app/assets/stylesheets/sneat_rails/sneat.scss +6 -0
  105. data/app/assets/stylesheets/sneat_rails/theme-default.scss +111 -0
  106. data/app/controllers/sneat_rails/application_controller.rb +4 -0
  107. data/app/controllers/sneat_rails/dashboard_controller.rb +10 -0
  108. data/app/helpers/sneat_rails/application_helper.rb +4 -0
  109. data/app/jobs/sneat_rails/application_job.rb +4 -0
  110. data/app/mailers/sneat_rails/application_mailer.rb +6 -0
  111. data/app/models/sneat_rails/application_record.rb +5 -0
  112. data/app/views/layouts/sneat_rails/application.html.erb +30 -0
  113. data/app/views/sneat_rails/dashboard/index.html.erb +1 -0
  114. data/app/views/sneat_rails/shared/_navbar.html.erb +3 -0
  115. data/app/views/sneat_rails/shared/_sidebar.html.erb +3 -0
  116. data/config/dartsass.rb +3 -0
  117. data/config/routes.rb +3 -0
  118. data/lib/generators/sneat_rails/install/install_generator.rb +16 -0
  119. data/lib/sneat_rails/engine.rb +20 -0
  120. data/lib/sneat_rails/version.rb +3 -0
  121. data/lib/sneat_rails.rb +6 -0
  122. data/lib/tasks/sneat_rails_tasks.rake +4 -0
  123. metadata +193 -0
@@ -0,0 +1,1027 @@
1
+ // Utilities
2
+ // *******************************************************************************
3
+ // stylelint-disable indentation
4
+
5
+ // Utilities
6
+
7
+ $utilities: () !default;
8
+ // stylelint-disable-next-line scss/dollar-variable-default
9
+ $utilities: map-merge(
10
+ (
11
+ // scss-docs-start utils-vertical-align
12
+ 'align':
13
+ (
14
+ property: vertical-align,
15
+ class: align,
16
+ values: baseline top middle bottom text-bottom text-top
17
+ ),
18
+ // scss-docs-end utils-vertical-align
19
+ // Object Fit utilities
20
+ // scss-docs-start utils-object-fit
21
+ 'object-fit':
22
+ (
23
+ responsive: true,
24
+ property: object-fit,
25
+ values: (
26
+ contain: contain,
27
+ cover: cover,
28
+ fill: fill,
29
+ scale: scale-down,
30
+ none: none
31
+ )
32
+ ),
33
+ // scss-docs-end utils-object-fit
34
+ // Opacity utilities
35
+ // scss-docs-start utils-opacity
36
+ 'opacity':
37
+ (
38
+ property: opacity,
39
+ values: (
40
+ 0: 0,
41
+ 25: 0.25,
42
+ 50: 0.5,
43
+ 75: 0.75,
44
+ 100: 1
45
+ )
46
+ ),
47
+ // scss-docs-end utils-opacity
48
+ // scss-docs-start utils-overflow
49
+ 'overflow':
50
+ (
51
+ property: overflow,
52
+ values: auto hidden visible scroll
53
+ ),
54
+ // scss-docs-end utils-overflow
55
+ // scss-docs-start utils-display
56
+ 'display':
57
+ (
58
+ responsive: true,
59
+ print: true,
60
+ property: display,
61
+ class: d,
62
+ values: inline inline-block block grid table table-row table-cell flex inline-flex none
63
+ ),
64
+ // scss-docs-end utils-display
65
+ // scss-docs-start utils-shadow
66
+ 'shadow':
67
+ (
68
+ property: box-shadow,
69
+ class: shadow,
70
+ values: (
71
+ null: $box-shadow,
72
+ sm: $box-shadow-sm,
73
+ lg: $box-shadow-lg,
74
+ none: none
75
+ )
76
+ ),
77
+ // scss-docs-end utils-shadow
78
+ // scss-docs-start utils-position
79
+ 'position':
80
+ (
81
+ property: position,
82
+ values: static relative absolute fixed sticky
83
+ ),
84
+ 'top': (
85
+ property: top,
86
+ values: $position-values
87
+ ),
88
+ 'bottom': (
89
+ property: bottom,
90
+ values: $position-values
91
+ ),
92
+ // scss-docs-end utils-position
93
+ // scss-docs-start utils-borders
94
+ 'border':
95
+ (
96
+ property: border,
97
+ values: (
98
+ null: $border-width solid $border-color,
99
+ 0: 0
100
+ )
101
+ ),
102
+ 'border-style': (
103
+ property: border-style,
104
+ class: border,
105
+ responsive: true,
106
+ values: (
107
+ solid: solid,
108
+ dashed: dashed,
109
+ none: none
110
+ )
111
+ ),
112
+ 'border-top': (
113
+ property: border-top,
114
+ values: (
115
+ null: $border-width solid $border-color,
116
+ 0: 0
117
+ )
118
+ ),
119
+ 'border-bottom': (
120
+ property: border-bottom,
121
+ values: (
122
+ null: $border-width solid $border-color,
123
+ 0: 0
124
+ )
125
+ ),
126
+ 'border-color': (
127
+ property: border-color,
128
+ class: border,
129
+ values:
130
+ map-merge(
131
+ $theme-colors,
132
+ (
133
+ 'white': $white,
134
+ 'light': $gray-100,
135
+ // (C)
136
+ 'transparent': transparent // (C)
137
+ )
138
+ )
139
+ ),
140
+ 'border-label-color': (
141
+ property: border-color,
142
+ class: border-label,
143
+ local-vars: (
144
+ 'border-opacity': 0.4
145
+ ),
146
+ values: $utilities-border-colors
147
+ ),
148
+ 'border-width': (
149
+ property: border-width,
150
+ class: border,
151
+ values: $border-widths
152
+ ),
153
+ 'border-opacity': (
154
+ css-var: true,
155
+ class: border-opacity,
156
+ values: (
157
+ 10: 0.1,
158
+ 25: 0.25,
159
+ 50: 0.5,
160
+ 75: 0.75,
161
+ 100: 1
162
+ )
163
+ ),
164
+ // scss-docs-end utils-borders
165
+ // Sizing utilities
166
+ // scss-docs-start utils-sizing
167
+ 'width':
168
+ (
169
+ property: width,
170
+ class: w,
171
+ values:
172
+ map-merge(
173
+ $sizes-px,
174
+ (
175
+ 20: 20%,
176
+ 25: 25%,
177
+ 50: 50%,
178
+ 60: 60%,
179
+ 75: 75%,
180
+ 100: 100%,
181
+ auto: auto
182
+ )
183
+ )
184
+ ),
185
+ 'max-width': (
186
+ property: max-width,
187
+ class: mw,
188
+ values: (
189
+ 100: 100%
190
+ )
191
+ ),
192
+ 'viewport-width': (
193
+ property: width,
194
+ class: vw,
195
+ values: (
196
+ 100: 100vw
197
+ )
198
+ ),
199
+ 'min-viewport-width': (
200
+ property: min-width,
201
+ class: min-vw,
202
+ values: (
203
+ 100: 100vw
204
+ )
205
+ ),
206
+ 'height': (
207
+ property: height,
208
+ class: h,
209
+ values:
210
+ map-merge(
211
+ $sizes-px,
212
+ (
213
+ 25: 25%,
214
+ 50: 50%,
215
+ 75: 75%,
216
+ 100: 100%,
217
+ auto: auto
218
+ )
219
+ )
220
+ ),
221
+ 'max-height': (
222
+ property: max-height,
223
+ class: mh,
224
+ values: (
225
+ 100: 100%
226
+ )
227
+ ),
228
+ 'viewport-height': (
229
+ property: height,
230
+ class: vh,
231
+ values: (
232
+ 100: 100vh
233
+ )
234
+ ),
235
+ 'min-viewport-height': (
236
+ property: min-height,
237
+ class: min-vh,
238
+ values: (
239
+ 100: 100vh
240
+ )
241
+ ),
242
+ // scss-docs-end utils-sizing
243
+ // Flex utilities
244
+ // scss-docs-start utils-flex
245
+ 'flex':
246
+ (
247
+ responsive: true,
248
+ property: flex,
249
+ values: (
250
+ fill: 1 1 auto
251
+ )
252
+ ),
253
+ 'flex-direction': (
254
+ responsive: true,
255
+ property: flex-direction,
256
+ class: flex,
257
+ values: row column row-reverse column-reverse
258
+ ),
259
+ 'flex-grow': (
260
+ responsive: true,
261
+ property: flex-grow,
262
+ class: flex,
263
+ values: (
264
+ grow-0: 0,
265
+ grow-1: 1
266
+ )
267
+ ),
268
+ 'flex-shrink': (
269
+ responsive: true,
270
+ property: flex-shrink,
271
+ class: flex,
272
+ values: (
273
+ shrink-0: 0,
274
+ shrink-1: 1
275
+ )
276
+ ),
277
+ 'flex-wrap': (
278
+ responsive: true,
279
+ property: flex-wrap,
280
+ class: flex,
281
+ values: wrap nowrap wrap-reverse
282
+ ),
283
+ 'justify-content': (
284
+ responsive: true,
285
+ property: justify-content,
286
+ values: (
287
+ start: flex-start,
288
+ end: flex-end,
289
+ center: center,
290
+ between: space-between,
291
+ around: space-around,
292
+ evenly: space-evenly
293
+ )
294
+ ),
295
+ 'align-items': (
296
+ responsive: true,
297
+ property: align-items,
298
+ values: (
299
+ start: flex-start,
300
+ end: flex-end,
301
+ center: center,
302
+ baseline: baseline,
303
+ stretch: stretch
304
+ )
305
+ ),
306
+ 'align-content': (
307
+ responsive: true,
308
+ property: align-content,
309
+ values: (
310
+ start: flex-start,
311
+ end: flex-end,
312
+ center: center,
313
+ between: space-between,
314
+ around: space-around,
315
+ stretch: stretch
316
+ )
317
+ ),
318
+ 'align-self': (
319
+ responsive: true,
320
+ property: align-self,
321
+ values: (
322
+ auto: auto,
323
+ start: flex-start,
324
+ end: flex-end,
325
+ center: center,
326
+ baseline: baseline,
327
+ stretch: stretch
328
+ )
329
+ ),
330
+ 'order': (
331
+ responsive: true,
332
+ property: order,
333
+ values: (
334
+ first: -1,
335
+ 0: 0,
336
+ 1: 1,
337
+ 2: 2,
338
+ 3: 3,
339
+ 4: 4,
340
+ 5: 5,
341
+ last: 6
342
+ )
343
+ ),
344
+ // scss-docs-end utils-flex
345
+ // Margin utilities
346
+ // scss-docs-start utils-spacing
347
+ 'margin':
348
+ (
349
+ responsive: true,
350
+ property: margin,
351
+ class: m,
352
+ values:
353
+ map-merge(
354
+ $spacers,
355
+ (
356
+ auto: auto
357
+ )
358
+ )
359
+ ),
360
+ 'margin-x': (
361
+ responsive: true,
362
+ property: margin-right margin-left,
363
+ class: mx,
364
+ values:
365
+ map-merge(
366
+ $spacers,
367
+ (
368
+ auto: auto
369
+ )
370
+ )
371
+ ),
372
+ 'margin-y': (
373
+ responsive: true,
374
+ property: margin-top margin-bottom,
375
+ class: my,
376
+ values:
377
+ map-merge(
378
+ $spacers,
379
+ (
380
+ auto: auto
381
+ )
382
+ )
383
+ ),
384
+ 'margin-top': (
385
+ responsive: true,
386
+ property: margin-top,
387
+ class: mt,
388
+ values:
389
+ map-merge(
390
+ $spacers,
391
+ (
392
+ auto: auto
393
+ )
394
+ )
395
+ ),
396
+ 'margin-bottom': (
397
+ responsive: true,
398
+ property: margin-bottom,
399
+ class: mb,
400
+ values:
401
+ map-merge(
402
+ $spacers,
403
+ (
404
+ auto: auto
405
+ )
406
+ )
407
+ ),
408
+ // Negative margin utilities
409
+ 'negative-margin':
410
+ (
411
+ responsive: true,
412
+ property: margin,
413
+ class: m,
414
+ values: $negative-spacers
415
+ ),
416
+ 'negative-margin-x': (
417
+ responsive: true,
418
+ property: margin-right margin-left,
419
+ class: mx,
420
+ values: $negative-spacers
421
+ ),
422
+ 'negative-margin-y': (
423
+ responsive: true,
424
+ property: margin-top margin-bottom,
425
+ class: my,
426
+ values: $negative-spacers
427
+ ),
428
+ 'negative-margin-top': (
429
+ responsive: true,
430
+ property: margin-top,
431
+ class: mt,
432
+ values: $negative-spacers
433
+ ),
434
+ 'negative-margin-bottom': (
435
+ responsive: true,
436
+ property: margin-bottom,
437
+ class: mb,
438
+ values: $negative-spacers
439
+ ),
440
+ // Padding utilities
441
+ 'padding':
442
+ (
443
+ responsive: true,
444
+ property: padding,
445
+ class: p,
446
+ values: $spacers
447
+ ),
448
+ 'padding-x': (
449
+ responsive: true,
450
+ property: padding-right padding-left,
451
+ class: px,
452
+ values: $spacers
453
+ ),
454
+ 'padding-y': (
455
+ responsive: true,
456
+ property: padding-top padding-bottom,
457
+ class: py,
458
+ values: $spacers
459
+ ),
460
+ 'padding-top': (
461
+ responsive: true,
462
+ property: padding-top,
463
+ class: pt,
464
+ values: $spacers
465
+ ),
466
+ 'padding-bottom': (
467
+ responsive: true,
468
+ property: padding-bottom,
469
+ class: pb,
470
+ values: $spacers
471
+ ),
472
+ 'gap': (
473
+ responsive: true,
474
+ property: gap,
475
+ class: gap,
476
+ values: $spacers
477
+ ),
478
+ 'row-gap': (
479
+ responsive: true,
480
+ property: row-gap,
481
+ class: row-gap,
482
+ values: $spacers
483
+ ),
484
+ 'column-gap': (
485
+ responsive: true,
486
+ property: column-gap,
487
+ class: column-gap,
488
+ values: $spacers
489
+ ),
490
+ // scss-docs-end utils-spacing
491
+ // Text
492
+ // scss-docs-start utils-text
493
+ 'font-family':
494
+ (
495
+ property: font-family,
496
+ class: font,
497
+ values: (
498
+ monospace: var(--#{$variable-prefix}font-monospace)
499
+ )
500
+ ),
501
+ 'font-size': (
502
+ rfs: true,
503
+ property: font-size,
504
+ class: fs,
505
+ values:
506
+ map-merge(
507
+ $font-sizes,
508
+ (
509
+ tiny: $tiny-font-size,
510
+ //(C)
511
+ big: $big-font-size,
512
+ //(C)
513
+ large: $large-font-size,
514
+ //(C)
515
+ xlarge: $xlarge-font-size//(C)
516
+ )
517
+ )
518
+ ),
519
+ 'font-style': (
520
+ property: font-style,
521
+ class: fst,
522
+ values: italic normal
523
+ ),
524
+ 'font-weight': (
525
+ property: font-weight,
526
+ class: fw,
527
+ values: (
528
+ lighter: $font-weight-lighter,
529
+ light: $font-weight-light,
530
+ normal: $font-weight-normal,
531
+ medium: $font-weight-medium,
532
+ semibold: $font-weight-semibold,
533
+ bold: $font-weight-bold,
534
+ bolder: $font-weight-bolder
535
+ )
536
+ ),
537
+ 'line-height': (
538
+ property: line-height,
539
+ class: lh,
540
+ values: (
541
+ 1: 1,
542
+ inherit: inherit,
543
+ //(C)
544
+ sm: $line-height-sm,
545
+ base: $line-height-base,
546
+ lg: $line-height-lg
547
+ )
548
+ ),
549
+ 'text-decoration': (
550
+ property: text-decoration,
551
+ values: none underline line-through
552
+ ),
553
+ 'text-transform': (
554
+ property: text-transform,
555
+ class: text,
556
+ values: none lowercase uppercase capitalize
557
+ ),
558
+ 'white-space': (
559
+ property: white-space,
560
+ class: text,
561
+ values: (
562
+ wrap: normal,
563
+ nowrap: nowrap
564
+ )
565
+ ),
566
+ 'word-wrap': (
567
+ property: word-wrap word-break,
568
+ class: text,
569
+ values: (
570
+ break: break-word
571
+ ),
572
+ rtl: false
573
+ ),
574
+ // scss-docs-end utils-text
575
+ // scss-docs-start utils-color
576
+ 'color':
577
+ (
578
+ property: color,
579
+ class: text,
580
+ local-vars: (
581
+ 'text-opacity': 1
582
+ ),
583
+ values:
584
+ map-merge(
585
+ $utilities-text-colors,
586
+ (
587
+ 'white': $white,
588
+ 'body': $body-color,
589
+ 'muted': $text-muted,
590
+ 'black-50': rgba($black, 0.5),
591
+ // deprecated
592
+ 'white-50': rgba($white, 0.5),
593
+ // deprecated
594
+ 'light': $text-light,
595
+ // (c)
596
+ 'heading': $headings-color,
597
+ // (c)
598
+ 'reset': inherit
599
+ )
600
+ )
601
+ ),
602
+ 'text-opacity': (
603
+ css-var: true,
604
+ class: text-opacity,
605
+ values: (
606
+ 25: 0.25,
607
+ 50: 0.5,
608
+ 75: 0.75,
609
+ 100: 1
610
+ )
611
+ ),
612
+ // scss-docs-end utils-color
613
+ // scss-docs-start utils-links
614
+ 'link-opacity':
615
+ (
616
+ css-var: true,
617
+ class: link-opacity,
618
+ state: hover,
619
+ values: (
620
+ 10: 0.1,
621
+ 25: 0.25,
622
+ 50: 0.5,
623
+ 75: 0.75,
624
+ 100: 1
625
+ )
626
+ ),
627
+ 'link-offset': (
628
+ property: text-underline-offset,
629
+ class: link-offset,
630
+ state: hover,
631
+ values: (
632
+ 1: 0.125em,
633
+ 2: 0.25em,
634
+ 3: 0.375em
635
+ )
636
+ ),
637
+ 'link-underline': (
638
+ property: text-decoration-color,
639
+ class: link-underline,
640
+ local-vars: (
641
+ 'link-underline-opacity': 1
642
+ ),
643
+ values:
644
+ map-merge(
645
+ $utilities-links-underline,
646
+ (
647
+ null: rgba(var(--#{$prefix}link-color-rgb), var(--#{$prefix}link-underline-opacity, 1))
648
+ )
649
+ )
650
+ ),
651
+ 'link-underline-opacity': (
652
+ css-var: true,
653
+ class: link-underline-opacity,
654
+ state: hover,
655
+ values: (
656
+ 0: 0,
657
+ 10: 0.1,
658
+ 25: 0.25,
659
+ 50: 0.5,
660
+ 75: 0.75,
661
+ 100: 1
662
+ )
663
+ ),
664
+ // scss-docs-end utils-links
665
+ // scss-docs-start utils-bg-color
666
+ 'background-color':
667
+ (
668
+ property: background-color,
669
+ class: bg,
670
+ local-vars: (
671
+ 'bg-opacity': 1
672
+ ),
673
+ values:
674
+ map-merge(
675
+ $utilities-bg-colors,
676
+ (
677
+ 'body': $body-bg,
678
+ 'white': $white,
679
+ 'transparent': transparent,
680
+ 'lighter': $gray-50,
681
+ //(C)
682
+ 'lightest': $gray-25,
683
+ //(C)
684
+ )
685
+ )
686
+ ),
687
+ 'bg-opacity': (
688
+ css-var: true,
689
+ class: bg-opacity,
690
+ values: (
691
+ 10: 0.1,
692
+ 25: 0.25,
693
+ 50: 0.5,
694
+ 75: 0.75,
695
+ 100: 1
696
+ )
697
+ ),
698
+ 'subtle-background-color': (
699
+ property: background-color,
700
+ class: bg,
701
+ values: $utilities-bg-subtle
702
+ ),
703
+ // scss-docs-end utils-bg-color
704
+ 'gradient':
705
+ (
706
+ property: background-image,
707
+ class: bg,
708
+ values: (
709
+ gradient: var(--#{$variable-prefix}gradient)
710
+ )
711
+ ),
712
+ // scss-docs-start utils-interaction
713
+ 'user-select':
714
+ (
715
+ property: user-select,
716
+ values: all auto none
717
+ ),
718
+ 'pointer-events': (
719
+ property: pointer-events,
720
+ class: pe,
721
+ values: none auto
722
+ ),
723
+ // scss-docs-end utils-interaction
724
+ // scss-docs-start utils-border-radius
725
+ 'rounded':
726
+ (
727
+ property: border-radius,
728
+ class: rounded,
729
+ values: (
730
+ null: $border-radius,
731
+ 0: 0,
732
+ 1: $border-radius-sm,
733
+ 2: $border-radius,
734
+ 3: $border-radius-lg,
735
+ circle: 50%,
736
+ pill: $border-radius-pill
737
+ )
738
+ ),
739
+ 'rounded-top': (
740
+ property: border-top-left-radius border-top-right-radius,
741
+ class: rounded-top,
742
+ values: (
743
+ null: $border-radius
744
+ )
745
+ ),
746
+ 'rounded-bottom': (
747
+ property: border-bottom-right-radius border-bottom-left-radius,
748
+ class: rounded-bottom,
749
+ values: (
750
+ null: $border-radius
751
+ )
752
+ ),
753
+ // scss-docs-end utils-border-radius
754
+ // scss-docs-start utils-visibility
755
+ 'visibility':
756
+ (
757
+ property: visibility,
758
+ class: null,
759
+ values: (
760
+ visible: visible,
761
+ invisible: hidden
762
+ )
763
+ ),
764
+ // scss-docs-end utils-visibility
765
+ // scss-docs-start utils-zindex
766
+ 'z-index':
767
+ (
768
+ property: z-index,
769
+ class: z,
770
+ values: $zindex-levels
771
+ ),
772
+ // scss-docs-end utils-zindex
773
+ // Custom Utilities
774
+ // *******************************************************************************
775
+ // scss-docs-start utils-flex-basis
776
+ 'cursor':
777
+ (
778
+ property: cursor,
779
+ class: cursor,
780
+ values: pointer move grab
781
+ ),
782
+ // scss-docs-end utils-flex-basis
783
+ ),
784
+ $utilities
785
+ );
786
+
787
+ // Borders
788
+ // *******************************************************************************
789
+
790
+ // Bordered rows
791
+ .row-bordered {
792
+ overflow: hidden;
793
+
794
+ > .col,
795
+ > [class^='col-'],
796
+ > [class*=' col-'],
797
+ > [class^='col '],
798
+ > [class*=' col '],
799
+ > [class$=' col'],
800
+ > [class='col'] {
801
+ position: relative;
802
+ padding-top: 1px;
803
+
804
+ &::before {
805
+ content: '';
806
+ position: absolute;
807
+ right: 0;
808
+ bottom: -1px;
809
+ left: 0;
810
+ display: block;
811
+ height: 0;
812
+ border-top: 1px solid $bordered-row-border-color;
813
+ }
814
+
815
+ &::after {
816
+ content: '';
817
+ position: absolute;
818
+ top: 0;
819
+ bottom: 0;
820
+ left: -1px;
821
+ display: block;
822
+ width: 0;
823
+ border-left: 1px solid $bordered-row-border-color;
824
+ }
825
+ }
826
+
827
+ &.row-border-light {
828
+ > .col,
829
+ > [class^='col-'],
830
+ > [class*=' col-'],
831
+ > [class^='col '],
832
+ > [class*=' col '],
833
+ > [class$=' col'],
834
+ > [class='col'] {
835
+ &::before,
836
+ &::after {
837
+ border-color: $gray-100;
838
+ }
839
+ }
840
+ }
841
+ }
842
+
843
+ // Color
844
+ // *******************************************************************************
845
+
846
+ // Bg Label variant (Not able to include this in utils due to custom style)
847
+ @each $color, $value in $theme-colors {
848
+ @if $color != primary {
849
+ @include bg-label-variant('.bg-label-#{$color}', $value);
850
+ @include border-label-variant('.border-label-#{$color}', $value);
851
+ @include border-light-variant('.border-light-#{$color}', $value);
852
+ }
853
+ }
854
+
855
+ // ! FIX: .bg-dark & .bg-label-dark color in dark mode
856
+ @if $dark-style {
857
+ @include border-label-variant('.border-label-dark', $light);
858
+ }
859
+
860
+ // Anchor hover/focus bg colors
861
+ a.bg-dark {
862
+ &:hover,
863
+ &:focus {
864
+ background-color: $gray-900 !important;
865
+ }
866
+ }
867
+
868
+ a.bg-light {
869
+ &:hover,
870
+ &:focus {
871
+ background-color: $gray-200 !important;
872
+ }
873
+ }
874
+
875
+ a.bg-lighter {
876
+ &:hover,
877
+ &:focus {
878
+ background-color: $gray-100 !important;
879
+ }
880
+ }
881
+
882
+ a.bg-lightest {
883
+ &:hover,
884
+ &:focus {
885
+ background-color: $gray-50 !important;
886
+ }
887
+ }
888
+
889
+ .text-muted[href] {
890
+ &:hover,
891
+ &:focus {
892
+ color: $text-muted-hover !important;
893
+ }
894
+ }
895
+
896
+ .text-light {
897
+ color: $text-light !important;
898
+
899
+ &[href] {
900
+ &:hover,
901
+ &:focus {
902
+ color: $text-muted-hover !important;
903
+ }
904
+ }
905
+ }
906
+
907
+ .text-lighter {
908
+ color: $text-lighter !important;
909
+
910
+ &[href] {
911
+ &:hover,
912
+ &:focus {
913
+ color: $text-muted-hover !important;
914
+ }
915
+ }
916
+ }
917
+
918
+ .text-lightest {
919
+ color: $text-lightest !important;
920
+
921
+ &[href] {
922
+ &:hover,
923
+ &:focus {
924
+ color: $text-muted-hover !important;
925
+ }
926
+ }
927
+ }
928
+
929
+ // Invertible colors
930
+
931
+ .invert-text-white {
932
+ color: if(not $dark-style, $white, $body-bg) !important;
933
+ }
934
+ .invert-text-white[href]:hover {
935
+ &:hover,
936
+ &:focus {
937
+ color: if(not $dark-style, $white, $body-bg) !important;
938
+ }
939
+ }
940
+
941
+ .invert-text-dark {
942
+ color: if(not $dark-style, $black, $white) !important;
943
+ }
944
+ .invert-text-dark[href]:hover {
945
+ &:hover,
946
+ &:focus {
947
+ color: if(not $dark-style, $black, $white) !important;
948
+ }
949
+ }
950
+
951
+ .invert-bg-white {
952
+ background-color: if(not $dark-style, $white, $body-bg) !important;
953
+ }
954
+ a.invert-bg-white {
955
+ &:hover,
956
+ &:focus {
957
+ background-color: if(not $dark-style, $white, $body-bg) !important;
958
+ }
959
+ }
960
+
961
+ .invert-bg-dark {
962
+ background-color: if(not $dark-style, $gray-900, $white) !important;
963
+ }
964
+ a.invert-bg-dark {
965
+ &:hover,
966
+ &:focus {
967
+ background-color: if(not $dark-style, $gray-900, $white) !important;
968
+ }
969
+ }
970
+
971
+ .invert-border-dark {
972
+ border-color: if(not $dark-style, $dark, $white) !important;
973
+ }
974
+
975
+ .invert-border-white {
976
+ border-color: if(not $dark-style, $white, $body-bg) !important;
977
+ }
978
+
979
+ // Misc
980
+ // *******************************************************************************
981
+
982
+ // Layout containers
983
+ .container-p-x {
984
+ padding-right: $container-padding-x-sm !important;
985
+ padding-left: $container-padding-x-sm !important;
986
+
987
+ @include media-breakpoint-up(lg) {
988
+ padding-right: $container-padding-x !important;
989
+ padding-left: $container-padding-x !important;
990
+ }
991
+ }
992
+
993
+ .container-m-nx {
994
+ margin-right: -$container-padding-x-sm !important;
995
+ margin-left: -$container-padding-x-sm !important;
996
+
997
+ @include media-breakpoint-up(lg) {
998
+ margin-right: -$container-padding-x !important;
999
+ margin-left: -$container-padding-x !important;
1000
+ }
1001
+ }
1002
+
1003
+ .container-p-y {
1004
+ &:not([class^='pt-']):not([class*=' pt-']) {
1005
+ padding-top: $container-padding-y !important;
1006
+ }
1007
+
1008
+ &:not([class^='pb-']):not([class*=' pb-']) {
1009
+ padding-bottom: $container-padding-y !important;
1010
+ }
1011
+ }
1012
+
1013
+ .container-m-ny {
1014
+ &:not([class^='mt-']):not([class*=' mt-']) {
1015
+ margin-top: -$container-padding-y !important;
1016
+ }
1017
+
1018
+ &:not([class^='mb-']):not([class*=' mb-']) {
1019
+ margin-bottom: -$container-padding-y !important;
1020
+ }
1021
+ }
1022
+
1023
+ // Table cell
1024
+ .cell-fit {
1025
+ width: 0.1%;
1026
+ white-space: nowrap;
1027
+ }