@startlibs/components 1.0.0-alpha-8d4 → 1.0.0-alpha-8e

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/lib/index.js +474 -272
  2. package/package.json +1 -1
package/lib/index.js CHANGED
@@ -19,26 +19,26 @@ var _possibleConstructorReturn = _interopDefault(require('@babel/runtime/helpers
19
19
  var _getPrototypeOf = _interopDefault(require('@babel/runtime/helpers/getPrototypeOf'));
20
20
  var _inherits = _interopDefault(require('@babel/runtime/helpers/inherits'));
21
21
  var reactRouterDom = require('react-router-dom');
22
- var _assign = _interopDefault(require('lodash/fp/assign'));
23
22
  var core = require('@startlibs/core');
24
23
  var _slicedToArray = _interopDefault(require('@babel/runtime/helpers/slicedToArray'));
24
+ var _assign = _interopDefault(require('lodash/fp/assign'));
25
25
  var _get = _interopDefault(require('lodash/fp/get'));
26
26
  var _objectSpread = _interopDefault(require('@babel/runtime/helpers/objectSpread'));
27
27
  var _uniqueId = _interopDefault(require('lodash/fp/uniqueId'));
28
28
  var _max = _interopDefault(require('lodash/fp/max'));
29
29
  var _identity = _interopDefault(require('lodash/fp/identity'));
30
30
  var _isString = _interopDefault(require('lodash/fp/isString'));
31
+ var _without = _interopDefault(require('lodash/fp/without'));
31
32
  var _toConsumableArray = _interopDefault(require('@babel/runtime/helpers/toConsumableArray'));
32
33
  var _isObject = _interopDefault(require('lodash/fp/isObject'));
33
- var _without = _interopDefault(require('lodash/fp/without'));
34
34
  require('@startlibs/components');
35
35
  var _defineProperty = _interopDefault(require('@babel/runtime/helpers/defineProperty'));
36
+ var _isFunction = _interopDefault(require('lodash/fp/isFunction'));
36
37
  var _assertThisInitialized = _interopDefault(require('@babel/runtime/helpers/assertThisInitialized'));
37
38
  var _set = _interopDefault(require('lodash/fp/set'));
38
39
  var _pullAt = _interopDefault(require('lodash/fp/pullAt'));
39
40
  var _map = _interopDefault(require('lodash/fp/map'));
40
41
  var ReactDOM = _interopDefault(require('react-dom'));
41
- var _isFunction = _interopDefault(require('lodash/fp/isFunction'));
42
42
  var reactIs = require('react-is');
43
43
  var mitt = _interopDefault(require('mitt'));
44
44
  require('lodash/fp');
@@ -125,8 +125,8 @@ var Link = reactRouterDom.Link;
125
125
  var Loading = styled__default.div.withConfig({
126
126
  displayName: "Loading",
127
127
  componentId: "sc-5t5spc-0"
128
- })(["z-index:1;", " border-style:solid;border-radius:50%;flex-shrink:0;width:", "px;height:", "px;border-width:", "px;animation:spin 1s linear infinite;", " @keyframes spin{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}}"], function (props) {
129
- return props.white ? "\n border-color: rgba(255,255,255,0.4);\n border-top-color: ".concat(props.color || 'rgba(255,255,255,0.9)', ";\n ") : "\n border-color: rgba(0,0,0,0.1);\n border-top-color: ".concat(props.color || props.theme.colors.main, ";\n ");
128
+ })(["z-index:1;", " border-style:solid;border-radius:50%;flex-shrink:0;width:", "px;height:", "px;border-width:", "px;animation:spin 0.6s linear infinite;", " @keyframes spin{0%{transform:rotate(0deg);}100%{transform:rotate(360deg);}}"], function (props) {
129
+ return props.white ? styled.css(["border-color:rgba(255,255,255,0.4);border-top-color:", ";"], props.color || 'rgba(255,255,255,0.9)') : styled.css(["border-color:rgba(0,0,0,0.1);border-color:", ";border-top-color:", ";"], props.color ? polished.transparentize(0.85, props.color) : polished.transparentize(0.85, utils.getColor("main")(props)), props.color || utils.getColor("main"));
130
130
  }, function (props) {
131
131
  return props.size || 26;
132
132
  }, function (props) {
@@ -182,6 +182,7 @@ var Button = styled__default(React__default.forwardRef(function (_ref, ref) {
182
182
  alpha = _ref.alpha,
183
183
  success = _ref.success,
184
184
  alert = _ref.alert,
185
+ warning = _ref.warning,
185
186
  highlight = _ref.highlight,
186
187
  light = _ref.light,
187
188
  hover = _ref.hover,
@@ -195,6 +196,7 @@ var Button = styled__default(React__default.forwardRef(function (_ref, ref) {
195
196
  dashed = _ref.dashed,
196
197
  textOnly = _ref.textOnly,
197
198
  isLoading = _ref.isLoading,
199
+ isLoadingIcon = _ref.isLoadingIcon,
198
200
  dark = _ref.dark,
199
201
  _ref$innerAs = _ref.innerAs,
200
202
  Wrapper = _ref$innerAs === void 0 ? 'button' : _ref$innerAs,
@@ -209,7 +211,7 @@ var Button = styled__default(React__default.forwardRef(function (_ref, ref) {
209
211
  concealed = _ref.concealed,
210
212
  concealedModule = _ref.concealedModule,
211
213
  buttonRef = _ref.buttonRef,
212
- props = _objectWithoutProperties(_ref, ["type", "locked", "color", "alpha", "success", "alert", "highlight", "light", "hover", "white", "icon", "onlyIcon", "small", "withDropdown", "onlyDropdown", "outline", "dashed", "textOnly", "isLoading", "dark", "innerAs", "className", "children", "rounded", "tabIndex", "focused", "noFocus", "colorSet", "concealed", "concealedModule", "buttonRef"]);
214
+ props = _objectWithoutProperties(_ref, ["type", "locked", "color", "alpha", "success", "alert", "warning", "highlight", "light", "hover", "white", "icon", "onlyIcon", "small", "withDropdown", "onlyDropdown", "outline", "dashed", "textOnly", "isLoading", "isLoadingIcon", "dark", "innerAs", "className", "children", "rounded", "tabIndex", "focused", "noFocus", "colorSet", "concealed", "concealedModule", "buttonRef"]);
213
215
 
214
216
  return React__default.createElement(Wrapper, _extends({
215
217
  ref: ref || buttonRef,
@@ -218,12 +220,16 @@ var Button = styled__default(React__default.forwardRef(function (_ref, ref) {
218
220
  type: Wrapper === 'button' ? type : ''
219
221
  }, props), icon && React__default.createElement(Icon, {
220
222
  icon: icon
223
+ }), isLoadingIcon && React__default.createElement(Loading, {
224
+ white: !light && !outline && !dashed && !white,
225
+ size: small ? '10' : '18',
226
+ borderWidth: small ? '2' : '3'
221
227
  }), (withDropdown || onlyDropdown) && !locked && React__default.createElement(DropdownIcon, {
222
228
  icon: "arrow-down"
223
229
  }), locked && React__default.createElement(LockIcon, {
224
230
  icon: "lock"
225
231
  }), children, isLoading && React__default.createElement(Loading, {
226
- white: !outline || !dashed || !white,
232
+ white: !light && !outline && !dashed && !white,
227
233
  absolute: true,
228
234
  size: small && '16',
229
235
  borderWidth: small && '3'
@@ -231,7 +237,7 @@ var Button = styled__default(React__default.forwardRef(function (_ref, ref) {
231
237
  })).withConfig({
232
238
  displayName: "Button",
233
239
  componentId: "qe54pl-1"
234
- })(["vertical-align:top;border:0;font-size:12px;border-radius:", ";background:", ";color:white;min-width:8rem;font-weight:500;display:inline-block;line-height:16px;text-align:center;padding:10px 1.25rem;outline:none;cursor:pointer;position:relative;text-decoration:none;user-select:none;flex-shrink:0;:hover{background:", ";}:active{background:", ";}", " ", " + .styled-button{margin-left:1rem;}", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", ""], function (props) {
240
+ })(["vertical-align:top;border:0;font-size:12px;border-radius:", ";background:", ";color:white;min-width:8rem;font-weight:500;display:inline-block;line-height:16px;text-align:center;padding:10px 1.25rem;outline:none;cursor:pointer;position:relative;text-decoration:none;user-select:none;flex-shrink:0;:hover{background:", ";}:active{background:", ";}", " ", " + .styled-button{margin-left:1rem;}", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", ""], function (props) {
235
241
  return props.rounded ? '100px' : '6px';
236
242
  }, utils.getColor, function (props) {
237
243
  return polished.darken(0.05, utils.getColor(props, true));
@@ -243,12 +249,20 @@ var Button = styled__default(React__default.forwardRef(function (_ref, ref) {
243
249
  return !props.noFocus && !props.isLoading && styled.css([":focus{", "}", ""], focus, function (props) {
244
250
  return props.focused && focus;
245
251
  });
252
+ }, function (props) {
253
+ return props.hasErrors && styled.css([":after{content:'';pointer-events:none;position:absolute;top:-4px;right:-4px;left:-4px;bottom:-4px;border-radius:", ";border:3px solid ", ";}"], function (props) {
254
+ return props.rounded ? '100px' : '9px';
255
+ }, function (props) {
256
+ return polished.transparentize(0.7, utils.getColor("alert")(props));
257
+ });
246
258
  }, function (props) {
247
259
  return props.icon && styled.css(["display:inline-flex;align-items:center;justify-content:center;min-width:3rem;min-height:3rem;", "{font-size:23px;margin-right:8px;margin-left:-4px;pointer-events:none;line-height:0;}"], Icon);
248
260
  }, function (props) {
249
261
  return props.onlyIcon && styled.css(["padding:0;", "{margin:0;}"], Icon);
250
262
  }, function (props) {
251
263
  return props.small && styled.css(["font-size:12px;padding:4px 1rem;min-width:2rem;min-height:2rem;", " ", ""], props.icon && styled.css(["", "{font-size:18px;margin-right:5px;margin-left:-5px;line-height:0.9;}"], Icon), props.onlyIcon && styled.css(["padding:0;", "{margin:0;}"], Icon));
264
+ }, function (props) {
265
+ return props.big && styled.css(["font-size:14px;padding:13px 1.75rem;min-height:42px;"]);
252
266
  }, function (props) {
253
267
  return props.withDropdown && styled.css(["padding-right:2.25rem;text-align:left;"]);
254
268
  }, function (props) {
@@ -267,6 +281,16 @@ var Button = styled__default(React__default.forwardRef(function (_ref, ref) {
267
281
  }, function (props) {
268
282
  return polished.transparentize(0.82, utils.getColor("alert")(props));
269
283
  });
284
+ }, function (props) {
285
+ return props.lightWarning && styled.css(["background:", ";color:", ";:hover{background:", ";}:active{background:", ";}"], function (props) {
286
+ return polished.transparentize(0.84, polished.darken(0.05, utils.getColor('warning')(props)));
287
+ }, function (props) {
288
+ return polished.darken(0.05, utils.getColor('warning')(props));
289
+ }, function (props) {
290
+ return polished.transparentize(0.78, polished.darken(0.05, utils.getColor('warning')(props)));
291
+ }, function (props) {
292
+ return polished.transparentize(0.76, polished.darken(0.05, utils.getColor('warning')(props)));
293
+ });
270
294
  }, function (props) {
271
295
  return (props.outline || props.dashed || props.textOnly) && styled.css(["color:", ";background:none;", ",", "{color:", ";}:before{content:'';border:1px ", " ", ";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:", ";pointer-events:none;}:hover{background-color:rgba(0,0,0,0.05);}:active{background-color:rgba(0,0,0,0.08);}:focus{:before{box-shadow:0 0 0 2px rgba(0,0,0,0.1);", "}:after{content:none;}}"], props.white ? 'white' : props.highlight ? utils.getColor('main') : 'rgba(0,0,0,0.6)', Icon, DropdownIcon, props.white ? 'white' : props.highlight ? utils.getColor('main') : 'rgba(0,0,0,0.5)', props.outline ? 'solid' : props.dashed ? 'dashed' : '', props.white ? 'white' : props.highlight ? utils.getColor('main') : 'rgba(0,0,0,0.35)', props.rounded ? '100px' : '6px', props.textOnly && 'content: none;');
272
296
  }, function (props) {
@@ -275,6 +299,8 @@ var Button = styled__default(React__default.forwardRef(function (_ref, ref) {
275
299
  return props.white && !props.outline && !props.dashed && styled.css(["color:", ";background:#FFFFFF;:hover{background:", ";}:active{background:", ";}"], utils.getColor('main'), polished.darken(0.05, '#FFFFFF'), polished.darken(0.08, '#FFFFFF'));
276
300
  }, function (props) {
277
301
  return props.isLoading && styled.css(["color:transparent !important;pointer-events:none;", "{visibility:hidden;}"], Icon);
302
+ }, function (props) {
303
+ return props.isLoadingIcon && styled.css(["pointer-events:none;", "{visibility:hidden;}", "{left:10px;position:absolute;}"], Icon, Loading);
278
304
  }, utils.media.mobile(_templateObject2(), function (props) {
279
305
  return !props.small && !props.onlyIcon && styled.css(["padding:13px 1.5rem;font-size:13px;"]);
280
306
  }, function (props) {
@@ -301,13 +327,29 @@ Button.Link = function (props) {
301
327
  }));
302
328
  };
303
329
 
330
+ var OnClickLoadingButton = function OnClickLoadingButton(_ref) {
331
+ var _onClick = _ref.onClick,
332
+ children = _ref.children,
333
+ props = _objectWithoutProperties(_ref, ["onClick", "children"]);
334
+
335
+ var loading = core.useToggle();
336
+ return React__default.createElement(Button, _extends({
337
+ isLoading: loading.isOpen
338
+ }, props, {
339
+ onClick: function onClick(e) {
340
+ return loading.wait(_onClick(e));
341
+ }
342
+ }), children);
343
+ };
344
+
304
345
  var TextButton = styled__default(function (_ref) {
305
346
  var className = _ref.className,
306
347
  isLoading = _ref.isLoading,
348
+ alert = _ref.alert,
307
349
  children = _ref.children,
308
350
  _ref$innerAs = _ref.innerAs,
309
351
  Wrapper = _ref$innerAs === void 0 ? 'div' : _ref$innerAs,
310
- props = _objectWithoutProperties(_ref, ["className", "isLoading", "children", "innerAs"]);
352
+ props = _objectWithoutProperties(_ref, ["className", "isLoading", "alert", "children", "innerAs"]);
311
353
 
312
354
  return React__default.createElement(Wrapper, _extends({
313
355
  className: className
@@ -318,8 +360,10 @@ var TextButton = styled__default(function (_ref) {
318
360
  }).withConfig({
319
361
  displayName: "TextButton",
320
362
  componentId: "sc-1eydmhc-0"
321
- })(["display:inline-block;font-weight:500;font-size:13px;color:", ";cursor:pointer;text-decoration:none;:hover,:active{color:", ";}", "{display:inline-block;margin-left:0.25rem;vertical-align:-3px;}", ""], utils.getColor('main'), function (props) {
322
- return polished.darken(0.1, utils.getColor("main")(props));
363
+ })(["display:inline-block;font-weight:500;font-size:13px;color:", ";cursor:pointer;text-decoration:none;:hover,:active{color:", ";}", "{display:inline-block;margin-left:0.25rem;vertical-align:-3px;}", " & ~ &{margin-left:1rem;}"], function (props) {
364
+ return props.alert ? utils.getColor('alert') : utils.getColor('main');
365
+ }, function (props) {
366
+ return props.alert ? polished.darken(0.1, utils.getColor("alert")(props)) : polished.darken(0.1, utils.getColor("main")(props));
323
367
  }, Loading, function (props) {
324
368
  return props.nowrap && "\n white-space: nowrap;\n ";
325
369
  });
@@ -387,10 +431,12 @@ function (_React$Component) {
387
431
  error = e.toString();
388
432
  }
389
433
 
390
- utils.postFetcher("/log/errorBoundary", {
391
- error: error,
392
- info: info
393
- });
434
+ if (!/bot|spider|crawl/i.test(window.navigator.userAgent)) {
435
+ utils.postFetcher("/log/errorBoundary", {
436
+ error: error,
437
+ info: info
438
+ });
439
+ }
394
440
  }
395
441
  }, {
396
442
  key: "render",
@@ -701,7 +747,7 @@ var getClientRectAnimation = function getClientRectAnimation(oldSnap, newSnap) {
701
747
  skipTransform = _ref5.skipTransform,
702
748
  smallJumpFix = _ref5.smallJumpFix;
703
749
 
704
- if (hasClientRectChanged(oldSnap, newSnap)) {
750
+ if (oldSnap && newSnap && hasClientRectChanged(oldSnap, newSnap)) {
705
751
  var _oldSnap$parentStyle, _newSnap$parentStyle, _oldSnap$parentStyle2, _newSnap$parentStyle2;
706
752
 
707
753
  var node = newSnap.domNode;
@@ -1295,7 +1341,11 @@ var fixPosition = function fixPosition(query, fn) {
1295
1341
  };
1296
1342
 
1297
1343
  var openLayers = 0;
1298
- var removeWindowScroll = function removeWindowScroll(opening) {
1344
+ var fakedScrollTop = 0;
1345
+ var isFakeScrolled = function isFakeScrolled() {
1346
+ return openLayers > 0 && fakedScrollTop > 0;
1347
+ };
1348
+ var removeWindowScroll = function removeWindowScroll(opening, keepDisabledScroll) {
1299
1349
  if (opening) {
1300
1350
  openLayers = Math.max(openLayers + 1, 1);
1301
1351
 
@@ -1313,6 +1363,11 @@ var removeWindowScroll = function removeWindowScroll(opening) {
1313
1363
  var finishReset = function finishReset(marginRight, scrollTop) {
1314
1364
  // body.style.paddingRight = marginRight + 'px'
1315
1365
  window.scroll(window.scrollLeft || window.scrollX || 0, scrollTop);
1366
+
1367
+ if (keepDisabledScroll) {
1368
+ return;
1369
+ }
1370
+
1316
1371
  fixPosition('.navbar,.JS-fix-dialog-scroll', function (n) {
1317
1372
  if (opening) {
1318
1373
  var _window$getComputedSt = window.getComputedStyle(n),
@@ -1344,15 +1399,29 @@ var removeWindowScroll = function removeWindowScroll(opening) {
1344
1399
 
1345
1400
  if (opening) {
1346
1401
  var scrollTop = window.pageYOffset;
1347
- body.style.overflow = 'hidden';
1402
+ fakedScrollTop = scrollTop;
1403
+
1404
+ if (keepDisabledScroll) {
1405
+ body.style.overflowY = 'scroll';
1406
+ } else {
1407
+ body.style.overflow = 'hidden';
1408
+ }
1409
+
1348
1410
  var marginRight = body.offsetWidth - bodyWidth;
1349
1411
  body.style.position = 'fixed';
1350
1412
  body.style.top = -scrollTop + "px";
1351
1413
  body.style.left = '0';
1352
- body.style.right = marginRight + 'px';
1414
+
1415
+ if (!keepDisabledScroll) {
1416
+ body.style.right = marginRight + 'px';
1417
+ } else {
1418
+ body.style.right = '0';
1419
+ }
1420
+
1353
1421
  finishReset(marginRight, scrollTop);
1354
1422
  } else {
1355
- // setTimeout(() => {
1423
+ fakedScrollTop = 0; // setTimeout(() => {
1424
+
1356
1425
  var _scrollTop = parseInt(body.style.top);
1357
1426
 
1358
1427
  body.style.overflow = '';
@@ -1532,9 +1601,9 @@ var DialogContainer = React.forwardRef(function (_ref, forwardedRef) {
1532
1601
  };
1533
1602
 
1534
1603
  var checkKey = function checkKey(e) {
1535
- var _e$target, _e$target$className;
1604
+ var _e$target, _e$target$className, _e$target2;
1536
1605
 
1537
- if (!isTop() || skipKeys || ((_e$target = e.target) === null || _e$target === void 0 ? void 0 : (_e$target$className = _e$target.className) === null || _e$target$className === void 0 ? void 0 : _e$target$className.indexOf("JS-dialog-skip-evts")) >= 0) return;
1606
+ if (!isTop() || skipKeys || ((_e$target = e.target) === null || _e$target === void 0 ? void 0 : (_e$target$className = _e$target.className) === null || _e$target$className === void 0 ? void 0 : _e$target$className.indexOf("JS-dialog-skip-evts")) >= 0 || ((_e$target2 = e.target) === null || _e$target2 === void 0 ? void 0 : _e$target2.closest(".JS-dialog-skip-evts"))) return;
1538
1607
 
1539
1608
  if (modal.current && e.shiftKey && e.keyCode === 9 && modal.current.querySelector('[tabindex]') === document.activeElement) {
1540
1609
  e.preventDefault();
@@ -1729,7 +1798,7 @@ var fixDoubledLastMarginBottom = function fixDoubledLastMarginBottom(children) {
1729
1798
  return processChild(children, 0);
1730
1799
  }
1731
1800
 
1732
- while (!children[last] || children[last] && children[last].type && children[last].type.displayName === "Errors") {
1801
+ while ((!children[last] || children[last] && children[last].type && children[last].type.displayName === "Errors") && last > 0) {
1733
1802
  last--;
1734
1803
  }
1735
1804
 
@@ -1821,9 +1890,193 @@ var LoadingDiv = function LoadingDiv(_ref2) {
1821
1890
  }, children) : children);
1822
1891
  };
1823
1892
 
1824
- function _templateObject8() {
1893
+ var TOP_TRIGGER = function TOP_TRIGGER(posInfo, refInfo) {
1894
+ // Started sticking.
1895
+ if (posInfo.bottom < refInfo.top) {
1896
+ return true;
1897
+ } // Stopped sticking.
1898
+
1899
+
1900
+ if (posInfo.bottom >= refInfo.top && posInfo.bottom < refInfo.bottom) {
1901
+ return false;
1902
+ }
1903
+ };
1904
+
1905
+ var BOTTOM_TRIGGER = function BOTTOM_TRIGGER(posInfo, refInfo) {
1906
+ // Started sticking.
1907
+ if (posInfo.top > refInfo.bottom) {
1908
+ return true;
1909
+ }
1910
+
1911
+ if (posInfo.top <= refInfo.bottom && posInfo.top > refInfo.top) {
1912
+ return false;
1913
+ }
1914
+ };
1915
+
1916
+ var SentinelStyle = styled__default.div.withConfig({
1917
+ displayName: "willUseIsSticky__SentinelStyle",
1918
+ componentId: "sc-1nsyca-0"
1919
+ })(["position:absolute;visibility:hidden;height:1px;width:1px;", ""], function (props) {
1920
+ return props.addCss;
1921
+ });
1922
+ var willUseIsSticky = function willUseIsSticky() {
1923
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1924
+
1925
+ var _willUseSharedCallbac = core.willUseSharedCallback(),
1926
+ _willUseSharedCallbac2 = _slicedToArray(_willUseSharedCallbac, 2),
1927
+ useRegister = _willUseSharedCallbac2[0],
1928
+ onChange = _willUseSharedCallbac2[1];
1929
+
1930
+ var _willUseSharedState = core.willUseSharedState(),
1931
+ _willUseSharedState2 = _slicedToArray(_willUseSharedState, 3),
1932
+ useSharedIsSticky = _willUseSharedState2[0],
1933
+ setSharedIsSticky = _willUseSharedState2[2];
1934
+
1935
+ var createObserver = function createObserver(root) {
1936
+ return window.IntersectionObserver ? new window.IntersectionObserver(function (records, observer) {
1937
+ var _iteratorNormalCompletion = true;
1938
+ var _didIteratorError = false;
1939
+ var _iteratorError = undefined;
1940
+
1941
+ try {
1942
+ for (var _iterator = records[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
1943
+ var record = _step.value;
1944
+ var targetInfo = record.boundingClientRect;
1945
+ var rootBoundsInfo = record.rootBounds;
1946
+
1947
+ if (!rootBoundsInfo) {
1948
+ return;
1949
+ }
1950
+
1951
+ onChange(targetInfo, rootBoundsInfo, record.target, record.isIntersecting);
1952
+ }
1953
+ } catch (err) {
1954
+ _didIteratorError = true;
1955
+ _iteratorError = err;
1956
+ } finally {
1957
+ try {
1958
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
1959
+ _iterator.return();
1960
+ }
1961
+ } finally {
1962
+ if (_didIteratorError) {
1963
+ throw _iteratorError;
1964
+ }
1965
+ }
1966
+ }
1967
+ }, _objectSpread({
1968
+ root: root
1969
+ }, options)) : {
1970
+ observe: _identity,
1971
+ unobserve: _identity
1972
+ };
1973
+ };
1974
+
1975
+ var observerMap = new Map();
1976
+
1977
+ var getObserver = function getObserver() {
1978
+ var root = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
1979
+ var result = observerMap.get(root);
1980
+
1981
+ if (result) {
1982
+ return result;
1983
+ }
1984
+
1985
+ var observer = createObserver(root);
1986
+ observerMap.set(root, observer);
1987
+ return observer;
1988
+ };
1989
+
1990
+ var activeObserved = [];
1991
+
1992
+ var resetObservers = function resetObservers() {
1993
+ var root = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
1994
+ var observer = getObserver(root);
1995
+ activeObserved.forEach(function (observed) {
1996
+ observer.unobserve(observed);
1997
+ observer.observe(observed);
1998
+ });
1999
+ };
2000
+
2001
+ var WithIsSticky = React__default.forwardRef(function (_ref, ref) {
2002
+ var className = _ref.className,
2003
+ id = _ref.id,
2004
+ css = _ref.css,
2005
+ children = _ref.children,
2006
+ bottom = _ref.bottom,
2007
+ root = _ref.root,
2008
+ intersection = _ref.intersection,
2009
+ onChange = _ref.onChange;
2010
+ var ensuredRef = core.useEnsureRef(ref);
2011
+
2012
+ var _useState = React.useState(false),
2013
+ _useState2 = _slicedToArray(_useState, 2),
2014
+ isSticky = _useState2[0],
2015
+ setIsSticky = _useState2[1];
2016
+
2017
+ useRegister(function (posInfo, refInfo, target, isIntersecting) {
2018
+ if (ensuredRef.current === target) {
2019
+ var value = intersection ? isIntersecting : bottom ? BOTTOM_TRIGGER(posInfo, refInfo) : TOP_TRIGGER(posInfo, refInfo);
2020
+
2021
+ if (value !== undefined) {
2022
+ setIsSticky(value);
2023
+ utils.callIfFunction(onChange, value);
2024
+
2025
+ if (!id) {
2026
+ setSharedIsSticky(value);
2027
+ } else if (value) {
2028
+ setSharedIsSticky(id);
2029
+ }
2030
+ }
2031
+ }
2032
+ });
2033
+ React.useEffect(function () {
2034
+ setIsSticky(false);
2035
+ getObserver(utils.callIfFunction(root)).observe(ensuredRef.current);
2036
+ activeObserved = activeObserved.concat(ensuredRef.current);
2037
+ return function () {
2038
+ // observer.unobserve(ref.current)
2039
+ activeObserved = _without([ensuredRef.current], activeObserved);
2040
+ };
2041
+ }, []);
2042
+
2043
+ var renderSentinel = function renderSentinel() {
2044
+ var css = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
2045
+ return React__default.createElement(SentinelStyle, {
2046
+ addCss: css,
2047
+ className: className,
2048
+ ref: ensuredRef
2049
+ });
2050
+ };
2051
+
2052
+ return children ? children(renderSentinel, isSticky) : renderSentinel(css);
2053
+ });
2054
+ return [WithIsSticky, useSharedIsSticky, resetObservers];
2055
+ };
2056
+
2057
+ function _templateObject10() {
1825
2058
  var data = _taggedTemplateLiteral(["\n padding: 1.5rem 1.5rem 1.5rem;\n max-width: 100%;\n ", ";\n "]);
1826
2059
 
2060
+ _templateObject10 = function _templateObject10() {
2061
+ return data;
2062
+ };
2063
+
2064
+ return data;
2065
+ }
2066
+
2067
+ function _templateObject9() {
2068
+ var data = _taggedTemplateLiteral(["\n padding: 1.5rem 1.5rem 0;\n margin: -1.5rem;\n "]);
2069
+
2070
+ _templateObject9 = function _templateObject9() {
2071
+ return data;
2072
+ };
2073
+
2074
+ return data;
2075
+ }
2076
+
2077
+ function _templateObject8() {
2078
+ var data = _taggedTemplateLiteral(["\n padding: 1.5rem;\n margin: -1.5rem;\n "]);
2079
+
1827
2080
  _templateObject8 = function _templateObject8() {
1828
2081
  return data;
1829
2082
  };
@@ -1832,7 +2085,7 @@ function _templateObject8() {
1832
2085
  }
1833
2086
 
1834
2087
  function _templateObject7() {
1835
- var data = _taggedTemplateLiteral(["\n padding: 1.5rem 1.5rem 0;\n margin: -1.5rem;\n "]);
2088
+ var data = _taggedTemplateLiteral(["\n ", " {\n min-width: unset;\n padding-left: 1rem;\n padding-right: 1rem;\n }\n "]);
1836
2089
 
1837
2090
  _templateObject7 = function _templateObject7() {
1838
2091
  return data;
@@ -1842,7 +2095,7 @@ function _templateObject7() {
1842
2095
  }
1843
2096
 
1844
2097
  function _templateObject6() {
1845
- var data = _taggedTemplateLiteral(["\n padding: 1.5rem;\n margin: -1.5rem;\n "]);
2098
+ var data = _taggedTemplateLiteral(["\n bottom: -0.5rem;\n padding: 0.75rem 1.5rem;\n margin-bottom: -0.75rem;\n margin-left: -1.5rem;\n margin-right: -1.5rem;\n "]);
1846
2099
 
1847
2100
  _templateObject6 = function _templateObject6() {
1848
2101
  return data;
@@ -1852,7 +2105,7 @@ function _templateObject6() {
1852
2105
  }
1853
2106
 
1854
2107
  function _templateObject5() {
1855
- var data = _taggedTemplateLiteral(["\n ", " {\n min-width: unset;\n padding-left: 1rem;\n padding-right: 1rem;\n }\n "]);
2108
+ var data = _taggedTemplateLiteral(["\n bottom: -3rem;\n margin-left: -2rem;\n margin-right: -2rem;\n margin-bottom: -1rem;\n padding: 1rem 2rem;\n "]);
1856
2109
 
1857
2110
  _templateObject5 = function _templateObject5() {
1858
2111
  return data;
@@ -1937,7 +2190,11 @@ var DialogTitle = styled__default.h2.withConfig({
1937
2190
  var DialogFooter = styled__default.div.withConfig({
1938
2191
  displayName: "Dialog__DialogFooter",
1939
2192
  componentId: "gai4ey-5"
1940
- })(["width:100%;display:block;padding-top:1rem;margin-top:1rem;align-items:stretch;text-align:right;", ""], utils.media.max(370)(_templateObject5(), Button));
2193
+ })(["display:block;padding-top:1rem;margin-top:1rem;align-items:stretch;text-align:right;", " ", ""], function (props) {
2194
+ return props.sticky && styled.css(["position:sticky;background:white;width:inherit;z-index:50;", " ", " ", ""], utils.media.desktop(_templateObject5()), utils.media.mobile(_templateObject6()), function (props) {
2195
+ return props.isSticky && "\n box-shadow: 0 0px 2px 0 rgba(0,0,0,0.1), 0 0px 5px 1px rgba(0,0,0,0.15);\n ";
2196
+ });
2197
+ }, utils.media.max(370)(_templateObject7(), Button));
1941
2198
  var FooterAuxiliaryContainer = styled__default.div.withConfig({
1942
2199
  displayName: "Dialog__FooterAuxiliaryContainer",
1943
2200
  componentId: "gai4ey-6"
@@ -1946,15 +2203,16 @@ var FooterAuxiliaryContainer = styled__default.div.withConfig({
1946
2203
  var DialogContentWrapper = styled__default(LoadingDiv).withConfig({
1947
2204
  displayName: "Dialog__DialogContentWrapper",
1948
2205
  componentId: "gai4ey-7"
1949
- })(["padding:2rem;margin:-2rem;", ""], utils.media.mobile(_templateObject6()));
2206
+ })(["padding:2rem;margin:-2rem;", ""], utils.media.mobile(_templateObject8()));
1950
2207
  var DialogAlwaysVisibleDiv = styled__default.div.withConfig({
1951
2208
  displayName: "Dialog__DialogAlwaysVisibleDiv",
1952
2209
  componentId: "gai4ey-8"
1953
- })(["padding:2rem 2rem 0;margin:-2rem;", ""], utils.media.mobile(_templateObject7())); // END
2210
+ })(["padding:2rem 2rem 0;margin:-2rem;", ""], utils.media.mobile(_templateObject9())); // END
1954
2211
 
1955
2212
  var Dialog = styled__default(React__default.forwardRef(function (_ref, outerRef) {
1956
2213
  var className = _ref.className,
1957
2214
  skipWrap = _ref.skipWrap,
2215
+ stickyFooter = _ref.stickyFooter,
1958
2216
  fixTitleMargin = _ref.fixTitleMargin,
1959
2217
  skipCloseIcon = _ref.skipCloseIcon,
1960
2218
  isLoading = _ref.isLoading,
@@ -1967,10 +2225,14 @@ var Dialog = styled__default(React__default.forwardRef(function (_ref, outerRef)
1967
2225
  auxiliarActions = _ref.auxiliarActions,
1968
2226
  _ref$container = _ref.container,
1969
2227
  container = _ref$container === void 0 ? true : _ref$container,
1970
- props = _objectWithoutProperties(_ref, ["className", "skipWrap", "fixTitleMargin", "skipCloseIcon", "isLoading", "footer", "Content", "children", "title", "illustration", "icon", "auxiliarActions", "container"]);
2228
+ props = _objectWithoutProperties(_ref, ["className", "skipWrap", "stickyFooter", "fixTitleMargin", "skipCloseIcon", "isLoading", "footer", "Content", "children", "title", "illustration", "icon", "auxiliarActions", "container"]);
1971
2229
 
1972
2230
  var ref = core.useEnsureRef(outerRef);
1973
2231
 
2232
+ var _willUseIsSticky = willUseIsSticky(),
2233
+ _willUseIsSticky2 = _slicedToArray(_willUseIsSticky, 1),
2234
+ WithIsSticky = _willUseIsSticky2[0];
2235
+
1974
2236
  var alwaysVisible = function alwaysVisible(confirmCloseDialog) {
1975
2237
  return React__default.createElement(React__default.Fragment, null, props.closeDialog && !skipCloseIcon && React__default.createElement(CloseIcon, {
1976
2238
  className: "JS-dialog-close",
@@ -1986,7 +2248,14 @@ var Dialog = styled__default(React__default.forwardRef(function (_ref, outerRef)
1986
2248
  }, utils.callIfFunction(Content)), !Content && children && React__default.createElement(DialogContent, {
1987
2249
  icon: icon,
1988
2250
  illustration: illustration
1989
- }, utils.callIfFunction(children)), Content && children && utils.callIfFunction(children), footer && React__default.createElement(DialogFooter, null, auxiliarActions && React__default.createElement(FooterAuxiliaryContainer, null, utils.callIfFunction(auxiliarActions)), utils.callIfFunction(footer)));
2251
+ }, utils.callIfFunction(children)), Content && children && utils.callIfFunction(children), footer && React__default.createElement(WithIsSticky, {
2252
+ bottom: true
2253
+ }, function (sentinel, isSticky) {
2254
+ return React__default.createElement(React__default.Fragment, null, React__default.createElement(DialogFooter, {
2255
+ isSticky: isSticky,
2256
+ sticky: stickyFooter
2257
+ }, auxiliarActions && React__default.createElement(FooterAuxiliaryContainer, null, utils.callIfFunction(auxiliarActions)), utils.callIfFunction(footer)), sentinel());
2258
+ }));
1990
2259
 
1991
2260
  var dialog = function dialog(confirmCloseDialog) {
1992
2261
  return React__default.createElement("div", {
@@ -2008,7 +2277,7 @@ var Dialog = styled__default(React__default.forwardRef(function (_ref, outerRef)
2008
2277
  })).withConfig({
2009
2278
  displayName: "Dialog",
2010
2279
  componentId: "gai4ey-9"
2011
- })(["@supports (position:sticky){will-change:transform,opacity;&.JS-wc-off{will-change:auto;}}border-radius:12px;padding:2rem;background-color:white;width:100%;max-width:45rem;margin:auto;position:relative;align-self:baseline;display:block;> h3:first-child{margin-top:0.5rem;}p{line-height:140%;}", " ", " ", ""], utils.media.mobile(_templateObject8(), function (props) {
2280
+ })(["@supports (position:sticky){will-change:transform,opacity;&.JS-wc-off{will-change:auto;}}border-radius:12px;padding:2rem;background-color:white;width:100%;max-width:45rem;margin:auto;position:relative;align-self:baseline;display:block;> h3:first-child{margin-top:0.5rem;}p{line-height:140%;}", " ", " ", ""], utils.media.mobile(_templateObject10(), function (props) {
2012
2281
  return props.fullscreenOnMobile && "\n border-radius: 0;\n min-height: 100%;\n ";
2013
2282
  }), function (props) {
2014
2283
  return props.closeDialog && styled.css(["", "{padding-right:2rem;}"], DialogTitle);
@@ -2090,49 +2359,58 @@ var useDialogWithToggle = function useDialogWithToggle(dialog) {
2090
2359
 
2091
2360
  var WarningDialog = styled__default(function (_ref) {
2092
2361
  var content = _ref.content,
2362
+ footer = _ref.footer,
2363
+ withX = _ref.withX,
2093
2364
  closeDialog = _ref.closeDialog,
2094
2365
  leftButton = _ref.leftButton,
2095
2366
  additionalContent = _ref.additionalContent,
2096
2367
  title = _ref.title,
2097
2368
  rightButton = _ref.rightButton,
2098
2369
  className = _ref.className,
2370
+ color = _ref.color,
2099
2371
  _ref$icon = _ref.icon,
2100
2372
  icon = _ref$icon === void 0 ? "warning" : _ref$icon,
2101
2373
  _ref$confirmLabel = _ref.confirmLabel,
2102
- confirmLabel = _ref$confirmLabel === void 0 ? "Entendi" : _ref$confirmLabel;
2374
+ confirmLabel = _ref$confirmLabel === void 0 ? "Entendi" : _ref$confirmLabel,
2375
+ noActions = _ref.noActions,
2376
+ children = _ref.children;
2103
2377
  return React__default.createElement(Dialog, {
2104
- className: className
2105
- }, React__default.createElement(MainIcon, {
2378
+ className: className,
2379
+ closeDialog: withX && closeDialog
2380
+ }, _isString(icon) ? React__default.createElement(WarningDialogIcon, {
2106
2381
  icon: icon
2107
- }), title && React__default.createElement(Title, {
2108
- color: icon
2382
+ }) : icon, title && React__default.createElement(WarningDialogTitle, {
2383
+ color: color || icon
2109
2384
  }, title), content && React__default.createElement(Content, {
2110
- noTitle: !title
2385
+ noTitle: !title,
2386
+ noActions: noActions
2111
2387
  }, content), additionalContent, utils.callIfFunction(leftButton, closeDialog), confirmLabel !== false && React__default.createElement(Button, {
2112
2388
  highlight: true,
2113
2389
  onClick: closeDialog
2114
- }, confirmLabel), utils.callIfFunction(rightButton, closeDialog));
2390
+ }, confirmLabel), utils.callIfFunction(rightButton, closeDialog), utils.callIfFunction(footer, closeDialog), children);
2115
2391
  }).withConfig({
2116
2392
  displayName: "WarningDialog",
2117
2393
  componentId: "sc-1jw779e-0"
2118
2394
  })(["text-align:center;max-width:36rem;padding:2.5rem;", "{margin:0.5rem !important;}"], Button);
2119
- var Title = styled__default.h3.withConfig({
2120
- displayName: "WarningDialog__Title",
2395
+ var WarningDialogTitle = styled__default.h3.withConfig({
2396
+ displayName: "WarningDialog__WarningDialogTitle",
2121
2397
  componentId: "sc-1jw779e-1"
2122
2398
  })(["color:", ";font-weight:500;font-size:20px;"], function (props) {
2123
- return props.color === 'warning' ? utils.getColor('alert') : props.color === 'success' ? utils.getColor('success') : utils.getColor('main');
2399
+ return props.color === 'warning' ? utils.getColor('alert') : props.color === 'success' ? utils.getColor('success') : props.color === 'due-date' ? utils.getColor('warning') : utils.getColor('main');
2124
2400
  });
2125
2401
  var Content = styled__default.div.withConfig({
2126
2402
  displayName: "WarningDialog__Content",
2127
2403
  componentId: "sc-1jw779e-2"
2128
- })(["font-size:15px;max-width:27rem;margin:0 auto 1.5rem;line-height:130%;", ""], function (props) {
2404
+ })(["font-size:15px;max-width:27rem;margin:0 auto;line-height:130%;", " ", ""], function (props) {
2405
+ return !props.noActions && "\n margin: 0 auto 1.5rem;\n ";
2406
+ }, function (props) {
2129
2407
  return props.noTitle && "\n font-weight: 500;\n font-size: 16px;\n ";
2130
2408
  });
2131
- var MainIcon = styled__default(Icon).withConfig({
2132
- displayName: "WarningDialog__MainIcon",
2409
+ var WarningDialogIcon = styled__default(Icon).withConfig({
2410
+ displayName: "WarningDialog__WarningDialogIcon",
2133
2411
  componentId: "sc-1jw779e-3"
2134
2412
  })(["color:", ";font-size:46px;display:block;margin-bottom:1.25rem;"], function (props) {
2135
- return props.icon === 'warning' ? utils.getColor('alert') : props.icon === 'success' ? utils.getColor('success') : utils.getColor('main');
2413
+ return props.icon === 'warning' ? utils.getColor('alert') : props.icon === 'success' ? utils.getColor('success') : props.icon === 'due-date' ? utils.getColor('warning') : utils.getColor('main');
2136
2414
  });
2137
2415
  var useWarningDialog = function useWarningDialog() {
2138
2416
  return useDialogWithToggle(function (toggle) {
@@ -2177,7 +2455,7 @@ var NotificationContainer = styled__default.div.withConfig({
2177
2455
  var Notification = styled__default.div.withConfig({
2178
2456
  displayName: "Notifications__Notification",
2179
2457
  componentId: "naxsn6-1"
2180
- })(["padding:1rem 3.5rem 1rem 1rem;border-radius:5px;color:white;text-align:left;line-height:20px;background:", ";box-shadow:0 2px 0px 0px rgba(0,0,0,0.25);min-width:12rem;min-height:44px;display:inline-block;position:relative;top:1rem;", "{color:white;display:inline-block;background-color:rgba(0,0,0,0.2);font-size:14px;width:20px;height:20px;text-align:center;line-height:20px;border-radius:50%;cursor:pointer;position:absolute;top:1rem;right:1rem;&:hover{background-color:rgba(0,0,0,0.3);}}"], function (props) {
2458
+ })(["padding:1rem 4.5rem 1rem 1.5rem;font-size:14px;font-weight:500;border-radius:10px;color:white;text-align:left;background:", ";box-shadow:0 2px 0px 0px rgba(0,0,0,0.1);min-width:12rem;min-height:48px;display:inline-flex;align-items:center;position:relative;top:1rem;", "{color:white;display:inline-block;background-color:rgba(0,0,0,0.1);font-size:18px;width:24px;height:24px;text-align:center;line-height:24px;border-radius:50%;cursor:pointer;position:absolute;top:50%;transform:translateY(-50%);right:1rem;&:hover{background-color:rgba(0,0,0,0.2);}}"], function (props) {
2181
2459
  return utils.getColor(props.type)(props);
2182
2460
  }, Icon);
2183
2461
 
@@ -2240,6 +2518,16 @@ var FlipNotification = function FlipNotification(props) {
2240
2518
  }, props)));
2241
2519
  };
2242
2520
 
2521
+ function _templateObject$5() {
2522
+ var data = _taggedTemplateLiteral(["\n display: none;\n "]);
2523
+
2524
+ _templateObject$5 = function _templateObject() {
2525
+ return data;
2526
+ };
2527
+
2528
+ return data;
2529
+ }
2530
+
2243
2531
  var _willUseSharedState$2 = core.willUseSharedState([]),
2244
2532
  _willUseSharedState2$2 = _slicedToArray(_willUseSharedState$2, 3),
2245
2533
  useNotifications = _willUseSharedState2$2[0],
@@ -2277,16 +2565,25 @@ var Notification$1 = styled__default.div.withConfig({
2277
2565
  var NotificationWrapper = styled__default.div.withConfig({
2278
2566
  displayName: "PersistentNotifications__NotificationWrapper",
2279
2567
  componentId: "sc-1t7i0dh-2"
2280
- })(["background:white;margin-top:", ";margin-right:0.75rem;margin-left:0.75rem;padding:5px;border-radius:10px;box-shadow:0 0 10px 0 rgba(0,0,0,0.1),0 1px 2px 1px rgba(0,0,0,0.15);max-width:360px;"], function (props) {
2281
- return props.marginTop || "4rem";
2282
- });
2568
+ })(["background:white;margin-top:", ";margin-right:0.75rem;margin-left:0.75rem;padding:5px;border-radius:10px;box-shadow:0 0 10px 0 rgba(0,0,0,0.1),0 1px 2px 1px rgba(0,0,0,0.15);max-width:364px;", ""], function (props) {
2569
+ return props.marginTop || "4.75rem";
2570
+ }, utils.printerMedia(_templateObject$5()));
2571
+
2572
+ var _willUseSharedState3 = core.willUseSharedState(false),
2573
+ _willUseSharedState4 = _slicedToArray(_willUseSharedState3, 3),
2574
+ useIsHiddenPersistentNotifications = _willUseSharedState4[0],
2575
+ hidePersistentNotifications = _willUseSharedState4[2];
2283
2576
  var PersistentNotifications = function PersistentNotifications() {
2284
2577
  var _useNotifications = useNotifications(),
2285
2578
  _useNotifications2 = _slicedToArray(_useNotifications, 2),
2286
2579
  notifications = _useNotifications2[0],
2287
2580
  setNotifications = _useNotifications2[1];
2288
2581
 
2289
- if (!notifications.length) {
2582
+ var _useIsHiddenPersisten = useIsHiddenPersistentNotifications(),
2583
+ _useIsHiddenPersisten2 = _slicedToArray(_useIsHiddenPersisten, 1),
2584
+ isHidden = _useIsHiddenPersisten2[0];
2585
+
2586
+ if (!notifications.length || isHidden) {
2290
2587
  return null;
2291
2588
  }
2292
2589
 
@@ -2427,7 +2724,8 @@ var usePositioning = function usePositioning(element, _ref, arrowRefOpt) {
2427
2724
  _ref$boundMargin = _ref.boundMargin,
2428
2725
  boundMargin = _ref$boundMargin === void 0 ? 6 : _ref$boundMargin,
2429
2726
  respectBounds = _ref.respectBounds,
2430
- respectOffsetScroll = _ref.respectOffsetScroll;
2727
+ respectOffsetScroll = _ref.respectOffsetScroll,
2728
+ on = _ref.on;
2431
2729
  var placeholder = React.useRef();
2432
2730
  var arrowRef = core.useEnsureRef(arrowRefOpt);
2433
2731
 
@@ -2453,7 +2751,7 @@ var usePositioning = function usePositioning(element, _ref, arrowRefOpt) {
2453
2751
  }
2454
2752
 
2455
2753
  var usingLayer = respectOffsetScroll || useLayers && getDialogLayersSize() > 0;
2456
- var scrollOwner = usingLayer ? utils.getClosestOffsetScroll(element.current.offsetParent) : {
2754
+ var scrollOwner = usingLayer ? _isFunction(respectOffsetScroll) ? respectOffsetScroll(element.current.offsetParent) : utils.getClosestOffsetScroll(element.current.offsetParent) : {
2457
2755
  scrollTop: window.pageYOffset,
2458
2756
  scrollLeft: window.pageXOffset // console.log({scrollOwner,scrollTop:scrollOwner.scrollTop,pageYOffset:window.pageYOffset})
2459
2757
 
@@ -2461,10 +2759,22 @@ var usePositioning = function usePositioning(element, _ref, arrowRefOpt) {
2461
2759
  var scrollY = !isNaN(scrollOwner.scrollTop) ? scrollOwner.scrollTop : window.pageYOffset;
2462
2760
  var scrollX = !isNaN(scrollOwner.scrollLeft) ? scrollOwner.scrollLeft : window.pageXOffset;
2463
2761
 
2464
- var _ref2 = respectOffsetScroll ? {
2465
- top: placeholder.current.offsetParent.offsetTop,
2466
- left: placeholder.current.offsetParent.offsetLeft
2467
- } : placeholder.current.getBoundingClientRect(),
2762
+ var getRespectOffsetScrollTopLeft = function getRespectOffsetScrollTopLeft() {
2763
+ var _placeholder$current$ = placeholder.current.getBoundingClientRect(),
2764
+ top = _placeholder$current$.top,
2765
+ left = _placeholder$current$.left;
2766
+
2767
+ var _scrollOwner$getBound = scrollOwner.getBoundingClientRect(),
2768
+ scrollOwnerTop = _scrollOwner$getBound.top,
2769
+ scrollOwnerLeft = _scrollOwner$getBound.left;
2770
+
2771
+ return {
2772
+ top: top - scrollOwnerTop,
2773
+ left: left - scrollOwnerLeft
2774
+ };
2775
+ };
2776
+
2777
+ var _ref2 = respectOffsetScroll ? getRespectOffsetScrollTopLeft() : placeholder.current.getBoundingClientRect(),
2468
2778
  leftPlusBorder = _ref2.left,
2469
2779
  topPlusBorder = _ref2.top;
2470
2780
 
@@ -2474,9 +2784,9 @@ var usePositioning = function usePositioning(element, _ref, arrowRefOpt) {
2474
2784
 
2475
2785
  var left = leftPlusBorder - parseInt(borderLeftWidth, 10);
2476
2786
  var top = topPlusBorder - parseInt(borderTopWidth, 10);
2477
- var _placeholder$current$ = placeholder.current.offsetParent,
2478
- parentOffsetWidth = _placeholder$current$.offsetWidth,
2479
- parentOffsetHeight = _placeholder$current$.offsetHeight;
2787
+ var _placeholder$current$2 = placeholder.current.offsetParent,
2788
+ parentOffsetWidth = _placeholder$current$2.offsetWidth,
2789
+ parentOffsetHeight = _placeholder$current$2.offsetHeight;
2480
2790
  var _element$current = element.current,
2481
2791
  popupOffsetWidth = _element$current.offsetWidth,
2482
2792
  popupOffsetHeight = _element$current.offsetHeight;
@@ -2586,11 +2896,13 @@ var usePositioning = function usePositioning(element, _ref, arrowRefOpt) {
2586
2896
  }
2587
2897
  };
2588
2898
 
2589
- React.useLayoutEffect(setPosition, []);
2899
+ React.useLayoutEffect(setPosition, [on]);
2590
2900
  React.useEffect(function () {
2591
2901
  window.addEventListener('portalReposition', setPosition);
2592
2902
  window.addEventListener('stepResize', setPosition);
2593
- window.addEventListener('scroll', setPosition);
2903
+ window.addEventListener('scroll', setPosition, {
2904
+ passive: true
2905
+ });
2594
2906
  return function () {
2595
2907
  window.removeEventListener('portalReposition', setPosition);
2596
2908
  window.removeEventListener('stepResize', setPosition);
@@ -2701,6 +3013,8 @@ function (_React$Component) {
2701
3013
  _this = _possibleConstructorReturn(this, (_getPrototypeOf2 = _getPrototypeOf(FlipList)).call.apply(_getPrototypeOf2, [this].concat(args)));
2702
3014
 
2703
3015
  _this.play = function (oldSnap, newSnap) {
3016
+ var _newSnap$parent;
3017
+
2704
3018
  var _this$props = _this.props,
2705
3019
  animation = _this$props.animation,
2706
3020
  insertAnimation = _this$props.insertAnimation,
@@ -2748,12 +3062,15 @@ function (_React$Component) {
2748
3062
  skipTransform: true,
2749
3063
  smallJumpFix: _this.props.smallJumpFix
2750
3064
  });
2751
- var endEffect = utils.callIfFunction(effect, newSnap.parent.domNode, {
2752
- newSnap: newSnap,
2753
- oldSnap: oldSnap
2754
- });
2755
- utils.callIfFunction(onStartAnimation);
2756
- morph(newSnap.parent.domNode, formatAnimation(rectAnimation, timing), endEffect || onEndAnimation);
3065
+
3066
+ if ((_newSnap$parent = newSnap.parent) === null || _newSnap$parent === void 0 ? void 0 : _newSnap$parent.domNode) {
3067
+ var endEffect = utils.callIfFunction(effect, newSnap.parent.domNode, {
3068
+ newSnap: newSnap,
3069
+ oldSnap: oldSnap
3070
+ });
3071
+ utils.callIfFunction(onStartAnimation);
3072
+ morph(newSnap.parent.domNode, formatAnimation(rectAnimation, timing), endEffect || onEndAnimation);
3073
+ }
2757
3074
  };
2758
3075
 
2759
3076
  _this.reinsertSnap = function (item, scrollDelta, allChildren) {
@@ -4073,10 +4390,10 @@ function _templateObject2$4() {
4073
4390
  return data;
4074
4391
  }
4075
4392
 
4076
- function _templateObject$5() {
4393
+ function _templateObject$6() {
4077
4394
  var data = _taggedTemplateLiteral(["\n font-size: 14px;\n & > * {\n padding-top: 15px;\n padding-bottom: 15px;\n }\n ", ", .icon {\n font-size: 25px;\n }\n "]);
4078
4395
 
4079
- _templateObject$5 = function _templateObject() {
4396
+ _templateObject$6 = function _templateObject() {
4080
4397
  return data;
4081
4398
  };
4082
4399
 
@@ -4096,7 +4413,9 @@ var areComponentsEqual = function areComponentsEqual(a, b) {
4096
4413
  var ListItem = styled__default.li.withConfig({
4097
4414
  displayName: "ContextMenu__ListItem",
4098
4415
  componentId: "sc-13y1vvt-0"
4099
- })(["position:relative;font-size:13px;& > *{padding:11px 1.5rem 11px 3.5rem;display:block;}", ",.icon{font-size:23px;position:absolute;padding-left:0.25rem;left:0;top:50%;transform:translateY(-50%);width:3.5rem;text-align:center;}", " & > a{color:inherit;font-weight:inherit;text-decoration:inherit;}& > a,& > label{cursor:pointer;}", " ", " input[type=\"radio\"]{display:none;}", " ", " ", " ", ""], Icon, utils.media.mobile(_templateObject$5(), Icon), utils.ifProp('hover', styled.css(["& > a,& > label{background:", ";color:", ";color:", ";}"], function (props) {
4416
+ })(["position:relative;font-size:13px;& > *{padding:11px 1.5rem 11px 3.5rem;display:block;}", " ", ",.icon{font-size:23px;position:absolute;padding-left:0.25rem;left:0;top:50%;transform:translateY(-50%);width:3.5rem;text-align:center;}", " & > a{color:inherit;font-weight:inherit;text-decoration:inherit;}& > a,& > label{cursor:pointer;}", " ", " input[type=\"radio\"]{display:none;}", " ", " ", " ", ""], function (props) {
4417
+ return props.hasSubmenu && "\n & > * {\n padding-right: 3rem;\n }\n ";
4418
+ }, Icon, utils.media.mobile(_templateObject$6(), Icon), utils.ifProp('hover', styled.css(["& > a,& > label{background:", ";color:", ";color:", ";}"], function (props) {
4100
4419
  return polished.lighten(0.53, utils.getColor("main")(props));
4101
4420
  }, utils.getColor('main'), function (props) {
4102
4421
  return polished.darken(0.03, utils.getColor("main")(props));
@@ -4259,6 +4578,7 @@ var Li = function Li(_ref) {
4259
4578
  var _ref$emitter = _ref.emitter,
4260
4579
  emitter = _ref$emitter === void 0 ? mitt() : _ref$emitter,
4261
4580
  index = _ref.index,
4581
+ menuSlot = _ref.menuSlot,
4262
4582
  keepOpen = _ref.keepOpen,
4263
4583
  hover = _ref.hover,
4264
4584
  layerIndex = _ref.layerIndex,
@@ -4275,7 +4595,7 @@ var Li = function Li(_ref) {
4275
4595
  helpText = _ref.helpText,
4276
4596
  target = _ref.target,
4277
4597
  href = _ref.href,
4278
- rest = _objectWithoutProperties(_ref, ["emitter", "index", "keepOpen", "hover", "layerIndex", "hoverCursor", "passTouchThrough", "children", "setCursorOnHover", "onClick", "prefixWith", "linkTo", "icon", "label", "descText", "helpText", "target", "href"]);
4598
+ rest = _objectWithoutProperties(_ref, ["emitter", "index", "menuSlot", "keepOpen", "hover", "layerIndex", "hoverCursor", "passTouchThrough", "children", "setCursorOnHover", "onClick", "prefixWith", "linkTo", "icon", "label", "descText", "helpText", "target", "href"]);
4279
4599
 
4280
4600
  var nodeRef = React.useRef();
4281
4601
  var tagRef = React.useRef();
@@ -4385,7 +4705,8 @@ var Li = function Li(_ref) {
4385
4705
  closing: subMenu.closing,
4386
4706
  onMouseMove: subMenu.open,
4387
4707
  onClose: onCloseSub,
4388
- sub: true
4708
+ sub: true,
4709
+ slot: c.props.slot || menuSlot
4389
4710
  });
4390
4711
  });
4391
4712
  };
@@ -4402,7 +4723,8 @@ var Li = function Li(_ref) {
4402
4723
  hover: hover,
4403
4724
  onClick: onClickHandler,
4404
4725
  onMouseLeave: onMouseOut,
4405
- onMouseMove: onMouseMove
4726
+ onMouseMove: onMouseMove,
4727
+ hasSubmenu: children
4406
4728
  }), rest.withButton || rest.noActions ? content : React__default.createElement(Tag, {
4407
4729
  href: href,
4408
4730
  target: target,
@@ -4429,6 +4751,7 @@ var ContextMenuComponent = React.forwardRef(function (_ref2, unesuredRef) {
4429
4751
  sub = _ref2.sub,
4430
4752
  hoverIndex = _ref2.hoverIndex,
4431
4753
  autoHover = _ref2.autoHover,
4754
+ menuSlot = _ref2.menuSlot,
4432
4755
  withoutIcons = _ref2.withoutIcons,
4433
4756
  onClose = _ref2.onClose,
4434
4757
  _ref2$onHover = _ref2.onHover,
@@ -4437,7 +4760,7 @@ var ContextMenuComponent = React.forwardRef(function (_ref2, unesuredRef) {
4437
4760
  } : _ref2$onHover,
4438
4761
  fill = _ref2.fill,
4439
4762
  onClick = _ref2.onClick,
4440
- props = _objectWithoutProperties(_ref2, ["children", "sub", "hoverIndex", "autoHover", "withoutIcons", "onClose", "onHover", "fill", "onClick"]);
4763
+ props = _objectWithoutProperties(_ref2, ["children", "sub", "hoverIndex", "autoHover", "menuSlot", "withoutIcons", "onClose", "onHover", "fill", "onClick"]);
4441
4764
 
4442
4765
  var ref = core.useEnsureRef(unesuredRef);
4443
4766
 
@@ -4509,11 +4832,19 @@ var ContextMenuComponent = React.forwardRef(function (_ref2, unesuredRef) {
4509
4832
  };
4510
4833
 
4511
4834
  var getTotalKeyboardItems = function getTotalKeyboardItems(children) {
4512
- var max = 0;
4513
- React__default.Children.forEach(children, function (e) {
4514
- return max += e && (!styled.isStyledComponent(e.type) && e.type === Li || e.type.isKeyboardNavigable || (areComponentsEqual(e.type, StickyContainer) ? getTotalKeyboardItems(e.props.children) : 0));
4835
+ var sum = 0;
4836
+ React__default.Children.forEach(children, function (child) {
4837
+ if (child && !child.props.disabled && !child.props.readOnly) {
4838
+ if (!styled.isStyledComponent(child.type) && child.type === Li || child.type.isKeyboardNavigable) {
4839
+ sum += 1;
4840
+ }
4841
+
4842
+ if (areComponentsEqual(child.type, StickyContainer) || child.props.nested) {
4843
+ sum += getTotalKeyboardItems(child.props.children);
4844
+ }
4845
+ }
4515
4846
  });
4516
- return max;
4847
+ return sum;
4517
4848
  };
4518
4849
 
4519
4850
  var setCursorOnHover = function setCursorOnHover(index) {
@@ -4523,18 +4854,20 @@ var ContextMenuComponent = React.forwardRef(function (_ref2, unesuredRef) {
4523
4854
  };
4524
4855
 
4525
4856
  var formatChildren = function formatChildren(children) {
4526
- var indexOffset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
4527
- var i = 0;
4857
+ var indexRef = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
4858
+ current: 0
4859
+ };
4528
4860
  return React__default.Children.map(children, function (child, j) {
4529
- return child ? !styled.isStyledComponent(child.type) && !reactIs.isMemo(child.type) && areComponentsEqual(child.type, Li) || child.type.isKeyboardNavigable ? React__default.cloneElement(child, {
4530
- hover: hoverCursor === i + indexOffset && layerIndex === layerCursor,
4861
+ return child && !child.props.disabled && !child.props.readOnly ? child.props.nested ? React__default.cloneElement(child, child.props, formatChildren(child.props.children, indexRef)) : !styled.isStyledComponent(child.type) && !reactIs.isMemo(child.type) && areComponentsEqual(child.type, Li) || child.type.isKeyboardNavigable ? React__default.cloneElement(child, {
4862
+ hover: hoverCursor === indexRef.current && layerIndex === layerCursor,
4531
4863
  hoverCursor: hoverCursor,
4532
- index: indexOffset + i++,
4864
+ index: indexRef.current++,
4533
4865
  setCursorOnHover: setCursorOnHover,
4534
4866
  emitter: itemsEmitter,
4535
- layerIndex: layerIndex
4867
+ layerIndex: layerIndex,
4868
+ menuSlot: menuSlot
4536
4869
  }) : areComponentsEqual(child.type, StickyContainer) ? React__default.cloneElement(child, _objectSpread({}, child.props, {
4537
- children: formatChildren(child.props.children, i + indexOffset)
4870
+ children: formatChildren(child.props.children, indexRef)
4538
4871
  })) : child : child;
4539
4872
  });
4540
4873
  };
@@ -4600,6 +4933,7 @@ var ContextMenu = React.forwardRef(function (_ref3, ref) {
4600
4933
  return React__default.createElement(React__default.Fragment, null, placeholder, React__default.createElement(core.Fill, {
4601
4934
  name: slotName
4602
4935
  }, React__default.createElement(ContextMenuComponent, _extends({}, rest, {
4936
+ menuSlot: slot,
4603
4937
  sub: sub
4604
4938
  }, positionInfo, {
4605
4939
  ref: contextMenuRef,
@@ -4626,10 +4960,10 @@ var callIfFunction = function callIfFunction(prop) {
4626
4960
  return typeof prop === "function" ? prop.apply(void 0, args) : prop;
4627
4961
  };
4628
4962
 
4629
- function _templateObject$6() {
4963
+ function _templateObject$7() {
4630
4964
  var data = _taggedTemplateLiteral(["\n ", ""]);
4631
4965
 
4632
- _templateObject$6 = function _templateObject() {
4966
+ _templateObject$7 = function _templateObject() {
4633
4967
  return data;
4634
4968
  };
4635
4969
 
@@ -4638,10 +4972,10 @@ function _templateObject$6() {
4638
4972
 
4639
4973
  var checkCustomScreenWidth = function checkCustomScreenWidth(sizeParis, customWidth) {
4640
4974
  var currentWidth = callIfFunction(customWidth);
4641
- return !sizeParis.find(function (_ref4) {
4642
- var _ref5 = _slicedToArray(_ref4, 2),
4643
- size = _ref5[0],
4644
- type = _ref5[1];
4975
+ return !sizeParis.find(function (_ref5) {
4976
+ var _ref6 = _slicedToArray(_ref5, 2),
4977
+ size = _ref6[0],
4978
+ type = _ref6[1];
4645
4979
 
4646
4980
  if (type === "min-width") {
4647
4981
  return currentWidth < size;
@@ -4666,10 +5000,10 @@ var media = function media() {
4666
5000
  return styled.css(["", ""], function (props) {
4667
5001
  var _props$theme, _props$theme2;
4668
5002
 
4669
- return ((_props$theme = props.theme) === null || _props$theme === void 0 ? void 0 : _props$theme.overrideMediaWidth) ? checkCustomScreenWidth(sizePairs, (_props$theme2 = props.theme) === null || _props$theme2 === void 0 ? void 0 : _props$theme2.overrideMediaWidth) ? styled.css.apply(void 0, args) : "" : styled.css(["@media ", "{", "}"], sizePairs.map(function (_ref6) {
4670
- var _ref7 = _slicedToArray(_ref6, 2),
4671
- size = _ref7[0],
4672
- type = _ref7[1];
5003
+ return ((_props$theme = props.theme) === null || _props$theme === void 0 ? void 0 : _props$theme.overrideMediaWidth) ? checkCustomScreenWidth(sizePairs, (_props$theme2 = props.theme) === null || _props$theme2 === void 0 ? void 0 : _props$theme2.overrideMediaWidth) ? styled.css.apply(void 0, args) : "" : styled.css(["@media ", "{", "}"], sizePairs.map(function (_ref7) {
5004
+ var _ref8 = _slicedToArray(_ref7, 2),
5005
+ size = _ref8[0],
5006
+ type = _ref8[1];
4673
5007
 
4674
5008
  return "(".concat(type, ": ").concat(size + scrollWidth, "px)");
4675
5009
  }).join(' and '), styled.css.apply(void 0, args));
@@ -4704,7 +5038,7 @@ var oneWayAnimation = function oneWayAnimation() {
4704
5038
  frames[_key5] = arguments[_key5];
4705
5039
  }
4706
5040
 
4707
- return emotion.keyframes(_templateObject$6(), frames.map(function (frame, i) {
5041
+ return emotion.keyframes(_templateObject$7(), frames.map(function (frame, i) {
4708
5042
  return !frame ? '' : "".concat(getFrameOffset(i, frames.length), "% {\n ").concat(frame, "\n }");
4709
5043
  }));
4710
5044
  };
@@ -4727,10 +5061,16 @@ var identityOpacityFrames = oneWayAnimation('opacity: 1;', 'opacity:1;');
4727
5061
  var LoadingBar = styled__default.div.withConfig({
4728
5062
  displayName: "PageLoader__LoadingBar",
4729
5063
  componentId: "sc-96jeob-0"
4730
- })(["width:0%;height:3px;position:fixed;background:#84D359;top:0;left:0;z-index:99999;box-shadow:0 0 6px 0 rgba(0,0,0,0.5);", " ", ""], function (props) {
4731
- return props.loading && "\n width: 70%;\n transition: 1.5s width linear;\n ";
5064
+ })(["width:100%;border-radius:0 1px 1px 0;height:4px;position:fixed;background:", ";transform:translateX(-100%);", " left:0;z-index:99999;box-shadow:", ";", " ", ""], function (props) {
5065
+ return props.bottom ? styled.css(["", ""], utils.getColor('main')) : "#84D359";
5066
+ }, function (props) {
5067
+ return props.bottom ? "bottom:55px;" : "top: 0;";
5068
+ }, function (props) {
5069
+ return props.bottom ? "0 0 1px 1px rgba(0,132,214,0.2);" : "0 0 2px 0 rgba(0,0,0,0.5);";
5070
+ }, function (props) {
5071
+ return props.loading && "\n transform: translateX(-30%);\n transition: transform 1.5s ease;\n ";
4732
5072
  }, function (props) {
4733
- return props.closing && "\n width: 100%;\n transition: 0.3s ease-in;\n ";
5073
+ return props.closing && "\n transform: translateX(0);\n transition: transform 0.3s ease-in;\n ";
4734
5074
  });
4735
5075
  var PageLoader = function PageLoader(_ref) {
4736
5076
  var isLoading = _ref.isLoading;
@@ -4747,7 +5087,7 @@ var PageLoader = function PageLoader(_ref) {
4747
5087
  closing: loader.closing
4748
5088
  });
4749
5089
  };
4750
- var animation$2 = utils.oneWayAnimation('width: 70%;', 'width: 100%');
5090
+ var animation$2 = utils.oneWayAnimation('transform:translateX(-30%);', 'transform:translateX(0);');
4751
5091
  var SuspenseLoadingBar = function SuspenseLoadingBar() {
4752
5092
  var ref = React__default.useRef();
4753
5093
  useFlipLeave(ref, animation$2, {
@@ -5058,8 +5398,8 @@ FillLastLineResizer.h2 = function (props) {
5058
5398
  };
5059
5399
 
5060
5400
  var DEFAULT_ANIMATION = utils.oneWayAnimation("opacity: 1;", "opacity: 0;");
5061
- var BlockContainer$1 = styled__default.div.withConfig({
5062
- displayName: "TransitionDiv__BlockContainer",
5401
+ var AnimationBlockContainer = styled__default.div.withConfig({
5402
+ displayName: "TransitionDiv__AnimationBlockContainer",
5063
5403
  componentId: "sc-1sh2xah-0"
5064
5404
  })(["", " position:relative;"], function (props) {
5065
5405
  return props.inline ? 'display: inline-block; ' : '';
@@ -5099,14 +5439,14 @@ var TransitionDiv = function TransitionDiv(_ref) {
5099
5439
  skipChromeFix: skipChromeFix,
5100
5440
  animation: animation || DEFAULT_ANIMATION
5101
5441
  }, rest), []);
5102
- return block || inline ? React__default.createElement(BlockContainer$1, {
5442
+ return block || inline ? React__default.createElement(AnimationBlockContainer, {
5103
5443
  inline: inline,
5104
5444
  ref: blockRef,
5105
5445
  className: className
5106
5446
  }, content) : content;
5107
5447
  };
5108
5448
 
5109
- var BlockContainer$2 = styled__default.div.withConfig({
5449
+ var BlockContainer$1 = styled__default.div.withConfig({
5110
5450
  displayName: "SwitchDiv__BlockContainer",
5111
5451
  componentId: "htfwpl-0"
5112
5452
  })(["position:relative;"]);
@@ -5153,167 +5493,12 @@ var SwitchContainer = function SwitchContainer(_ref2) {
5153
5493
  switchAnimation(contentRef, enterAnimation, leaveAnimation, {
5154
5494
  effect: effect
5155
5495
  });
5156
- return React__default.createElement(BlockContainer$2, {
5496
+ return React__default.createElement(BlockContainer$1, {
5157
5497
  ref: contentRef,
5158
5498
  className: className
5159
5499
  }, utils.callIfFunction(children));
5160
5500
  };
5161
5501
 
5162
- var TOP_TRIGGER = function TOP_TRIGGER(posInfo, refInfo) {
5163
- // Started sticking.
5164
- if (posInfo.bottom < refInfo.top) {
5165
- return true;
5166
- } // Stopped sticking.
5167
-
5168
-
5169
- if (posInfo.bottom >= refInfo.top && posInfo.bottom < refInfo.bottom) {
5170
- return false;
5171
- }
5172
- };
5173
-
5174
- var BOTTOM_TRIGGER = function BOTTOM_TRIGGER(posInfo, refInfo) {
5175
- // Started sticking.
5176
- if (posInfo.top > refInfo.bottom) {
5177
- return true;
5178
- }
5179
-
5180
- if (posInfo.top <= refInfo.bottom && posInfo.top > refInfo.top) {
5181
- return false;
5182
- }
5183
- };
5184
-
5185
- var SentinelStyle = styled__default.div.withConfig({
5186
- displayName: "willUseIsSticky__SentinelStyle",
5187
- componentId: "sc-1nsyca-0"
5188
- })(["position:absolute;visibility:hidden;height:1px;width:1px;", ""], function (props) {
5189
- return props.addCss;
5190
- });
5191
- var willUseIsSticky = function willUseIsSticky() {
5192
- var _willUseSharedCallbac = core.willUseSharedCallback(),
5193
- _willUseSharedCallbac2 = _slicedToArray(_willUseSharedCallbac, 2),
5194
- useRegister = _willUseSharedCallbac2[0],
5195
- onChange = _willUseSharedCallbac2[1];
5196
-
5197
- var _willUseSharedState = core.willUseSharedState(),
5198
- _willUseSharedState2 = _slicedToArray(_willUseSharedState, 3),
5199
- useSharedIsSticky = _willUseSharedState2[0],
5200
- setSharedIsSticky = _willUseSharedState2[2];
5201
-
5202
- var createObserver = function createObserver(root) {
5203
- return window.IntersectionObserver ? new window.IntersectionObserver(function (records, observer) {
5204
- var _iteratorNormalCompletion = true;
5205
- var _didIteratorError = false;
5206
- var _iteratorError = undefined;
5207
-
5208
- try {
5209
- for (var _iterator = records[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
5210
- var record = _step.value;
5211
- var targetInfo = record.boundingClientRect;
5212
- var rootBoundsInfo = record.rootBounds;
5213
-
5214
- if (!rootBoundsInfo) {
5215
- return;
5216
- }
5217
-
5218
- onChange(targetInfo, rootBoundsInfo, record.target, record.isIntersecting);
5219
- }
5220
- } catch (err) {
5221
- _didIteratorError = true;
5222
- _iteratorError = err;
5223
- } finally {
5224
- try {
5225
- if (!_iteratorNormalCompletion && _iterator.return != null) {
5226
- _iterator.return();
5227
- }
5228
- } finally {
5229
- if (_didIteratorError) {
5230
- throw _iteratorError;
5231
- }
5232
- }
5233
- }
5234
- }, {
5235
- root: root
5236
- }) : {
5237
- observe: _identity,
5238
- unobserve: _identity
5239
- };
5240
- };
5241
-
5242
- var observerMap = new Map();
5243
-
5244
- var getObserver = function getObserver() {
5245
- var root = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
5246
- var result = observerMap.get(root);
5247
-
5248
- if (result) {
5249
- return result;
5250
- }
5251
-
5252
- var observer = createObserver(root);
5253
- observerMap.set(root, observer);
5254
- return observer;
5255
- };
5256
-
5257
- var activeObserved = [];
5258
-
5259
- var resetObservers = function resetObservers() {
5260
- var root = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
5261
- var observer = getObserver(root);
5262
- activeObserved.forEach(function (observed) {
5263
- observer.unobserve(observed);
5264
- observer.observe(observed);
5265
- });
5266
- };
5267
-
5268
- var WithIsSticky = React__default.forwardRef(function (_ref, ref) {
5269
- var className = _ref.className,
5270
- children = _ref.children,
5271
- bottom = _ref.bottom,
5272
- root = _ref.root,
5273
- intersection = _ref.intersection,
5274
- onChange = _ref.onChange;
5275
- var ensuredRef = core.useEnsureRef(ref);
5276
-
5277
- var _useState = React.useState(false),
5278
- _useState2 = _slicedToArray(_useState, 2),
5279
- isSticky = _useState2[0],
5280
- setIsSticky = _useState2[1];
5281
-
5282
- useRegister(function (posInfo, refInfo, target, isIntersecting) {
5283
- if (ensuredRef.current === target) {
5284
- var value = intersection ? isIntersecting : bottom ? BOTTOM_TRIGGER(posInfo, refInfo) : TOP_TRIGGER(posInfo, refInfo);
5285
-
5286
- if (value !== undefined) {
5287
- setIsSticky(value);
5288
- utils.callIfFunction(onChange, value);
5289
- setSharedIsSticky(value);
5290
- }
5291
- }
5292
- });
5293
- React.useEffect(function () {
5294
- setIsSticky(false);
5295
- getObserver(utils.callIfFunction(root)).observe(ensuredRef.current);
5296
- activeObserved = activeObserved.concat(ensuredRef.current);
5297
- return function () {
5298
- // observer.unobserve(ref.current)
5299
- activeObserved = _without([ensuredRef.current], activeObserved);
5300
- };
5301
- }, []);
5302
-
5303
- var renderSentinel = function renderSentinel() {
5304
- var css = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
5305
- return React__default.createElement(SentinelStyle, {
5306
- addCss: css,
5307
- className: className,
5308
- ref: ensuredRef
5309
- });
5310
- };
5311
-
5312
- return children ? children(renderSentinel, isSticky) : renderSentinel();
5313
- });
5314
- return [WithIsSticky, useSharedIsSticky, resetObservers];
5315
- };
5316
-
5317
5502
  var FormatDate = function FormatDate(_ref) {
5318
5503
  var date = _ref.date,
5319
5504
  format = _ref.format,
@@ -5367,10 +5552,10 @@ var Image = React.forwardRef(function (_ref, ref) {
5367
5552
  }));
5368
5553
  });
5369
5554
 
5370
- function _templateObject$7() {
5555
+ function _templateObject$8() {
5371
5556
  var data = _taggedTemplateLiteral(["\n @supports (position: sticky) {\n top: 0;\n margin-right: -0.75rem;\n }\n "]);
5372
5557
 
5373
- _templateObject$7 = function _templateObject() {
5558
+ _templateObject$8 = function _templateObject() {
5374
5559
  return data;
5375
5560
  };
5376
5561
 
@@ -5379,11 +5564,21 @@ function _templateObject$7() {
5379
5564
  var DialogWithImageHeader = styled__default(Dialog).withConfig({
5380
5565
  displayName: "DialogWithImageHeader",
5381
5566
  componentId: "sc-1f1ry4g-0"
5382
- })(["max-width:51rem;", "{background:", ";text-shadow:none;color:rgba(120,120,120,1);font-size:20px;box-shadow:rgba(0,0,0,0.2) 0px 1px 3px 0px,rgba(0,0,0,0.05) 0px 0px 0px 1px;width:36px;height:36px;line-height:36px;transition:0.1s ease-out;:hover{background-color:rgb(230,230,230);}:active{background-color:rgb(220,220,220);transition:0s ease-out;}@supports (position:sticky){position:sticky;top:-2.5rem;right:0rem;float:right;margin-right:-1.25rem;margin-top:0.75rem;}", "}"], CloseIcon, utils.getColor('gray240'), utils.media.mobile(_templateObject$7()));
5567
+ })(["max-width:51rem;", "{background:", ";text-shadow:none;color:rgba(120,120,120,1);font-size:20px;box-shadow:rgba(0,0,0,0.2) 0px 1px 3px 0px,rgba(0,0,0,0.05) 0px 0px 0px 1px;width:36px;height:36px;line-height:36px;transition:0.1s ease-out;:hover{background-color:rgb(230,230,230);}:active{background-color:rgb(220,220,220);transition:0s ease-out;}@supports (position:sticky){position:sticky;top:-2.5rem;right:0rem;float:right;margin-right:-1.25rem;margin-top:0.75rem;}", "}"], CloseIcon, utils.getColor('gray240'), utils.media.mobile(_templateObject$8()));
5383
5568
 
5384
- function _templateObject2$5() {
5569
+ function _templateObject3$3() {
5385
5570
  var data = _taggedTemplateLiteral(["\n min-height: 100%;\n overflow: hidden;\n "]);
5386
5571
 
5572
+ _templateObject3$3 = function _templateObject3() {
5573
+ return data;
5574
+ };
5575
+
5576
+ return data;
5577
+ }
5578
+
5579
+ function _templateObject2$5() {
5580
+ var data = _taggedTemplateLiteral(["\n font-size: 16px;\n "]);
5581
+
5387
5582
  _templateObject2$5 = function _templateObject2() {
5388
5583
  return data;
5389
5584
  };
@@ -5391,10 +5586,10 @@ function _templateObject2$5() {
5391
5586
  return data;
5392
5587
  }
5393
5588
 
5394
- function _templateObject$8() {
5589
+ function _templateObject$9() {
5395
5590
  var data = _taggedTemplateLiteral(["\n display:block;\n position:fixed;\n top:0;\n left:0;\n bottom:0;\n z-index:1000;\n transition: 0.25s transform ease-out;\n background-color: ", ";\n box-shadow: -5px 0 20px 5px rgba(0,0,0,0.4);\n border-radius: 0;\n ", "\n "]);
5396
5591
 
5397
- _templateObject$8 = function _templateObject() {
5592
+ _templateObject$9 = function _templateObject() {
5398
5593
  return data;
5399
5594
  };
5400
5595
 
@@ -5405,13 +5600,13 @@ var SideMenu = styled__default.div.withConfig({
5405
5600
  componentId: "suvg9r-0"
5406
5601
  })(["background-color:", ";border-top-left-radius:10px;border-bottom-left-radius:10px;width:19rem;flex-shrink:0;padding:1.25rem 0;", " ", ""], utils.getColor('gray240'), function (props) {
5407
5602
  return !props.visibleOnDesktop && 'display:none;';
5408
- }, utils.media.mobile(_templateObject$8(), utils.getColor('gray240'), function (props) {
5603
+ }, utils.media.mobile(_templateObject$9(), utils.getColor('gray240'), function (props) {
5409
5604
  return !props.isOpen && "\n transform: translateX(-100%);\n box-shadow: none;\n ";
5410
5605
  }));
5411
5606
  var DialogTabMenu = styled__default.ul.withConfig({
5412
5607
  displayName: "DialogWithSidebar__DialogTabMenu",
5413
5608
  componentId: "suvg9r-1"
5414
- })(["cursor:default;overflow:auto;text-align:left;color:inherit;user-select:none;li{position:relative;padding:1rem 2rem 1rem 4.1rem;font-size:14px;:hover{background-color:rgba(0,0,0,0.1);cursor:pointer;}&.selected{color:", ";background:rgba(0,132,214,0.125);pointer-events:none;}}.icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:3rem;text-align:center;line-height:0;font-size:26px;}", ""], utils.getColor('main'), function (props) {
5609
+ })(["cursor:default;overflow:auto;text-align:left;color:inherit;user-select:none;li{position:relative;padding:1rem 2rem 1rem 4.1rem;font-size:14px;", ":hover{background-color:rgba(0,0,0,0.1);cursor:pointer;}&.selected{color:", ";background:rgba(0,132,214,0.125);pointer-events:none;}}.icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:3rem;text-align:center;line-height:0;font-size:26px;}", ""], utils.media.mobile(_templateObject2$5()), utils.getColor('main'), function (props) {
5415
5610
  return props.menuTabIsOpen && "\n li {\n padding: 1.25rem 2rem 1.25rem 3.25rem;\n border-radius: 6px\n }\n .icon{\n left: 0;\n }\n ";
5416
5611
  });
5417
5612
 
@@ -5455,7 +5650,7 @@ var DialogWithSidebarPresentation = function DialogWithSidebarPresentation(_ref)
5455
5650
  visibleOnDesktop: true
5456
5651
  }, sidebar(tab)), React__default.createElement("div", {
5457
5652
  className: (menuTabIsOpen ? "menuTabIsOpen " : "") + "main-container"
5458
- }, React__default.createElement("h2", null, menuTabIsOpen ? "Configurações da página" : React__default.createElement(React__default.Fragment, null, React__default.createElement("span", {
5653
+ }, React__default.createElement("h2", null, menuTabIsOpen ? "Configurações gerais" : React__default.createElement(React__default.Fragment, null, React__default.createElement("span", {
5459
5654
  className: "icon icon-menu mobile-only",
5460
5655
  onClick: sideMenu.open
5461
5656
  }), title(tab))), React__default.createElement(React__default.Suspense, {
@@ -5498,7 +5693,7 @@ var DialogWithSidebar = styled__default(function (props) {
5498
5693
  }).withConfig({
5499
5694
  displayName: "DialogWithSidebar",
5500
5695
  componentId: "suvg9r-2"
5501
- })(["max-width:59rem;display:flex;padding:0;flex-direction:row;", ""], utils.media.mobile(_templateObject2$5()));
5696
+ })(["max-width:59rem;display:flex;padding:0;flex-direction:row;", ""], utils.media.mobile(_templateObject3$3()));
5502
5697
 
5503
5698
  var MobileBubbleDialogFooter = styled__default.div.withConfig({
5504
5699
  displayName: "MobileBubbleDialog__MobileBubbleDialogFooter",
@@ -5536,6 +5731,7 @@ var MobileBubbleDialog = styled__default(function (_ref) {
5536
5731
  })(["border-radius:10px;background-color:white;width:100%;margin:auto;position:relative;align-self:baseline;overflow:hidden;@supports (flex-wrap:wrap){display:flex;flex-direction:column;}"]);
5537
5732
 
5538
5733
  exports.AnimatedModal = AnimatedModal;
5734
+ exports.AnimationBlockContainer = AnimationBlockContainer;
5539
5735
  exports.Button = Button;
5540
5736
  exports.CloseIcon = CloseIcon;
5541
5737
  exports.ConfirmDialog = ConfirmDialog;
@@ -5583,6 +5779,7 @@ exports.MobileBubbleDialog = MobileBubbleDialog;
5583
5779
  exports.Modal = Modal;
5584
5780
  exports.ModalContainer = ModalContainer;
5585
5781
  exports.Notifications = Notifications;
5782
+ exports.OnClickLoadingButton = OnClickLoadingButton;
5586
5783
  exports.PageLoader = PageLoader;
5587
5784
  exports.PersistentNotifications = PersistentNotifications;
5588
5785
  exports.Popup = Popup;
@@ -5597,6 +5794,8 @@ exports.TextButton = TextButton;
5597
5794
  exports.Tooltip = Tooltip;
5598
5795
  exports.TransitionDiv = TransitionDiv;
5599
5796
  exports.WarningDialog = WarningDialog;
5797
+ exports.WarningDialogIcon = WarningDialogIcon;
5798
+ exports.WarningDialogTitle = WarningDialogTitle;
5600
5799
  exports.addPositioningBound = addPositioningBound;
5601
5800
  exports.contextMenuLayersQuantity = contextMenuLayersQuantity;
5602
5801
  exports.defaultAnimationMaker = defaultAnimationMaker;
@@ -5607,6 +5806,8 @@ exports.fixDoubledLastMarginBottom = fixDoubledLastMarginBottom;
5607
5806
  exports.formatAnimation = formatAnimation;
5608
5807
  exports.getClientRectAnimation = getClientRectAnimation;
5609
5808
  exports.getDialogLayersSize = getDialogLayersSize;
5809
+ exports.hidePersistentNotifications = hidePersistentNotifications;
5810
+ exports.isFakeScrolled = isFakeScrolled;
5610
5811
  exports.morph = morph;
5611
5812
  exports.openPersistentNotification = openPersistentNotification;
5612
5813
  exports.preventDialogPop = preventDialogPop;
@@ -5621,6 +5822,7 @@ exports.useFlip = useFlip;
5621
5822
  exports.useFlipAnimation = useFlipAnimation;
5622
5823
  exports.useFlipEnter = useFlipEnter;
5623
5824
  exports.useFlipLeave = useFlipLeave;
5825
+ exports.useIsHiddenPersistentNotifications = useIsHiddenPersistentNotifications;
5624
5826
  exports.useNotification = useNotification;
5625
5827
  exports.useNotificationRef = useNotificationRef;
5626
5828
  exports.usePositioning = usePositioning;