1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, '__esModule', { value: true });
|
4 |
|
5 | function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
|
6 |
|
7 | require('./slicedToArray-ef426d0f.js');
|
8 | require('./unsupportedIterableToArray-8a00e599.js');
|
9 | var React = require('react');
|
10 | var React__default = _interopDefault(React);
|
11 | require('./_commonjsHelpers-72d386ba.js');
|
12 | var index = require('./index-b0606964.js');
|
13 | require('./defineProperty-0921a47c.js');
|
14 | require('./toConsumableArray-7f36359f.js');
|
15 | var _styled = require('styled-components');
|
16 | var _styled__default = _interopDefault(_styled);
|
17 | require('./getPrototypeOf-e2d1e599.js');
|
18 | require('./color.js');
|
19 | require('./components.js');
|
20 | require('./contains-component.js');
|
21 | require('./css.js');
|
22 | require('./dayjs.min-aa59a48e.js');
|
23 | require('./date.js');
|
24 | require('./miscellaneous.js');
|
25 | require('./environment.js');
|
26 | require('./font.js');
|
27 | require('./math-ecfd5d91.js');
|
28 | require('./characters.js');
|
29 | require('./format.js');
|
30 | require('./keycodes.js');
|
31 | require('./url.js');
|
32 | require('./web3.js');
|
33 | var constants = require('./constants.js');
|
34 | require('./breakpoints.js');
|
35 | var springs = require('./springs.js');
|
36 | var textStyles = require('./text-styles.js');
|
37 | require('./theme-dark.js');
|
38 | require('./theme-light.js');
|
39 | var Theme = require('./Theme.js');
|
40 | var _extends$1 = require('./extends-40571110.js');
|
41 | var objectWithoutProperties = require('./objectWithoutProperties-35db8ab0.js');
|
42 | var index$1 = require('./index-ecc57c9f.js');
|
43 | require('./isObject-52908731.js');
|
44 | var Viewport = require('./Viewport-fe2db97a.js');
|
45 | require('./objectWithoutPropertiesLoose-1af20ad0.js');
|
46 | require('react-dom');
|
47 | var web = require('./web-d0294535.js');
|
48 | var ToastHub = require('./ToastHub.js');
|
49 | require('./index-5aaa52c3.js');
|
50 | var RootPortal = require('./RootPortal.js');
|
51 |
|
52 | var _StyledDiv = _styled__default("div").withConfig({
|
53 | displayName: "FloatIndicator___StyledDiv",
|
54 | componentId: "sc-1mhu8xn-0"
|
55 | })(["position:absolute;z-index:1;bottom:", "px;display:flex;justify-content:flex-end;width:100%;padding:0 ", "px 0 ", "px;"], function (p) {
|
56 | return p._css;
|
57 | }, function (p) {
|
58 | return p._css2;
|
59 | }, function (p) {
|
60 | return p._css3;
|
61 | });
|
62 |
|
63 | var _StyledAnimatedDiv = _styled__default(web.extendedAnimated.div).withConfig({
|
64 | displayName: "FloatIndicator___StyledAnimatedDiv",
|
65 | componentId: "sc-1mhu8xn-1"
|
66 | })(["flex-grow:", ";display:flex;align-items:center;height:", "px;padding:", "px ", "px;", ";white-space:nowrap;color:", ";background:", ";border:1px solid ", ";border-radius:", "px;cursor:default;justify-content:center;"], function (p) {
|
67 | return p._css4;
|
68 | }, function (p) {
|
69 | return p._css5;
|
70 | }, function (p) {
|
71 | return p._css6;
|
72 | }, function (p) {
|
73 | return p._css7;
|
74 | }, function (p) {
|
75 | return p._css8;
|
76 | }, function (p) {
|
77 | return p._css9;
|
78 | }, function (p) {
|
79 | return p._css10;
|
80 | }, function (p) {
|
81 | return p._css11;
|
82 | }, constants.RADIUS);
|
83 |
|
84 | var FloatIndicator = React__default.memo(function FloatIndicator(_ref) {
|
85 | var children = _ref.children,
|
86 | visible = _ref.visible,
|
87 | shift = _ref.shift,
|
88 | props = objectWithoutProperties._objectWithoutProperties(_ref, ["children", "visible", "shift"]);
|
89 |
|
90 | var theme = Theme.useTheme();
|
91 |
|
92 | var _useViewport = Viewport.useViewport(),
|
93 | below = _useViewport.below;
|
94 |
|
95 | var _useContext = React.useContext(ToastHub.ToastContext),
|
96 | toastItemsVisible = _useContext.itemsVisible;
|
97 |
|
98 | var wide = below('medium');
|
99 | var horizontalSpacing = wide ? 2 * constants.GU : 3 * constants.GU;
|
100 | var horizontalSpacingEnd = horizontalSpacing + (shift || 0);
|
101 | return React__default.createElement(RootPortal.default, null, React__default.createElement(web.Transition, {
|
102 | native: true,
|
103 | items: toastItemsVisible ? false : visible,
|
104 | from: {
|
105 | progress: 0
|
106 | },
|
107 | enter: {
|
108 | progress: 1
|
109 | },
|
110 | leave: {
|
111 | progress: 0
|
112 | },
|
113 | config: springs.springs.smooth
|
114 | }, function (show) {
|
115 | return show &&
|
116 |
|
117 | function (_ref2) {
|
118 | var progress = _ref2.progress;
|
119 | return React__default.createElement(_StyledDiv, {
|
120 | _css: wide ? 2 * constants.GU : 3 * constants.GU,
|
121 | _css2: horizontalSpacingEnd,
|
122 | _css3: horizontalSpacing
|
123 | }, React__default.createElement(_StyledAnimatedDiv, _extends$1._extends({
|
124 | style: {
|
125 | pointerEvents: visible ? 'auto' : 'none',
|
126 | opacity: progress,
|
127 | transform: progress.interpolate(function (v) {
|
128 | return "translate3d(0, calc(10px * ".concat(1 - v, "), 0)");
|
129 | })
|
130 | }
|
131 | }, props, {
|
132 | _css4: Number(wide),
|
133 | _css5: 6 * constants.GU,
|
134 | _css6: 1 * constants.GU,
|
135 | _css7: 2 * constants.GU,
|
136 | _css8: textStyles.textStyle('body3'),
|
137 | _css9: theme.floatingContent,
|
138 | _css10: theme.floating,
|
139 | _css11: theme.border
|
140 | }), React__default.createElement(index$1.i, {
|
141 | name: "FloatIndicator"
|
142 | }, children)));
|
143 | };
|
144 | }
|
145 |
|
146 | ));
|
147 | });
|
148 | FloatIndicator.propTypes = {
|
149 | children: index.PropTypes.node.isRequired,
|
150 | shift: index.PropTypes.number,
|
151 | visible: index.PropTypes.bool
|
152 | };
|
153 | FloatIndicator.defaultProps = {
|
154 | shift: 0,
|
155 | visible: true
|
156 | };
|
157 |
|
158 | exports.default = FloatIndicator;
|
159 |
|