@rio-cloud/rio-uikit 0.16.3-beta.2 → 0.16.3-beta.3

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 (60) hide show
  1. package/Colors.d.ts +1 -1
  2. package/IncidentsLayer.d.ts +1 -1
  3. package/RuleContainer.d.ts +1 -1
  4. package/RulesWrapper.d.ts +1 -1
  5. package/SortDirection.d.ts +1 -1
  6. package/TrafficLayer.d.ts +1 -1
  7. package/TruckLayer.d.ts +1 -1
  8. package/components/actionBarItem/ActionBarItem.js +6 -2
  9. package/components/assetTree/Tree.js +2 -1
  10. package/components/bottomSheet/BottomSheet.js +22 -19
  11. package/components/fade/Fade.js +23 -7
  12. package/components/map/components/features/basics/marker/DomMarker.js +1 -1
  13. package/components/responsiveColumnStripe/ResponsiveColumnStripe.js +28 -28
  14. package/hooks/useDebugInfo.js +1 -1
  15. package/hooks/usePrevious.js +18 -0
  16. package/index.js +1 -0
  17. package/lib/.DS_Store +0 -0
  18. package/lib/es/Colors.d.ts +1 -1
  19. package/lib/es/IncidentsLayer.d.ts +1 -1
  20. package/lib/es/RuleContainer.d.ts +1 -1
  21. package/lib/es/RulesWrapper.d.ts +1 -1
  22. package/lib/es/SortDirection.d.ts +1 -1
  23. package/lib/es/TrafficLayer.d.ts +1 -1
  24. package/lib/es/TruckLayer.d.ts +1 -1
  25. package/lib/es/components/actionBarItem/ActionBarItem.js +6 -2
  26. package/lib/es/components/assetTree/Tree.js +2 -1
  27. package/lib/es/components/bottomSheet/BottomSheet.js +22 -19
  28. package/lib/es/components/fade/Fade.js +26 -7
  29. package/lib/es/components/map/components/features/basics/marker/DomMarker.js +1 -1
  30. package/lib/es/components/responsiveColumnStripe/ResponsiveColumnStripe.js +28 -28
  31. package/lib/es/hooks/useDebugInfo.js +1 -1
  32. package/lib/es/hooks/usePrevious.js +25 -0
  33. package/lib/es/index.js +8 -0
  34. package/lib/es/styles/components/BottomSheet.less +10 -1
  35. package/lib/es/styles/components/Dialog.less +38 -44
  36. package/lib/es/styles/components/Sidebar.less +10 -1
  37. package/lib/es/styles/design/popovers.less +1 -1
  38. package/lib/es/styles/design/utilities.less +8 -0
  39. package/lib/es/styles/variables/colors.json +72 -72
  40. package/lib/es/themes/Website/styles/rio-website.less +2 -1
  41. package/lib/es/types.ts +7 -2
  42. package/lib/es/usePrevious.d.ts +4 -0
  43. package/lib/es/usePrevious.js +13 -0
  44. package/lib/es/utils/cssuseragent.js +66 -66
  45. package/lib/es/utils/searchNormalized.js +14 -0
  46. package/lib/es/version.json +2 -2
  47. package/package.json +34 -26
  48. package/styles/components/BottomSheet.less +10 -1
  49. package/styles/components/Dialog.less +38 -44
  50. package/styles/components/Sidebar.less +10 -1
  51. package/styles/design/popovers.less +1 -1
  52. package/styles/design/utilities.less +8 -0
  53. package/styles/variables/colors.json +72 -72
  54. package/themes/Website/styles/rio-website.less +2 -1
  55. package/types.ts +7 -2
  56. package/usePrevious.d.ts +4 -0
  57. package/usePrevious.js +2 -0
  58. package/utils/cssuseragent.js +66 -66
  59. package/utils/searchNormalized.js +6 -0
  60. package/version.json +2 -2
@@ -16,7 +16,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
16
16
  var _framerMotion = require("framer-motion");
17
17
  var _isFunction = _interopRequireDefault(require("lodash/fp/isFunction"));
18
18
  var _portalRoot = require("../../utils/portalRoot");
