@sd-angular/core 19.0.0-beta.84 → 19.0.0-beta.86

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 (130) hide show
  1. package/README.md +716 -716
  2. package/assets/fonts/fonts.scss +115 -115
  3. package/assets/scss/bootstrap-4.6.2/_alert.scss +52 -52
  4. package/assets/scss/bootstrap-4.6.2/_badge.scss +54 -54
  5. package/assets/scss/bootstrap-4.6.2/_breadcrumb.scss +42 -42
  6. package/assets/scss/bootstrap-4.6.2/_button-group.scss +163 -163
  7. package/assets/scss/bootstrap-4.6.2/_buttons.scss +142 -142
  8. package/assets/scss/bootstrap-4.6.2/_card.scss +286 -286
  9. package/assets/scss/bootstrap-4.6.2/_carousel.scss +200 -200
  10. package/assets/scss/bootstrap-4.6.2/_close.scss +40 -40
  11. package/assets/scss/bootstrap-4.6.2/_code.scss +48 -48
  12. package/assets/scss/bootstrap-4.6.2/_custom-forms.scss +526 -526
  13. package/assets/scss/bootstrap-4.6.2/_dropdown.scss +192 -192
  14. package/assets/scss/bootstrap-4.6.2/_forms.scss +347 -347
  15. package/assets/scss/bootstrap-4.6.2/_functions.scss +190 -190
  16. package/assets/scss/bootstrap-4.6.2/_grid.scss +73 -73
  17. package/assets/scss/bootstrap-4.6.2/_images.scss +42 -42
  18. package/assets/scss/bootstrap-4.6.2/_input-group.scss +211 -211
  19. package/assets/scss/bootstrap-4.6.2/_jumbotron.scss +17 -17
  20. package/assets/scss/bootstrap-4.6.2/_list-group.scss +154 -154
  21. package/assets/scss/bootstrap-4.6.2/_media.scss +8 -8
  22. package/assets/scss/bootstrap-4.6.2/_mixins.scss +47 -47
  23. package/assets/scss/bootstrap-4.6.2/_modal.scss +240 -240
  24. package/assets/scss/bootstrap-4.6.2/_nav.scss +125 -125
  25. package/assets/scss/bootstrap-4.6.2/_navbar.scss +332 -332
  26. package/assets/scss/bootstrap-4.6.2/_pagination.scss +74 -74
  27. package/assets/scss/bootstrap-4.6.2/_popover.scss +170 -170
  28. package/assets/scss/bootstrap-4.6.2/_print.scss +132 -132
  29. package/assets/scss/bootstrap-4.6.2/_progress.scss +47 -47
  30. package/assets/scss/bootstrap-4.6.2/_reboot.scss +484 -484
  31. package/assets/scss/bootstrap-4.6.2/_root.scss +19 -19
  32. package/assets/scss/bootstrap-4.6.2/_spinners.scss +65 -65
  33. package/assets/scss/bootstrap-4.6.2/_tables.scss +185 -185
  34. package/assets/scss/bootstrap-4.6.2/_toasts.scss +46 -46
  35. package/assets/scss/bootstrap-4.6.2/_tooltip.scss +115 -115
  36. package/assets/scss/bootstrap-4.6.2/_transitions.scss +26 -26
  37. package/assets/scss/bootstrap-4.6.2/_type.scss +125 -125
  38. package/assets/scss/bootstrap-4.6.2/_utilities.scss +18 -18
  39. package/assets/scss/bootstrap-4.6.2/_variables.scss +1150 -1150
  40. package/assets/scss/bootstrap-4.6.2/bootstrap-grid.scss +30 -30
  41. package/assets/scss/bootstrap-4.6.2/bootstrap-reboot.scss +12 -12
  42. package/assets/scss/bootstrap-4.6.2/bootstrap.scss +44 -44
  43. package/assets/scss/bootstrap-4.6.2/mixins/_alert.scss +13 -13
  44. package/assets/scss/bootstrap-4.6.2/mixins/_background-variant.scss +23 -23
  45. package/assets/scss/bootstrap-4.6.2/mixins/_badge.scss +17 -17
  46. package/assets/scss/bootstrap-4.6.2/mixins/_border-radius.scss +76 -76
  47. package/assets/scss/bootstrap-4.6.2/mixins/_box-shadow.scss +20 -20
  48. package/assets/scss/bootstrap-4.6.2/mixins/_breakpoints.scss +123 -123
  49. package/assets/scss/bootstrap-4.6.2/mixins/_buttons.scss +110 -110
  50. package/assets/scss/bootstrap-4.6.2/mixins/_caret.scss +62 -62
  51. package/assets/scss/bootstrap-4.6.2/mixins/_clearfix.scss +7 -7
  52. package/assets/scss/bootstrap-4.6.2/mixins/_deprecate.scss +10 -10
  53. package/assets/scss/bootstrap-4.6.2/mixins/_float.scss +14 -14
  54. package/assets/scss/bootstrap-4.6.2/mixins/_forms.scss +195 -195
  55. package/assets/scss/bootstrap-4.6.2/mixins/_gradients.scss +45 -45
  56. package/assets/scss/bootstrap-4.6.2/mixins/_grid-framework.scss +80 -80
  57. package/assets/scss/bootstrap-4.6.2/mixins/_grid.scss +69 -69
  58. package/assets/scss/bootstrap-4.6.2/mixins/_hover.scss +37 -37
  59. package/assets/scss/bootstrap-4.6.2/mixins/_image.scss +36 -36
  60. package/assets/scss/bootstrap-4.6.2/mixins/_list-group.scss +21 -21
  61. package/assets/scss/bootstrap-4.6.2/mixins/_lists.scss +7 -7
  62. package/assets/scss/bootstrap-4.6.2/mixins/_nav-divider.scss +11 -11
  63. package/assets/scss/bootstrap-4.6.2/mixins/_pagination.scss +22 -22
  64. package/assets/scss/bootstrap-4.6.2/mixins/_reset-text.scss +17 -17
  65. package/assets/scss/bootstrap-4.6.2/mixins/_resize.scss +6 -6
  66. package/assets/scss/bootstrap-4.6.2/mixins/_screen-reader.scss +34 -34
  67. package/assets/scss/bootstrap-4.6.2/mixins/_size.scss +7 -7
  68. package/assets/scss/bootstrap-4.6.2/mixins/_table-row.scss +39 -39
  69. package/assets/scss/bootstrap-4.6.2/mixins/_text-emphasis.scss +17 -17
  70. package/assets/scss/bootstrap-4.6.2/mixins/_text-hide.scss +11 -11
  71. package/assets/scss/bootstrap-4.6.2/mixins/_text-truncate.scss +8 -8
  72. package/assets/scss/bootstrap-4.6.2/mixins/_transition.scss +26 -26
  73. package/assets/scss/bootstrap-4.6.2/mixins/_visibility.scss +8 -8
  74. package/assets/scss/bootstrap-4.6.2/utilities/_align.scss +8 -8
  75. package/assets/scss/bootstrap-4.6.2/utilities/_background.scss +19 -19
  76. package/assets/scss/bootstrap-4.6.2/utilities/_borders.scss +75 -75
  77. package/assets/scss/bootstrap-4.6.2/utilities/_clearfix.scss +3 -3
  78. package/assets/scss/bootstrap-4.6.2/utilities/_display.scss +26 -26
  79. package/assets/scss/bootstrap-4.6.2/utilities/_embed.scss +39 -39
  80. package/assets/scss/bootstrap-4.6.2/utilities/_flex.scss +51 -51
  81. package/assets/scss/bootstrap-4.6.2/utilities/_float.scss +11 -11
  82. package/assets/scss/bootstrap-4.6.2/utilities/_interactions.scss +5 -5
  83. package/assets/scss/bootstrap-4.6.2/utilities/_overflow.scss +5 -5
  84. package/assets/scss/bootstrap-4.6.2/utilities/_position.scss +32 -32
  85. package/assets/scss/bootstrap-4.6.2/utilities/_screenreaders.scss +11 -11
  86. package/assets/scss/bootstrap-4.6.2/utilities/_shadows.scss +6 -6
  87. package/assets/scss/bootstrap-4.6.2/utilities/_sizing.scss +20 -20
  88. package/assets/scss/bootstrap-4.6.2/utilities/_spacing.scss +73 -73
  89. package/assets/scss/bootstrap-4.6.2/utilities/_stretched-link.scss +19 -19
  90. package/assets/scss/bootstrap-4.6.2/utilities/_text.scss +72 -72
  91. package/assets/scss/bootstrap-4.6.2/utilities/_visibility.scss +13 -13
  92. package/assets/scss/bootstrap-4.6.2/vendor/_rfs.scss +228 -228
  93. package/assets/scss/core/print.scss +47 -47
  94. package/assets/scss/core/scrollbar.scss +30 -30
  95. package/assets/scss/core/typography.scss +121 -121
  96. package/fesm2022/sd-angular-core-components-anchor-v2.mjs +4 -4
  97. package/fesm2022/sd-angular-core-components-anchor-v2.mjs.map +1 -1
  98. package/fesm2022/sd-angular-core-components-avatar.mjs +2 -2
  99. package/fesm2022/sd-angular-core-components-avatar.mjs.map +1 -1
  100. package/fesm2022/sd-angular-core-components-chart.mjs +40 -40
  101. package/fesm2022/sd-angular-core-components-chart.mjs.map +1 -1
  102. package/fesm2022/sd-angular-core-components-quick-action.mjs.map +1 -1
  103. package/fesm2022/sd-angular-core-components-tab-router.mjs +4 -4
  104. package/fesm2022/sd-angular-core-components-tab-router.mjs.map +1 -1
  105. package/fesm2022/sd-angular-core-components-table.mjs +20 -20
  106. package/fesm2022/sd-angular-core-components-table.mjs.map +1 -1
  107. package/fesm2022/sd-angular-core-components-upload-file.mjs +4 -4
  108. package/fesm2022/sd-angular-core-components-upload-file.mjs.map +1 -1
  109. package/fesm2022/sd-angular-core-directives.mjs.map +1 -1
  110. package/fesm2022/sd-angular-core-forms-directives.mjs.map +1 -1
  111. package/fesm2022/sd-angular-core-forms-models.mjs.map +1 -1
  112. package/fesm2022/sd-angular-core-forms-select.mjs +2 -2
  113. package/fesm2022/sd-angular-core-forms-select.mjs.map +1 -1
  114. package/fesm2022/sd-angular-core-forms.mjs.map +1 -1
  115. package/fesm2022/sd-angular-core-modules-authom.mjs.map +1 -1
  116. package/fesm2022/sd-angular-core-modules-layout.mjs +2 -2
  117. package/fesm2022/sd-angular-core-modules-layout.mjs.map +1 -1
  118. package/fesm2022/sd-angular-core-pipes.mjs.map +1 -1
  119. package/fesm2022/sd-angular-core-services-api.mjs.map +1 -1
  120. package/fesm2022/sd-angular-core-services-cache.mjs.map +1 -1
  121. package/fesm2022/sd-angular-core-services-confirm.mjs.map +1 -1
  122. package/fesm2022/sd-angular-core-services-firebase.mjs.map +1 -1
  123. package/fesm2022/sd-angular-core-services-license.mjs.map +1 -1
  124. package/fesm2022/sd-angular-core-services-storage.mjs.map +1 -1
  125. package/fesm2022/sd-angular-core-utilities-extensions.mjs.map +1 -1
  126. package/fesm2022/sd-angular-core-utilities-models.mjs.map +1 -1
  127. package/fesm2022/sd-angular-core.mjs.map +1 -1
  128. package/package.json +36 -36
  129. package/sd-angular-core-19.0.0-beta.86.tgz +0 -0
  130. package/sd-angular-core-19.0.0-beta.84.tgz +0 -0
