@occmundial/occ-atomic 3.0.0-beta.6 → 3.0.0-beta.60

Sign up to get free protection for your applications and to get access to all the features.
Files changed (135) hide show
  1. package/CHANGELOG.md +476 -0
  2. package/build/Avatar/Avatar.js +69 -21
  3. package/build/Avatar/Avatar.test.js +15 -8
  4. package/build/Avatar/AvatarContent/AvatarContent.js +61 -21
  5. package/build/Avatar/AvatarContent/AvatarContent.test.js +4 -18
  6. package/build/Avatar/AvatarContent/__snapshots__/AvatarContent.test.js.snap +75 -15
  7. package/build/Avatar/AvatarContent/styles.js +88 -21
  8. package/build/Avatar/__snapshots__/Avatar.test.js.snap +11 -2
  9. package/build/Avatar/styles.js +18 -7
  10. package/build/Banner/Banner.js +30 -40
  11. package/build/Banner/Banner.test.js +64 -17
  12. package/build/Banner/__snapshots__/Banner.test.js.snap +0 -28
  13. package/build/Banner/index.js +1 -6
  14. package/build/Button/Button.js +1 -1
  15. package/build/Button/Button.test.js +0 -11
  16. package/build/Button/__snapshots__/Button.test.js.snap +54 -58
  17. package/build/Button/styles.js +42 -75
  18. package/build/Checkbox/Checkbox.js +48 -3
  19. package/build/Checkbox/__snapshots__/Checkbox.test.js.snap +81 -49
  20. package/build/Checkbox/styles.js +91 -48
  21. package/build/Fab/__snapshots__/Fab.test.js.snap +2 -2
  22. package/build/Footer/Footer.js +81 -87
  23. package/build/Footer/List/List.js +89 -124
  24. package/build/Footer/List/styles.js +85 -31
  25. package/build/Footer/__snapshots__/Footer.test.js.snap +109 -59
  26. package/build/Footer/styles.js +116 -51
  27. package/build/Grid/Col/__snapshots__/Col.test.js.snap +16 -2
  28. package/build/Grid/Col/styles.js +12 -6
  29. package/build/Grid/Row/__snapshots__/Row.test.js.snap +18 -2
  30. package/build/Grid/Row/styles.js +15 -5
  31. package/build/Grid/styles.js +26 -9
  32. package/build/Menu/Menu.js +111 -0
  33. package/build/Menu/index.js +34 -0
  34. package/build/Menu/styles.js +28 -0
  35. package/build/Modal/Modal.js +94 -66
  36. package/build/Modal/Modal.test.js +14 -7
  37. package/build/Modal/__snapshots__/Modal.test.js.snap +155 -100
  38. package/build/Modal/styles.js +165 -143
  39. package/build/OrderBy/OrderBy.js +2 -1
  40. package/build/Pager/Page/Page.js +11 -6
  41. package/build/Pager/Page/Page.test.js +13 -9
  42. package/build/Pager/Page/__snapshots__/Page.test.js.snap +34 -10
  43. package/build/Pager/Page/styles.js +48 -14
  44. package/build/Pager/Pager.js +144 -235
  45. package/build/Pager/Pager.test.js +81 -36
  46. package/build/Pager/__snapshots__/Pager.test.js.snap +3 -36
  47. package/build/Pager/styles.js +5 -40
  48. package/build/Pill/Choice/Choice.js +6 -4
  49. package/build/Pill/Choice/styles.js +13 -10
  50. package/build/Pill/Group/styles.js +5 -5
  51. package/build/Pill/Stack/Stack.js +2 -2
  52. package/build/Pill/Stack/styles.js +5 -8
  53. package/build/Placeholder/Placeholder.js +29 -12
  54. package/build/Placeholder/Placeholder.test.js +4 -4
  55. package/build/Placeholder/__snapshots__/Placeholder.test.js.snap +81 -38
  56. package/build/Placeholder/styles.js +86 -42
  57. package/build/Provider/usePrevious.js +1 -1
  58. package/build/Radio/Radio.js +42 -6
  59. package/build/Radio/__snapshots__/Radio.test.js.snap +81 -80
  60. package/build/Radio/styles.js +93 -85
  61. package/build/SlideDown/SlideDown.js +162 -169
  62. package/build/SlideDown/SlideDown.test.js +49 -44
  63. package/build/SlideDown/__snapshots__/SlideDown.test.js.snap +44 -15
  64. package/build/SlideDown/styles.js +51 -20
  65. package/build/SlideToggle/SlideToggle.js +38 -6
  66. package/build/SlideToggle/SlideToggle.test.js +2 -2
  67. package/build/SlideToggle/__snapshots__/SlideToggle.test.js.snap +52 -37
  68. package/build/SlideToggle/styles.js +64 -45
  69. package/build/Tabs/Tab/Tab.js +73 -0
  70. package/build/Tabs/Tab/index.js +34 -0
  71. package/build/Tabs/Tab/index.test.js +132 -0
  72. package/build/Tabs/Tab/styles.js +74 -0
  73. package/build/Tabs/TabContent/TabContent.js +76 -0
  74. package/build/Tabs/TabContent/index.js +34 -0
  75. package/build/Tabs/TabContent/index.test.js +68 -0
  76. package/build/Tabs/TabContent/styles.js +23 -0
  77. package/build/Tabs/TabIndicator/TabIndicator.js +158 -0
  78. package/build/Tabs/TabIndicator/index.js +34 -0
  79. package/build/Tabs/TabIndicator/styles.js +24 -0
  80. package/build/Tabs/TabList/TabList.js +108 -0
  81. package/build/Tabs/TabList/index.js +34 -0
  82. package/build/{Pager/Break → Tabs/TabList}/styles.js +3 -2
  83. package/build/Tabs/Tabs.js +74 -0
  84. package/build/Tabs/context.js +94 -0
  85. package/build/Tabs/index.js +34 -0
  86. package/build/Tabs/index.test.js +157 -0
  87. package/build/Tabs/styles.js +19 -0
  88. package/build/Tag/Tag.js +2 -2
  89. package/build/Tag/__snapshots__/Tag.test.js.snap +40 -43
  90. package/build/Tag/styles.js +76 -82
  91. package/build/Text/Text.js +2 -1
  92. package/build/TextField/TextField.js +7 -6
  93. package/build/TextField/__snapshots__/TextField.test.js.snap +3 -0
  94. package/build/TextField/styles.js +3 -0
  95. package/build/Tip/Tip.js +62 -95
  96. package/build/Tip/Tip.test.js +29 -6
  97. package/build/Tip/TipText/index.js +32 -0
  98. package/build/Tip/__snapshots__/Tip.test.js.snap +127 -15
  99. package/build/Tip/styles.js +125 -31
  100. package/build/Toaster/Toast/Toast.js +76 -64
  101. package/build/Toaster/Toast/styles.js +118 -46
  102. package/build/Toaster/Toaster.js +3 -2
  103. package/build/Toaster/Toaster.test.js +5 -2
  104. package/build/Toaster/__snapshots__/Toaster.test.js.snap +1 -1
  105. package/build/Toaster/functions.js +4 -0
  106. package/build/Toaster/styles.js +3 -3
  107. package/build/Tooltip/Tooltip.js +73 -22
  108. package/build/Tooltip/__snapshots__/Tooltip.test.js.snap +22 -6
  109. package/build/Tooltip/styles.js +32 -10
  110. package/build/index.js +18 -16
  111. package/build/plugin/babel.js +0 -2
  112. package/build/subatomic/grid.js +5 -5
  113. package/build/tokens/colors.json +35 -3
  114. package/package.json +5 -2
  115. package/build/Banner/styles.js +0 -41
  116. package/build/Header/Header.js +0 -163
  117. package/build/Header/Header.test.js +0 -118
  118. package/build/Header/Menu/Menu.js +0 -135
  119. package/build/Header/Menu/Menu.test.js +0 -107
  120. package/build/Header/Menu/__snapshots__/Menu.test.js.snap +0 -113
  121. package/build/Header/Menu/index.js +0 -18
  122. package/build/Header/Menu/styles.js +0 -123
  123. package/build/Header/Nav/Nav.js +0 -95
  124. package/build/Header/Nav/Nav.test.js +0 -81
  125. package/build/Header/Nav/__snapshots__/Nav.test.js.snap +0 -101
  126. package/build/Header/Nav/index.js +0 -18
  127. package/build/Header/Nav/styles.js +0 -110
  128. package/build/Header/__snapshots__/Header.test.js.snap +0 -79
  129. package/build/Header/index.js +0 -18
  130. package/build/Header/styles.js +0 -94
  131. package/build/Pager/Break/Break.js +0 -27
  132. package/build/Pager/Break/Break.test.js +0 -53
  133. package/build/Pager/Break/__snapshots__/Break.test.js.snap +0 -13
  134. package/build/Pager/Break/index.js +0 -18
  135. /package/build/Button/{Loading.js → Loading/index.js} +0 -0
