Skip to content

Commit

Permalink
docs(helpers): add 'Stacks' page
Browse files Browse the repository at this point in the history
  • Loading branch information
julien-deramond committed Aug 7, 2024
1 parent 3c49d70 commit a9dc166
Show file tree
Hide file tree
Showing 2 changed files with 84 additions and 2 deletions.
85 changes: 84 additions & 1 deletion site/content/docs/0.0/helpers/stacks.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,87 @@ aliases:
toc: true
---

{{< callout-soon "helper" >}}
Stacks offer a shortcut for applying a number of flexbox properties to quickly and easily create layouts in OUDS Web. All credit for the concept and implementation goes to the open source [Pylon project](https://almonk.github.io/pylon/).

{{< callout warning >}}
**Heads up!** Support for gap utilities with flexbox was recently added to Safari, so consider verifying your intended browser support. Grid layout should have no issues. [Read more](https://caniuse.com/flexbox-gap).
{{< /callout >}}

## Vertical

Use `.vstack` to create vertical layouts. Stacked items are full-width by default. Use `.gap-*` utilities to add space between items.

{{< example class="bd-example-flex" >}}
<div class="vstack gap-3">
<div class="p-2">First item</div>
<div class="p-2">Second item</div>
<div class="p-2">Third item</div>
</div>
{{< /example >}}

## Horizontal

Use `.hstack` for horizontal layouts. Stacked items are vertically centered by default and only take up their necessary width. Use `.gap-*` utilities to add space between items.

{{< example class="bd-example-flex" >}}
<div class="hstack gap-3">
<div class="p-2">First item</div>
<div class="p-2">Second item</div>
<div class="p-2">Third item</div>
</div>
{{< /example >}}

Using horizontal margin utilities like `.ms-auto` as spacers:

{{< example class="bd-example-flex" >}}
<div class="hstack gap-3">
<div class="p-2">First item</div>
<div class="p-2 ms-auto">Second item</div>
<div class="p-2">Third item</div>
</div>
{{< /example >}}

<!--And with [vertical rules]({{< docsref "/helpers/vertical-rule" >}}):
{{< example class="bd-example-flex" >}}
<div class="hstack gap-3">
<div class="p-2">First item</div>
<div class="p-2 ms-auto">Second item</div>
<div class="vr"></div>
<div class="p-2">Third item</div>
</div>
{{< /example >}}-->

<!--## Examples
Use `.vstack` to stack buttons and other elements:
{{< example >}}
<div class="vstack gap-2 col-md-5 mx-auto">
<button type="button" class="btn btn-primary">Save changes</button>
<button type="button" class="btn btn-outline-secondary">Cancel</button>
</div>
{{< /example >}}
Create an inline form with `.hstack`:
<details>
<summary>See Bootstrap examples that are incompatible with Orange Design System.</summary>
<br>
{{< design-callout-alert >}}
This variant with an **horizontal layout** (i.e. labels not above the input fields) should not be used because it does not respect the Orange Design System specifications.
{{< /design-callout-alert >}}
{{< example >}}
<div class="hstack gap-3">
<input class="form-control me-auto" type="text" placeholder="Add your item here..." aria-label="Add your item here...">
<button type="button" class="btn btn-primary">Submit</button>
<div class="vr"></div>
<button type="button" class="btn btn-outline-secondary">Reset</button>
</div>
{{< /example >}}
</details>-->

## CSS

{{< scss-docs name="stacks" file="scss/helpers/_stacks.scss" >}}
1 change: 0 additions & 1 deletion site/data/sidebar.yml
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,6 @@
- title: Ratio
draft: true
- title: Stacks
draft: true
- title: Stretched link
draft: true
- title: Text truncation
Expand Down

0 comments on commit a9dc166

Please sign in to comment.