@tradeshift/elements.button
v0.40.2
Published
<h1 align="center"> <a href="https://tradeshift.com/"> <img alt="Tradeshift" src="https://tradeshift.com/wp-content/themes/Tradeshift/img/brand/logo-black.png"/> </a> </h1>
Downloads
46
Keywords
Readme
➤ Properties
| Property | Attribute | Type | Default | Description |
| --- | --- | --- | --- | --- |
| type | type | String | | Button type to have different style primary
, secondary
, text
, accept
, warning
, danger
|
| size | size | String | | Size of the button, macro
, micro
|
| busy | busy | Boolean | false | Show busy/loading animation |
| icon | icon | String | | Icon name from the list of available icons in ts-icon component or the inline svg string. Also note that it will hide the slot content unless the type is text |
| iconSrc | icon-src | String | | Url to svg asset for an icon. Also note that it will hide the slot content unless the type is text |
| disabled | disabled | Boolean | false | Determine if the button is disabled. button-click
event won't be dispatched |
| focused | focused | Boolean | false | Make the button focused |
| dir | dir | String | ltr | Direction of the component 'rtl' or 'ltr' |
| fullWidth | full-width | Boolean | false | Make the button take the full width of the container |
| grouped | grouped | Boolean | false | INTERNAL For internal use in ts-button-group
component |
| inline | inline | Boolean | false | INTERNAL For internal use in ts-button-group
component |
➤ Slots
| Name | Description | | ------- | ----------------------------------------------------------------- | | default | Text of the button should be wrapped around `ts-button` element |
➤ Events
| Name | Description | | ------------ | ----------- | | button-click | |
➤ How to use it
- Install the package of button
$ npm i @tradeshift/elements.button --save
- Import the component
import '@tradeshift/elements.button';
or
<script src="node_modules/@tradeshift/elements.button/lib/button.umd.js"></script>
Use it like demo
Our components rely on having the
Open Sans
available, You can see thefont-weight
andfont-style
you need to load here, or you can just load it from our package (for now)
<link rel="stylesheet" href="node_modules/@tradeshift/elements/src/fonts.css" />
➤ Polyfills
For supporting IE11 you need to add couple of things
- Don't shim CSS Custom Properties in IE11
<!-- Place this in the <head>, before the Web Component polyfills are loaded -->
<script>
if (!window.Promise) {
window.ShadyCSS = { nativeCss: true };
}
</script>
You have two options for polyfills library:
- Installation
$ npm i @open-wc/polyfills-loader
- Load it
import loadPolyfills from '@open-wc/polyfills-loader';
loadPolyfills().then(() => import('./my-app.js'));
- Installation
$ npm i @webcomponents/webcomponentsjs --save
- Enable ES5 class-less Custom Elements
<script src="/node_modules/@webcomponents/webcomponentsjs/custom-elements-es5-adapter.js"></script>
- Load appropriate polyfills and shims with
@webcomponents/webcomponentsjs
<script src="/node_modules/@webcomponents/webcomponentsjs/webcomponents-loader.js" defer></script>
➤ How to contribute
Thanks for your interest and help!
- First thing you need to do is read this [Component Checklist] which contains lots of important information about what you need to consider when you are creating/changing components
General info
You can find some links to useful materials about what we are using and some tutorials and articles that can help you get started.
➤ Polyfill Limitations
You can see a list of limitations that we should watch out for, here
➤ License
- You can always create forks on GitHub, submit Issues and Pull Requests.
- You can only use Tradeshift Elements to make apps on a Tradeshift platform, e.g. tradeshift.com.
- You can fix a bug until the bugfix is deployed by Tradeshift.
- You can host Tradeshift Elements yourself.
- If you want to make a bigger change or just want to talk with us, reach out to our team here on GitHub.
You can read the full license agreement in the LICENSE.md.