@@ -1,14 +1,21 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
- exports[`Tooltip matches the snapshot 1`] = `"<div class=\\"activator false\\"></div>"`;
3
+ exports[`Tooltip matches the snapshot 1`] = `"<div class=\\"activator \\"></div>"`;
4
4
 
5
5
  exports[`Tooltip styles matches the snapshot 1`] = `
6
6
  Object {
7
7
  "activator": Object {
8
8
  "display": "inline-block",
9
9
  },
10
+ "content": Object {
11
+ "alignItems": "center",
12
+ "display": "flex",
13
+ "gap": "4px",
14
+ "justifyContent": "center",
15
+ },
10
16
  "dark": Object {
11
- "background": "#222222",
17
+ "background": "#000",
18
+ "boxShadow": "inset 0 0 0 1px rgba(255,255,255,0.2)",
12
19
  "color": "#ffffff",
13
20
  },
14
21
  "info": Object {
@@ -16,18 +23,27 @@ Object {
16
23
  "color": "#5736ab",
17
24
  },
18
25
  "light": Object {
19
- "background": "#ffffff",
26
+ "&:after": Object {
27
+ "boxShadow": "inset -2px -2px 0 -1px #EDEDF1",
28
+ },
29
+ "background": "#fff",
30
+ "boxShadow": "inset 0 0 0 1px #EDEDF1",
20
31
  "color": "#5736ab",
21
32
  },
22
33
  "purple": Object {
23
34
  "background": "#5736ab",
24
35
  "color": "#ffffff",
25
36
  },
37
+ "text": Object {
38
+ "font": "300 12px/1.5 'OccText', sans-serif",
39
+ "margin": 0,
40
+ },
26
41
  "tooltip": Object {
27
42
  "borderRadius": "4px",
28
- "fontSize": "14px",
29
- "lineHeight": 1.5,
30
- "padding": "16px",
43
+ "padding": Array [
44
+ "8px",
45
+ "12px",
46
+ ],
31
47
  },
32
48
  }
33
49
  `;
