@rio-cloud/rio-uikit 0.16.1-beta-7 → 0.16.1-beta-10

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 (212) hide show
  1. package/lib/.DS_Store +0 -0
  2. package/lib/components/.DS_Store +0 -0
  3. package/lib/components/applicationHeader/AppMenu.js +3 -2
  4. package/lib/components/applicationHeader/AppMenuDropdown.js +7 -5
  5. package/lib/components/applicationHeader/ApplicationHeader.js +84 -162
  6. package/lib/components/applicationHeader/MobileAppMenu.js +77 -0
  7. package/lib/components/applicationHeader/MobileHeaderModal.js +90 -0
  8. package/lib/components/applicationHeader/MobileSubmoduleNavigation.js +89 -0
  9. package/lib/components/applicationHeader/NavItems.js +167 -274
  10. package/lib/components/applicationLayout/ApplicationLayoutBody.js +1 -3
  11. package/lib/components/applicationLayout/SubNavigation.js +60 -0
  12. package/lib/components/assetTree/AssetTree.js +4 -7
  13. package/lib/components/assetTree/Tree.js +46 -54
  14. package/lib/components/assetTree/TreeLeaf.js +1 -1
  15. package/lib/components/assetTree/TreeSelectAll.js +2 -1
  16. package/lib/components/assetTree/TreeSidebar.js +10 -22
  17. package/lib/components/assetTree/TypeCounter.js +10 -8
  18. package/lib/components/charts/AreaChart.js +5 -3
  19. package/lib/components/charts/BarChart.js +5 -3
  20. package/lib/components/charts/ChartTooltip.js +14 -0
  21. package/lib/components/charts/LineChart.js +4 -2
  22. package/lib/components/charts/PieChart.js +5 -3
  23. package/lib/components/charts/RadialBarChart.js +4 -4
  24. package/lib/components/charts/chartHelper.js +1 -1
  25. package/lib/components/dialog/Dialog.js +4 -4
  26. package/lib/components/dialog/baseDialogPropTypes.js +1 -1
  27. package/lib/components/map/.DS_Store +0 -0
  28. package/lib/components/map/components/.DS_Store +0 -0
  29. package/lib/components/map/components/features/.DS_Store +0 -0
  30. package/lib/components/map/components/features/settings/.DS_Store +0 -0
  31. package/lib/components/steppedProgressBar/SteppedProgressBar.js +59 -107
  32. package/lib/es/ChartTooltip.d.ts +5 -0
  33. package/lib/es/ChartTooltip.js +15 -0
  34. package/lib/es/Colors.js +1 -1
  35. package/lib/es/DeviceUtils.d.ts +5 -1
  36. package/lib/es/SubNavigation.d.ts +5 -0
  37. package/lib/es/SubNavigation.js +15 -0
  38. package/lib/es/VolkswagenApplicationHeader.d.ts +5 -0
  39. package/lib/es/VolkswagenApplicationHeader.js +15 -0
  40. package/lib/es/deviceUtils.js +24 -0
  41. package/lib/hooks/useClickOutside.js +2 -1
  42. package/lib/index.js +1 -1
  43. package/lib/style/css/_exports/rio-website.less +36 -22
  44. package/lib/style/css/_exports/vw-uikit.less +5 -1
  45. package/lib/style/css/components/ApplicationHeader.less +288 -257
  46. package/lib/style/css/components/ApplicationLayout.less +7 -5
  47. package/lib/style/css/components/AssetTree.less +3 -3
  48. package/lib/style/css/variables.less +1 -1
  49. package/lib/style/fonts/rioglyph/rioglyph.less +56 -1
  50. package/lib/style/fonts/rioglyph/rioglyph.svg +68 -2
  51. package/lib/style/fonts/rioglyph/rioglyph.ttf +0 -0
  52. package/lib/style/fonts/rioglyph/rioglyph.woff +0 -0
  53. package/lib/styles/animations/_imports.less +10 -0
  54. package/lib/styles/animations/collapse.less +16 -0
  55. package/lib/styles/animations/fade.less +28 -0
  56. package/lib/styles/animations/pinging.less +7 -0
  57. package/lib/styles/animations/pulsing.less +5 -0
  58. package/lib/styles/animations/rotate.less +52 -0
  59. package/lib/styles/animations/scale.less +35 -0
  60. package/lib/styles/animations/slide.less +39 -0
  61. package/lib/styles/animations/spinning.less +4 -0
  62. package/lib/styles/animations/transition.less +129 -0
  63. package/lib/styles/animations/translate.less +28 -0
  64. package/lib/styles/components/Activity.less +93 -0
  65. package/lib/styles/components/ApplicationHeader.less +469 -0
  66. package/lib/styles/components/ApplicationLayout.less +240 -0
  67. package/lib/styles/components/AssetTree.less +439 -0
  68. package/lib/styles/components/AutoSuggest.less +22 -0
  69. package/lib/styles/components/BottomSheet.less +14 -0
  70. package/lib/styles/components/Carousel.less +212 -0
  71. package/lib/styles/components/Checkbox.less +224 -0
  72. package/lib/styles/components/ClearableInput.less +115 -0
  73. package/lib/styles/components/Counter.less +142 -0
  74. package/lib/styles/components/DataTabs.less +100 -0
  75. package/lib/styles/components/DatePicker.less +391 -0
  76. package/lib/styles/components/Dialog.less +484 -0
  77. package/lib/styles/components/Dropdown.less +185 -0
  78. package/lib/styles/components/Expander.less +196 -0
  79. package/lib/styles/components/FilePicker.less +8 -0
  80. package/lib/styles/components/ListMenu.less +77 -0
  81. package/lib/styles/components/MapHere.less +91 -0
  82. package/lib/styles/components/MapMarker.less +347 -0
  83. package/lib/styles/components/MapSettings.less +140 -0
  84. package/lib/styles/components/NoData.less +8 -0
  85. package/lib/styles/components/Notification.less +234 -0
  86. package/lib/styles/components/RadioButton.less +173 -0
  87. package/lib/styles/components/Resizer.less +43 -0
  88. package/lib/styles/components/Select.less +287 -0
  89. package/lib/styles/components/Sidebar.less +157 -0
  90. package/lib/styles/components/Slider.less +278 -0
  91. package/lib/styles/components/Spinner.less +49 -0
  92. package/lib/styles/components/StatsWidget.less +111 -0
  93. package/lib/styles/components/SteppedProgressBar.less +310 -0
  94. package/lib/styles/components/SupportMarker.less +34 -0
  95. package/lib/styles/components/Switch.less +145 -0
  96. package/lib/styles/components/TableSettingsDialog.less +96 -0
  97. package/lib/styles/components/TableSortArrows.less +54 -0
  98. package/lib/styles/components/TableToolbar.less +121 -0
  99. package/lib/styles/components/Tag.less +246 -0
  100. package/lib/styles/components/TagManager.less +4 -0
  101. package/lib/styles/components/Teaser.less +12 -0
  102. package/lib/styles/components/Timeline.less +69 -0
  103. package/lib/styles/components/Tooltip.less +222 -0
  104. package/lib/styles/design/alerts.less +55 -0
  105. package/lib/styles/design/aspect-ratio.less +23 -0
  106. package/lib/styles/design/badges.less +120 -0
  107. package/lib/styles/design/blockquote.less +49 -0
  108. package/lib/styles/design/border.less +192 -0
  109. package/lib/styles/design/breadcrumbs.less +20 -0
  110. package/lib/styles/design/button-groups.less +194 -0
  111. package/lib/styles/design/buttons.less +543 -0
  112. package/lib/styles/design/callouts.less +27 -0
  113. package/lib/styles/design/caret.less +28 -0
  114. package/lib/styles/design/close.less +12 -0
  115. package/lib/styles/design/code.less +45 -0
  116. package/lib/styles/design/colors.less +202 -0
  117. package/lib/styles/design/cols.less +56 -0
  118. package/lib/styles/design/container.less +29 -0
  119. package/lib/styles/design/cursors.less +19 -0
  120. package/lib/styles/design/custom.less +20 -0
  121. package/lib/styles/design/ellipsis.less +46 -0
  122. package/lib/styles/design/flexgrid.less +7 -0
  123. package/lib/styles/design/fonts.less +458 -0
  124. package/lib/styles/design/form-input-groups.less +245 -0
  125. package/lib/styles/design/form-inputs.less +655 -0
  126. package/lib/styles/design/iframe.less +80 -0
  127. package/lib/styles/design/images.less +47 -0
  128. package/lib/styles/design/labels.less +66 -0
  129. package/lib/styles/design/list-group.less +100 -0
  130. package/lib/styles/design/navs.less +262 -0
  131. package/lib/styles/design/normalize.less +436 -0
  132. package/lib/styles/design/opacity.less +26 -0
  133. package/lib/styles/design/overflow.less +1 -0
  134. package/lib/styles/design/pagination.less +161 -0
  135. package/lib/styles/design/panels.less +105 -0
  136. package/lib/styles/design/popovers.less +119 -0
  137. package/lib/styles/design/position.less +16 -0
  138. package/lib/styles/design/progress-bars.less +131 -0
  139. package/lib/styles/design/responsive/_imports.less +67 -0
  140. package/lib/styles/design/responsive/backgrounds.less +32 -0
  141. package/lib/styles/design/responsive/display.less +9 -0
  142. package/lib/styles/design/responsive/flexgrid.less +75 -0
  143. package/lib/styles/design/responsive/floating.less +4 -0
  144. package/lib/styles/design/responsive/gap.less +41 -0
  145. package/lib/styles/design/responsive/margin.less +127 -0
  146. package/lib/styles/design/responsive/overflow.less +16 -0
  147. package/lib/styles/design/responsive/padding.less +71 -0
  148. package/lib/styles/design/responsive/position.less +103 -0
  149. package/lib/styles/design/responsive/sizing.less +96 -0
  150. package/lib/styles/design/responsive/text.less +71 -0
  151. package/lib/styles/design/responsive-embed.less +31 -0
  152. package/lib/styles/design/responsive-video.less +22 -0
  153. package/lib/styles/design/rioglyph.less +13 -0
  154. package/lib/styles/design/rounded.less +44 -0
  155. package/lib/styles/design/shadows.less +65 -0
  156. package/lib/styles/design/sizing.less +18 -0
  157. package/lib/styles/design/tables.less +855 -0
  158. package/lib/styles/design/text.less +201 -0
  159. package/lib/styles/design/theme.less +206 -0
  160. package/lib/styles/design/thumbnails.less +29 -0
  161. package/lib/styles/design/transition.less +33 -0
  162. package/lib/styles/design/type.less +159 -0
  163. package/lib/styles/design/utilities.less +75 -0
  164. package/lib/styles/design/visibility.less +186 -0
  165. package/lib/styles/design/wells.less +17 -0
  166. package/lib/styles/design/z-index.less +21 -0
  167. package/lib/styles/filter/_imports.less +1 -0
  168. package/lib/styles/filter/blur.less +17 -0
  169. package/lib/styles/mapping/breakpoint-map.less +44 -0
  170. package/lib/styles/mapping/color-map.less +200 -0
  171. package/lib/styles/mapping/cols-map.less +15 -0
  172. package/lib/styles/mapping/numbers-map.less +16 -0
  173. package/lib/styles/mapping/positions-map.less +21 -0
  174. package/lib/styles/mapping/sizes-map.less +129 -0
  175. package/lib/styles/mapping/spacings-map.less +28 -0
  176. package/lib/styles/mixins/_mixins.less +13 -0
  177. package/lib/styles/mixins/alerts.less +13 -0
  178. package/lib/styles/mixins/border-radius.less +16 -0
  179. package/lib/styles/mixins/buttons.less +117 -0
  180. package/lib/styles/mixins/clearfix.less +9 -0
  181. package/lib/styles/mixins/cols.less +59 -0
  182. package/lib/styles/mixins/forms.less +61 -0
  183. package/lib/styles/mixins/panels.less +27 -0
  184. package/lib/styles/mixins/placeholder.less +17 -0
  185. package/lib/styles/mixins/reset.less +27 -0
  186. package/lib/styles/mixins/sizings.less +21 -0
  187. package/lib/styles/mixins/spinner.less +30 -0
  188. package/lib/styles/mixins/table.less +26 -0
  189. package/lib/styles/mixins/tabs.less +4 -0
  190. package/lib/styles/mixins/text.less +5 -0
  191. package/lib/styles/print/print.less +163 -0
  192. package/lib/styles/rio-uikit-core.less +114 -0
  193. package/lib/styles/rio-uikit-print-utilities.less +16 -0
  194. package/lib/styles/rio-uikit-responsive-utilities.less +16 -0
  195. package/lib/styles/shared/colors.json +56 -0
  196. package/lib/styles/shared/colors.less +73 -0
  197. package/lib/styles/shared/screens.less +7 -0
  198. package/lib/styles/shared/text.less +23 -0
  199. package/lib/styles/variables.less +180 -0
  200. package/lib/themes/BuyButton/styles/rio-buyButton.less +183 -0
  201. package/lib/themes/MAN/styles/man-uikit.less +48 -0
  202. package/lib/themes/RIO/styles/rio-uikit.less +20 -0
  203. package/lib/themes/SCANIA/styles/scania-uikit.less +36 -0
  204. package/lib/themes/Volkswagen/components/applicationHeader/VolkswagenApplicationHeader.js +94 -0
  205. package/lib/themes/Volkswagen/components/applicationHeader/modulePropTypes.js +17 -0
  206. package/lib/themes/Volkswagen/styles/vw-uikit.less +205 -0
  207. package/lib/themes/Website/styles/rio-website.less +2236 -0
  208. package/lib/themes/Xmas/styles/rio-xmas.less +36 -0
  209. package/lib/types.ts +19 -11
  210. package/lib/utils/deviceUtils.js +9 -1
  211. package/lib/version.json +1 -1
  212. package/package.json +96 -95
