UNPKG

2.96 kBJavaScriptView Raw
1"use strict";
2var __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})();
12Object.defineProperty(exports, "__esModule", { value: true });
13var react_malibu_1 = require("@heroku/react-malibu");
14var classnames_1 = require("classnames");
15var React = require("react");
16var HKButton_1 = require("./HKButton");
17var 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 = {}));
25var HKBanner = /** @class */ (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));
66exports.default = HKBanner;
67//# sourceMappingURL=HKBanner.js.map
\No newline at end of file