|
62 | 62 | $value: $value * $number
|
63 | 63 | @else if $exp < 0
|
64 | 64 | @for $i from 1 through -$exp
|
65 |
| - $value: $value / $number |
| 65 | + $value: divide($value, $number) |
66 | 66 | @return $value
|
67 | 67 |
|
68 | 68 | @function colorLuminance($color)
|
|
71 | 71 | $color-rgb: ('red': red($color),'green': green($color),'blue': blue($color))
|
72 | 72 | @each $name, $value in $color-rgb
|
73 | 73 | $adjusted: 0
|
74 |
| - $value: $value / 255 |
| 74 | + $value: divide($value, 255) |
75 | 75 | @if $value < 0.03928
|
76 |
| - $value: $value / 12.92 |
| 76 | + $value: divide($value, 12.92) |
77 | 77 | @else
|
78 |
| - $value: ($value + .055) / 1.055 |
| 78 | + $value: divide(($value + .055), 1.055) |
79 | 79 | $value: powerNumber($value, 2)
|
80 | 80 | $color-rgb: map-merge($color-rgb, ($name: $value))
|
81 | 81 | @return (map-get($color-rgb, 'red') * .2126) + (map-get($color-rgb, 'green') * .7152) + (map-get($color-rgb, 'blue') * .0722)
|
|
195 | 195 | $color-rgb: ('red': red($color),'green': green($color),'blue': blue($color))
|
196 | 196 | @each $name, $value in $color-rgb
|
197 | 197 | $adjusted: 0
|
198 |
| - $value: $value / 255 |
| 198 | + $value: divide($value, 255) |
199 | 199 | @if $value < 0.03928
|
200 |
| - $value: $value / 12.92 |
| 200 | + $value: divide($value, 12.92) |
201 | 201 | @else
|
202 |
| - $value: ($value + .055) / 1.055 |
| 202 | + $value: divide(($value + .055), 1.055) |
203 | 203 | $value: powerNumber($value, 2)
|
204 | 204 | $color-rgb: map-merge($color-rgb, ($name: $value))
|
205 | 205 | @return (map-get($color-rgb, 'red') * .2126) + (map-get($color-rgb, 'green') * .7152) + (map-get($color-rgb, 'blue') * .0722)
|
|
242 | 242 | @if type-of($color) != 'color'
|
243 | 243 | @return $color
|
244 | 244 | @return lighten($color, $amount)
|
| 245 | +
|
| 246 | + // Custom divide function by @mdo from https://github.com/twbs/bootstrap/pull/34245 |
| 247 | +// Replaces old slash division deprecated in Dart Sass |
| 248 | +@function divide($dividend, $divisor, $precision: 10) |
| 249 | + $sign: if($dividend > 0 and $divisor > 0, 1, -1) |
| 250 | + $dividend: abs($dividend) |
| 251 | + $divisor: abs($divisor) |
| 252 | + $quotient: 0 |
| 253 | + $remainder: $dividend |
| 254 | + @if $dividend == 0 |
| 255 | + @return 0 |
| 256 | + @if $divisor == 0 |
| 257 | + @error "Cannot divide by 0" |
| 258 | + @if $divisor == 1 |
| 259 | + @return $dividend |
| 260 | + @while $remainder >= $divisor |
| 261 | + $quotient: $quotient + 1 |
| 262 | + $remainder: $remainder - $divisor |
| 263 | + @if $remainder > 0 and $precision > 0 |
| 264 | + $remainder: divide($remainder * 10, $divisor, $precision - 1) * .1 |
| 265 | + @return ($quotient + $remainder) * $sign |
0 commit comments