@rio-cloud/rio-uikit 0.16.1-beta-4 → 0.16.1-beta-8
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.
- package/lib/components/applicationHeader/ApplicationHeader.js +6 -6
- package/lib/components/applicationHeader/NavItems.js +8 -8
- package/lib/components/applicationLayout/ApplicationLayout.js +5 -8
- package/lib/components/applicationLayout/ApplicationLayoutBody.js +1 -3
- package/lib/components/applicationLayout/SubNavigation.js +60 -0
- package/lib/components/assetTree/Tree.js +151 -35
- package/lib/components/assetTree/TreeSelectAll.js +1 -1
- package/lib/components/assetTree/TreeSummary.js +11 -6
- package/lib/components/assetTree/TypeCounter.js +47 -8
- package/lib/components/navigation/AppNavigationBar.js +64 -0
- package/lib/components/selects/BaseDropdownMenu.js +29 -23
- package/lib/components/selects/Select.js +11 -5
- package/lib/es/AppNavigationBar.d.ts +5 -0
- package/lib/es/AppNavigationBar.js +15 -0
- package/lib/es/DeviceUtils.d.ts +6 -0
- package/lib/es/SubNavigation.d.ts +5 -0
- package/lib/es/SubNavigation.js +15 -0
- package/lib/es/deviceUtils.js +36 -0
- package/lib/es/useResizeObserver.d.ts +4 -0
- package/lib/es/useResizeObserver.js +15 -0
- package/lib/hooks/useClickOutside.js +2 -1
- package/lib/hooks/useResizeObserver.js +54 -0
- package/lib/hooks/useWindowResize.js +8 -5
- package/lib/style/css/_exports/rio-website.less +76 -7
- package/lib/style/css/_exports/vw-uikit.less +1 -1
- package/lib/style/css/animations/_imports.less +1 -0
- package/lib/style/css/animations/pulsing.less +5 -0
- package/lib/style/css/components/ApplicationHeader.less +242 -245
- package/lib/style/css/components/ApplicationLayout.less +10 -6
- package/lib/style/css/components/AssetTree.less +0 -4
- package/lib/style/css/design/buttons.less +4 -1
- package/lib/style/css/design/rioglyph.less +1 -12
- package/lib/types.ts +23 -1
- package/lib/utils/deviceUtils.js +19 -2
- package/lib/version.json +1 -1
- package/package.json +4 -2
|
@@ -7,24 +7,63 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
|
|
12
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
13
|
+
|
|
10
14
|
var _react = _interopRequireDefault(require("react"));
|
|
11
15
|
|
|
12
16
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
17
|
|
|
14
|
-
var
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
19
|
+
|
|
20
|
+
var _excluded = ["icon", "value", "isActive", "hasFilter", "enableActivity", "onClick", "type", "hideOnZero"];
|
|
21
|
+
|
|
22
|
+
var TypeCounter = function TypeCounter(props) {
|
|
23
|
+
var icon = props.icon,
|
|
24
|
+
value = props.value,
|
|
25
|
+
isActive = props.isActive,
|
|
26
|
+
hasFilter = props.hasFilter,
|
|
27
|
+
enableActivity = props.enableActivity,
|
|
28
|
+
onClick = props.onClick,
|
|
29
|
+
type = props.type,
|
|
30
|
+
hideOnZero = props.hideOnZero,
|
|
31
|
+
remainingProps = (0, _objectWithoutProperties2.default)(props, _excluded);
|
|
32
|
+
var wrapperClassName = (0, _classnames.default)('TypeCounter', 'user-select-none margin-right-15', enableActivity ? 'cursor-pointer' : 'pointer-events-none', enableActivity && hasFilter && !isActive && 'opacity-50');
|
|
33
|
+
var counterClassNames = (0, _classnames.default)('TreeLabelCount', 'margin-left-3', 'label label-condensed', isActive ? 'label-primary' : 'label-muted label-filled');
|
|
34
|
+
|
|
35
|
+
var handleClick = function handleClick() {
|
|
36
|
+
return onClick(type);
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
if (hideOnZero && !value) {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, remainingProps, {
|
|
44
|
+
className: wrapperClassName,
|
|
45
|
+
onClick: handleClick
|
|
46
|
+
}), /*#__PURE__*/_react.default.createElement("span", {
|
|
20
47
|
className: "rioglyph rioglyph-".concat(icon, " text-size-16")
|
|
21
48
|
}), /*#__PURE__*/_react.default.createElement("span", {
|
|
22
|
-
className:
|
|
23
|
-
}, value))
|
|
49
|
+
className: counterClassNames
|
|
50
|
+
}, value || 0));
|
|
24
51
|
};
|
|
25
52
|
|
|
53
|
+
TypeCounter.defaultProps = {
|
|
54
|
+
hideOnZero: false
|
|
55
|
+
};
|
|
26
56
|
TypeCounter.propTypes = {
|
|
57
|
+
type: _propTypes.default.string,
|
|
27
58
|
icon: _propTypes.default.string,
|
|
59
|
+
// Highlights the current active filter
|
|
60
|
+
isActive: _propTypes.default.bool,
|
|
61
|
+
// Defined if there is a filter
|
|
62
|
+
hasFilter: _propTypes.default.bool,
|
|
63
|
+
// Allow the counter to be clickable
|
|
64
|
+
enableActivity: _propTypes.default.bool,
|
|
65
|
+
hideOnZero: _propTypes.default.bool,
|
|
66
|
+
onClick: _propTypes.default.func,
|
|
28
67
|
value: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.node, _propTypes.default.number])
|
|
29
68
|
};
|
|
30
69
|
var _default = TypeCounter;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
|
+
Object.defineProperty(exports, "__esModule", {
|
|
8
|
+
value: true
|
|
9
|
+
});
|
|
10
|
+
exports.default = exports.AppNavigationBar = void 0;
|
|
11
|
+
|
|
12
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
+
|
|
14
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
15
|
+
|
|
16
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
17
|
+
|
|
18
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
19
|
+
|
|
20
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
21
|
+
|
|
22
|
+
var _noop = _interopRequireDefault(require("lodash/fp/noop"));
|
|
23
|
+
|
|
24
|
+
var _excluded = ["className", "title", "right", "onNavigateBack"];
|
|
25
|
+
|
|
26
|
+
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); }
|
|
27
|
+
|
|
28
|
+
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; }
|
|
29
|
+
|
|
30
|
+
var AppNavigationBar = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
31
|
+
var className = props.className,
|
|
32
|
+
title = props.title,
|
|
33
|
+
right = props.right,
|
|
34
|
+
onNavigateBack = props.onNavigateBack,
|
|
35
|
+
remainingProps = (0, _objectWithoutProperties2.default)(props, _excluded);
|
|
36
|
+
var navigationClasses = (0, _classnames.default)('AppNavigationBar', 'width-100pct display-flex align-items-center justify-content-between height-45 user-select-none padding-x-10', className);
|
|
37
|
+
return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
|
|
38
|
+
ref: ref
|
|
39
|
+
}, remainingProps, {
|
|
40
|
+
className: navigationClasses
|
|
41
|
+
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
42
|
+
className: "display-flex align-items-center"
|
|
43
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
44
|
+
className: "width-30 text-size-20 text-color-darkest"
|
|
45
|
+
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
46
|
+
className: "rioglyph rioglyph-arrow-left",
|
|
47
|
+
onClick: onNavigateBack
|
|
48
|
+
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
49
|
+
className: "text-medium text-color-darker"
|
|
50
|
+
}, title)), /*#__PURE__*/_react.default.createElement("div", null, right));
|
|
51
|
+
});
|
|
52
|
+
exports.AppNavigationBar = AppNavigationBar;
|
|
53
|
+
AppNavigationBar.defaultProps = {
|
|
54
|
+
onNavigateBack: _noop.default,
|
|
55
|
+
right: /*#__PURE__*/_react.default.createElement("span", null)
|
|
56
|
+
};
|
|
57
|
+
AppNavigationBar.propTypes = {
|
|
58
|
+
title: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.node]),
|
|
59
|
+
right: _propTypes.default.node,
|
|
60
|
+
onNavigateBack: _propTypes.default.func,
|
|
61
|
+
className: _propTypes.default.string
|
|
62
|
+
};
|
|
63
|
+
var _default = AppNavigationBar;
|
|
64
|
+
exports.default = _default;
|
|
@@ -79,7 +79,7 @@ var BaseDropdownMenu = /*#__PURE__*/function (_Component) {
|
|
|
79
79
|
pullRight: props.pullRight,
|
|
80
80
|
focusedItemIndex: _this.props.focusedItemIndex,
|
|
81
81
|
keyboardUsed: _this.props.keyboardUsed,
|
|
82
|
-
itemDOMValues:
|
|
82
|
+
itemDOMValues: []
|
|
83
83
|
};
|
|
84
84
|
_this.handleOptionChange = _this.handleOptionChange.bind((0, _assertThisInitialized2.default)(_this));
|
|
85
85
|
_this.handleKeydown = _this.handleKeydown.bind((0, _assertThisInitialized2.default)(_this));
|
|
@@ -113,24 +113,29 @@ var BaseDropdownMenu = /*#__PURE__*/function (_Component) {
|
|
|
113
113
|
}
|
|
114
114
|
|
|
115
115
|
if (!(0, _isEqual.default)(nextProps.options, this.props.options)) {
|
|
116
|
-
// Only update the DOM values if it is explicitly requested
|
|
117
|
-
// otherwise it will reduce the dom values to the filtered options
|
|
118
|
-
var updatedItemDOMValues;
|
|
119
|
-
|
|
120
|
-
if (nextProps.requestItemDOMValues) {
|
|
121
|
-
updatedItemDOMValues = this.setItemDOMValues();
|
|
122
|
-
}
|
|
123
|
-
|
|
124
116
|
this.setState(function () {
|
|
125
117
|
return {
|
|
126
|
-
options: nextProps.options
|
|
127
|
-
itemDOMValues: updatedItemDOMValues ? updatedItemDOMValues : _this2.state.itemDOMValues
|
|
118
|
+
options: nextProps.options
|
|
128
119
|
};
|
|
129
|
-
});
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
120
|
+
}); // Workaround to put the update of DOM values into a setTimeout to have the component
|
|
121
|
+
// re-rendered to fetch the DOM items.
|
|
122
|
+
// This should be refactored when reworking the component as functional component
|
|
123
|
+
|
|
124
|
+
setTimeout(function () {
|
|
125
|
+
// Only update the DOM values if it is explicitly requested
|
|
126
|
+
// otherwise it will reduce the dom values to the filtered options
|
|
127
|
+
if (nextProps.requestItemDOMValues) {
|
|
128
|
+
var items = _this2.setItemDOMValues();
|
|
129
|
+
|
|
130
|
+
_this2.props.updateDOMValues(items);
|
|
131
|
+
|
|
132
|
+
_this2.setState(function () {
|
|
133
|
+
return {
|
|
134
|
+
itemDOMValues: items ? items : _this2.state.itemDOMValues
|
|
135
|
+
};
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
}, 0);
|
|
134
139
|
}
|
|
135
140
|
}
|
|
136
141
|
}
|
|
@@ -273,10 +278,10 @@ var BaseDropdownMenu = /*#__PURE__*/function (_Component) {
|
|
|
273
278
|
return /*#__PURE__*/_react.default.createElement("ul", {
|
|
274
279
|
className: dropdownMenuClasses
|
|
275
280
|
}, /*#__PURE__*/_react.default.createElement("li", {
|
|
276
|
-
className:
|
|
281
|
+
className: "no-item-message disabled",
|
|
277
282
|
disabled: true
|
|
278
283
|
}, /*#__PURE__*/_react.default.createElement("a", {
|
|
279
|
-
role:
|
|
284
|
+
role: "button"
|
|
280
285
|
}, /*#__PURE__*/_react.default.createElement("i", null, noItemMessage))));
|
|
281
286
|
}
|
|
282
287
|
|
|
@@ -301,7 +306,7 @@ var BaseDropdownMenu = /*#__PURE__*/function (_Component) {
|
|
|
301
306
|
id: option.id,
|
|
302
307
|
icon: option.icon,
|
|
303
308
|
label: option.label,
|
|
304
|
-
type:
|
|
309
|
+
type: "dropdown"
|
|
305
310
|
});
|
|
306
311
|
} // Show focused style only when keyboard is in use
|
|
307
312
|
|
|
@@ -312,15 +317,15 @@ var BaseDropdownMenu = /*#__PURE__*/function (_Component) {
|
|
|
312
317
|
key: option.id,
|
|
313
318
|
className: classNames
|
|
314
319
|
}, /*#__PURE__*/_react.default.createElement("a", {
|
|
315
|
-
role:
|
|
320
|
+
role: "button",
|
|
316
321
|
className: anchorClassNames,
|
|
317
322
|
"data-item-id": option.id,
|
|
318
323
|
"data-item-index": index,
|
|
319
324
|
onClick: !option.disabled ? this.handleOptionChange : undefined
|
|
320
325
|
}, /*#__PURE__*/_react.default.createElement("span", null, option.icon && /*#__PURE__*/_react.default.createElement("span", {
|
|
321
|
-
className:
|
|
326
|
+
className: "margin-right-5"
|
|
322
327
|
}, option.icon), option.label), /*#__PURE__*/_react.default.createElement("input", {
|
|
323
|
-
type:
|
|
328
|
+
type: "hidden",
|
|
324
329
|
value: option.id
|
|
325
330
|
})));
|
|
326
331
|
}
|
|
@@ -416,5 +421,6 @@ BaseDropdownMenu.propTypes = {
|
|
|
416
421
|
autoDropDirection: _propTypes.default.bool,
|
|
417
422
|
noItemMessage: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.node]),
|
|
418
423
|
focusedItemIndex: _propTypes.default.number.isRequired,
|
|
419
|
-
dropdownClassName: _propTypes.default.string
|
|
424
|
+
dropdownClassName: _propTypes.default.string,
|
|
425
|
+
requestItemDOMValues: _propTypes.default.bool
|
|
420
426
|
};
|
|
@@ -71,7 +71,8 @@ var Select = /*#__PURE__*/function (_Component) {
|
|
|
71
71
|
filteredOptions: props.options,
|
|
72
72
|
itemDOMValues: [],
|
|
73
73
|
focusedItemIndex: DEFAULT_FOCUSED_ITEM_INDEX,
|
|
74
|
-
keyboardUsed: false
|
|
74
|
+
keyboardUsed: false,
|
|
75
|
+
requestItemDOMValues: false
|
|
75
76
|
};
|
|
76
77
|
_this.onToggle = _this.onToggle.bind((0, _assertThisInitialized2.default)(_this));
|
|
77
78
|
_this.handleClickOutside = _this.handleClickOutside.bind((0, _assertThisInitialized2.default)(_this));
|
|
@@ -125,7 +126,8 @@ var Select = /*#__PURE__*/function (_Component) {
|
|
|
125
126
|
}
|
|
126
127
|
}, {
|
|
127
128
|
key: "updateDOMValues",
|
|
128
|
-
value: function updateDOMValues(
|
|
129
|
+
value: function updateDOMValues() {
|
|
130
|
+
var itemDOMValues = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
129
131
|
this.setState(function () {
|
|
130
132
|
return {
|
|
131
133
|
itemDOMValues: itemDOMValues,
|
|
@@ -294,7 +296,8 @@ var Select = /*#__PURE__*/function (_Component) {
|
|
|
294
296
|
noItemMessage: noItemMessage,
|
|
295
297
|
autoDropDirection: autoDropDirection,
|
|
296
298
|
pullRight: pullRight,
|
|
297
|
-
dropdownClassName: dropdownClassName
|
|
299
|
+
dropdownClassName: dropdownClassName,
|
|
300
|
+
requestItemDOMValues: this.state.requestItemDOMValues
|
|
298
301
|
});
|
|
299
302
|
}
|
|
300
303
|
}, {
|
|
@@ -311,10 +314,13 @@ var Select = /*#__PURE__*/function (_Component) {
|
|
|
311
314
|
}
|
|
312
315
|
}, {
|
|
313
316
|
key: "filterOptions",
|
|
314
|
-
value: function filterOptions(
|
|
317
|
+
value: function filterOptions() {
|
|
318
|
+
var itemDOMValues = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
319
|
+
var filterValue = arguments.length > 1 ? arguments[1] : undefined;
|
|
320
|
+
var options = arguments.length > 2 ? arguments[2] : undefined;
|
|
315
321
|
var filteredDOMValues = itemDOMValues.filter(function (item) {
|
|
316
322
|
return item.text.toLowerCase().includes(filterValue.toLowerCase());
|
|
317
|
-
}); // Filter the options
|
|
323
|
+
}); // Filter the options according to the filtered DOM values and map the IDs since the filter cannot be done
|
|
318
324
|
// on the options itself as they might contain arbitrary components
|
|
319
325
|
|
|
320
326
|
return options.filter(function (option) {
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
Object.defineProperty(exports, "default", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function get() {
|
|
11
|
+
return _AppNavigationBar2.default;
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
var _AppNavigationBar2 = _interopRequireDefault(require("../components/navigation/AppNavigationBar"));
|
package/lib/es/DeviceUtils.d.ts
CHANGED
|
@@ -2,6 +2,12 @@ declare module '@rio-cloud/rio-uikit/lib/es/DeviceUtils' {
|
|
|
2
2
|
export function hasTouch(): boolean;
|
|
3
3
|
export function isDesktop(): boolean;
|
|
4
4
|
export function isMobile(): boolean;
|
|
5
|
+
export function isMobileScreen(): boolean;
|
|
5
6
|
export function inIframe(): boolean;
|
|
6
7
|
export function toggleZoomOnMobile(): boolean;
|
|
8
|
+
export type MOBILE_SCREEN = number;
|
|
9
|
+
export type SCREEN_SM = number;
|
|
10
|
+
export type SCREEN_MD = number;
|
|
11
|
+
export type SCREEN_LG = number;
|
|
12
|
+
export type SCREEN_XL = number;
|
|
7
13
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
Object.defineProperty(exports, "default", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function get() {
|
|
11
|
+
return _SubNavigation2.default;
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
var _SubNavigation2 = _interopRequireDefault(require("../components/applicationLayout/SubNavigation"));
|
package/lib/es/deviceUtils.js
CHANGED
|
@@ -3,6 +3,36 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
Object.defineProperty(exports, "MOBILE_SCREEN", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function get() {
|
|
9
|
+
return _deviceUtils.MOBILE_SCREEN;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "SCREEN_LG", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _deviceUtils.SCREEN_LG;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
Object.defineProperty(exports, "SCREEN_MD", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function get() {
|
|
21
|
+
return _deviceUtils.SCREEN_MD;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
Object.defineProperty(exports, "SCREEN_SM", {
|
|
25
|
+
enumerable: true,
|
|
26
|
+
get: function get() {
|
|
27
|
+
return _deviceUtils.SCREEN_SM;
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
Object.defineProperty(exports, "SCREEN_XL", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function get() {
|
|
33
|
+
return _deviceUtils.SCREEN_XL;
|
|
34
|
+
}
|
|
35
|
+
});
|
|
6
36
|
Object.defineProperty(exports, "hasTouch", {
|
|
7
37
|
enumerable: true,
|
|
8
38
|
get: function get() {
|
|
@@ -27,6 +57,12 @@ Object.defineProperty(exports, "isMobile", {
|
|
|
27
57
|
return _deviceUtils.isMobile;
|
|
28
58
|
}
|
|
29
59
|
});
|
|
60
|
+
Object.defineProperty(exports, "isMobileScreen", {
|
|
61
|
+
enumerable: true,
|
|
62
|
+
get: function get() {
|
|
63
|
+
return _deviceUtils.isMobileScreen;
|
|
64
|
+
}
|
|
65
|
+
});
|
|
30
66
|
Object.defineProperty(exports, "toggleZoomOnMobile", {
|
|
31
67
|
enumerable: true,
|
|
32
68
|
get: function get() {
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
Object.defineProperty(exports, "default", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function get() {
|
|
11
|
+
return _useResizeObserver2.default;
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
var _useResizeObserver2 = _interopRequireDefault(require("../hooks/useResizeObserver"));
|
|
@@ -7,6 +7,7 @@ exports.default = useClickOutside;
|
|
|
7
7
|
|
|
8
8
|
var _react = require("react");
|
|
9
9
|
|
|
10
|
+
/* eslint-disable prefer-arrow/prefer-arrow-functions */
|
|
10
11
|
// eslint-disable-next-line max-len
|
|
11
12
|
// Inspired from https://github.com/mantinedev/mantine/blob/master/src/mantine-hooks/src/use-click-outside/use-click-outside.ts
|
|
12
13
|
function useClickOutside(callback) {
|
|
@@ -15,7 +16,7 @@ function useClickOutside(callback) {
|
|
|
15
16
|
(0, _react.useEffect)(function () {
|
|
16
17
|
var listener = function listener(event) {
|
|
17
18
|
if (targetRef.current && !targetRef.current.contains(event.target)) {
|
|
18
|
-
callback();
|
|
19
|
+
callback(event);
|
|
19
20
|
}
|
|
20
21
|
};
|
|
21
22
|
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
+
|
|
12
|
+
var _react = require("react");
|
|
13
|
+
|
|
14
|
+
// inspired from https://tobbelindstrom.com/blog/resize-observer-hook/
|
|
15
|
+
var useResizeObserver = function useResizeObserver() {
|
|
16
|
+
var _useState = (0, _react.useState)({}),
|
|
17
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
18
|
+
observerEntry = _useState2[0],
|
|
19
|
+
setObserverEntry = _useState2[1];
|
|
20
|
+
|
|
21
|
+
var _useState3 = (0, _react.useState)(null),
|
|
22
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
23
|
+
node = _useState4[0],
|
|
24
|
+
setNode = _useState4[1];
|
|
25
|
+
|
|
26
|
+
var observer = (0, _react.useRef)(null);
|
|
27
|
+
var disconnect = (0, _react.useCallback)(function () {
|
|
28
|
+
var _observer$current;
|
|
29
|
+
|
|
30
|
+
return (_observer$current = observer.current) === null || _observer$current === void 0 ? void 0 : _observer$current.disconnect();
|
|
31
|
+
}, []);
|
|
32
|
+
var observe = (0, _react.useCallback)(function () {
|
|
33
|
+
observer.current = new ResizeObserver(function (_ref) {
|
|
34
|
+
var _ref2 = (0, _slicedToArray2.default)(_ref, 1),
|
|
35
|
+
entry = _ref2[0];
|
|
36
|
+
|
|
37
|
+
return setObserverEntry(entry);
|
|
38
|
+
});
|
|
39
|
+
|
|
40
|
+
if (node) {
|
|
41
|
+
observer.current.observe(node);
|
|
42
|
+
}
|
|
43
|
+
}, [node]);
|
|
44
|
+
(0, _react.useLayoutEffect)(function () {
|
|
45
|
+
observe();
|
|
46
|
+
return function () {
|
|
47
|
+
return disconnect();
|
|
48
|
+
};
|
|
49
|
+
}, [disconnect, observe]);
|
|
50
|
+
return [setNode, observerEntry];
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
var _default = useResizeObserver;
|
|
54
|
+
exports.default = _default;
|
|
@@ -5,19 +5,22 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.default =
|
|
8
|
+
exports.default = void 0;
|
|
9
9
|
|
|
10
10
|
var _react = require("react");
|
|
11
11
|
|
|
12
12
|
var _throttle = _interopRequireDefault(require("lodash/fp/throttle"));
|
|
13
13
|
|
|
14
|
-
function useWindowResize(onResizeCallback) {
|
|
14
|
+
var useWindowResize = function useWindowResize(onResizeCallback) {
|
|
15
15
|
var timeout = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 300;
|
|
16
16
|
(0, _react.useEffect)(function () {
|
|
17
17
|
var throttledCallback = (0, _throttle.default)(timeout, onResizeCallback);
|
|
18
|
-
window.addEventListener('resize', throttledCallback
|
|
18
|
+
window.addEventListener('resize', throttledCallback);
|
|
19
19
|
return function () {
|
|
20
|
-
|
|
20
|
+
window.removeEventListener('resize', throttledCallback);
|
|
21
21
|
};
|
|
22
22
|
}, [onResizeCallback, timeout]);
|
|
23
|
-
}
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
var _default = useWindowResize;
|
|
26
|
+
exports.default = _default;
|
|
@@ -191,10 +191,14 @@ body .module-content {
|
|
|
191
191
|
|
|
192
192
|
.ApplicationHeader {
|
|
193
193
|
.navbar-brand {
|
|
194
|
-
background-image: url('@{cdnBase}/svg/common/ico_rio.svg') !important;
|
|
194
|
+
//background-image: url('@{cdnBase}/svg/common/ico_rio.svg') !important;
|
|
195
195
|
background-size: cover;
|
|
196
196
|
}
|
|
197
197
|
|
|
198
|
+
.SubmoduleNavigation .SubmoduleNavigation {
|
|
199
|
+
padding-left: 0;
|
|
200
|
+
}
|
|
201
|
+
|
|
198
202
|
html.show-handheld-navigation & {
|
|
199
203
|
position: fixed;
|
|
200
204
|
top: 0;
|
|
@@ -222,6 +226,7 @@ body .module-content {
|
|
|
222
226
|
}
|
|
223
227
|
|
|
224
228
|
.SubmoduleNavigation {
|
|
229
|
+
border-bottom: none;
|
|
225
230
|
display: block;
|
|
226
231
|
margin: 50px 0;
|
|
227
232
|
padding-left: 0;
|
|
@@ -329,6 +334,7 @@ body .module-content {
|
|
|
329
334
|
@media (min-width: @screen-ls) {
|
|
330
335
|
> .SubmoduleNavigation {
|
|
331
336
|
max-height: calc(~"100vh - 100px");
|
|
337
|
+
height: auto;
|
|
332
338
|
overflow: auto;
|
|
333
339
|
-webkit-overflow-scrolling: touch;
|
|
334
340
|
}
|
|
@@ -554,6 +560,29 @@ body .module-content {
|
|
|
554
560
|
}
|
|
555
561
|
}
|
|
556
562
|
|
|
563
|
+
&.btn-default {
|
|
564
|
+
.btn {
|
|
565
|
+
.button-variant(
|
|
566
|
+
~'!important';
|
|
567
|
+
@btn-default-bg;
|
|
568
|
+
@btn-default-border;
|
|
569
|
+
@btn-default-color;
|
|
570
|
+
@btn-default-color;
|
|
571
|
+
@btn-default-color;
|
|
572
|
+
@btn-default-color;
|
|
573
|
+
darken(@btn-default-color, 17%);
|
|
574
|
+
darken(@btn-default-border, 12%);
|
|
575
|
+
darken(@btn-default-border, 12%);
|
|
576
|
+
darken(@btn-default-border, 25%);
|
|
577
|
+
darken(@btn-default-border, 25%);
|
|
578
|
+
@btn-default-bg;
|
|
579
|
+
@btn-default-bg;
|
|
580
|
+
@btn-default-bg;
|
|
581
|
+
@btn-default-bg;
|
|
582
|
+
);
|
|
583
|
+
}
|
|
584
|
+
}
|
|
585
|
+
|
|
557
586
|
&.btn-white {
|
|
558
587
|
.btn {
|
|
559
588
|
.button-variant(
|
|
@@ -671,6 +700,24 @@ body .module-content {
|
|
|
671
700
|
}
|
|
672
701
|
}
|
|
673
702
|
|
|
703
|
+
&.list-style-position-inside {
|
|
704
|
+
ul, ol {
|
|
705
|
+
list-style-position: inside !important;
|
|
706
|
+
}
|
|
707
|
+
}
|
|
708
|
+
|
|
709
|
+
&.large-panel-border {
|
|
710
|
+
> .section-content-container.panel {
|
|
711
|
+
border-width: 3px;
|
|
712
|
+
}
|
|
713
|
+
|
|
714
|
+
&.panel-border-color-lighter {
|
|
715
|
+
> .section-content-container.panel {
|
|
716
|
+
border-color: @gray-lighter;
|
|
717
|
+
}
|
|
718
|
+
}
|
|
719
|
+
}
|
|
720
|
+
|
|
674
721
|
// Section Wrapper Inner Container
|
|
675
722
|
.section-content-container {
|
|
676
723
|
height: 100%;
|
|
@@ -1526,6 +1573,26 @@ body .module-content {
|
|
|
1526
1573
|
}
|
|
1527
1574
|
}
|
|
1528
1575
|
}
|
|
1576
|
+
|
|
1577
|
+
&-always {
|
|
1578
|
+
.section-layout {
|
|
1579
|
+
padding-left: 0;
|
|
1580
|
+
padding-right: 0;
|
|
1581
|
+
|
|
1582
|
+
.section-layout-container {
|
|
1583
|
+
max-width: none;
|
|
1584
|
+
padding-left: 0;
|
|
1585
|
+
padding-right: 0;
|
|
1586
|
+
|
|
1587
|
+
.section-layout-container-row {
|
|
1588
|
+
.section-content-container-col {
|
|
1589
|
+
padding-left: 0;
|
|
1590
|
+
padding-right: 0;
|
|
1591
|
+
}
|
|
1592
|
+
}
|
|
1593
|
+
}
|
|
1594
|
+
}
|
|
1595
|
+
}
|
|
1529
1596
|
}
|
|
1530
1597
|
|
|
1531
1598
|
&-marketplace-details-panel {
|
|
@@ -1594,6 +1661,14 @@ body .module-content {
|
|
|
1594
1661
|
}
|
|
1595
1662
|
}
|
|
1596
1663
|
|
|
1664
|
+
&-hide-background-on-mobile {
|
|
1665
|
+
@media (max-width: @screen-ls) {
|
|
1666
|
+
.section-wrapper-background-image {
|
|
1667
|
+
display: none;
|
|
1668
|
+
}
|
|
1669
|
+
}
|
|
1670
|
+
}
|
|
1671
|
+
|
|
1597
1672
|
&-overlay-light {
|
|
1598
1673
|
.section-wrapper-background-image,
|
|
1599
1674
|
.section-content-container-background-image {
|
|
@@ -1834,12 +1909,6 @@ blockquote {
|
|
|
1834
1909
|
.anchor {
|
|
1835
1910
|
margin-top: -50px;
|
|
1836
1911
|
}
|
|
1837
|
-
|
|
1838
|
-
// .preset-rimless {
|
|
1839
|
-
// > .anchor {
|
|
1840
|
-
// margin-top: -50px;
|
|
1841
|
-
// }
|
|
1842
|
-
// }
|
|
1843
1912
|
}
|
|
1844
1913
|
|
|
1845
1914
|
.ApplicationLayoutBody {
|