19
- var _excluded = ["show", "onClose", "width", "height", "title", "detatch", "useBackdrop", "showCloseButton", "showMaximizeButton", "onHeightChange", "bodyRef", "bodyClassName", "className", "children"];
19
+ var _excluded = ["show", "onClose", "width", "height", "title", "detach", "useBackdrop", "showCloseButton", "showMaximizeButton", "onHeightChange", "bodyRef", "bodyClassName", "className", "children"];
20
20
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
21
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
22
22
  var OFFSET_POSITION = -1000;
@@ -26,7 +26,7 @@ var BottomSheet = function BottomSheet(props) {
26
26
  width = props.width,
27
27
  height = props.height,
28
28
  title = props.title,
29
- detatch = props.detatch,
29
+ detach = props.detach,
30
30
  useBackdrop = props.useBackdrop,
31
31
  showCloseButton = props.showCloseButton,
32
32
  showMaximizeButton = props.showMaximizeButton,
@@ -56,14 +56,23 @@ var BottomSheet = function BottomSheet(props) {
56
56
  setIsShown(newValue);
57
57
  }
58
58
  };
59
+ (0, _react.useEffect)(function () {
60
+ setIsShown(show);
61
+ }, [show]);
59
62
  var handleMaximize = function handleMaximize() {
60
63
  var newValue = !isMaxHeight;
61
64
  setIsMaxHeight(newValue);
62
65
  onHeightChange();
63
66
  };
64
- var sheetClasses = (0, _classnames["default"])('bottom-sheet', 'position-fixed left-0', !width && 'width-100pct', !height && !isMaxHeight && 'height-auto', 'bg-white', 'shadow-hard', detatch ? 'margin-15 rounded' : 'rounded-top-left rounded-top-right', className && className);
65
- var sheetBodyCasses = (0, _classnames["default"])('bottom-sheet-body', 'height-100pct', bodyClassName && bodyClassName);
67
+ var sheetClasses = (0, _classnames["default"])('bottom-sheet', 'position-fixed left-0', !width && 'width-100pct', !height && !isMaxHeight && 'height-auto', 'bg-white', 'shadow-hard', detach ? 'margin-15 rounded' : 'rounded-top-left rounded-top-right', className && className);
68
+ var sheetBodyClasses = (0, _classnames["default"])('bottom-sheet-body', 'height-100pct', bodyClassName && bodyClassName);
66
69
  var sheetHeight = isMaxHeight ? window.innerHeight : height;
70
+
71
+ // Note: we always have to kep the body element in the DOM as there might be a ref assigned to it.
72
+ // Unmounting it will lead to loosing the reference and breaking the functionality that is implemented on that ref.
73
+ // That is the reason why there is no "AnimatePresence" with an "exit" animation here.
74
+ // Instead we change the "animate" values.
75
+
67
76
  return /*#__PURE__*/_reactDom["default"].createPortal( /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_framerMotion.motion.div, (0, _extends2["default"])({}, remainigProps, {
68
77
  className: sheetClasses,
69
78
  width: width,
@@ -71,20 +80,14 @@ var BottomSheet = function BottomSheet(props) {
71
80
  opacity: 0
72
81
  },
73
82
  animate: {
74
- opacity: 1,
83
+ opacity: isShown ? 1 : 0,
75
84
  y: 0,
76
85
  bottom: isShown ? 0 : OFFSET_POSITION,
77
- height: sheetHeight
78
- },
79
- exit: {
80
- opacity: 0,
81
- transition: {
82
- duration: 0.3
83
- },
84
- bottom: OFFSET_POSITION,
85
- height: sheetHeight
86
+ height: isShown ? sheetHeight : 0
86
87
  }
87
- }), /*#__PURE__*/_react["default"].createElement("div", null, title && /*#__PURE__*/_react["default"].createElement("div", {
88
+ }), /*#__PURE__*/_react["default"].createElement("div", {
89
+ className: "bottom-sheet-header"
90
+ }, title && /*#__PURE__*/_react["default"].createElement("div", {
88
91
  className: 'bottom-sheet-title display-flex justify-content-between padding-15 ' + 'border border-top-none border-left-none border-right-none border-color-lighter'
89
92
  }, /*#__PURE__*/_react["default"].createElement("div", {
90
93
  className: "text-size-18"
@@ -101,16 +104,16 @@ var BottomSheet = function BottomSheet(props) {
101
104
  }, /*#__PURE__*/_react["default"].createElement("div", {
102
105
  className: "height-5 width-40 rounded bg-lighter"
103
106
  }))), /*#__PURE__*/_react["default"].createElement("div", {
104
- className: sheetBodyCasses,
107
+ className: sheetBodyClasses,
105
108
  ref: bodyRef
106
- }, children)), useBackdrop && isShown && /*#__PURE__*/_react["default"].createElement("div", {
109
+ }, isShown && children)), useBackdrop && isShown && /*#__PURE__*/_react["default"].createElement("div", {
107
110
  className: "bottom-sheet-backdrop",
108
111
  onClick: handleToggle
109
112
  })), modalRoot);
