Elements - dialog
Part of the reusable Tradeshift UI Components as Web Components.
Demo
table {
width:100%;
}
➤ Properties
Property | Attribute | Type | Default | Description |
---|
visible | data-visible | Boolean | false | Dialog can be toggled by add/removing this attribute |
text | text | String | | Text content of the modal |
icon | icon | String | | If you need a different icon that default ones, you can use one of Elements icon names |
type | type | String | dialogTypes.CONFIRM | confirm , warning , danger |
translations | translations | Object | | can be used for customizing the buttons text and translations |
focused | focused | String | 'cancel' | set the default focus on the button, either accept or cancel |
primary | primary | String | | either accept or cancel can be used to change the button type, based on the dialog type, by default both are secondary |
renderButtons | renderButtons | Boolean | false | INTERNAL |
➤ Slots
Name | Description |
---|
content | If in rare cases you need to have more complex content than text property, you can override the text by using this slot |
extra-buttons | To add more options to the dialog, between accept and cancel buttons |
➤ Events
Name | Description | Payload |
---|
accept | Emitted when the user choose the accept option | |
cancel | Emitted when the user choose the cancel option | |
➤ How to use it
- Install the package of dialog
$ npm i @tradeshift/elements.dialog --save
import '@tradeshift/elements.dialog';
or
<script src="node_modules/@tradeshift/elements.dialog/lib/dialog.umd.js"></script>
<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
<script>
if (!window.Promise) {
window.ShadyCSS = { nativeCss: true };
}
</script>
You have two options for polyfills library:
- Use
@open-wc/polyfills-loader
$ npm i @open-wc/polyfills-loader
import loadPolyfills from '@open-wc/polyfills-loader';
loadPolyfills().then(() => import('./my-app.js'));
- Use
@webcomponents/webcomponentsjs
$ npm i @webcomponents/webcomponentsjs --save
- Enable ES5 class-less Custom Elements
<script src="/node_modules/@webcomponents/webcomponentsjs/custom-elements-es5-adapter.js"></script>
<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
You can find some links to useful materials about what we are using and some tutorials and articles that can help you get started.
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.