package/lib/.DS_Store ADDED
Binary file
Binary file
@@ -17,7 +17,7 @@ var _AppMenuDropdown = _interopRequireDefault(require("./AppMenuDropdown"));
17
17
 
18
18
  var _modulePropTypes = _interopRequireDefault(require("./modulePropTypes"));
19
19
 
20
- var renderMenuContent = function renderMenuContent(props) {
20
+ var MenuContent = function MenuContent(props) {
21
21
  var appMenuItems = props.appMenuItems,
22
22
  appNavigator = props.appNavigator; // In case there is a navigation component injected into the header,
23
23
  // render this component
@@ -53,7 +53,7 @@ var AppMenu = function AppMenu(props) {
53
53
  }, /*#__PURE__*/_react.default.createElement(_AppMenuDropdown.default, {
54
54
  title: label,
55
55
  caret: hasItems
56
- }, renderMenuContent(props)));
56
+ }, /*#__PURE__*/_react.default.createElement(MenuContent, props)));
57
57
  };
58
58
 
59
59
  exports.AppMenu = AppMenu;
@@ -61,6 +61,7 @@ AppMenu.defaultProps = {
61
61
  appMenuItems: []
62
62
  };
63
63
  AppMenu.propTypes = {
64
+ // Support a list of items for services without the app navigator like internal MDM services
64
65
  appMenuItems: _propTypes.default.arrayOf(_modulePropTypes.default),
65
66
  appNavigator: _propTypes.default.element,
66
67
  appNavigatorClassName: _propTypes.default.string
@@ -17,6 +17,8 @@ var _react = _interopRequireWildcard(require("react"));
17
17
 
18
18
  var _classnames = _interopRequireDefault(require("classnames"));
19
19
 
20
+ var _isEmpty = _interopRequireDefault(require("lodash/fp/isEmpty"));
21
+
20
22
  var _useClickOutside = _interopRequireDefault(require("../../hooks/useClickOutside"));
21
23
 
22
24
  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); }
