UNPKG

5.33 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, '__esModule', { value: true });
4
5function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
6
7require('./slicedToArray-ef426d0f.js');
8require('./unsupportedIterableToArray-8a00e599.js');
9var React = require('react');
10var React__default = _interopDefault(React);
11require('./_commonjsHelpers-72d386ba.js');
12var index = require('./index-b0606964.js');
13require('./defineProperty-0921a47c.js');
14require('./toConsumableArray-7f36359f.js');
15var _styled = require('styled-components');
16var _styled__default = _interopDefault(_styled);
17require('./getPrototypeOf-e2d1e599.js');
18require('./color.js');
19require('./components.js');
20require('./contains-component.js');
21require('./css.js');
22require('./dayjs.min-aa59a48e.js');
23require('./date.js');
24require('./miscellaneous.js');
25require('./environment.js');
26require('./font.js');
27require('./math-ecfd5d91.js');
28require('./characters.js');
29require('./format.js');
30require('./keycodes.js');
31require('./url.js');
32require('./web3.js');
33var constants = require('./constants.js');
34require('./breakpoints.js');
35var springs = require('./springs.js');
36var textStyles = require('./text-styles.js');
37require('./theme-dark.js');
38require('./theme-light.js');
39var Theme = require('./Theme.js');
40var _extends$1 = require('./extends-40571110.js');
41var objectWithoutProperties = require('./objectWithoutProperties-35db8ab0.js');
42var index$1 = require('./index-ecc57c9f.js');
43require('./isObject-52908731.js');
44var Viewport = require('./Viewport-fe2db97a.js');
45require('./objectWithoutPropertiesLoose-1af20ad0.js');
46require('react-dom');
47var web = require('./web-d0294535.js');
48var ToastHub = require('./ToastHub.js');
49require('./index-5aaa52c3.js');
50var RootPortal = require('./RootPortal.js');
51
52var _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
63var _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
84var FloatIndicator = /*#__PURE__*/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 /*#__PURE__*/React__default.createElement(RootPortal.default, null, /*#__PURE__*/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 /* eslint-disable react/prop-types */
117 function (_ref2) {
118 var progress = _ref2.progress;
119 return /*#__PURE__*/React__default.createElement(_StyledDiv, {
120 _css: wide ? 2 * constants.GU : 3 * constants.GU,
121 _css2: horizontalSpacingEnd,
122 _css3: horizontalSpacing
123 }, /*#__PURE__*/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 }), /*#__PURE__*/React__default.createElement(index$1.i, {
141 name: "FloatIndicator"
142 }, children)));
143 };
144 }
145 /* eslint-enable react/prop-types */
146 ));
147});
148FloatIndicator.propTypes = {
149 children: index.PropTypes.node.isRequired,
150 shift: index.PropTypes.number,
151 visible: index.PropTypes.bool
152};
153FloatIndicator.defaultProps = {
154 shift: 0,
155 visible: true
156};
157
158exports.default = FloatIndicator;
159//# sourceMappingURL=FloatIndicator.js.map