@@ -7,38 +7,60 @@ exports["default"] = void 0;
7
7
 
8
8
  var _colors = _interopRequireDefault(require("../subatomic/colors"));
9
9
 
10
+ var _colors2 = _interopRequireDefault(require("../tokens/colors.json"));
11
+
12
+ var _fonts = _interopRequireDefault(require("../tokens/fonts.json"));
13
+
14
+ var _spacing = _interopRequireDefault(require("../tokens/spacing.json"));
15
+
16
+ var _borderRadius = _interopRequireDefault(require("../tokens/borderRadius.json"));
17
+
18
+ var _styles = require("../Text/styles");
19
+
10
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
21
 
12
22
  var infoLight = _colors["default"].infoLight,
13
23
  infoText = _colors["default"].infoText,
14
24
  info = _colors["default"].info,
15
- white = _colors["default"].white,
16
- grey900 = _colors["default"].grey900;
25
+ white = _colors["default"].white;
17
26
  var _default = {
18
27
  activator: {
19
28
  display: 'inline-block'
20
29
  },
21
30
  tooltip: {
22
- padding: '16px',
23
- borderRadius: '4px',
24
- fontSize: '14px',
25
- lineHeight: 1.5
31
+ padding: [_spacing["default"]['size-2'], _spacing["default"]['size-3']],
32
+ borderRadius: _borderRadius["default"]['br-xs']
33
+ },
34
+ content: {
35
+ display: 'flex',
36
+ gap: _spacing["default"]['size-1'],
37
+ alignItems: 'center',
38
+ justifyContent: 'center'
26
39
  },
27
40
  info: {
28
41
  background: infoLight,
29
42
  color: infoText
30
43
  },
31
44
  dark: {
32
- background: grey900,
33
- color: white
45
+ background: _colors2["default"].bg.neutral,
46
+ color: white,
47
+ boxShadow: "inset 0 0 0 1px ".concat(_colors2["default"].border.inverse.subtle)
34
48
  },
35
49
  light: {
36
- background: white,
37
- color: info
50
+ background: _colors2["default"].bg.surface["default"],
51
+ color: info,
52
+ '&:after': {
53
+ boxShadow: "inset -2px -2px 0 -1px ".concat(_colors2["default"].border["default"].subtle)
54
+ },
55
+ boxShadow: "inset 0 0 0 1px ".concat(_colors2["default"].border["default"].subtle)
38
56
  },
39
57
  purple: {
40
58
  background: info,
41
59
  color: white
60
+ },
61
+ text: {
62
+ font: (0, _styles.parseFontValue)(_fonts["default"]['body-x-small']),
63
+ margin: 0
42
64
  }
43
65
  };
