Skip to content

💪 A simple and reusable flexbox component for Svelte

License

Notifications You must be signed in to change notification settings

demetrius-mp/svelte-flex

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

svelte-flex

💪 A simple and reusable flexbox component for Svelte.


A simple and reusable flexbox component for Svelte.

  • Sane defaults.
  • Simple API.
  • Reactive props.
  • Minimal size.

Try me on CodeSandbox!

Requirements

This package requires at least [email protected] to work, as it makes use of the style directives feature introduced in the 3.46.x version.

Installation

This package is available on NPM, and you can install it with npm or yarn:

npm install svelte-flex

yarn add svelte-flex

Usage

Import the Flex component and use it in your Svelte project.

<script>
  import Flex from 'svelte-flex';
</script>

<Flex>
  <div>Flexbox child!</div>
  <div>Flexbox child!</div>
  <div>Flexbox child!</div>
</Flex>

Props

All props are optional (as they all have default values).

Prop Possible Values Default Value
direction 'row' | 'column' 'row'
align 'start' | 'center' | 'end' | 'stretch' 'center'
justify 'start' | 'center' | 'end' | 'around' | 'between' | 'evenly' 'center'
reverse true | false false

Check out the test suite if you're unsure what CSS styles are applied by these props.

The props are reactive, meaning that if they are dynamically updated, the component will update in response.

Additional Props

Any additional props you provide to Flex will be spread onto the root element. This includes custom CSS classes, which will be applied after the flex classes:

Input

<Flex class="my-custom-class" aria-label="flex-boi">
  <span>Flex child</span>
</Flex>

HTML Output

<div class="flex flex-direction--row flex-align--center flex-justify--center my-custom-class" aria-label="flex-boi">
  <span>Flex child</span>
</div>

Contributing

Feel free to file an issue or open a pull request. Ensure that you add tests for any new functionality.


👌 Built by Dave Lunny.

About

💪 A simple and reusable flexbox component for Svelte

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 87.8%
  • Svelte 12.2%