Skip to content

Commit

Permalink
Link helpers & use utility API for all utilities
Browse files Browse the repository at this point in the history
  • Loading branch information
MartijnCuppens committed Aug 26, 2019
1 parent a5cbb5e commit 19ee63a
Show file tree
Hide file tree
Showing 18 changed files with 91 additions and 95 deletions.
3 changes: 2 additions & 1 deletion scss/_helpers.scss
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
@import "helpers/background";
@import "helpers/clearfix";
@import "helpers/colored-links";
@import "helpers/embed";
@import "helpers/position";
@import "helpers/screenreaders";
@import "helpers/stretched-link";
@import "helpers/text";
@import "helpers/text-truncation";
1 change: 0 additions & 1 deletion scss/_mixins.scss
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@
@import "mixins/resize";
@import "mixins/screen-reader";
@import "mixins/reset-text";
@import "mixins/text-emphasis";
@import "mixins/text-truncate";

// Utilities
Expand Down
55 changes: 48 additions & 7 deletions scss/_utilities.scss
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,21 @@ $utilities: map-merge(
auto: auto
)
),
"max-width": (
property: max-width,
class: mw,
values: (100: 100%)
),
"viewport-width": (
property: width,
class: vw,
values: (100: 100vw)
),
"min-viewport-width": (
property: min-width,
class: min-vw,
values: (100: 100vw)
),
"height": (
property: height,
class: h,
Expand All @@ -102,6 +117,21 @@ $utilities: map-merge(
auto: auto
)
),
"max-height": (
property: max-height,
class: mh,
values: (100: 100%)
),
"viewport-height": (
property: height,
class: vh,
values: (100: 100vh)
),
"min-viewport-height": (
property: min-height,
class: min-vh,
values: (100: 100vh)
),
// Flex utilities
"flex": (
responsive: true,
Expand Down Expand Up @@ -352,13 +382,16 @@ $utilities: map-merge(
"color": (
property: color,
class: text,
values: (
white: $white,
body: $body-color,
muted: $text-muted,
black-50: rgba($black, .5),
white-50: rgba($white, .5),
reset: inherit,
values: map-merge(
$theme-colors,
(
white: $white,
body: $body-color,
muted: $text-muted,
black-50: rgba($black, .5),
white-50: rgba($white, .5),
reset: inherit,
)
)
),
"background-color": (
Expand Down Expand Up @@ -431,6 +464,14 @@ $utilities: map-merge(
class: rounded-left,
values: (null: $border-radius)
),
"visibility": (
property: visibility,
class: null,
values: (
visible: visible,
invisible: hidden,
)
)
),
$utilities
);
3 changes: 0 additions & 3 deletions scss/bootstrap-utilities.scss
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,3 @@
// Utilities

@import "utilities/api";
@import "utilities/sizing";
@import "utilities/text";
@import "utilities/visibility";
3 changes: 0 additions & 3 deletions scss/bootstrap.scss
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,3 @@
// Utilities

@import "utilities/api";
@import "utilities/sizing";
@import "utilities/text";
@import "utilities/visibility";
12 changes: 12 additions & 0 deletions scss/helpers/_colored-links.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
@each $color, $value in $theme-colors {
.link-#{$color} {
color: $value;

@if $emphasized-link-hover-darken-percentage != 0 {
&:hover,
&:focus {
color: darken($value, $emphasized-link-hover-darken-percentage);
}
}
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
//
// Text
// Text truncation
//

.text-truncate {
Expand Down
17 changes: 0 additions & 17 deletions scss/mixins/_text-emphasis.scss

This file was deleted.

8 changes: 5 additions & 3 deletions scss/mixins/_utilities.scss
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,13 @@
}

// Use custom class if present
$property-class: map-get($utility, class);
$property-class: if($property-class, $property-class, nth($properties, 1));
$property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));
$property-class: if($property-class == null, "", $property-class);

$infix: if($property-class == "" and str-slice($infix, 1, 1) == "-", str-slice($infix, 2), $infix);

// Don't prefix if value key is null (eg. with shadow class)
$property-class-modifier: if($key, "-" + $key, "");
$property-class-modifier: if($key, if($property-class == "" and $infix == "", "", "-") + $key, "");

.#{$property-class + $infix + $property-class-modifier} {
@each $property in $properties {
Expand Down
12 changes: 0 additions & 12 deletions scss/utilities/_sizing.scss

This file was deleted.

7 changes: 0 additions & 7 deletions scss/utilities/_text.scss

This file was deleted.

13 changes: 0 additions & 13 deletions scss/utilities/_visibility.scss

This file was deleted.

17 changes: 17 additions & 0 deletions site/content/docs/4.3/helpers/colored-links.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
layout: docs
title: Colored links
description: Colored links with hover states
group: helpers
toc: false
---

You can use the `.link-*` classes to colorize links. Unlike the [`.text-*` classes]({{< docsref "/utilities/colors#colors" >}}), these classes have a `:hover` and `:focus` state.

{{< example >}}
{{< colored-links.inline >}}
{{- range (index $.Site.Data "theme-colors") }}
<a href="#" class="link-{{ .name }}">{{ .name | title }} link</a>
{{- end -}}
{{< /colored-links.inline >}}
{{< /example >}}
4 changes: 1 addition & 3 deletions site/content/docs/4.3/helpers/text-truncation.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,9 @@ layout: docs
title: Text truncation
description: Truncate long strings of text with an ellipsis.
group: helpers
toc: true
toc: false
---

## Text truncation

For longer content, you can add a `.text-truncate` class to truncate the text with an ellipsis. **Requires `display: inline-block` or `display: block`.**

{{< example >}}
Expand Down
1 change: 1 addition & 0 deletions site/content/docs/4.3/migration.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ Changes to Reboot, typography, tables, and more.
- Reset default horizontal `padding-left` on `<ul>` and `<ol>` elements from browser default `40px` to `2rem`.
- Simplified table styles (no more 2px border on `thead > th` elements) and tightened cell padding.
- Dropped `.pre-scrollable` class. [See #29135](https://github.com/twbs/bootstrap/pull/29135)
- `.text-*` utilities do not add hover and focus states to links anymore. `.link-*` helper classes can be used instead. [See #29267](https://github.com/twbs/bootstrap/pull/29267)

## Forms

Expand Down
14 changes: 2 additions & 12 deletions site/content/docs/4.3/utilities/colors.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ toc: true

## Color

Colorize text with color utilities. If you want to colorize links, you can use the [`.link-*` helper classes]({{< docsref "/helpers/colored-links" >}}) which have `:hover` and `:focus` states.

{{< example >}}
{{< colors.inline >}}
{{- range (index $.Site.Data "theme-colors") }}
Expand All @@ -21,18 +23,6 @@ toc: true
<p class="text-white-50 bg-dark">.text-white-50</p>
{{< /example >}}

Contextual text classes also work well on anchors with the provided hover and focus states. **Note that the `.text-white` and `.text-muted` class has no additional link styling beyond underline.**

{{< example >}}
{{< colors.inline >}}
{{- range (index $.Site.Data "theme-colors") }}
<p><a href="#" class="text-{{ .name }}{{ if eq .name "light" }} bg-dark{{ end }}">{{ .name | title }} link</a></p>
{{- end -}}
{{< /colors.inline >}}
<p><a href="#" class="text-muted">Muted link</a></p>
<p><a href="#" class="text-white bg-dark">White link</a></p>
{{< /example >}}

## Background color

Similar to the contextual text color classes, easily set the background of an element to any contextual class. Background utilities **do not set `color`**, so in some cases you'll want to use `.text-*` utilities.
Expand Down
3 changes: 2 additions & 1 deletion site/data/sidebar.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,11 +67,12 @@
- title: Helpers
pages:
- title: Clearfix
- title: Colored links
- title: Embed
- title: Position
- title: Screen readers
- title: Stretched link
# - title: Text
- title: Text truncation

- title: Utilities
pages:
Expand Down
11 changes: 0 additions & 11 deletions site/static/docs/4.3/assets/scss/_subnav.scss
Original file line number Diff line number Diff line change
Expand Up @@ -49,14 +49,3 @@
line-height: 1;
color: $gray-900;
}

.link-dark {
font-weight: 500;
color: $dark;

&:hover,
&:focus {
color: $blue;
text-decoration: none;
}
}

0 comments on commit 19ee63a

Please sign in to comment.