@ch-post-common/common-web-frontend 0.0.1-security → 6.939.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.

Potentially problematic release.


This version of @ch-post-common/common-web-frontend might be problematic. Click here for more details.

Files changed (97) hide show
  1. package/components/accordion.scss +177 -0
  2. package/components/alert.scss +217 -0
  3. package/components/badge.scss +95 -0
  4. package/components/breadcrumb.scss +43 -0
  5. package/components/button.scss +168 -0
  6. package/components/card.scss +227 -0
  7. package/components/carousel.scss +161 -0
  8. package/components/custom-choice-control.scss +217 -0
  9. package/components/custom-range-input.scss +51 -0
  10. package/components/custom-select.scss +60 -0
  11. package/components/datatable.scss +147 -0
  12. package/components/datepicker.scss +220 -0
  13. package/components/detail-summary.scss +72 -0
  14. package/components/dropdown.scss +71 -0
  15. package/components/floating-label.scss +65 -0
  16. package/components/fonts.scss +35 -0
  17. package/components/form-feedback.scss +70 -0
  18. package/components/forms.scss +31 -0
  19. package/components/grid.scss +103 -0
  20. package/components/icons.scss +62 -0
  21. package/components/intranet-header/_icon.scss +6 -0
  22. package/components/intranet-header/_language-chooser.scss +40 -0
  23. package/components/intranet-header/_logo.scss +74 -0
  24. package/components/intranet-header/_nav-overflow.scss +56 -0
  25. package/components/intranet-header/_scaffolding.scss +96 -0
  26. package/components/intranet-header/_searchbox.scss +56 -0
  27. package/components/intranet-header/_settings.scss +23 -0
  28. package/components/intranet-header/_sidebar.scss +118 -0
  29. package/components/intranet-header/_top-navigation.scss +83 -0
  30. package/components/list-group.scss +156 -0
  31. package/components/modal.scss +87 -0
  32. package/components/pagination.scss +67 -0
  33. package/components/popover.scss +21 -0
  34. package/components/product-card.scss +74 -0
  35. package/components/progress.scss +15 -0
  36. package/components/reboot.scss +17 -0
  37. package/components/root.scss +10 -0
  38. package/components/sizing.scss +90 -0
  39. package/components/spinner.scss +58 -0
  40. package/components/stepper.scss +158 -0
  41. package/components/subnavigation.scss +131 -0
  42. package/components/switch.scss +132 -0
  43. package/components/tabs.scss +122 -0
  44. package/components/timepicker.scss +110 -0
  45. package/components/toast.scss +172 -0
  46. package/components/tooltip.scss +23 -0
  47. package/components/topic-teaser.scss +133 -0
  48. package/components/type.scss +106 -0
  49. package/components/utilities.scss +93 -0
  50. package/index.js +28 -0
  51. package/layouts/portal/_type.scss +83 -0
  52. package/lic/_bootstrap-license.scss +29 -0
  53. package/lic/_cwf-license.scss +7 -0
  54. package/mixins/_animation.scss +39 -0
  55. package/mixins/_button.scss +232 -0
  56. package/mixins/_forms.scss +188 -0
  57. package/mixins/_icons.scss +27 -0
  58. package/mixins/_scroll-shadows.scss +13 -0
  59. package/mixins/_size.scss +69 -0
  60. package/mixins/_type.scss +187 -0
  61. package/mixins/_utilities.scss +73 -0
  62. package/package.json +11 -3
  63. package/placeholders/_dropdown.scss +11 -0
  64. package/placeholders/_floating-label.scss +143 -0
  65. package/placeholders/_notifications.scss +160 -0
  66. package/placeholders/_text.scss +187 -0
  67. package/variables/_animation.scss +36 -0
  68. package/variables/_color.scss +240 -0
  69. package/variables/_commons.scss +57 -0
  70. package/variables/_icons.scss +2071 -0
  71. package/variables/_spacing.scss +180 -0
  72. package/variables/_type.scss +157 -0
  73. package/variables/components/_accordion.scss +22 -0
  74. package/variables/components/_alert.scss +50 -0
  75. package/variables/components/_badge.scss +29 -0
  76. package/variables/components/_breadcrumbs.scss +21 -0
  77. package/variables/components/_button.scss +152 -0
  78. package/variables/components/_card.scss +29 -0
  79. package/variables/components/_carousel.scss +27 -0
  80. package/variables/components/_close.scss +9 -0
  81. package/variables/components/_datatable.scss +49 -0
  82. package/variables/components/_datepicker.scss +14 -0
  83. package/variables/components/_dropdowns.scss +30 -0
  84. package/variables/components/_forms.scss +256 -0
  85. package/variables/components/_intranet-header.scss +9 -0
  86. package/variables/components/_modals.scss +68 -0
  87. package/variables/components/_nav.scss +82 -0
  88. package/variables/components/_pagination.scss +41 -0
  89. package/variables/components/_paragraph.scss +6 -0
  90. package/variables/components/_popovers.scss +28 -0
  91. package/variables/components/_progress-bars.scss +16 -0
  92. package/variables/components/_stepper.scss +26 -0
  93. package/variables/components/_subnavigation.scss +36 -0
  94. package/variables/components/_switch.scss +3 -0
  95. package/variables/components/_tables.scss +31 -0
  96. package/variables/components/_tooltips.scss +26 -0
  97. package/README.md +0 -5