44
66
  exports["default"] = _default;
package/build/index.js CHANGED
@@ -84,6 +84,10 @@ var _functions = require("./Toaster/functions");
84
84
 
85
85
  var _Fab = _interopRequireDefault(require("./Fab"));
86
86
 
87
+ var _Tab = _interopRequireDefault(require("./Tabs/Tab"));
88
+
89
+ var _TabContent = _interopRequireDefault(require("./Tabs/TabContent"));
90
+
87
91
  var _NavTab = _interopRequireDefault(require("./NavTab"));
88
92
 
89
93
  var _NavItem = _interopRequireDefault(require("./NavItem"));
@@ -92,13 +96,13 @@ var _NavIcon = _interopRequireDefault(require("./NavIcon"));
92
96
 
93
97
  var _NavAside = _interopRequireDefault(require("./NavAside"));
94
98
 
95
- var _Footer = _interopRequireDefault(require("./Footer"));
99
+ var _Tabs = _interopRequireDefault(require("./Tabs"));
96
100
 
97
- var _Header = _interopRequireDefault(require("./Header"));
101
+ var _context = require("./Tabs/context");
98
102
 
99
- var _Nav = _interopRequireDefault(require("./Header/Nav"));
103
+ var _Menu = _interopRequireDefault(require("./Menu"));
100
104
 
101
- var _Menu = _interopRequireDefault(require("./Header/Menu"));
105
+ var _Footer = _interopRequireDefault(require("./Footer"));
102
106
 
103
107
  var _SightLogo = _interopRequireDefault(require("./SightLogo"));
104
108
 
@@ -128,14 +132,9 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
128
132
 
129
133
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
130
134
 