@@ -40,7 +42,7 @@ var ToggleButton = function ToggleButton(props) {
40
42
  var DropdownMenu = function DropdownMenu(props) {
41
43
  var children = props.children;
42
44
 
43
- if (!children && !children.length) {
45
+ if ((0, _isEmpty.default)(children)) {
44
46
  return null;
45
47
  }
46
48
 
@@ -51,13 +53,13 @@ var DropdownMenu = function DropdownMenu(props) {
51
53
  };
52
54
 
53
55
  var AppMenuDropdownOpener = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
54
- var showAsOpen = props.showAsOpen,
56
+ var open = props.open,
55
57
  children = props.children,
56
58
  onDropdownClick = props.onDropdownClick;
57
59
  return /*#__PURE__*/_react.default.createElement("li", {
58
60
  ref: ref,
59
61
  className: (0, _classnames.default)('dropdown', {
60
- open: showAsOpen
62
+ open: open
61
63
  }),
62
64
  onClick: onDropdownClick
63
65
  }, children);
@@ -81,9 +83,9 @@ var AppMenuDropdown = function AppMenuDropdown(props) {
81
83
  return setIsOpen(!isOpen);
82
84
  };
83
85
 
84
- var openWithChildren = children && children.length && isOpen;
86
+ var openWithChildren = !(0, _isEmpty.default)(children) && isOpen;
85
87
  return /*#__PURE__*/_react.default.createElement(AppMenuDropdownOpener, {
86
- showAsOpen: openWithChildren,
88
+ open: openWithChildren,
87
89
  onDropdownClick: handleDropdownClick,
88
90
  ref: wrapperRef
89
91
  }, /*#__PURE__*/_react.default.createElement(ToggleButton, {
@@ -9,17 +9,7 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports.default = exports.ApplicationHeader = void 0;
11
11
 
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
-
18
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
-
20
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
-
22
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
23
13
 
24
14
  var _react = _interopRequireWildcard(require("react"));
25
15
 
@@ -27,173 +17,105 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
27
17
 
28
18
  var _debounce = _interopRequireDefault(require("lodash/fp/debounce"));
29
19
 
20
+ var _isEmpty = _interopRequireDefault(require("lodash/fp/isEmpty"));
21
+
30
22
  var _classnames = _interopRequireDefault(require("classnames"));
31
23
 
32
24
  var _AppMenu = require("./AppMenu");
33
25
 
34
26
  var _ApplicationActionBar = require("./ApplicationActionBar");
35
27
 
28
+ var _MobileSubmoduleNavigation = require("./MobileSubmoduleNavigation");
29
+
30
+ var _useResizeObserver3 = _interopRequireDefault(require("../../hooks/useResizeObserver"));
31
+
36
32
  var _NavItems = _interopRequireDefault(require("./NavItems"));
37
33
 
38
34
  var _modulePropTypes = _interopRequireDefault(require("./modulePropTypes"));
39
35
 
36
+ var _MobileAppMenu = require("./MobileAppMenu");
37
+
40
38
  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); }
41
39
 
42
40
  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; }
43
41
 
44
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
45
-
46
- 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; } }
47
-
48
- var RESIZE_THROTTELING = 10;
49
- var MOBILE_MAX_WIDTH = 580; //const COLLAPSED_DROPDOWN_WIDTH = 50;
50
-
51
- var ApplicationHeader = /*#__PURE__*/function (_PureComponent) {
52
- (0, _inherits2.default)(ApplicationHeader, _PureComponent);
53
-
54
- var _super = _createSuper(ApplicationHeader);
55
-
56
- function ApplicationHeader(props) {
57
- var _this;
58
-
59
- (0, _classCallCheck2.default)(this, ApplicationHeader);
60
- _this = _super.call(this, props);
61
- _this.state = {
62
- containerWidth: 0,
63
- brandWidth: 0,
64
- renderNavigation: false,
65
- isMobile: false
66
- };
67
- _this.handleWindowResize = _this.handleWindowResize.bind((0, _assertThisInitialized2.default)(_this));
68
- return _this;
69
- }
70
-
71
- (0, _createClass2.default)(ApplicationHeader, [{
72
- key: "isMobile",
73
- value: function isMobile() {
74
- //const node = this.navRef;
75
- // FIXME: collision check need to be done after second rendering of NavItems
76
-
77
- /*let isColliding = false;
78
- // check for collision of NavItems and ActionBar
79
- if (this.refNavItems && this.refActionBar) {
80
- const navItemsNode = ReactDOM.findDOMNode(this.refNavItems);
81
- const actionBarNode = ReactDOM.findDOMNode(this.refActionBar);
82
- // first empty <li> and second would be the collapsed dropdown
83
- const navItemsCount = navItemsNode.childElementCount;
84
- const collapsedDropdown = navItemsNode.children.item(1);
85
- if (navItemsCount === 2 && collapsedDropdown) {
86
- //isColliding = navItemsNode.scrollWidth - actionBarNode.scrollWidth < COLLAPSED_DROPDOWN_WIDTH;
87
- //console.log("isColliding=" + isColliding + " | clientWidth=" + node.clientWidth);
88
- const navItemsRight = navItemsNode.offsetLeft + collapsedDropdown.scrollWidth;
89
- const actionBarItemsLeft = actionBarNode.offsetLeft;
90
- isColliding = navItemsRight > actionBarItemsLeft;
91
- console.log({ isColliding, navItemsRight, actionBarItemsLeft });
92
- }
93
- }*/
94
- return (
95
- /*isColliding || */
96
- this.getContainerWidth() < MOBILE_MAX_WIDTH && this.props.label
97
- );
98
- }
99
- }, {
100
- key: "getContainerWidth",
101
- value: function getContainerWidth() {
102
- //return this.navRef.clientWidth;
103
- return window.innerWidth;
104
- }
105
- }, {
106
- key: "componentDidMount",
107
- value: function componentDidMount() {
108
- var _this2 = this;
109
-
110
- this.resizer = (0, _debounce.default)(RESIZE_THROTTELING)(this.handleWindowResize);
111
- window.addEventListener('resize', this.resizer);
112
- this.setState(function () {
113
- return {
114
- containerWidth: _this2.getContainerWidth(),
115
- renderNavigation: true,
116
- isMobile: _this2.isMobile()
117
- };
118
- });
119
- this.props.onMount();
120
- }
121
- }, {
122
- key: "componentWillUnmount",
123
- value: function componentWillUnmount() {
124
- window.removeEventListener('resize', this.resizer);
125
- this.props.onUnmount();
126
- }
127
- }, {
128
- key: "handleWindowResize",
129
- value: function handleWindowResize() {
130
- var _this3 = this;
131
-
132
- this.setState(function () {
133
- return {
134
- renderNavigation: true,
135
- containerWidth: _this3.getContainerWidth(),
136
- isMobile: _this3.isMobile()
137
- };
138
- });
139
- }
140
- }, {
141
- key: "render",
142
- value: function render() {
143
- var _this4 = this;
144
-
145
- var _this$props = this.props,
146
- homeRoute = _this$props.homeRoute,
147
- showHomeIcon = _this$props.showHomeIcon,
148
- label = _this$props.label,
149
- className = _this$props.className,
150
- appNavigator = _this$props.appNavigator,
151
- appNavigatorClassName = _this$props.appNavigatorClassName,
152
- appMenuItems = _this$props.appMenuItems,
153
- navItems = _this$props.navItems,
154
- actionBarItems = _this$props.actionBarItems;
155
- var classNames = (0, _classnames.default)('ApplicationHeader', 'navbar navbar-default', 'user-select-none', this.state.isMobile && 'mobile', className && className);
156
-
157
- var renderNavItems = /*#__PURE__*/_react.default.createElement(_NavItems.default, {
158
- key: "NavItems",
159
- navItems: navItems,
160
- isMobile: this.state.isMobile,
161
- containerWidth: this.state.containerWidth,
162
- actionBarItems: this.state.isMobile && actionBarItems,
163
- ref: function ref(node) {
164
- return _this4.refNavItems = node;
165
- }
166
- });
167
-
168
- var renderActionItems = !this.state.isMobile && /*#__PURE__*/_react.default.createElement(_ApplicationActionBar.ApplicationActionBar, {
169
- nodeRef: function nodeRef(node) {
170
- return _this4.refActionBar = node;
171
- },
172
- items: actionBarItems
173
- });
174
-
175
- return /*#__PURE__*/_react.default.createElement("nav", {
176
- className: classNames,
177
- ref: function ref(node) {
178
- return _this4.navRef = node;
179
- }
180
- }, /*#__PURE__*/_react.default.createElement("div", {
181
- className: "navbar-header"
182
- }, /*#__PURE__*/_react.default.createElement("span", {
183
- className: "navbar-brand ".concat(showHomeIcon ? 'home-icon' : '')
184
- }, homeRoute)), label && /*#__PURE__*/_react.default.createElement(_AppMenu.AppMenu, {
185
- label: label,
186
- key: "AppMenu",
187
- appMenuItems: appMenuItems,
188
- appNavigator: appNavigator,
189
- appNavigatorClassName: appNavigatorClassName
190
- }), navItems && renderNavItems, renderActionItems);
191
- }
192
- }]);
193
- return ApplicationHeader;
194
- }(_react.PureComponent);
42
+ var MOBILE_MAX_WIDTH = 580;
43
+
44
+ var ApplicationHeader = function ApplicationHeader(props) {
45
+ var homeRoute = props.homeRoute,
46
+ showHomeIcon = props.showHomeIcon,
47
+ label = props.label,
48
+ className = props.className,
49
+ appNavigator = props.appNavigator,
50
+ appNavigatorClassName = props.appNavigatorClassName,
51
+ appMenuItems = props.appMenuItems,
52
+ navItems = props.navItems,
53
+ actionBarItems = props.actionBarItems;
54
+ var actionBarRef = (0, _react.useRef)();
55
+
56
+ var _useResizeObserver = (0, _useResizeObserver3.default)(),
57
+ _useResizeObserver2 = (0, _slicedToArray2.default)(_useResizeObserver, 2),
58
+ navRef = _useResizeObserver2[0],
59
+ contentRect = _useResizeObserver2[1].contentRect;
60
+
61
+ var getContentRect = (0, _react.useCallback)(function (key) {
62
+ return contentRect && Math.round(contentRect[key]);
63
+ }, [contentRect]);
64
+ var containerWidth = getContentRect('width') || 0;
65
+ var isMobileWidth = containerWidth <= MOBILE_MAX_WIDTH;
66
+ var hasActionBarItems = !(0, _isEmpty.default)(actionBarItems);
67
+ var classNames = (0, _classnames.default)('ApplicationHeader', 'user-select-none', isMobileWidth && 'mobile', className && className);
68
+ return /*#__PURE__*/_react.default.createElement("nav", {
69
+ className: classNames,
70
+ ref: navRef
71
+ }, isMobileWidth && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_MobileAppMenu.MobileAppMenu, {
72
+ showHomeIcon: showHomeIcon,
73
+ homeRoute: homeRoute,
74
+ appMenuItems: appMenuItems,
75
+ appNavigator: appNavigator
76
+ }), /*#__PURE__*/_react.default.createElement("div", {
77
+ className: "flex-1-1-0 display-flex gap-10"
78
+ }, /*#__PURE__*/_react.default.createElement(_MobileSubmoduleNavigation.MobileSubmoduleNavigation, {
79
+ className: "flex-1-1",
80
+ label: label,
81
+ navItems: navItems,
82
+ actionBarItems: actionBarItems
83
+ }), hasActionBarItems && /*#__PURE__*/_react.default.createElement(Divider, null), /*#__PURE__*/_react.default.createElement(_ApplicationActionBar.ApplicationActionBar, {
84
+ className: "mobile",
85
+ items: actionBarItems
86
+ }))), !isMobileWidth && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
87
+ className: "navbar-header"
88
+ }, /*#__PURE__*/_react.default.createElement("span", {
89
+ className: "navbar-brand ".concat(showHomeIcon ? 'home-icon' : '')
90
+ }, homeRoute)), label && /*#__PURE__*/_react.default.createElement(_AppMenu.AppMenu, {
91
+ label: label,
92
+ key: "AppMenu",
93
+ appMenuItems: appMenuItems,
94
+ appNavigator: appNavigator,
95
+ appNavigatorClassName: appNavigatorClassName
96
+ }), (0, _isEmpty.default)(navItems) && /*#__PURE__*/_react.default.createElement("ul", {
97
+ className: "SubmoduleNavigation nav"
98
+ }), !(0, _isEmpty.default)(navItems) && /*#__PURE__*/_react.default.createElement(_NavItems.default, {
99
+ key: "NavItems",
100
+ navItems: navItems,
101
+ containerWidth: containerWidth,
102
+ actionBarItems: actionBarItems
103
+ }), /*#__PURE__*/_react.default.createElement(_ApplicationActionBar.ApplicationActionBar, {
104
+ nodeRef: actionBarRef,
105
+ items: actionBarItems
106
+ })));
107
+ };
195
108
 