@@ -0,0 +1,83 @@
1
+ @use "../../variables/color";
2
+ @use "../../variables/commons";
3
+ @use "../../variables/type";
4
+
5
+ @use "../../themes/bootstrap/overrides" as *;
6
+
7
+ .top-navigation {
8
+ .nav-item > .nav-link {
9
+ border-top: 4px solid transparent; // Border-Width according to PostWeb CSS
10
+ border-bottom: 4px solid transparent; // Border-Width according to PostWeb CSS
11
+ color: color.$black-alpha-60;
12
+ background-color: none;
13
+
14
+ @include hover-focus {
15
+ border-bottom-color: color.$black-alpha-40;
16
+ background-color: color.$gray-100;
17
+ text-decoration: none;
18
+ }
19
+
20
+ &.active {
21
+ border-bottom-color: color.$yellow;
22
+ color: color.$black;
23
+
24
+ @include hover-focus {
25
+ border-bottom-color: color.$yellow;
26
+ }
27
+ }
28
+ }
29
+
30
+ .nav-link {
31
+ @include hover-focus {
32
+ cursor: pointer;
33
+ }
34
+ }
35
+
36
+ .nav-item {
37
+ flex-shrink: 0;
38
+
39
+ a {
40
+ text-decoration: none;
41
+ }
42
+ }
43
+ }
44
+
45
+ @include media-breakpoint-down(rg) {
46
+ .top-navigation #navbarsDefault {
47
+ border-top: commons.$border-width solid color.$black-alpha-20;
48
+ }
49
+ }
50
+
51
+ @include media-breakpoint-up(md) {
52
+ .top-navigation {
53
+ border-top: commons.$border-width solid color.$black-alpha-20;
54
+ }
55
+ }
56
+
57
+ #navbarsDefault > ul > .nav-item {
58
+ font-size: 1.25rem;
59
+ font-weight: type.$font-weight-light;
60
+ }
61
+
62
+ @include media-breakpoint-down(rg) {
63
+ #nav-toggler {
64
+ border: none;
65
+ border-left: commons.$border-width solid color.$black-alpha-20;
66
+ border-radius: 0;
67
+
68
+ @include hover-focus {
69
+ background-color: color.$black-alpha-10;
70
+ }
71
+
72
+ i.pi {
73
+ height: 100%;
74
+ //width: 1.5rem;
75
+ color: color.$black-alpha-20;
76
+
77
+ &:before {
78
+ position: relative;
79
+ top: -3px; // Adjust postitioning
80
+ }
81
+ }
82
+ }
83
+ }
@@ -0,0 +1,156 @@
1
+ @forward "../variables/options";
2
+
3
+ @use "sass:map";
4
+
5
+ @use "../lic/bootstrap-license";
6
+ @use "../themes/bootstrap/overrides" as *;
7
+ @use "../themes/bootstrap/list-group" as bl;
8
+
9
+ @use "../variables/color";
10
+ @use "../variables/spacing";
11
+ @use "../variables/type";
12
+ @use "../variables/commons";
13
+ @use "../variables/animation";
14
+ @use "../variables/components/list-group";
15
+ @use "../mixins/type" as type-mixins;
16
+
17
+ // Base class
18
+ .list-group {
19
+ background-color: transparent;
20
+
21
+ &-box {
22
+ box-shadow: commons.$box-shadow;
23
+ padding-top: map.get(spacing.$post-sizes, "mini");
24
+ padding-bottom: map.get(spacing.$post-sizes, "mini");
25
+ }
26
+ }
27
+
28
+ .list-group-item-action {
29
+ @include transition(color animation.$transition-time-simple animation.$transition-easing-default, background-color animation.$transition-time-simple animation.$transition-easing-default);
30
+
31
+ @include hover-focus {
32
+ .list-group-item-right-svg {
33
+ transform: translateX(animation.$transition-distance-xsmall);
34
+ }
35
+ }
36
+
37
+ .list-group-item-right-svg {
38
+ @include transition(transform animation.$transition-time-area-small animation.$transition-easing-default);
39
+ }
40
+
41
+ &-minimal,
42
+ &-transparent {
43
+ @include hover-focus {
44
+ background-color: transparent;
45
+ }
46
+ }
47
+
48
+ &-inverted {
49
+ background-color: transparent;
50
+
51
+ @include hover-focus {
52
+ background-color: list-group.$list-group-hover-bg-inverted;
53
+ }
54
+ }
55
+ }
56
+
57
+ .list-group-item {
58
+ display: flex;
59
+ align-content: center;
60
+ align-items: center;
61
+ justify-content: space-between;
62
+ font-weight: normal;
63
+ text-decoration: none;
64
+ padding-right: map.get(spacing.$post-sizes, "small-regular");
65
+ padding-left: map.get(spacing.$post-sizes, "small-regular");
66
+ background-color: transparent;
67
+
68
+ &-svg {
69
+ flex: 0 0 auto;
70
+ }
71
+
72
+ &-left-icon {
73
+ justify-content: flex-start;
74
+ padding-left: map.get(spacing.$post-sizes, "mini");
75
+
76
+ .list-group-item-svg {
77
+ margin-right: map.get(spacing.$post-sizes, "mini");
78
+
79
+ @include media-breakpoint-up(rg) {
80
+ margin-right: map.get(spacing.$post-sizes, "small-regular");
81
+ }
82
+ }
83
+
84
+ @include media-breakpoint-up(rg) {
85
+ padding-left: map.get(spacing.$post-sizes, "small-regular");
86
+ }
87
+ }
88
+
89
+ &-no-border {
90
+ border: none;
91
+ }
92
+
93
+ &-minimal {
94
+ @include type-mixins.fontSizeAndLineHeight(type.$font-size-bigger-regular, type.$font-size-bigger-regular);
95
+ padding-right: 0;
96
+ padding-left: 0;
97
+ }
98
+
99
+ &-transparent {
100
+ background-color: transparent;
101
+
102
+ &:hover {
103
+ background-color: transparent;
104
+ }
105
+
106
+ @include media-breakpoint-up(rg) {
107
+ padding-left: map.get(spacing.$post-sizes, "regular");
108
+ }
109
+ }
110
+
111
+ &-white {
112
+ background-color: transparent;
113
+ color: color.$white;
114
+
115
+ &:hover {
116
+ color: color.$white-alpha-80;
117
+ background-color: transparent;
118
+ }
119
+ }
120
+
121
+ @include media-breakpoint-up(rg) {
122
+ padding-left: map.get(spacing.$post-sizes, "large");
123
+
124
+ &-minimal {
125
+ padding-left: 0;
126
+ }
127
+
128
+ &-transparent {
129
+ padding-left: map.get(spacing.$post-sizes, "regular");
130
+ padding-right: map.get(spacing.$post-sizes, "mini");
131
+ }
132
+ }
133
+
134
+ @include media-breakpoint-up(lg) {
135
+ &-big {
136
+ padding: map.get(spacing.$post-sizes, "small-large") map.get(spacing.$post-sizes, "mini") map.get(spacing.$post-sizes, "small-large") map.get(spacing.$post-sizes, "regular");
137
+ }
138
+ }
139
+ }
140
+
141
+ .list-group-item {
142
+ border-right: 0;
143
+ border-left: 0;
144
+ border-collapse: collapse;
145
+
146
+ .list-group &:last-child {
147
+ border-bottom: 0;
148
+ }
149
+ }
150
+
151
+ .list-group-white {
152
+ .list-group-item {
153
+ border: none;
154
+ border-top: list-group.$list-group-border-width solid color.$white-alpha-20;
155
+ }
156
+ }
@@ -0,0 +1,87 @@
1
+ @forward "../variables/options";
2
+
3
+ @use "../lic/bootstrap-license";
4
+ @use "../themes/bootstrap/modal" as bm;
5
+ @use "../themes/bootstrap/close" as bc;
6
+ @use "../themes/bootstrap/overrides" as bootstrap;
7
+
8
+ @use "../mixins/icons" as icon-mixin;
9
+ @use "../mixins/scroll-shadows" as scroll-shadows-mixin;
10
+ @use "../variables";
11
+
12
+ .modal-content {
13
+ border: none;
14
+ box-shadow: variables.$box-shadow;
15
+ }
16
+
17
+ post-ngb-modal-content {
18
+ display: flex;
19
+ flex-direction: column;
20
+ }
21
+
22
+ .modal-body {
23
+ @include scroll-shadows-mixin.scroll-shadows-y(variables.$modal-content-bg);
24
+ overflow-y: auto;
25
+ padding: variables.$modal-body-padding;
26
+ }
27
+
28
+ .modal-header,
29
+ .modal-footer {
30
+ border: none;
31
+ }
32
+
33
+ .modal-title:focus {
34
+ outline: none; // Removes focus styles when you manually set focus to title with ngbAutofocus https://ng-bootstrap.github.io/#/components/modal/examples#focus
35
+ }
36
+
37
+ .modal-header .close {
38
+ padding: variables.$modal-close-btn-padding;
39
+
40
+ & > * { // hide the "X" from the ng-bootstrap implementation
41
+ display: none;
42
+ }
43
+
44
+ &::before { // display the "X" from CWF icons
45
+ @include icon-mixin.pi(2043);
46
+ content: "";
47
+ position: relative;
48
+ opacity: .8;
49
+ vertical-align: middle;
50
+ display: inline-block;
51
+ width: variables.$icon-size-default;
52
+ height: variables.$icon-size-default;
53
+ background-size: contain;
54
+ background-repeat: no-repeat;
55
+ background-position: center center;
56
+ transition: variables.$transition-fade;
57
+ }
58
+ }
59
+
60
+ @include bootstrap.media-breakpoint-up(sm) {
61
+ post-ngb-modal-content { // prevents the modal from exceeding the height of the screen
62
+ max-height: calc(100vh - #{2 * variables.$modal-dialog-margin-y-sm-up});
63
+ }
64
+
65
+ // Right and left margins are set to "auto" from the sm breakpoint
66
+ // Paddings below ensure minimal margins on medium screens
67
+ .modal-dialog {
68
+ padding-right: variables.$modal-dialog-margin;
69
+ padding-left: variables.$modal-dialog-margin;
70
+ }
71
+ }
72
+
73
+ @include bootstrap.media-breakpoint-down(xs) {
74
+ post-ngb-modal-content { // make the modal cover the full height available on small screens
75
+ height: calc(100vh - #{2 * variables.$modal-dialog-margin});
76
+ }
77
+
78
+ .modal-body,
79
+ .modal-header {
80
+ padding-right: variables.$modal-header-padding-y;
81
+ padding-left: variables.$modal-header-padding-y;
82
+ }
83
+
84
+ .modal-header .close {
85
+ margin-right: (- variables.$modal-header-padding-y);
86
+ }
87
+ }
@@ -0,0 +1,67 @@
1
+ @forward "../variables/options";
2
+
3
+ @use "../lic/bootstrap-license";
4
+ @use "../themes/bootstrap/pagination" as pg;
5
+ @use "../variables/components/pagination";
6
+ @use "../mixins/icons" as icon-mixin;
7
+ @use "./icons.scss";
8
+
9
+ .pagination {
10
+ .page-item {
11
+ color: pagination.$pagination-color;
12
+ width: pagination.$pagination-width;
13
+
14
+ &.disabled:first-child,
15
+ &.disabled:last-child {
16
+ display: none;
17
+ }
18
+
19
+ .page-link {
20
+ color: inherit;
21
+ text-decoration: none;
22
+ text-align: center;
23
+ height: 100%;
24
+
25
+ &[aria-label="Previous"],
26
+ &[aria-label="Next"] {
27
+ display: flex;
28
+ align-items: center;
29
+ justify-content: center;
30
+ padding: 0;
31
+ }
32
+
33
+ &[aria-label="Previous"] span,
34
+ &[aria-label="Next"] span {
35
+ display: none;
36
+ }
37
+
38
+ &[aria-label="Previous"] {
39
+ &::before {
40
+ @include icon-mixin.pi(2110, pagination.$pagination-color);
41
+ @extend .pi;
42
+ content: "";
43
+ }
44
+ }
45
+
46
+ &[aria-label="Next"] {
47
+ &::before {
48
+ @include icon-mixin.pi(2111, pagination.$pagination-color);
49
+ @extend .pi;
50
+ content: "";
51
+ }
52
+ }
53
+
54
+ &[aria-disabled] {
55
+ border-bottom: none;
56
+ border-top: none;
57
+ background-color: transparent;
58
+ }
59
+ }
60
+
61
+ &:hover,
62
+ &:focus,
63
+ &.active {
64
+ color: pagination.$pagination-active-color;
65
+ }
66
+ }
67
+ }
@@ -0,0 +1,21 @@
1
+ @forward "../variables/options";
2
+
3
+ @use "../lic/bootstrap-license";
4
+ @use "../themes/bootstrap/overrides" as *;
5
+ @use "../themes/bootstrap/popover" as bl;
6
+
7
+ @use "../variables/type";
8
+
9
+ // Popover
10
+ .popover {
11
+ text-align: left;
12
+ background-clip: border-box;
13
+ border-radius: 0px;
14
+ }
15
+
16
+ // Popover Header
17
+ .popover-header {
18
+ font-weight: type.$font-weight-bold;
19
+ text-align: left;
20
+ border-bottom: none;
21
+ }
@@ -0,0 +1,74 @@
1
+ @forward "../variables/options";
2
+
3
+ @use "sass:map";
4
+
5
+ @use "../lic/bootstrap-license";
6
+ @use "../themes/bootstrap/overrides" as bootstrap;
7
+ @use "../themes/bootstrap/card" as bootstrap-card;
8
+ @use "../variables/color";
9
+ @use "../variables/spacing";
10
+ @use "../variables/commons";
11
+ @use "../variables/breakpoints";
12
+ @use "../variables/components/card";
13
+ @use "../functions/sizing";
14
+ @use "../mixins/size" as size-mixin;
15
+
16
+ .product-navigation {
17
+ display: flex;
18
+ flex-flow: column;
19
+ justify-content: space-between;
20
+ height: 100%;
21
+ }
22
+
23
+ // Set auto height when product cards break
24
+ [data-sync-height-with] {
25
+ @each $breakpoint, $px in breakpoints.$grid-breakpoints {
26
+ [class*="col-#{$breakpoint}-"] > .card > & {
27
+ @media (max-width: #{$px - .2}) {
28
+ height: auto !important;
29
+ }
30
+ }
31
+ }
32
+ }
33
+
34
+ .card-buttons {
35
+ [class*="col-"] {
36
+ display: flex;
37
+ flex-direction: column;
38
+ }
39
+ }
40
+
41
+ .card-button {
42
+ margin: .75rem 0;
43
+ align-self: stretch;
44
+
45
+ [class*="col-"] > & {
46
+ height: 100%;
47
+ }
48
+
49
+ a {
50
+ text-decoration: none;
51
+ color: inherit;
52
+
53
+ > .pi {
54
+ width: 3rem;
55
+ height: 3rem;
56
+ margin-right: 1rem;
57
+ flex-shrink: 0;
58
+ }
59
+ }
60
+
61
+ .card-body {
62
+ @include size-mixin.responsive-size(regular);
63
+ }
64
+
65
+ .post-card-favourit {
66
+ background: transparent;
67
+ border: none;
68
+ border-radius: 0;
69
+ box-shadow: none;
70
+ position: absolute;
71
+ top: .5rem;
72
+ right: .5rem;
73
+ }
74
+ }
@@ -0,0 +1,15 @@
1
+ @forward "../variables/options";
2
+
3
+ @use "../lic/bootstrap-license";
4
+ @use "../themes/bootstrap/overrides" as bootstrap;
5
+ @use "../themes/bootstrap/progress" as bl;
6
+
7
+ @use "../variables/color";
8
+
9
+ @each $color, $value in color.$theme-colors {
10
+ .progress {
11
+ & > .bg-#{$color} {
12
+ color: bootstrap.color-yiq($value);
13
+ }
14
+ }
15
+ }
@@ -0,0 +1,17 @@
1
+ @forward "../variables/options";
2
+
3
+ @use "../lic/bootstrap-license";
4
+ @use "../themes/bootstrap/overrides" as *;
5
+ @use "../themes/bootstrap/reboot";
6
+
7
+ @use "../mixins/type";
8
+ @use "../variables/animation";
9
+
10
+
11
+ body {
12
+ @include type.font-smoothing();
13
+ }
14
+
15
+ a {
16
+ @include transition(all animation.$transition-time-simple animation.$transition-easing-default);
17
+ }
@@ -0,0 +1,10 @@
1
+ @use "../variables/color";
2
+
3
+ :root {
4
+ @each $color-name, $color-value in color.$theme-colors {
5
+ --#{$color-name}: #{$color-value};
6
+ }
7
+
8
+ --text: #{color.$black};
9
+ --focus-color: #{color.$black-alpha-40};
10
+ }
@@ -0,0 +1,90 @@
1
+ @forward "../variables/options";
2
+
3
+ @use "sass:map";
4
+ @use "../themes/bootstrap/overrides" as bootstrap;
5
+ @use "../variables/spacing";
6
+ @use "../variables/breakpoints";
7
+ @use "../mixins/utilities";
8
+
9
+ // Post margins, paddings and sizes
10
+ @each $breakpoint in map-keys(breakpoints.$grid-breakpoints) {
11
+ @include bootstrap.media-breakpoint-up($breakpoint) {
12
+ $infix: if($breakpoint == "xs", "", "-#{$breakpoint}");
13
+
14
+ @each $prop, $abbrev in (margin: m, padding: p, line-height: lh, height: h, max-height: mh, width: w, max-width: mw) {
15
+ @each $size, $length in spacing.$post-sizes {
16
+ @if ($prop == margin or $prop == padding) {
17
+ .#{$abbrev}t#{$infix}-#{$size},
18
+ .#{$abbrev}y#{$infix}-#{$size} {
19
+ #{$prop}-top: $length !important;
20
+ }
21
+
22
+ .#{$abbrev}r#{$infix}-#{$size},
23
+ .#{$abbrev}x#{$infix}-#{$size} {
24
+ #{$prop}-right: $length !important;
25
+ }
26
+
27
+ .#{$abbrev}b#{$infix}-#{$size},
28
+ .#{$abbrev}y#{$infix}-#{$size} {
29
+ #{$prop}-bottom: $length !important;
30
+ }
31
+
32
+ .#{$abbrev}l#{$infix}-#{$size},
33
+ .#{$abbrev}x#{$infix}-#{$size} {
34
+ #{$prop}-left: $length !important;
35
+ }
36
+ }
37
+
38
+ .#{$abbrev}#{$infix}-#{$size} {
39
+ #{$prop}: $length !important;
40
+ }
41
+ }
42
+ }
43
+ }
44
+ }
45
+
46
+ // Generate responsive spacing utility classes, a lot of them
47
+ $cache: ();
48
+
49
+ @each $breakpoint-key, $breakpoint-value in breakpoints.$grid-breakpoints {
50
+ @if ($breakpoint-key == "xs") {
51
+ @each $curve-name, $curve-sizes in spacing.$size-curves {
52
+ $value: map.get($curve-sizes, $breakpoint-key);
53
+
54
+ @each $classname, $property in spacing.$responsive-spacing-properties {
55
+ $cache: map.set($cache, $classname + $curve-name, $value);
56
+ @include utilities.generate-utility-class($classname, $curve-name, $property, $value);
57
+ }
58
+ }
59
+ } @else {
60
+ // Media queries create a scope, upstream variables become read-only and updating the $cache
61
+ // is impossible from within the media query. Therefore we first compile a stack of utility
62
+ // classes to compile, and then compile them. With caching, we're able to skip 370 utility
63
+ // classes from being written (765 vs. 2248 lines of code unminified)
64
+
65
+ $stack: ();
66
+
67
+ @each $curve-name, $curve-sizes in spacing.$size-curves {
68
+ $value: map.get($curve-sizes, $breakpoint-key);
69
+
70
+ @each $classname, $property in spacing.$responsive-spacing-properties {
71
+ @if (map.get($cache, $classname + $curve-name) != $value) {
72
+ $stack: map.set($stack, $classname, $curve-name, $property, $value);
73
+ $cache: map.set($cache, $classname + $curve-name, $value);
74
+ }
75
+ }
76
+ }
77
+
78
+ // Render the stack
79
+ //stylelint-disable-next-line order/order
80
+ @include bootstrap.media-breakpoint-up($breakpoint-key) {
81
+ @each $classname, $class-map in $stack {
82
+ @each $curve-name, $curve-map in $class-map {
83
+ @each $property, $value in $curve-map {
84
+ @include utilities.generate-utility-class($classname, $curve-name, $property, $value);
85
+ }
86
+ }
87
+ }
88
+ }
89
+ }
90
+ }
@@ -0,0 +1,58 @@
1
+ @forward "../variables/options";
2
+
3
+ @use "../lic/bootstrap-license";
4
+ @use "../themes/bootstrap/overrides" as *;
5
+ @use "../themes/bootstrap/progress" as bl;
6
+
7
+ @use "../variables/commons";
8
+ @use "../variables/components/spinners";
9
+
10
+
11
+ @keyframes spin {
12
+ 0% {
13
+ transform: rotate(0deg);
14
+ }
15
+
16
+ 100% {
17
+ transform: rotate(360deg);
18
+ }
19
+ }
20
+
21
+ .spinner-bg {
22
+ height: 100%;
23
+ width: 100%;
24
+ z-index: commons.$zindex-spinner;
25
+ position: absolute;
26
+ }
27
+
28
+ .loading-modal {
29
+ z-index: commons.$zindex-spinner;
30
+ position: absolute;
31
+ display: inline-flex;
32
+ top: 0;
33
+ right: 0;
34
+ bottom: 0;
35
+ left: 0;
36
+ }
37
+
38
+ .loader {
39
+ border-radius: 50%;
40
+ border: spinners.$spinner-border-width solid spinners.$spinner-color-primary;
41
+ border-right-color: transparent;
42
+ border-bottom-color: spinners.$spinner-color-secondary;
43
+ width: spinners.$spinner-size;
44
+ height: spinners.$spinner-size;
45
+ animation: spin 2s linear infinite;
46
+
47
+ &.loader-sm {
48
+ width: spinners.$spinner-size-sm;
49
+ height: spinners.$spinner-size-sm;
50
+ border-width: spinners.$spinner-border-width-sm;
51
+ }
52
+
53
+ &.loader-xs {
54
+ width: spinners.$spinner-size-xs;
55
+ height: spinners.$spinner-size-xs;
56
+ border-width: spinners.$spinner-border-width-xs;
57
+ }
58
+ }