msc-snackbar

1.0.1 • Public • Published

msc-snackbar

Published on webcomponents.org DeepScan grade

<msc-snackbar /> provide brief messages about app processes at the bottom of the screen. It's a web component and applied Material Design - Snackbar's spec.

<msc-zoom />

Basic Usage

<msc-snackbar /> is a web component. All we need to do is put the required script into your HTML document. Then follow 's html structure and everything will be all set.

  • Required Script
<script
  type="module"
  src="https://your-domain/wc-msc-snackbar.js">        
</script>
  • Structure

Put <msc-snacker /> into HTML document. It will have different functions and looks with attribute mutation.

<msc-snackbar>
  <script type="application/json">
    {
      "active": false,
      "stack": false,
      "label": "messages",
      "action": {
        "content": "action",
        "hidden": true,
        "params": {
          ...
        }
      },
      "dismiss": {
        "auto": true,
        "hidden": true,
        "duration": 5000
      }
    }
  </script>
</msc-snackbar>

JavaScript Instantiation

<msc-snackbar /> could also use JavaScript to create DOM element. Here comes some examples.

<script type="module">
import { MscSnackbar } from 'https://your-domain/wc-msc-snackbar.js';

// use DOM api
const nodeA = document.createElement('msc-snackbar');
document.body.appendChild(nodeA);
nodeA.label = 'Put message here to let user aware';
nodeA.active = true;

// new instance with Class
const nodeB = new MscSnackbar();
document.body.appendChild(nodeB);
nodeB.label = 'Put message here to let user aware';
nodeB.active = true;

// new instance with Class & default config
const config = {
  active: false,
  stack: false,
  label: 'messages',
  action: {
    content: 'action',
    hidden: true,
    params: {
      ...
    }
  },
  dismiss: {
    auto: true,
    hidden: true,
    duration: 5000
  }
};
const nodeC = new MscSnackbar(config);
document.body.appendChild(nodeC);
nodeC.active = true;
</script>

Style Customization

Developers could apply styles to decorate <msc-snackbar /> margin distance.

<style>
msc-snackbar {
  --msc-snackbar-margin-inline: 16px;
  --msc-snackbar-margin-block-end: 16px;
}
</style>

Otherwise, apply class - msc-snackbar--leading to make <msc-snackbar /> align flex-start.

<msc-snackbar
  class="msc-snackbar--leading"
>
  ...
</msc-snackbar>

Attributes

<msc-snackbar /> supports some attributes to let it become more convenience & useful.

  • active

Set active for <msc-snackbar />. It will show up once set true. Default is false (not set).

<msc-snackbar
  active
>
  ...
</msc-snackbar>
  • stack

Set stacke for <msc-snackbar /> to display stacked view. Default is false (not set).

<msc-snackbar
  stack
>
  ...
</msc-snackbar>
  • label

Set label for <msc-snackbar />.

<msc-snackbar
  label="put message here"
>
  ...
</msc-snackbar>
  • action

Set action for <msc-snackbar />. It should be JSON string. Developers could set contenthidden and extra params here.(hidden must be boolean to make action display or not, default is true).

<msc-snackbar
  action='{"content":"retry","hidden":true,"params":{"origin":"extra param you like","id":"extra param you like"}}'
>
  ...
</msc-snackbar>
  • dismiss

Set dismiss for <msc-snackbar />. It should be JSON string. Developers could set autohidden and duration (ms) here.

hidden is for dismiss button display or not (default is true). auto (default is true) and duration (default is 5000) are for auto dismiss behavior.

<msc-snackbar
  dismiss='{"auto":true,"hidden":true,"duration":5000}'
>
  ...
</msc-snackbar>

Properties

Property Name Type Description
active Boolean Getter / Setter for active. It will make show up or not.
stack Boolean Getter / Setter for stack. This will set stacked view once set true. Default is false.
label String Getter / Setter for label. Developers could set message through this property.
action Object Getter / Setter for action. Developers could set contenthidden and extra params here.(hidden must be boolean to make action display or not, default is true).
dismiss Object Getter / Setter for dismiss. Developers could set autohidden and duration (ms) here. hidden is for dismiss button display or not (default is true). auto (default is true) and duration (default is 5000) are for auto dismiss behavior.

Event

Event Signature Description
msc-snackbar-action-click Fired when <msc-snackbar />'s action has been clicked. Developers could get params through event.detail.
msc-snackbar-dissmiss Fired when dismiss behavior occured.

Reference

Package Sidebar

Install

npm i msc-snackbar

Weekly Downloads

0

Version

1.0.1

License

MIT

Unpacked Size

49 kB

Total Files

7

Last publish

Collaborators

  • meistudioli