open-vault/ui/app/components/alert-banner.js
Noelle Daley eed91ba84d
Add storybook (#6496)
* add storybook

* add storybook files

* add ToggleButton and AlertBanner stories

* add knobs addon

* add notes addon

* add ToggleButton and AlertsBanner notes

* move panel to right

* add ICon

* create story blueprint

* add header to blueprint

* upgrade to storybook 5.0.1

* add confirm-action stories

* move addon panel to bottom

* update ConfirmAction

* add jsdoc comments to alert banner component

* add AlertInline

* set showPanel to true in blueprint

* include newly generated markdown for stories

* adjust code example for toggle button

* add json-to-markdown to package.json

* update AuthForm

* add Storybook readme

* add AlertPopup

* add story markdown custom template

* make storybook dependencies optional

* center all stories

* use message-types helper to dynamically render alerts

* hide panel

* nest alert stories

* move icons into table

* separate homelink into multiple stories

* add homelink with nav example

* remove see links from alert-banner

* add script to autogenerate markdown from component and add it to stories

* add viewport addon and remove centered addon

* update README to include markdown generation

* remove @see links from jsdoc comments

* update README to include jsdoc example

* update alert banner md

* get rid of trailing ######

* update jsdoc and regenerate notes files

* update i-con md

* Update ui/scripts/gen-story-md.js

Co-Authored-By: noelledaley <noelledaley@users.noreply.github.com>

* Update ui/scripts/gen-story-md.js

Co-Authored-By: noelledaley <noelledaley@users.noreply.github.com>

* add storybook docs to vault ui readme

* add jsdoc comments to component blueprint, automatically import md file in story blueprint

* add template template to component blueprint override

* apply basic theme to storybook

* remove comment

* make sure all stories are using auto generated md

* storybook: show optional props in brackets

* storybook: 🔪 HomeLink

* storybook: show AuthConfigForm stories with knobs
2019-04-03 14:06:20 -07:00

33 lines
895 B
JavaScript

import Component from '@ember/component';
import { computed } from '@ember/object';
import { messageTypes } from 'vault/helpers/message-types';
/**
* @module AlertBanner
* `AlertBanner` components are used to inform users of important messages.
*
* @example
* ```js
* <AlertBanner @type="danger" @message="{{model.keyId}} is not a valid lease ID"/>
* ```
*
* @param type=null {String} - The banner type. This comes from the message-types helper.
* @param [message=null {String}] - The message to display within the banner.
*
*/
export default Component.extend({
type: null,
message: null,
yieldWithoutColumn: false,
classNameBindings: ['containerClass'],
containerClass: computed('type', function() {
return 'message ' + messageTypes([this.get('type')]).class;
}),
alertType: computed('type', function() {
return messageTypes([this.get('type')]);
}),
});