UNPKG

5.57 kBJavaScriptView Raw
1"use strict";
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.Drawer = exports.DrawerLinkContainer = exports.DrawerLink = exports.FlipIcon = exports.FlipContainer = void 0;
7
8var _getStyledComponent = _interopRequireDefault(require("./utils/get-styled-component"));
9
10var _preact = require("preact");
11
12var _icon = require("./icon");
13
14var _classnames = _interopRequireDefault(require("classnames"));
15
16function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
18function _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); }
19
20function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
21
22function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
23
24const cardStyles = {
25 backfaceVisibility: 'hidden',
26 webkitBackfaceVisibility: 'hidden',
27 top: '0',
28 left: '0'
29};
30
31const FlipContainer = (_ref) => {
32 let {
33 front,
34 back,
35 flipped,
36 height,
37 width,
38 className,
39 style,
40 direction = 'vertical',
41 perspective = '100px'
42 } = _ref,
43 rest = _objectWithoutProperties(_ref, ["front", "back", "flipped", "height", "width", "className", "style", "direction", "perspective"]);
44
45 const axis = direction === 'vertical' ? 'X' : 'Y';
46 const rotateZero = "rotate".concat(axis, "(0deg)");
47 const rotateFlipped = "rotate".concat(axis, "(180deg)");
48 return (0, _preact.h)("div", _extends({}, rest, {
49 className: className,
50 style: Object.assign({
51 position: 'relative',
52 perspective,
53 width,
54 height
55 }, style)
56 }), (0, _preact.h)("div", {
57 style: {
58 transition: '0.6s',
59 transformStyle: 'preserve-3d',
60 webkitTransformStyle: 'preserve-3d',
61 position: 'relative',
62 transformOrigin: 'center',
63 webkitTransformOrigin: 'center',
64 width: '100%',
65 height: '100%',
66 transform: !flipped ? rotateFlipped : '',
67 webkitTransform: !flipped ? rotateFlipped : ''
68 }
69 }, (0, _preact.h)("div", {
70 style: Object.assign({}, cardStyles, {
71 transform: rotateFlipped,
72 webkitTransform: rotateFlipped,
73 width: '100%',
74 height: '100%',
75 position: 'relative'
76 })
77 }, front), (0, _preact.h)("div", {
78 style: Object.assign({}, cardStyles, {
79 zIndex: 2,
80 transform: rotateZero,
81 webkitTransform: rotateZero,
82 width: '100%',
83 height: '100%',
84 position: 'absolute'
85 })
86 }, back)));
87};
88
89exports.FlipContainer = FlipContainer;
90const FlipIcon = (0, _getStyledComponent.default)({
91 options: {
92 complete: ['complete'],
93 icon: ['icon']
94 },
95 renderChildren: ({
96 icon,
97 complete
98 }) => {
99 return [(0, _preact.h)(FlipContainer, {
100 key: "flipContainer",
101 width: "20px",
102 height: "20px",
103 flipped: complete,
104 front: (0, _preact.h)(_icon.Icon, {
105 size: "20",
106 icon: icon
107 }),
108 back: (0, _preact.h)(_icon.Icon, {
109 className: "light-blue",
110 size: "20",
111 icon: "check_circle"
112 })
113 })];
114 }
115});
116exports.FlipIcon = FlipIcon;
117const DrawerLink = (0, _getStyledComponent.default)({
118 tagName: 'a',
119 baseClasses: 'link pv1 mt1 f5 fw3 flex items-center',
120 options: {
121 active: ['active'],
122 disabled: ['disabled'],
123 completeness: ['complete']
124 },
125 fn: ({
126 active,
127 disabled
128 }) => (0, _classnames.default)({
129 'light-blue': active,
130 'mid-gray not-allowed': disabled,
131 'white hover-moon-gray': !active && !disabled
132 }),
133 renderChildren: ({
134 icon,
135 title,
136 complete
137 }) => [(0, _preact.h)(FlipIcon, {
138 key: "flipIcon",
139 icon: icon,
140 complete: complete
141 }), (0, _preact.h)("span", {
142 key: "span",
143 "data-e2e": "".concat(title, "Nav"),
144 className: icon ? 'pl2' : null
145 }, title)]
146});
147exports.DrawerLink = DrawerLink;
148const DrawerLinkContainer = (0, _getStyledComponent.default)({
149 baseClasses: 'link db pt2 pl3 f4',
150 options: {
151 completeness: ['complete'],
152 title: ['title']
153 },
154 renderChildren: ({
155 complete,
156 title,
157 children
158 }) => [(0, _preact.h)("div", {
159 key: title,
160 className: "flex items-center"
161 }, (0, _preact.h)(_icon.Icon, {
162 className: (0, _classnames.default)('light-blue pr2', {
163 hidden: !complete
164 }),
165 size: "20",
166 icon: "check_circle"
167 }), (0, _preact.h)("h3", {
168 className: "fw3 f6 ma0 ttu mid-gray bb b--mid-gray pb2 pt1 relative flex-grow-1"
169 }, title)), (0, _preact.h)("div", {
170 key: title + 'children'
171 }, children)]
172});
173exports.DrawerLinkContainer = DrawerLinkContainer;
174const Drawer = (0, _getStyledComponent.default)({
175 baseClasses: 'bg-dark-blue white fixed top-0 vh-100 overflow-x-hidden'
176});
177exports.Drawer = Drawer;
\No newline at end of file