110
113
  };
111
114
  BottomSheet.defaultProps = {
112
115
  show: false,
113
- detatch: false,
116
+ detach: false,
114
117
  useBackdrop: false,
115
118
  showCloseButton: true,
116
119
  showMaximizeButton: false,
@@ -125,7 +128,7 @@ BottomSheet.propTypes = {
125
128
  showCloseButton: _propTypes["default"].bool,
126
129
  showMaximizeButton: _propTypes["default"].bool,
127
130
  onHeightChange: _propTypes["default"].func,
128
- detatch: _propTypes["default"].bool,
131
+ detach: _propTypes["default"].bool,
129
132
  useBackdrop: _propTypes["default"].bool,
130
133
  onBackdropClick: _propTypes["default"].func,
131
134
  bodyRef: _propTypes["default"].object,
@@ -1,17 +1,26 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports["default"] = void 0;
8
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
- var _react = _interopRequireDefault(require("react"));
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
+ var _react = _interopRequireWildcard(require("react"));
10
13
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
14
  var _framerMotion = require("framer-motion");
12
- var _logDeprecatedWarnings = _interopRequireDefault(require("../../utils/logDeprecatedWarnings"));
13
15
  var _isArray = _interopRequireDefault(require("lodash/fp/isArray"));
14
16
  var _head = _interopRequireDefault(require("lodash/fp/head"));
17
+ var _isNil = _interopRequireDefault(require("lodash/fp/isNil"));
18
+ var _logDeprecatedWarnings = _interopRequireDefault(require("../../utils/logDeprecatedWarnings"));
19
+ var _useAfterMount = _interopRequireDefault(require("../../useAfterMount"));
20
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
22
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
23
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
15
24
  var warningProps = [{
16
25
  prop: 'in',
17
26
  replacement: 'show'
@@ -179,7 +188,16 @@ var Fade = function Fade(props) {
179
188
  duration = duration / 100;
180
189
  }
181
190
  var show = props.show || oldIn;
182
- var initial = props.initial || appear;
191
+ var initial = (0, _isNil["default"])(appear) ? props.initial : appear;
192
+ var _useState = (0, _react.useState)(initial),
193
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
194
+ allowInitialAnimation = _useState2[0],
195
+ setAllowInitialAnimation = _useState2[1];
196
+ (0, _useAfterMount["default"])(function () {
197
+ if (!allowInitialAnimation) {
198
+ setAllowInitialAnimation(true);
199
+ }
200
+ });
183
201
  var motionDivKey = 'fade';
184
202
 
185
203
  // If there are multiple children that are conditionally rendered like
@@ -200,14 +218,15 @@ var Fade = function Fade(props) {
200
218
  var pageTransitionProps = isPageTransition ? {
201
219
  variants: pageTransitionVariants
202
220
  } : null;
203
- var animationProps = animations[animationStyle];
221
+ var animationProps = _objectSpread({}, animations[animationStyle]);
204
222
 
205
- // Disable initial animation
206
- if (!initial) {
223
+ // Disable initial animation on mount. After mount the initial animation step is needed to enable
224
+ // the "fade-in" animation, otherwise it just appears
225
+ if (!allowInitialAnimation) {
207
226
  animationProps.initial = false;
208
227
  }
209
228
  return /*#__PURE__*/_react["default"].createElement(_framerMotion.AnimatePresence, (0, _extends2["default"])({
210
- initial: initial,
229
+ initial: allowInitialAnimation,
211
230
  exitBeforeEnter: exitBeforeEnter,
212
231
  onExitComplete: onExitComplete,
213
232
  custom: custom
@@ -18,7 +18,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
18
18
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
19
19
  // Should be deprecated...
20
20
  // Here Documentation:
21
- // It should be only used where small numbers of markers with dynamic style and/or scripted icons are to be displayed
21
+ // It should be only used where small numbers of markers with dynamic style and/or scripted icons are to be displayed
22
22
  // on the map (for example animated interactive SVG). Otherwise a H.map.Marker should be preferred for performance reasons.
23
23
  //
24
24
  var DomMarker = /*#__PURE__*/function (_React$Component) {
@@ -18,6 +18,7 @@ var _chunk = _interopRequireDefault(require("lodash/fp/chunk"));
18
18
  var _framerMotion = require("framer-motion");
19
19
  var _useAfterMount = _interopRequireDefault(require("../../hooks/useAfterMount"));
20
20
  var _useElementSize3 = _interopRequireDefault(require("../../hooks/useElementSize"));
21
+ var _usePrevious = _interopRequireDefault(require("../../hooks/usePrevious"));
21
22
  var _excluded = ["minColumnWith", "minColumns", "maxColumns", "className", "buttonClassName", "columnsWrapperClassName", "onNextClick", "onPreviousClick", "stretchLastItems", "asType", "activePage", "disableAnimation", "children"];
22
23
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
24
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -31,21 +32,19 @@ var ANIMATION_DURATION = 0.2;
31
32
  var ANIMATION_NEXT = 'page';
32
33
  var ANIMATION_BACK = 'pageBack';
33
34
  var COLUMN_ITEM_CLASSNAME = 'ColumnItem';
34
- var pageTransitionVariants = function pageTransitionVariants(pageDirection) {
35
- return {
36
- pageEnter: function pageEnter() {
37
- return {
38
- x: pageDirection === ANIMATION_NEXT ? '60%' : '-60%',
39
- opacity: 0
40
- };
41
- },
42
- pageCenter: function pageCenter() {
43
- return {
44
- x: 0,
45
- opacity: 1
46
- };
47
- }
48
- };
35
+ var variants = {
36
+ pageEnter: function pageEnter(pageDirection) {
37
+ return {
38
+ x: pageDirection === ANIMATION_NEXT ? '60%' : '-60%',
39
+ opacity: 0
40
+ };
41
+ },
42
+ pageCenter: function pageCenter() {
43
+ return {
44
+ x: 0,
45
+ opacity: 1
46
+ };
47
+ }
49
48
  };
50
49
  var getFirstColumnItem = function getFirstColumnItem(node) {
51
50
  if ((0, _toConsumableArray2["default"])(node.classList).includes(COLUMN_ITEM_CLASSNAME)) {
@@ -97,10 +96,6 @@ var ResponsiveColumnStripe = /*#__PURE__*/(0, _react.forwardRef)(function (props
97
96
  _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
98
97
  isResizePage = _useState8[0],
99
98
  setIsResizePage = _useState8[1];
100
- var _useState9 = (0, _react.useState)(ANIMATION_NEXT),
101
- _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
102
- animationDirection = _useState10[0],
103
- setAnimationDirection = _useState10[1];
104
99
 
105
100
  // The base for reacting on changing width of the wrapping element.
106
101
  // It uses a ResizeObserver under the hood.
@@ -108,16 +103,21 @@ var ResponsiveColumnStripe = /*#__PURE__*/(0, _react.forwardRef)(function (props
108
103
  var _useElementSize = (0, _useElementSize3["default"])(columnWrapperRef),
109
104
  _useElementSize2 = (0, _slicedToArray2["default"])(_useElementSize, 1),
110
105
  columnWrapperWidth = _useElementSize2[0];
106
+ var previousPage = (0, _usePrevious["default"])(currentPage);
107
+ var animationDirection = currentPage > previousPage ? ANIMATION_NEXT : ANIMATION_BACK;
111
108
  (0, _useAfterMount["default"])(function () {
112
109
  setEnableInitialAnimation(true);
113
110
  });
114
111
 
115
112
  // Update active page from outside to be used as controlled component
116
- (0, _react.useEffect)(function () {
117
- if (Number.isFinite(activePage)) {
118
- setCurrentPage(activePage);
119
- }
120
- }, [activePage]);
113
+ var _useState9 = (0, _react.useState)(activePage),
114
+ _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
115
+ previousActivePage = _useState10[0],
116
+ setPreviousActivePage = _useState10[1];
117
+ if (Number.isFinite(activePage) && activePage !== previousActivePage) {
118
+ setCurrentPage(activePage);
119
+ setPreviousActivePage(activePage);
120
+ }
121
121
  var updatePageOnColumnsSizeChange = function updatePageOnColumnsSizeChange(firstItem, columnsPerPage, children) {
122
122
  // Split children in page chunks
123
123
  var itemChunks = (0, _chunk["default"])(columnsPerPage)(children);
@@ -178,14 +178,12 @@ var ResponsiveColumnStripe = /*#__PURE__*/(0, _react.forwardRef)(function (props
178
178
  }, [columnWrapperWidth, columnWrapperRef.current, children]);
179
179
  var handlePrevClick = function handlePrevClick() {
180
180
  setIsResizePage(false);
181
- setAnimationDirection(ANIMATION_BACK);
182
181
  var pageNumber = currentPage - 1;
183
182
  setCurrentPage(pageNumber);
184
183
  onPreviousClick(pageNumber, columnsPerPage);
185
184
  };
186
185
  var handleNextClick = function handleNextClick() {
187
186
  setIsResizePage(false);
188
- setAnimationDirection(ANIMATION_NEXT);
189
187
  var pageNumber = currentPage + 1;
190
188
  setCurrentPage(pageNumber);
191
189
  onNextClick(pageNumber, columnsPerPage);
@@ -232,12 +230,14 @@ var ResponsiveColumnStripe = /*#__PURE__*/(0, _react.forwardRef)(function (props
232
230
  className: "ColumnsArea flex-1-1 overflow-hidden",
233
231
  ref: columnWrapperRef
234
232
  }, disableAnimation || isResizePage ? columns : null, !disableAnimation && !isResizePage && /*#__PURE__*/_react["default"].createElement(_framerMotion.AnimatePresence, {
235
- exitBeforeEnter: true
233
+ exitBeforeEnter: true,
234
+ custom: animationDirection
236
235
  }, /*#__PURE__*/_react["default"].createElement(_framerMotion.motion.div, {
237
236
  key: currentPage,
238
- variants: pageTransitionVariants(animationDirection),
237
+ variants: variants,
239
238
  initial: enableInitialAnimation ? 'pageEnter' : false,
240
239
  animate: "pageCenter",
240
+ custom: animationDirection,
241
241
  transition: {
242
242
  duration: ANIMATION_DURATION
243
243
  }
@@ -10,7 +10,7 @@ var _react = require("react");
10
10
  var _useRenderCount = _interopRequireDefault(require("./useRenderCount"));
11
11
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
12
12
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
13
- var logStyle = ["color: #4c5667", "background-color: #e5ebf0", "padding: 2px 4px", "border-radius: 2px"].join(";");
13
+ var logStyle = ['color: #4c5667', 'background-color: #e5ebf0', 'padding: 2px 4px', 'border-radius: 2px'].join(';');
14
14
  function useDebugInfo(componentName, props) {
15
15
  var renderCount = (0, _useRenderCount["default"])();
16
16
  var changedProps = (0, _react.useRef)({});
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = usePrevious;
8
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
+ var _react = require("react");
10
+ function usePrevious(state) {
11
+ // Based on the react beta docs, we avoid using an effect and a ref here but
12
+ // use another state to store the previous value to compare to.
13
+ // See: https://beta.reactjs.org/reference/react/useState#storing-information-from-previous-renders
14
+
15
+ // [previousState currentState]
16
+ var _useState = (0, _react.useState)([null, state]),
17
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
18
+ tuple = _useState2[0],
19
+ setTuple = _useState2[1];
20
+ if (tuple[1] !== state) {
21
+ // Set the new given state value and store the old state as pervious value
22
+ setTuple([tuple[1], state]);
23
+ }
24
+ return tuple[0];
25
+ }
package/lib/es/index.js CHANGED
@@ -98,6 +98,7 @@ var _exportNames = {
98
98
  useScrollPosition: true,
99
99
  useDarkMode: true,
100
100
  useMutationObserver: true,
101
+ usePrevious: true,
101
102
  hasTouch: true,
102
103
  inIframe: true,
103
104
  isDesktop: true,
@@ -991,6 +992,12 @@ Object.defineProperty(exports, "useOnMount", {
991
992
  return _useOnMount["default"];
992
993
  }
993
994
  });
995
+ Object.defineProperty(exports, "usePrevious", {
996
+ enumerable: true,
997
+ get: function get() {
998
+ return _usePrevious["default"];
999
+ }
1000
+ });
994
1001
  Object.defineProperty(exports, "useScrollPosition", {
995
1002
  enumerable: true,
996
1003
  get: function get() {
@@ -1107,6 +1114,7 @@ var _useElementSize = _interopRequireDefault(require("./hooks/useElementSize"));
1107
1114
  var _useScrollPosition = _interopRequireDefault(require("./hooks/useScrollPosition"));
1108
1115
  var _useDarkMode = _interopRequireDefault(require("./hooks/useDarkMode"));
1109
1116
  var _useMutationObserver = _interopRequireDefault(require("./hooks/useMutationObserver"));
1117
+ var _usePrevious = _interopRequireDefault(require("./hooks/usePrevious"));
1110
1118
  var _deviceUtils = require("./utils/deviceUtils");
1111
1119
  var _colorScheme = require("./utils/colorScheme");
1112
1120
  var _GroupSelectionUtil = require("./utils/GroupSelectionUtil");
@@ -9,5 +9,14 @@
9
9
  position: absolute;
10
10
  inset: 0;
11
11
  z-index: @z-index-bottom-sheet - 1;
12
- background: .hsla(@always-color-black-hsl, 0.5)[@result];
12
+ background-color: .hsla(@color-black-hsl, 0.5)[@result];
13
+
14
+ [data-theme*="dark"] & {
15
+ background-color: .hsla(@gray-darkest-hsl, 0.3)[@result];
16
+ }
17
+
18
+ @supports ((-webkit-backdrop-filter: blur()) or (backdrop-filter: blur())) {
19
+ opacity: 0.99;
20
+ backdrop-filter: blur(1px);
21
+ }
13
22
  }
@@ -4,10 +4,12 @@
4
4
  @modal-title-x-padding: 20px;
5
5
  @modal-content-bg: var(--color-white);
6
6
  @modal-content-border-color: var(--gray-light);
7
- @modal-backdrop-bg: var(--always-color-black);
8
7
  @modal-header-border-color: var(--gray-lighter);
9
8
  @modal-footer-border-color: var(--gray-lighter);
10
9
 
10
+ // Animation variables
11
+ @modal-animation-transition: all 200ms ease-out;
12
+
11
13
  // Custom variables
12
14
  @modal-sm: @screen-xs;
13
15
  @modal-md: @screen-sm;
@@ -283,6 +285,23 @@ body {
283
285
  }
284
286
  }
285
287
  }
288
+
289
+ // .modal-footer {
290
+ // &:before {
291
+ // content: '';
292
+ // height: 20px;
293
+ // left: 0;
294
+ // pointer-events: none;
295
+ // position: absolute;
296
+ // top: -21px;
297
+ // width: 100%;
298
+ // background: linear-gradient(
299
+ // 0deg,
300
+ // .hsla(@color-white-hsl, 1.0)[@result],
301
+ // .hsla(@color-white-hsl, 0)[@result],
302
+ // );
303
+ // }
304
+ // }
286
305
  }
287
306
  }
288
307
 
@@ -327,24 +346,16 @@ body {
327
346
  }
328
347
 
329
348
  .modal-backdrop {
330
- background-color: @modal-backdrop-bg;
331
349
  bottom: 0;
332
350
  display: block;
333
351
  left: 0;
334
- opacity: 0.5;
335
352
  position: fixed;
336
353
  right: 0;
337
354
  top: 0;
355
+ transition: @modal-animation-transition;
338
356
  z-index: @zindex-modal-background;
339
357
 
340
- // Fade for backdrop
341
- &.fade { opacity: 0 }
342
- &.in { opacity: 0.5 }
343
-
344
- // Bluring
345
358
  @supports ((-webkit-backdrop-filter: blur()) or (backdrop-filter: blur())) {
346
- opacity: 0.99;
347
- background-color: .hsla(@always-color-black-hsl, 0.5)[@result];
348
359
  backdrop-filter: blur(1px);
349
360
  }
350
361
  }
@@ -460,11 +471,17 @@ body {
460
471
  .modal-content {
461
472
  display: block;
462
473
  opacity: 0;
463
- transform: translate(0, -25%);
474
+ transform: translateY(-25%);
464
475
  }
476
+ }
465
477
 
478
+ [class*="modal-enter"] {
466
479
  .modal-backdrop {
467
- opacity: 0;
480
+ background-color: .hsla(@color-black-hsl, 0.5)[@result];
481
+
482
+ [data-theme*="dark"] & {
483
+ background-color: .hsla(@gray-darkest-hsl, 0.3)[@result];
484
+ }
468
485
  }
469
486
  }
470
487
 
@@ -472,13 +489,8 @@ body {
472
489
  .modal-content {
473
490
  display: block;
474
491
  opacity: 1;
475
- transform: translate(0, 0);
476
- transition: all 200ms ease-out;
477
- }
478
-
479
- .modal-backdrop {
480
- opacity: 0.5;
481
- transition: all 200ms ease-out;
492
+ transform: translateY(0);
493
+ transition: @modal-animation-transition;
482
494
  }
483
495
  }
484
496
 
@@ -486,32 +498,14 @@ body {
486
498
  .modal-content {
487
499
  opacity: 0;
488
500
  transform: translateY(-50%);
489
- transition: all 200ms ease-out;
501
+ transition: @modal-animation-transition;
490
502
  }
491
503
 
492
504
  .modal-backdrop {
493
- opacity: 0;
494
- }
495
- }
505
+ background-color: .hsla(@color-black-hsl, 0.0)[@result];
496
506
 
497
- // modal-body atomic vh classes for iframes with unknown height
498
- // .modal-body {
499
- // &.height-100vh {
500
- // height: calc(~"var(--vh, 1vh) * 100 - 190px") !important;
501
-
502
- // @media (max-width: @modal-sm) {
503
- // height: calc(~"var(--vh, 1vh) * 100 - 170px") !important;
504
- // }
505
- // }
506
-
507
- // // no modal-footer version
508
- // &:last-child {
509
- // &.height-100vh {
510
- // height: calc(~"var(--vh, 1vh) * 100 - 120px") !important;
511
-
512
- // @media (max-width: @modal-sm) {
513
- // height: calc(~"var(--vh, 1vh) * 100 - 90px") !important;
514
- // }
515
- // }
516
- // }
517
- // }
507
+ [data-theme*="dark"] & {
508
+ background-color: .hsla(@gray-darkest-hsl, 0.0)[@result];
509
+ }
510
+ }
511
+ }
@@ -160,6 +160,15 @@
160
160
 
161
161
  .SidebarBackdrop {
162
162
  &.sidebar-backdrop-bg {
163
- background: .hsla(@always-color-black-hsl, 0.6)[@result];
163
+ background-color: .hsla(@color-black-hsl, 0.5)[@result];
164
+
165
+ [data-theme*="dark"] & {
166
+ background-color: .hsla(@gray-darkest-hsl, 0.3)[@result];
167
+ }
168
+
169
+ @supports ((-webkit-backdrop-filter: blur()) or (backdrop-filter: blur())) {
170
+ opacity: 0.99;
171
+ backdrop-filter: blur(1px);
172
+ }
164
173
  }
165
174
  }
@@ -16,7 +16,7 @@
16
16
  z-index: @zindex-popover;
17
17
 
18
18
  .popover-title {
19
- border-bottom: 1px solid var(--gray-light);
19
+ border-bottom: 1px solid var(--gray-lighter);
20
20
  padding: 13px 14px;
21
21
  font-weight: normal;
22
22
  }
@@ -12,12 +12,20 @@
12
12
  &-margin-top-0:first-child {
13
13
  margin-top: 0 !important;
14
14
  }
15
+
16
+ &-border-top-none:first-child {
17
+ border-top: none !important;
18
+ }
15
19
  }
16
20
 
17
21
  .last-child {
18
22
  &-margin-bottom-0:last-child {
19
23
  margin-bottom: 0 !important;
20
24
  }
25
+
26
+ &-border-bottom-none:last-child {
27
+ border-bottom: none !important;
28
+ }
21
29
  }
22
30
 
23
31
  .clearance {