@@ -1,190 +1,190 @@
1
- // Bootstrap functions
2
- //
3
- // Utility mixins and functions for evaluating source code across our variables, maps, and mixins.
4
-
5
- // Ascending
6
- // Used to evaluate Sass maps like our grid breakpoints.
7
- @mixin _assert-ascending($map, $map-name) {
8
- $prev-key: null;
9
- $prev-num: null;
10
- @each $key, $num in $map {
11
- @if $prev-num == null or unit($num) == "%" or unit($prev-num) == "%" {
12
- // Do nothing
13
- } @else if not comparable($prev-num, $num) {
14
- @warn "Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !";
15
- } @else if $prev-num >= $num {
16
- @warn "Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !";
17
- }
18
- $prev-key: $key;
19
- $prev-num: $num;
20
- }
21
- }
22
-
23
- // Starts at zero
24
- // Used to ensure the min-width of the lowest breakpoint starts at 0.
25
- @mixin _assert-starts-at-zero($map, $map-name: "$grid-breakpoints") {
26
- @if length($map) > 0 {
27
- $values: map-values($map);
28
- $first-value: nth($values, 1);
29
- @if $first-value != 0 {
30
- @warn "First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.";
31
- }
32
- }
33
- }
34
-
35
- // Replace `$search` with `$replace` in `$string`
36
- // Used on our SVG icon backgrounds for custom forms.
37
- //
38
- // @author Hugo Giraudel
39
- // @param {String} $string - Initial string
40
- // @param {String} $search - Substring to replace
41
- // @param {String} $replace ('') - New value
42
- // @return {String} - Updated string
43
- @function str-replace($string, $search, $replace: "") {
44
- $index: str-index($string, $search);
45
-
46
- @if $index {
47
- @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
48
- }
49
-
50
- @return $string;
51
- }
52
-
53
- // See https://codepen.io/kevinweber/pen/dXWoRw
54
- //
55
- // Requires the use of quotes around data URIs.
56
-
57
- @function escape-svg($string) {
58
- @if str-index($string, "data:image/svg+xml") {
59
- @each $char, $encoded in $escaped-characters {
60
- // Do not escape the url brackets
61
- @if str-index($string, "url(") == 1 {
62
- $string: url("#{str-replace(str-slice($string, 6, -3), $char, $encoded)}");
63
- } @else {
64
- $string: str-replace($string, $char, $encoded);
65
- }
66
- }
67
- }
68
-
69
- @return $string;
70
- }
71
-
72
- // Color contrast
73
- @function color-yiq($color, $dark: $yiq-text-dark, $light: $yiq-text-light) {
74
- $r: red($color);
75
- $g: green($color);
76
- $b: blue($color);
77
-
78
- $yiq: (($r * 299) + ($g * 587) + ($b * 114)) * .001;
79
-
80
- @if ($yiq >= $yiq-contrasted-threshold) {
81
- @return $dark;
82
- } @else {
83
- @return $light;
84
- }
85
- }
86
-
87
- // Retrieve color Sass maps
88
- @function color($key: "blue") {
89
- @return map-get($colors, $key);
90
- }
91
-
92
- @function theme-color($key: "primary") {
93
- @return map-get($theme-colors, $key);
94
- }
95
-
96
- @function gray($key: "100") {
97
- @return map-get($grays, $key);
98
- }
99
-
100
- // Request a theme color level
101
- @function theme-color-level($color-name: "primary", $level: 0) {
102
- $color: theme-color($color-name);
103
- $color-base: if($level > 0, $black, $white);
104
- $level: abs($level);
105
-
106
- @return mix($color-base, $color, $level * $theme-color-interval);
107
- }
108
-
109
- // Return valid calc
110
- @function add($value1, $value2, $return-calc: true) {
111
- @if $value1 == null {
112
- @return $value2;
113
- }
114
-
115
- @if $value2 == null {
116
- @return $value1;
117
- }
118
-
119
- @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {
120
- @return $value1 + $value2;
121
- }
122
-
123
- @return if($return-calc == true, calc(#{$value1} + #{$value2}), $value1 + unquote(" + ") + $value2);
124
- }
125
-
126
- @function subtract($value1, $value2, $return-calc: true) {
127
- @if $value1 == null and $value2 == null {
128
- @return null;
129
- }
130
-
131
- @if $value1 == null {
132
- @return -$value2;
133
- }
134
-
135
- @if $value2 == null {
136
- @return $value1;
137
- }
138
-
139
- @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {
140
- @return $value1 - $value2;
141
- }
142
-
143
- @if type-of($value2) != number {
144
- $value2: unquote("(") + $value2 + unquote(")");
145
- }
146
-
147
- @return if($return-calc == true, calc(#{$value1} - #{$value2}), $value1 + unquote(" - ") + $value2);
148
- }
149
-
150
- @function divide($dividend, $divisor, $precision: 10) {
151
- $sign: if($dividend > 0 and $divisor > 0 or $dividend < 0 and $divisor < 0, 1, -1);
152
- $dividend: abs($dividend);
153
- $divisor: abs($divisor);
154
- @if $dividend == 0 {
155
- @return 0;
156
- }
157
- @if $divisor == 0 {
158
- @error "Cannot divide by 0";
159
- }
160
- $remainder: $dividend;
161
- $result: 0;
162
- $factor: 10;
163
- @while ($remainder > 0 and $precision >= 0) {
164
- $quotient: 0;
165
- @while ($remainder >= $divisor) {
166
- $remainder: $remainder - $divisor;
167
- $quotient: $quotient + 1;
168
- }
169
- $result: $result * 10 + $quotient;
170
- $factor: $factor * .1;
171
- $remainder: $remainder * 10;
172
- $precision: $precision - 1;
173
- @if ($precision < 0 and $remainder >= $divisor * 5) {
174
- $result: $result + 1;
175
- }
176
- }
177
- $result: $result * $factor * $sign;
178
- $dividend-unit: unit($dividend);
179
- $divisor-unit: unit($divisor);
180
- $unit-map: (
181
- "px": 1px,
182
- "rem": 1rem,
183
- "em": 1em,
184
- "%": 1%
185
- );
186
- @if ($dividend-unit != $divisor-unit and map-has-key($unit-map, $dividend-unit)) {
187
- $result: $result * map-get($unit-map, $dividend-unit);
188
- }
189
- @return $result;
190
- }
1
+ // Bootstrap functions
2
+ //
3
+ // Utility mixins and functions for evaluating source code across our variables, maps, and mixins.
4
+
5
+ // Ascending
6
+ // Used to evaluate Sass maps like our grid breakpoints.
7
+ @mixin _assert-ascending($map, $map-name) {
8
+ $prev-key: null;
9
+ $prev-num: null;
10
+ @each $key, $num in $map {
11
+ @if $prev-num == null or unit($num) == "%" or unit($prev-num) == "%" {
12
+ // Do nothing
13
+ } @else if not comparable($prev-num, $num) {
14
+ @warn "Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !";
15
+ } @else if $prev-num >= $num {
16
+ @warn "Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !";
17
+ }
18
+ $prev-key: $key;
19
+ $prev-num: $num;
20
+ }
21
+ }
22
+
23
+ // Starts at zero
24
+ // Used to ensure the min-width of the lowest breakpoint starts at 0.
25
+ @mixin _assert-starts-at-zero($map, $map-name: "$grid-breakpoints") {
26
+ @if length($map) > 0 {
27
+ $values: map-values($map);
28
+ $first-value: nth($values, 1);
29
+ @if $first-value != 0 {
30
+ @warn "First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.";
31
+ }
32
+ }
33
+ }
34
+
35
+ // Replace `$search` with `$replace` in `$string`
36
+ // Used on our SVG icon backgrounds for custom forms.
37
+ //
38
+ // @author Hugo Giraudel
39
+ // @param {String} $string - Initial string
40
+ // @param {String} $search - Substring to replace
41
+ // @param {String} $replace ('') - New value
42
+ // @return {String} - Updated string
43
+ @function str-replace($string, $search, $replace: "") {
44
+ $index: str-index($string, $search);
45
+
46
+ @if $index {
47
+ @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
48
+ }
49
+
50
+ @return $string;
51
+ }
52
+
53
+ // See https://codepen.io/kevinweber/pen/dXWoRw
54
+ //
55
+ // Requires the use of quotes around data URIs.
56
+
57
+ @function escape-svg($string) {
58
+ @if str-index($string, "data:image/svg+xml") {
59
+ @each $char, $encoded in $escaped-characters {
60
+ // Do not escape the url brackets
61
+ @if str-index($string, "url(") == 1 {
62
+ $string: url("#{str-replace(str-slice($string, 6, -3), $char, $encoded)}");
63
+ } @else {
64
+ $string: str-replace($string, $char, $encoded);
65
+ }
66
+ }
67
+ }
68
+
69
+ @return $string;
70
+ }
71
+
72
+ // Color contrast
73
+ @function color-yiq($color, $dark: $yiq-text-dark, $light: $yiq-text-light) {
74
+ $r: red($color);
75
+ $g: green($color);
76
+ $b: blue($color);
77
+
78
+ $yiq: (($r * 299) + ($g * 587) + ($b * 114)) * .001;
79
+
80
+ @if ($yiq >= $yiq-contrasted-threshold) {
81
+ @return $dark;
82
+ } @else {
83
+ @return $light;
84
+ }
85
+ }
86
+
87
+ // Retrieve color Sass maps
88
+ @function color($key: "blue") {
89
+ @return map-get($colors, $key);
90
+ }
91
+
92
+ @function theme-color($key: "primary") {
93
+ @return map-get($theme-colors, $key);
94
+ }
95
+
96
+ @function gray($key: "100") {
97
+ @return map-get($grays, $key);
98
+ }
99
+
100
+ // Request a theme color level
101
+ @function theme-color-level($color-name: "primary", $level: 0) {
102
+ $color: theme-color($color-name);
103
+ $color-base: if($level > 0, $black, $white);
104
+ $level: abs($level);
105
+
106
+ @return mix($color-base, $color, $level * $theme-color-interval);
107
+ }
108
+
109
+ // Return valid calc
110
+ @function add($value1, $value2, $return-calc: true) {
111
+ @if $value1 == null {
112
+ @return $value2;
113
+ }
114
+
115
+ @if $value2 == null {
116
+ @return $value1;
117
+ }
118
+
119
+ @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {
120
+ @return $value1 + $value2;
121
+ }
122
+
123
+ @return if($return-calc == true, calc(#{$value1} + #{$value2}), $value1 + unquote(" + ") + $value2);
124
+ }
125
+
126
+ @function subtract($value1, $value2, $return-calc: true) {
127
+ @if $value1 == null and $value2 == null {
128
+ @return null;
129
+ }
130
+
131
+ @if $value1 == null {
132
+ @return -$value2;
133
+ }
134
+
135
+ @if $value2 == null {
136
+ @return $value1;
137
+ }
138
+
139
+ @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {
140
+ @return $value1 - $value2;
141
+ }
142
+
143
+ @if type-of($value2) != number {
144
+ $value2: unquote("(") + $value2 + unquote(")");
145
+ }
146
+
147
+ @return if($return-calc == true, calc(#{$value1} - #{$value2}), $value1 + unquote(" - ") + $value2);
148
+ }
149
+
150
+ @function divide($dividend, $divisor, $precision: 10) {
151
+ $sign: if($dividend > 0 and $divisor > 0 or $dividend < 0 and $divisor < 0, 1, -1);
152
+ $dividend: abs($dividend);
153
+ $divisor: abs($divisor);
154
+ @if $dividend == 0 {
155
+ @return 0;
156
+ }
157
+ @if $divisor == 0 {
158
+ @error "Cannot divide by 0";
159
+ }
160
+ $remainder: $dividend;
161
+ $result: 0;
162
+ $factor: 10;
163
+ @while ($remainder > 0 and $precision >= 0) {
164
+ $quotient: 0;
165
+ @while ($remainder >= $divisor) {
166
+ $remainder: $remainder - $divisor;
167
+ $quotient: $quotient + 1;
168
+ }
169
+ $result: $result * 10 + $quotient;
170
+ $factor: $factor * .1;
171
+ $remainder: $remainder * 10;
172
+ $precision: $precision - 1;
173
+ @if ($precision < 0 and $remainder >= $divisor * 5) {
174
+ $result: $result + 1;
175
+ }
176
+ }
177
+ $result: $result * $factor * $sign;
178
+ $dividend-unit: unit($dividend);
179
+ $divisor-unit: unit($divisor);
180
+ $unit-map: (
181
+ "px": 1px,
182
+ "rem": 1rem,
183
+ "em": 1em,
184
+ "%": 1%
185
+ );
186
+ @if ($dividend-unit != $divisor-unit and map-has-key($unit-map, $dividend-unit)) {
187
+ $result: $result * map-get($unit-map, $dividend-unit);
188
+ }
189
+ @return $result;
190
+ }
@@ -1,73 +1,73 @@
1
- // Container widths
2
- //
3
- // Set the container width, and override it for fixed navbars in media queries.
4
-
5
- @if $enable-grid-classes {
6
- // Single container class with breakpoint max-widths
7
- .container,
8
- // 100% wide container at all breakpoints
9
- .container-fluid {
10
- @include make-container();
11
- }
12
-
13
- // Responsive containers that are 100% wide until a breakpoint
14
- @each $breakpoint, $container-max-width in $container-max-widths {
15
- .container-#{$breakpoint} {
16
- @extend .container-fluid;
17
- }
18
-
19
- @include media-breakpoint-up($breakpoint, $grid-breakpoints) {
20
- %responsive-container-#{$breakpoint} {
21
- max-width: $container-max-width;
22
- }
23
-
24
- // Extend each breakpoint which is smaller or equal to the current breakpoint
25
- $extend-breakpoint: true;
26
-
27
- @each $name, $width in $grid-breakpoints {
28
- @if ($extend-breakpoint) {
29
- .container#{breakpoint-infix($name, $grid-breakpoints)} {
30
- @extend %responsive-container-#{$breakpoint};
31
- }
32
-
33
- // Once the current breakpoint is reached, stop extending
34
- @if ($breakpoint == $name) {
35
- $extend-breakpoint: false;
36
- }
37
- }
38
- }
39
- }
40
- }
41
- }
42
-
43
-
44
- // Row
45
- //
46
- // Rows contain your columns.
47
-
48
- @if $enable-grid-classes {
49
- .row {
50
- @include make-row();
51
- }
52
-
53
- // Remove the negative margin from default .row, then the horizontal padding
54
- // from all immediate children columns (to prevent runaway style inheritance).
55
- .no-gutters {
56
- margin-right: 0;
57
- margin-left: 0;
58
-
59
- > .col,
60
- > [class*="col-"] {
61
- padding-right: 0;
62
- padding-left: 0;
63
- }
64
- }
65
- }
66
-
67
- // Columns
68
- //
69
- // Common styles for small and large grid columns
70
-
71
- @if $enable-grid-classes {
72
- @include make-grid-columns();
73
- }
1
+ // Container widths
2
+ //
3
+ // Set the container width, and override it for fixed navbars in media queries.
4
+
5
+ @if $enable-grid-classes {
6
+ // Single container class with breakpoint max-widths
7
+ .container,
8
+ // 100% wide container at all breakpoints
9
+ .container-fluid {
10
+ @include make-container();
11
+ }
12
+
13
+ // Responsive containers that are 100% wide until a breakpoint
14
+ @each $breakpoint, $container-max-width in $container-max-widths {
15
+ .container-#{$breakpoint} {
16
+ @extend .container-fluid;
17
+ }
18
+
19
+ @include media-breakpoint-up($breakpoint, $grid-breakpoints) {
20
+ %responsive-container-#{$breakpoint} {
21
+ max-width: $container-max-width;
22
+ }
23
+
24
+ // Extend each breakpoint which is smaller or equal to the current breakpoint
25
+ $extend-breakpoint: true;
26
+
27
+ @each $name, $width in $grid-breakpoints {
28
+ @if ($extend-breakpoint) {
29
+ .container#{breakpoint-infix($name, $grid-breakpoints)} {
30
+ @extend %responsive-container-#{$breakpoint};
31
+ }
32
+
33
+ // Once the current breakpoint is reached, stop extending
34
+ @if ($breakpoint == $name) {
35
+ $extend-breakpoint: false;
36
+ }
37
+ }
38
+ }
39
+ }
40
+ }
41
+ }
42
+
43
+
44
+ // Row
45
+ //
46
+ // Rows contain your columns.
47
+
48
+ @if $enable-grid-classes {
49
+ .row {
50
+ @include make-row();
51
+ }
52
+
53
+ // Remove the negative margin from default .row, then the horizontal padding
54
+ // from all immediate children columns (to prevent runaway style inheritance).
55
+ .no-gutters {
56
+ margin-right: 0;
57
+ margin-left: 0;
58
+
59
+ > .col,
60
+ > [class*="col-"] {
61
+ padding-right: 0;
62
+ padding-left: 0;
63
+ }
64
+ }
65
+ }
66
+
67
+ // Columns
68
+ //
69
+ // Common styles for small and large grid columns
70
+
71
+ @if $enable-grid-classes {
72
+ @include make-grid-columns();
73
+ }
@@ -1,42 +1,42 @@
1
- // Responsive images (ensure images don't scale beyond their parents)
2
- //
3
- // This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.
4
- // We previously tried the "images are responsive by default" approach in Bootstrap v2,
5
- // and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)
6
- // which weren't expecting the images within themselves to be involuntarily resized.
7
- // See also https://github.com/twbs/bootstrap/issues/18178
8
- .img-fluid {
9
- @include img-fluid();
10
- }
11
-
12
-
13
- // Image thumbnails
14
- .img-thumbnail {
15
- padding: $thumbnail-padding;
16
- background-color: $thumbnail-bg;
17
- border: $thumbnail-border-width solid $thumbnail-border-color;
18
- @include border-radius($thumbnail-border-radius);
19
- @include box-shadow($thumbnail-box-shadow);
20
-
21
- // Keep them at most 100% wide
22
- @include img-fluid();
23
- }
24
-
25
- //
26
- // Figures
27
- //
28
-
29
- .figure {
30
- // Ensures the caption's text aligns with the image.
31
- display: inline-block;
32
- }
33
-
34
- .figure-img {
35
- margin-bottom: $spacer * .5;
36
- line-height: 1;
37
- }
38
-
39
- .figure-caption {
40
- @include font-size($figure-caption-font-size);
41
- color: $figure-caption-color;
42
- }
1
+ // Responsive images (ensure images don't scale beyond their parents)
2
+ //
3
+ // This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.
4
+ // We previously tried the "images are responsive by default" approach in Bootstrap v2,
5
+ // and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)
6
+ // which weren't expecting the images within themselves to be involuntarily resized.
7
+ // See also https://github.com/twbs/bootstrap/issues/18178
8
+ .img-fluid {
9
+ @include img-fluid();
10
+ }
11
+
12
+
13
+ // Image thumbnails
14
+ .img-thumbnail {
15
+ padding: $thumbnail-padding;
16
+ background-color: $thumbnail-bg;
17
+ border: $thumbnail-border-width solid $thumbnail-border-color;
18
+ @include border-radius($thumbnail-border-radius);
19
+ @include box-shadow($thumbnail-box-shadow);
20
+
21
+ // Keep them at most 100% wide
22
+ @include img-fluid();
23
+ }
24
+
25
+ //
26
+ // Figures
27
+ //
28
+
29
+ .figure {
30
+ // Ensures the caption's text aligns with the image.
31
+ display: inline-block;
32
+ }
33
+
34
+ .figure-img {
35
+ margin-bottom: $spacer * .5;
36
+ line-height: 1;
37
+ }
38
+
39
+ .figure-caption {
40
+ @include font-size($figure-caption-font-size);
41
+ color: $figure-caption-color;
42
+ }