UNPKG

3.46 kBJavaScriptView Raw
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.MessagePageCrate = exports.PageCrate = exports.PageCrateHeading = exports.Page = exports.LogoCrate = void 0;
7
8var _preact = require("preact");
9
10var _classnames = _interopRequireDefault(require("classnames"));
11
12var _logo = require("./logo");
13
14var _getStyledComponent = _interopRequireDefault(require("./utils/get-styled-component"));
15
16var _transitionIn = require("./transition-in");
17
18var _omit = _interopRequireDefault(require("./utils/omit"));
19
20var _icon = require("./icon");
21
22function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
24function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
25
26const LogoCrate = () => (0, _preact.h)("div", {
27 className: "mw6 mv3 ph3 pt2 pb3 center br2"
28}, (0, _preact.h)("div", {
29 className: "w-60"
30}, (0, _preact.h)("a", {
31 href: "/"
32}, (0, _preact.h)(_logo.LogoLight, null))));
33
34exports.LogoCrate = LogoCrate;
35const Page = (0, _transitionIn.transitionIn)((0, _getStyledComponent.default)({
36 baseClasses: 'transition',
37 options: {
38 transitions: ['firstRender']
39 },
40 fn: ({
41 firstRender
42 }) => firstRender ? 'o-0 translate-y' : 'o-100'
43}));
44exports.Page = Page;
45const PageCrateHeading = (0, _getStyledComponent.default)({
46 baseClasses: 'mt1 mb3',
47 tagName: 'h3'
48});
49exports.PageCrateHeading = PageCrateHeading;
50const PageCrate = (0, _getStyledComponent.default)({
51 baseClasses: 'no-print-padding mv3 pa3 center br2',
52 options: {
53 title: '',
54 backgroundColor: 'white',
55 width: ['wide'],
56 shadowExists: ['noShadow']
57 },
58 fn: ({
59 wide,
60 backgroundColor,
61 noShadow
62 }) => (0, _classnames.default)(wide ? 'mw7' : 'mw6', "bg-".concat(backgroundColor), {
63 'shadow-1': !noShadow
64 }),
65 renderChildren: ({
66 title,
67 children
68 }) => {
69 const res = [children];
70
71 if (title) {
72 res.unshift((0, _preact.h)(PageCrateHeading, null, title));
73 }
74
75 return res;
76 }
77});
78exports.PageCrate = PageCrate;
79
80const MessagePageCrate = props => {
81 const {
82 loading,
83 error,
84 warning,
85 success,
86 children
87 } = props;
88 const rest = (0, _omit.default)(props, ['loading', 'error', 'warning', 'success', 'children']);
89 let icon = null;
90 let iconClasses = null;
91 let backgroundColor = 'white';
92 let colorClasses = null;
93
94 if (loading) {
95 icon = 'autorenew';
96 iconClasses = 'spin-animation';
97 }
98
99 if (error) {
100 icon = 'error';
101 backgroundColor = 'red';
102 colorClasses = 'black';
103 }
104
105 if (warning) {
106 icon = 'warning';
107 backgroundColor = 'orange';
108 colorClasses = 'black';
109 }
110
111 if (success) {
112 icon = 'check';
113 backgroundColor = 'light-blue';
114 colorClasses = 'black';
115 }
116
117 const iconComp = (loading || error || warning || success) && (0, _preact.h)(_icon.Icon, {
118 className: (0, _classnames.default)('f3 mr3', iconClasses),
119 size: "40",
120 icon: icon
121 });
122 return (0, _preact.h)(PageCrate, _extends({
123 backgroundColor: backgroundColor
124 }, rest), (0, _preact.h)("div", {
125 className: (0, _classnames.default)('flex items-center min-h3 f4', colorClasses)
126 }, iconComp, children));
127};
128
129exports.MessagePageCrate = MessagePageCrate;
\No newline at end of file