131
- // Layout elements
132
- // UI elements
133
- // UI molecules
134
- // UI organisms
135
- // R12 elements, molecules & organisms
136
- // Subatomic values
137
- // HOC
138
- module.exports = {
135
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
136
+
137
+ module.exports = _defineProperty({
139
138
  Container: _Container["default"],
140
139
  Row: _Row["default"],
141
140
  Column: _Column["default"],
@@ -180,8 +179,6 @@ module.exports = {
180
179
  Toaster: _Toaster["default"],
181
180
  toaster: _functions.toaster,
182
181
  Footer: _Footer["default"],
183
- Header: _Header["default"],
184
- Nav: _Nav["default"],
185
182
  Menu: _Menu["default"],
186
183
  SightLogo: _SightLogo["default"],
187
184
  colors: _colors["default"],
@@ -195,5 +192,10 @@ module.exports = {
195
192
  WindowSize: _WindowSize["default"],
196
193
  tokens: tokens,
197
194
  AtomicProvider: _Provider["default"],
198
- Fab: _Fab["default"]
199
- };
195
+ Fab: _Fab["default"],
196
+ Tabs: _Tabs["default"],
197
+ TabsProviderControlled: _context.TabsProviderControlled,
198
+ TabsProviderUncontrolled: _context.TabsProviderUncontrolled,
199
+ Tab: _Tab["default"],
200
+ TabContent: _TabContent["default"]
201
+ }, "Menu", _Menu["default"]);
@@ -35,8 +35,6 @@ function importModule(path) {
35
35
 
36
36
  if (importName === 'toaster') {
37
37
  return importDeclaration(specifier, '@occmundial/occ-atomic/build/Toaster/functions');
38
- } else if (importName === 'Nav' || importName === 'Menu') {
39
- return importDeclaration(specifier, "@occmundial/occ-atomic/build/Header/".concat(importName));
40
38
  } else if (importName === 'AtomicProvider') {
41
39
  return importDeclaration(types.importDefaultSpecifier(types.identifier('AtomicProvider')), '@occmundial/occ-atomic/build/Provider');
42
40
  } else if (subatomic.includes(importName)) {
@@ -12,10 +12,10 @@ var _default = {
12
12
  lg: 1200,
13
13
  xl: 1500,
14
14
  full: '100%',
15
- xsGrid: 564,
16
- smGrid: 744,
17
- mdGrid: 984,
18
- lgGrid: 1164,
19
- xlGrid: 1464
15
+ xsGrid: '100%',
16
+ smGrid: '100%',
17
+ mdGrid: '100%',
18
+ lgGrid: 1140,
19
+ xlGrid: 1440
20
20
  };
21
21
  exports["default"] = _default;
@@ -85,6 +85,7 @@
85
85
  },
86
86
  "alpha": {
87
87
  "white": {
88
+ "0": "rgba(255,255,255,0)",
88
89
  "5": "rgba(255,255,255,0.05)",
89
90
  "10": "rgba(255,255,255,0.1)",
90
91
  "20": "rgba(255,255,255,0.2)",
@@ -137,6 +138,7 @@
137
138
  "100": "hsl(234 75.4% 12.7%)"
138
139
  },
139
140
  "black": {
141
+ "0": "rgba(0,0,0,0.0)",
140
142
  "5": "rgba(0,0,0,0.05)",
141
143
  "10": "rgba(0,0,0,0.1)",
142
144
  "20": "rgba(0,0,0,0.2)",
@@ -343,7 +345,7 @@
343
345
  },
344
346
  "info": {
345
347
  "bg": "#e3efff",
346
- "border": "#e3efff"
348
+ "border": "#b9d7ff"
347
349
  },
348
350
  "neutral": {
349
351
  "bg": "#000",
@@ -402,7 +404,7 @@
402
404
  },
403
405
  "info": {
404
406
  "bg": "#e3efff",
405
- "border": "#e3efff"
407
+ "border": "#b9d7ff"
406
408
  },
407
409
  "featured": {
408
410
  "border": "rgba(255,255,255,0.2)",
@@ -437,6 +439,12 @@
437
439
  "hover": "hsl(221 91.2% 35.7% / 0.1)",
438
440
  "active": "hsl(221 91.2% 35.7% / 0.2)"
439
441
  }
442
+ },
443
+ "white": {
444
+ "bg": {
445
+ "hover": "rgba(255,255,255,0.2)",
446
+ "active": "rgba(255,255,255,0.3)"
447
+ }
440
448
  }
441
449
  },
442
450
  "nav": {
@@ -463,6 +471,30 @@
463
471
  }
464
472
  }
465
473
  },
474
+ "avatar": {
475
+ "bg": {
476
+ "default": "#E9EEF8",
477
+ "hover": "#CAD5EE",
478
+ "active": "#ABBDE4",
479
+ "disabled": "#EDEDF1",
480
+ "overlay": {
481
+ "hover": "hsl(234 75.4% 12.7% / 0.3)",
482
+ "active": "hsl(234 75.4% 12.7% / 0.4)"
483
+ }
484
+ }
485
+ },
486
+ "skeleton": {
487
+ "bg": {
488
+ "default": {
489
+ "gradient": "linear-gradient(90deg, rgba(0,0,0,0.0) , rgba(0,0,0,0.05) , rgba(0,0,0,0.0) )",
490
+ "default": "rgba(0,0,0,0.05)"
491
+ },
492
+ "inverse": {
493
+ "default": "rgba(255,255,255,0.1)",
494
+ "gradient": "linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.1) , rgba(255,255,255,0) )"
495
+ }
496
+ }
497
+ },
466
498
  "bg": {
467
499
  "action": {
468
500
  "primary": {
@@ -567,7 +599,7 @@
567
599
  "subtle": "#d7f6e3"
568
600
  },
569
601
  "info": {
570
- "subtle": "#e3efff"
602
+ "subtle": "#b9d7ff"
571
603
  }
572
604
  },
573
605
  "text": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@occmundial/occ-atomic",
3
- "version": "3.0.0-beta.6",
3
+ "version": "3.0.0-beta.60",
4
4
  "description": "Collection of shareable styled React components for OCC applications.",
5
5
  "homepage": "http://occmundial.github.io/occ-atomic",
6
6
  "main": "build/index.js",
@@ -95,7 +95,7 @@
95
95
  "webpack-dev-server": "^4.2.0"
96
96
  },
