UNPKG

dtoaster

Version:
133 lines (111 loc) 4.48 kB
## DToaster **- Basic and viable toasts with progressbar and high customizabillity** ## DEMO ![Alt Text](https://s9.gifyu.com/images/ezgif-3-ced81cf05fd7.gif) ![Alt Text](https://im3.ezgif.com/tmp/ezgif-3-7a6c986db88f.gif) ## Requisites VueJS >= 2.x ## Install ```bash $ npm i dtoaster ``` ## Usage You can import and use the module everywhere in your app using: **app.js**: ```javascript import 'dtoaster/dist/dtoaster.css' import DToaster from 'dtoaster' import ToasterPresets from './json/toast_presets.json' //Your predefined toasts presets (optionally) Vue.use(DToaster, { presets: ToasterPresets, position: 'top-right', //toasts container position on the screen containerOffset: '45px', //toasts container offset from top/bottom of the screen }) ``` **anycomponent.vue**: ```javascript this.$dtoast.pop({ preset: "your_preset", heading: `Custom Heading`, content: `Custom content`, {...} }) ``` ## Predefined toasts (presets) You can create a json file with array of objects which are predefined toasts with all your options you want. Every preset must be associated with a name, which is used in loading the particular preset in a toast **Example of a json file**: ```json [ { "name" : "success", "icon" : "mdi mdi-checkbox-multiple-marked-circle-outline", "icon_size" : "32px", "duration" : "2500", "background" : "rgba(32,105,156,.9)", "height" : "75px", "color" : "#FFFFFF", "show_progress_timeout" : "true", "progress_background" : "#5a9fdc", "progress_thumb_bg" : "rgba(32,105,156,.9)" }, { "name" : "error", "icon" : "mdi mdi-close-circle-outline", "icon_size" : "32px", "duration" : "2500", "background" : "#ff1e1e", "height" : "75px", "color" : "#FFFFFF", "show_progress_timeout" : "true", "progress_background" : "rgb(255 175 175)", "progress_thumb_bg" : "#ff1e1e" } ] ``` **You can then use a specific preset by providing its name when 'popping' a toast**: ```javascript this.$dtoast.pop({ preset: "success", {...} }) ``` This will create a toast with the options from your desired preset, which eliminate the need of re-typing every option every time you pop the same toast **You can override specific preset option for a toast, leaving others unchanged** ```javascript this.$dtoast.pop({ preset: "success", color: "red", heading: "Toast with a different heading", content: "Toast with a different content", {...} }) ``` ## Toast Options | Option | Type | Function | Default | Available | | :--- | :---: | :--- | :--- | :---: | | toastVerticalOffset | String | Vertical offset of each toast | 5px | null, -- | | position | String | Position of the toast container | top-right | top-right, top-left, bottom-right, bottom-left | | width | String | Toast's width | 300px | -- | | height | String | Toast's height | 75px | -- | | name | String | Used preset name | -- | null, -- | | heading | String | Toast's heading | -- | -- | | content | String | Toast's content | -- | -- | | icon | String | Toast's icon class | -- | -- | | icon_size | String | Toast's icon font-size | 23px | -- | | transition | String | Toast's transitioning | slide | slide, *more to come* | | duration | String | Toast's duration | 1000 | -- | | background | String | Toast's background color | black | -- | | color | String | Toast's font color | white | -- | | show_progress_timeout | String | Show the progressbar | true | -- | | progress_background | String | Progressbar's background color | tomato | -- | | progress_thumb_bg | String | Progressbar's thumb color | red | -- | | \_style | String | Any style to override on the toast | -- | {prop: value, ...} | ## Container Options | Option | Type | Function | Default | Available | | :--- | :---: | :--- | :--- | :---: | | containerVerticalOffset | String | Vertical offset of the container | 35px | null, -- | | containerSideOffset | String | Side offset of the container | 5px | null, -- | ## If you feel the need to thank me **BTC** - bc1q8zhwxa5l6zg3amxten5rmetdkrz4sp78qzl5c4 **ETH** - 0x5e251964ACD0765694Bff190D88a6a727D986912