1 | "use strict";
|
2 | var __extends = (this && this.__extends) || (function () {
|
3 | var extendStatics = Object.setPrototypeOf ||
|
4 | ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
5 | function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
|
6 | return function (d, b) {
|
7 | extendStatics(d, b);
|
8 | function __() { this.constructor = d; }
|
9 | d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
10 | };
|
11 | })();
|
12 | Object.defineProperty(exports, "__esModule", { value: true });
|
13 | var react_malibu_1 = require("@heroku/react-malibu");
|
14 | var classnames_1 = require("classnames");
|
15 | var React = require("react");
|
16 | var HKButton_1 = require("./HKButton");
|
17 | var BannerType;
|
18 | (function (BannerType) {
|
19 | BannerType["generic"] = "generic";
|
20 | BannerType["info"] = "info";
|
21 | BannerType["success"] = "success";
|
22 | BannerType["warning"] = "warning";
|
23 | BannerType["danger"] = "danger";
|
24 | })(BannerType = exports.BannerType || (exports.BannerType = {}));
|
25 | var HKBanner = (function (_super) {
|
26 | __extends(HKBanner, _super);
|
27 | function HKBanner() {
|
28 | var _a;
|
29 | var _this = _super !== null && _super.apply(this, arguments) || this;
|
30 | _this.typeMap = (_a = {},
|
31 | _a[BannerType.generic] = HKButton_1.Type.Secondary,
|
32 | _a[BannerType.info] = HKButton_1.Type.Info,
|
33 | _a[BannerType.success] = HKButton_1.Type.Success,
|
34 | _a[BannerType.warning] = HKButton_1.Type.Warning,
|
35 | _a[BannerType.danger] = HKButton_1.Type.Danger,
|
36 | _a);
|
37 | _this.colorMap = {
|
38 | danger: 'red',
|
39 | generic: 'dark-gray',
|
40 | info: 'blue',
|
41 | success: 'green',
|
42 | warning: 'orange',
|
43 | };
|
44 | _this.handleClick = function (e) {
|
45 | if (_this.props.onClick) {
|
46 | _this.props.onClick();
|
47 | }
|
48 | };
|
49 | return _this;
|
50 | }
|
51 | HKBanner.prototype.render = function () {
|
52 | var _a = this.props, buttonText = _a.buttonText, children = _a.children, type = _a.type, icon = _a.icon, title = _a.title, className = _a.className;
|
53 | var button;
|
54 | if (buttonText) {
|
55 | button = React.createElement(HKButton_1.default, { type: this.typeMap[type], onClick: this.handleClick, className: 'flex-none' }, buttonText);
|
56 | }
|
57 | return (React.createElement("div", { className: classnames_1.default("hk-banner--" + type + " flex items-center pv2", className) },
|
58 | React.createElement(react_malibu_1.MalibuIcon, { name: icon, size: 24, fillClass: this.colorMap[type], extraClasses: 'mr2 flex-none' }),
|
59 | React.createElement("div", { className: 'flex-auto' },
|
60 | title && React.createElement("div", { className: 'b' }, title),
|
61 | children),
|
62 | button));
|
63 | };
|
64 | return HKBanner;
|
65 | }(React.Component));
|
66 | exports.default = HKBanner;
|
67 |
|
\ | No newline at end of file |