97
97
  "dependencies": {
98
- "@floating-ui/react": "^0.24.1",
98
+ "@floating-ui/react": "0.24.1",
99
99
  "class-autobind": "^0.1.4",
100
100
  "hex-rgba": "^1.0.2",
101
101
  "idx": "^2.5.6",
@@ -120,5 +120,8 @@
120
120
  "roots": [
121
121
  "<rootDir>/lib/"
122
122
  ]
123
+ },
124
+ "volta": {
125
+ "node": "16.18.0"
123
126
  }
124
127
  }
@@ -1,41 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
-
8
- var _spacing = _interopRequireDefault(require("../subatomic/spacing"));
9
-
10
- var _colors = _interopRequireDefault(require("../subatomic/colors"));
11
-
12
- var _grid = _interopRequireDefault(require("../subatomic/grid"));
13
-
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
-
16
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
17
-
18
- var _default = {
19
- container: {
20
- padding: _spacing["default"].small,
21
- backgroundColor: _colors["default"].ink
22
- },
23
- textBanner: {
24
- display: 'inline-block'
25
- },
26
- textFlex: _defineProperty({
27
- textAlign: 'start'
28
- }, "@media screen and (min-width:".concat(_grid["default"].xs, "px)"), {
29
- textAlign: 'center'
30
- }),
31
- iconFlex: _defineProperty({
32
- paddingLeft: _spacing["default"].small,
33
- paddingTop: _spacing["default"].small
34
- }, "@media screen and (min-width:".concat(_grid["default"].xs, "px)"), {
35
- padding: 0
36
- }),
37
- icon: {
38
- cursor: 'pointer'
39
- }
40
- };
41
- exports["default"] = _default;
@@ -1,163 +0,0 @@
1
- "use strict";
2
-
3
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
-
10
- var _react = _interopRequireDefault(require("react"));
11
-
12
- var _propTypes = _interopRequireDefault(require("prop-types"));
13
-
14
- var _reactWaypoint = _interopRequireDefault(require("react-waypoint"));
15
-
16
- var _Hidden = _interopRequireDefault(require("../Hidden"));
17
-
18
- var _Visible = _interopRequireDefault(require("../Visible"));
19
-
20
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
21
-
22
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
23
-
24
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
25
-
26
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
27
-
28
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
29
-
30
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
31
-
32
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
33
-
34
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
35
-
36
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
37
-
38
- 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; } }
39
-
40
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
41
-
42
- /**
43
- * This header component should be filled with a logo section, a nav section and a user menu.
44
- * For the nav section, use the Nav component of this library. In desktop it will be displayed rght next to the logo. In mobile it will appear below the logo and user menu.
45
- * For the user menu, use the Menu component of this library.
46
- * This header includes a Messages/Chat icon, which you can configure with the messageIcon property.
47
- * (NOTE: The example will not work properly in mobile, since it uses fixed positioning, breaking the Header because is not in the top of the page.)
48
- * The documentation for Nav and Menu is not included here, since they are completely dependant of Header. Use the example below to see how to implement them.
49
- */
50
- var Header = /*#__PURE__*/function (_React$Component) {
51
- _inherits(Header, _React$Component);
52
-
53
- var _super = _createSuper(Header);
54
-
55
- function Header(props) {
56
- var _this;
57
-
58
- _classCallCheck(this, Header);
59
-
60
- _this = _super.call(this, props);
61
- _this.state = {
62
- shadow: true
63
- };
64
- _this.removeShadow = _this.removeShadow.bind(_assertThisInitialized(_this));
65
- _this.addShadow = _this.addShadow.bind(_assertThisInitialized(_this));
66
- return _this;
67
- }
68
-
69
- _createClass(Header, [{
70
- key: "componentDidMount",
71
- value: function componentDidMount() {
72
- if (process.env.NODE_ENV === 'development') {
73
- console.warn('DEPRECATED: The Header component will be removed soon. Use the NavTab component instead.');
74
- }
75
- }
76
- }, {
77
- key: "removeShadow",
78
- value: function removeShadow() {
79
- this.setState({
80
- shadow: false
81
- });
82
- }
83
- }, {
84
- key: "addShadow",
85
- value: function addShadow() {
86
- this.setState({
87
- shadow: true
88
- });
89
- }
90
- }, {
91
- key: "render",
92
- value: function render() {
93
- var shadow = this.state.shadow;
94
- var _this$props = this.props,
95
- classes = _this$props.classes,
96
- logo = _this$props.logo,
97
- nav = _this$props.nav,
98
- menu = _this$props.menu,
99
- title = _this$props.title,
100
- messagesIcon = _this$props.messagesIcon;
101
- return /*#__PURE__*/_react["default"].createElement("div", {
102
- id: "mainNav",
103
- className: classes.navbar
104
- }, /*#__PURE__*/_react["default"].createElement("div", {
105
- className: "".concat(classes.master, " ").concat(shadow ? classes.shadow : '')
106
- }, /*#__PURE__*/_react["default"].createElement("div", {
107
- className: classes.content
108
- }, /*#__PURE__*/_react["default"].createElement(_Hidden["default"], {
109
- xs: true
110
- }, logo), /*#__PURE__*/_react["default"].createElement(_Visible["default"], {
111
- xs: true
112
- }, /*#__PURE__*/_react["default"].createElement("div", {
113
- className: classes.title
114
- }, title)), /*#__PURE__*/_react["default"].createElement("div", {
115
- className: classes.user
116
- }, messagesIcon.hasOwnProperty('active') && messagesIcon.active && /*#__PURE__*/_react["default"].createElement("a", {
117
- id: messagesIcon.id,
118
- href: messagesIcon.href,
119
- className: classes.messages
120
- }, /*#__PURE__*/_react["default"].createElement("i", {
121
- className: classes.bubble
122
- })), menu), /*#__PURE__*/_react["default"].createElement(_Hidden["default"], {
123
- xs: true
124
- }, nav))), /*#__PURE__*/_react["default"].createElement(_Visible["default"], {
125
- xs: true
126
- }, /*#__PURE__*/_react["default"].createElement("div", {
127
- className: classes.separate
128
- }, /*#__PURE__*/_react["default"].createElement(_reactWaypoint["default"], {
129
- topOffset: 60,
130
- onEnter: this.removeShadow,
131
- onLeave: this.addShadow
132
- }, /*#__PURE__*/_react["default"].createElement("div", {
133
- className: !shadow ? classes.shadow : ''
134
- }, nav)))));
135
- }
136
- }]);
137
-
138
- return Header;
139
- }(_react["default"].Component);
140
-
141
- Header.defaultProps = {
142
- messagesIcon: {}
143
- };
144
- Header.propTypes = {
145
- classes: _propTypes["default"].object,
146
-
147
- /** Send any content as the logo of your app. */
148
- logo: _propTypes["default"].node,
149
-
150
- /** The title of the section you're in. This will be visible in mobile. */
151
- title: _propTypes["default"].string,
152
-
153
- /** Nav component with the required props. */
154
- nav: _propTypes["default"].node,
155
-
156
- /** Menu component with the required props. */
157
- menu: _propTypes["default"].node,
158
-
159
- /** Object with the properties to display the message/chat icon. To show it, pass an object with active: true, an id and the href property. */
160
- messagesIcon: _propTypes["default"].object
161
- };
162
- var _default = Header;
163
- exports["default"] = _default;
@@ -1,118 +0,0 @@
1
- "use strict";
2
-
3
- var _react = _interopRequireDefault(require("react"));
4
-
5
- var _enzyme = require("enzyme");
6
-
7
- var _Header = _interopRequireDefault(require("./Header"));
8
-
9
- var _styles = _interopRequireDefault(require("./styles"));
10
-
11
- var _index = _interopRequireDefault(require("./index"));
12
-
13
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
14
-
15
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
16
-
17
- var reduceClasses = function reduceClasses(prev, curr) {
18
- return Object.assign({}, prev, _defineProperty({}, curr, curr));
19
- };
20
-
21
- var classes = Object.keys(_styles["default"]).reduce(reduceClasses, {});
22
- describe("Header", function () {
23
- it('matches the snapshot', function () {
24
- var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_Header["default"], {
25
- classes: classes
26
- }));
27
- expect(wrapper).toMatchSnapshot();
28
- });
29
- it('shows the shadow at the right place', function () {
30
- var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_Header["default"], {
31
- classes: classes
32
- }));
33
- global.innerWidth = 500;
34
- global.dispatchEvent(new Event('resize'));
35
- wrapper.update();
36
- expect(wrapper.find('.master').hasClass('shadow')).toBe(true);
37
- expect(wrapper.find('.separate .shadow').length).toBe(0);
38
- wrapper.setState({
39
- shadow: false
40
- });
41
- expect(wrapper.find('.master').hasClass('shadow')).toBe(false);
42
- expect(wrapper.find('.separate .shadow').length).toBe(1);
43
- });
44
- it('shows and hides the logo', function () {
45
- var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_Header["default"], {
46
- classes: classes,
47
- logo: "Logo"
48
- }));
49
- global.innerWidth = 1200;
50
- global.dispatchEvent(new Event('resize'));
51
- expect(wrapper.find('.content').text()).toBe('Logo');
52
- global.innerWidth = 500;
53
- global.dispatchEvent(new Event('resize'));
54
- expect(wrapper.find('.content').text()).toBe('');
55
- });
56
- it('shows and hides the title', function () {
57
- var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_Header["default"], {
58
- classes: classes,
59
- title: "Title"
60
- }));
61
- global.innerWidth = 1200;
62
- global.dispatchEvent(new Event('resize'));
63
- expect(wrapper.find('.content').text()).toBe('');
64
- global.innerWidth = 500;
65
- global.dispatchEvent(new Event('resize'));
66
- expect(wrapper.find('.content').text()).toBe('Title');
67
- });
68
- it('renders the message icon', function () {
69
- var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_Header["default"], {
70
- classes: classes,
71
- messagesIcon: {
72
- active: true,
73
- id: 'messagesIcon',
74
- href: '#'
75
- }
76
- }));
77
- expect(wrapper.find('#messagesIcon').at(0).length).toBe(1);
78
- wrapper.setProps({
79
- messagesIcon: {}
80
- });
81
- expect(wrapper.find('#messagesIcon').at(0).length).toBe(0);
82
- });
83
- it('renders the menu', function () {
84
- var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_Header["default"], {
85
- classes: classes,
86
- menu: "Menu"
87
- }));
88
- expect(wrapper.find('.user').text()).toBe('Menu');
89
- });
90
- it('renders the nav menu', function () {
91
- var wrapper = (0, _enzyme.mount)( /*#__PURE__*/_react["default"].createElement(_Header["default"], {
92
- classes: classes,
93
- nav: "Nav"
94
- }));
95
- global.innerWidth = 1200;
96
- global.dispatchEvent(new Event('resize'));
97
- wrapper.update();
98
- expect(wrapper.find('.content').text()).toBe('Nav');
99
- expect(wrapper.find('.separate').length).toBe(0);
100
- global.innerWidth = 500;
101
- global.dispatchEvent(new Event('resize'));
102
- wrapper.update();
103
- expect(wrapper.find('.content').text()).toBe('');
104
- expect(wrapper.find('.separate').length).toBe(1);
105
- expect(wrapper.find('.separate').text()).toBe('Nav');
106
- });
107
- });
108
- describe("HeaderJSS", function () {
109
- it('matches the snapshot', function () {
110
- var wrapper = (0, _enzyme.shallow)( /*#__PURE__*/_react["default"].createElement(_index["default"], null));
111
- expect(wrapper).toMatchSnapshot();
112
- });
113
- });
114
- describe("Header styles", function () {
115
- it('matches the snapshot', function () {
116
- expect(_styles["default"]).toMatchSnapshot();
117
- });
118
- });