196
109
  exports.ApplicationHeader = ApplicationHeader;
110
+
111
+ var Divider = function Divider() {
112
+ return /*#__PURE__*/_react.default.createElement("div", {
113
+ className: "divider display-flex align-items-center"
114
+ }, /*#__PURE__*/_react.default.createElement("div", {
115
+ className: "width-3 height-20 bg-lighter"
116
+ }));
117
+ };
118
+
197
119
  var _default = ApplicationHeader;
198
120
  exports.default = _default;
199
121
  ApplicationHeader.defaultProps = {
@@ -0,0 +1,77 @@
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.MobileAppMenu = void 0;
11
+
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _propTypes = _interopRequireDefault(require("prop-types"));
17
+
18
+ var _isNil = _interopRequireDefault(require("lodash/fp/isNil"));
19
+
20
+ var _MobileHeaderModal = require("./MobileHeaderModal");
21
+
22
+ var _modulePropTypes = _interopRequireDefault(require("./modulePropTypes"));
23
+
24
+ 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); }
25
+
26
+ 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; }
27
+
28
+ var MobileAppMenu = function MobileAppMenu(props) {
29
+ var appMenuItems = props.appMenuItems,
30
+ appNavigator = props.appNavigator,
31
+ showHomeIcon = props.showHomeIcon,
32
+ homeRoute = props.homeRoute;
33
+
34
+ var _useState = (0, _react.useState)(false),
35
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
36
+ isShown = _useState2[0],
37
+ setIsShown = _useState2[1];
38
+
39
+ var handleToggleNavigation = function handleToggleNavigation() {
40
+ return setIsShown(!isShown);
41
+ };
42
+
43
+ var hasAppContent = !(0, _isNil.default)(appMenuItems) || !(0, _isNil.default)(appNavigator);
44
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
45
+ className: "navbar-header min-width-50 padding-5 overflow-hidden position-relative",
46
+ onClick: handleToggleNavigation
47
+ }, /*#__PURE__*/_react.default.createElement("span", {
48
+ className: "navbar-brand height-40 width-40 ".concat(showHomeIcon ? 'home-icon' : '')
49
+ }, !hasAppContent && homeRoute), hasAppContent && /*#__PURE__*/_react.default.createElement("div", {
50
+ className: "position-absolute right-2 bottom-0 text-color-white rotate-45"
51
+ }, /*#__PURE__*/_react.default.createElement("span", {
52
+ className: "rioglyph rioglyph-triangle-right"
53
+ }))), appNavigator && /*#__PURE__*/_react.default.createElement(_MobileHeaderModal.MobileHeaderModal, {
54
+ show: isShown,
55
+ modalClassName: "padding-top-25",
56
+ onClose: handleToggleNavigation
57
+ }, /*#__PURE__*/_react.default.createElement("div", {
58
+ className: "width-100pct height-100pct"
59
+ }, appNavigator)), appMenuItems && /*#__PURE__*/_react.default.createElement(_MobileHeaderModal.MobileHeaderModal, {
60
+ show: isShown,
61
+ modalClassName: "padding-15",
62
+ onClose: handleToggleNavigation
63
+ }, appMenuItems.map(function (module) {
64
+ return /*#__PURE__*/_react.default.createElement("li", {
65
+ role: "presentation",
66
+ key: "link-icon-".concat(module.key)
67
+ }, module.route);
68
+ })));
69
+ };
70
+
71
+ exports.MobileAppMenu = MobileAppMenu;
72
+ MobileAppMenu.propTypes = {
73
+ homeRoute: _propTypes.default.node,
74
+ showHomeIcon: _propTypes.default.bool,
75
+ appMenuItems: _propTypes.default.arrayOf(_modulePropTypes.default),
76
+ appNavigator: _propTypes.default.element
77
+ };
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.MobileHeaderModal = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _reactDom = _interopRequireDefault(require("react-dom"));
13
+
14
+ var _propTypes = _interopRequireDefault(require("prop-types"));
15
+
16
+ var _classnames = _interopRequireDefault(require("classnames"));
17
+
18
+ var _framerMotion = require("framer-motion");
19
+
20
+ var _portalRoot = require("../../utils/portalRoot");
21
+
22
+ var OFFSET_POSITION = -1000;
23
+
24
+ var MobileHeaderModal = function MobileHeaderModal(props) {
25
+ var show = props.show,
26
+ showClose = props.showClose,
27
+ modalClassName = props.modalClassName,
28
+ className = props.className,
29
+ onClose = props.onClose,
30
+ children = props.children;
31
+ var wrapperClasses = (0, _classnames.default)('MobileHeaderModal', 'position-fixed left-0 right-0 bottom-0', 'z-index-max', className);
32
+ var modalClasses = (0, _classnames.default)('display-flex flex-column justify-content-center', 'margin-15', 'text-center', 'rounded', 'bg-white', 'shadow-hard', 'overflow-auto', modalClassName);
33
+ var modalRoot = (0, _portalRoot.getOrCreatePortalRoot)();
34
+ var pageHeight = window.innerHeight - 30;
35
+ var offset = OFFSET_POSITION - window.innerHeight;
36
+ return /*#__PURE__*/_reactDom.default.createPortal( /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_framerMotion.AnimatePresence, null, show && /*#__PURE__*/_react.default.createElement(_framerMotion.motion.div, {
37
+ className: wrapperClasses,
38
+ initial: {
39
+ opacity: 0,
40
+ top: offset
41
+ },
42
+ animate: {
43
+ opacity: 1,
44
+ y: 0,
45
+ top: 0
46
+ },
47
+ exit: {
48
+ opacity: 0,
49
+ transition: {
50
+ duration: 0.3
51
+ },
52
+ top: offset
53
+ }
54
+ }, /*#__PURE__*/_react.default.createElement("div", {
55
+ className: modalClasses,
56
+ style: {
57
+ height: "".concat(pageHeight, "px")
58
+ }
59
+ }, children), showClose && /*#__PURE__*/_react.default.createElement("div", {
60
+ className: 'position-absolute top-15 right-15 margin-top-15 margin-right-15 ' + 'text-size-20 text-color-dark',
61
+ onClick: onClose
62
+ }, /*#__PURE__*/_react.default.createElement("span", {
63
+ className: "rioglyph rioglyph-remove"
64
+ })))), /*#__PURE__*/_react.default.createElement(_framerMotion.AnimatePresence, null, show && /*#__PURE__*/_react.default.createElement(_framerMotion.motion.div, {
65
+ className: "bottom-sheet-backdrop",
66
+ initial: {
67
+ opacity: 0
68
+ },
69
+ animate: {
70
+ opacity: 0.5
71
+ },
72
+ exit: {
73
+ opacity: 0
74
+ }
75
+ }))), modalRoot);
76
+ };
77
+
78
+ exports.MobileHeaderModal = MobileHeaderModal;
79
+ MobileHeaderModal.defaultProps = {
80
+ show: false,
81
+ showClose: true,
82
+ onClose: function onClose() {}
83
+ };
84
+ MobileHeaderModal.propTypes = {
85
+ show: _propTypes.default.bool,
86
+ showClose: _propTypes.default.bool,
87
+ modalClassName: _propTypes.default.string,
88
+ onClose: _propTypes.default.func,
89
+ className: _propTypes.default.string
90
+ };
@@ -0,0 +1,89 @@
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.MobileSubmoduleNavigation = void 0;
11
+
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _propTypes = _interopRequireDefault(require("prop-types"));
17
+
18
+ var _classnames = _interopRequireDefault(require("classnames"));
19
+
20
+ var _isEmpty = _interopRequireDefault(require("lodash/fp/isEmpty"));
21
+
22
+ var _modulePropTypes = _interopRequireDefault(require("./modulePropTypes"));
23
+
24
+ var _MobileHeaderModal = require("./MobileHeaderModal");
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 MobileSubmoduleNavigation = function MobileSubmoduleNavigation(props) {
31
+ var navItems = props.navItems,
32
+ label = props.label,
33
+ className = props.className;
34
+
35
+ var _useState = (0, _react.useState)(false),
36
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
37
+ isShown = _useState2[0],
38
+ setIsShown = _useState2[1];
39
+
40
+ var handleToggleNavigation = function handleToggleNavigation() {
41
+ return setIsShown(!isShown);
42
+ };
43
+
44
+ var hasNavItems = !(0, _isEmpty.default)(navItems);
45
+ var classes = (0, _classnames.default)('MobileSubmoduleNavigation', 'display-flex gap-10 align-items-center', 'padding-x-10', 'cursor-pointer', 'ellipsis-1', className);
46
+ var labelClasses = (0, _classnames.default)(hasNavItems ? 'text-size-12' : 'text-size-14', 'text-color-dark line-height-14 width-100pct');
47
+ return /*#__PURE__*/_react.default.createElement("div", {
48
+ className: classes,
49
+ onClick: handleToggleNavigation
50
+ }, /*#__PURE__*/_react.default.createElement("div", {
51
+ className: "flex-1-1 display-flex flex-column align-items-center"
52
+ }, /*#__PURE__*/_react.default.createElement("div", {
53
+ className: labelClasses
54
+ }, label), /*#__PURE__*/_react.default.createElement("div", {
55
+ className: "text-medium width-100pct"
56
+ }, navItems.map(function (navItem) {
57
+ return /*#__PURE__*/_react.default.createElement("div", {
58
+ key: navItem.key
59
+ }, /*#__PURE__*/_react.default.cloneElement(navItem.route, {
60
+ className: 'text-size-16 line-height-16 text-color-darkest text-decoration-none',
61
+ onClick: function onClick(event) {
62
+ return event.preventDefault();
63
+ }
64
+ }));
65
+ }))), hasNavItems && /*#__PURE__*/_react.default.createElement("div", {
66
+ className: "text-size-16 text-color-dark"
67
+ }, /*#__PURE__*/_react.default.createElement("span", {
68
+ className: "rioglyph rioglyph-chevron-down"
69
+ })), hasNavItems && /*#__PURE__*/_react.default.createElement(_MobileHeaderModal.MobileHeaderModal, {
70
+ show: isShown
71
+ }, navItems.map(function (navItem) {
72
+ return /*#__PURE__*/_react.default.createElement("div", {
73
+ key: navItem.key,
74
+ className: "margin-y-15 font-size-20"
75
+ }, /*#__PURE__*/_react.default.cloneElement(navItem.route, {
76
+ className: 'text-size-20 text-color-darker'
77
+ }));
78
+ })));
79
+ };
80
+
81
+ exports.MobileSubmoduleNavigation = MobileSubmoduleNavigation;
82
+ MobileSubmoduleNavigation.defaultProps = {
83
+ navItems: []
84
+ };
85
+ MobileSubmoduleNavigation.propTypes = {
86
+ label: _propTypes.default.node,
87
+ navItems: _propTypes.default.arrayOf(_modulePropTypes.default),
88
+ className: _propTypes.default.string
89
+ };