@atlaskit/side-navigation 1.1.2

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 (140) hide show
  1. package/CHANGELOG.md +517 -0
  2. package/LICENSE +13 -0
  3. package/README.md +16 -0
  4. package/build/tsconfig.json +17 -0
  5. package/codemods/0.8.0-change-css-fn-prop.ts +184 -0
  6. package/codemods/__tests__/0.8.0-change-css-fn-prop.ts +360 -0
  7. package/codemods/helpers/generic.ts +674 -0
  8. package/dist/cjs/common/constants.js +10 -0
  9. package/dist/cjs/common/styles.js +104 -0
  10. package/dist/cjs/components/Footer/index.js +67 -0
  11. package/dist/cjs/components/Header/index.js +73 -0
  12. package/dist/cjs/components/Item/button-item.js +47 -0
  13. package/dist/cjs/components/Item/custom-item.js +52 -0
  14. package/dist/cjs/components/Item/go-back-item.js +65 -0
  15. package/dist/cjs/components/Item/index.js +47 -0
  16. package/dist/cjs/components/Item/link-item.js +47 -0
  17. package/dist/cjs/components/Item/skeleton-item.js +43 -0
  18. package/dist/cjs/components/LoadingItems/index.js +51 -0
  19. package/dist/cjs/components/NavigationContent/index.js +52 -0
  20. package/dist/cjs/components/NavigationContent/styles.js +152 -0
  21. package/dist/cjs/components/NavigationFooter/index.js +27 -0
  22. package/dist/cjs/components/NavigationHeader/index.js +27 -0
  23. package/dist/cjs/components/NestableNavigationContent/context.js +51 -0
  24. package/dist/cjs/components/NestableNavigationContent/index.js +182 -0
  25. package/dist/cjs/components/NestableNavigationContent/nesting-motion.js +40 -0
  26. package/dist/cjs/components/NestingItem/hack-for-ert.js +8 -0
  27. package/dist/cjs/components/NestingItem/index.js +173 -0
  28. package/dist/cjs/components/NestingItem/styles.js +47 -0
  29. package/dist/cjs/components/Section/heading-item.js +35 -0
  30. package/dist/cjs/components/Section/index.js +31 -0
  31. package/dist/cjs/components/Section/section.js +45 -0
  32. package/dist/cjs/components/Section/skeleton-heading-item.js +39 -0
  33. package/dist/cjs/components/SideNavigation/index.js +41 -0
  34. package/dist/cjs/components/index.js +131 -0
  35. package/dist/cjs/index.js +131 -0
  36. package/dist/cjs/version.json +5 -0
  37. package/dist/es2019/common/constants.js +2 -0
  38. package/dist/es2019/common/styles.js +78 -0
  39. package/dist/es2019/components/Footer/index.js +52 -0
  40. package/dist/es2019/components/Header/index.js +46 -0
  41. package/dist/es2019/components/Item/button-item.js +25 -0
  42. package/dist/es2019/components/Item/custom-item.js +31 -0
  43. package/dist/es2019/components/Item/go-back-item.js +34 -0
  44. package/dist/es2019/components/Item/index.js +5 -0
  45. package/dist/es2019/components/Item/link-item.js +25 -0
  46. package/dist/es2019/components/Item/skeleton-item.js +28 -0
  47. package/dist/es2019/components/LoadingItems/index.js +38 -0
  48. package/dist/es2019/components/NavigationContent/index.js +38 -0
  49. package/dist/es2019/components/NavigationContent/styles.js +120 -0
  50. package/dist/es2019/components/NavigationFooter/index.js +18 -0
  51. package/dist/es2019/components/NavigationHeader/index.js +20 -0
  52. package/dist/es2019/components/NestableNavigationContent/context.js +41 -0
  53. package/dist/es2019/components/NestableNavigationContent/index.js +148 -0
  54. package/dist/es2019/components/NestableNavigationContent/nesting-motion.js +21 -0
  55. package/dist/es2019/components/NestingItem/hack-for-ert.js +1 -0
  56. package/dist/es2019/components/NestingItem/index.js +128 -0
  57. package/dist/es2019/components/NestingItem/styles.js +39 -0
  58. package/dist/es2019/components/Section/heading-item.js +22 -0
  59. package/dist/es2019/components/Section/index.js +3 -0
  60. package/dist/es2019/components/Section/section.js +25 -0
  61. package/dist/es2019/components/Section/skeleton-heading-item.js +24 -0
  62. package/dist/es2019/components/SideNavigation/index.js +30 -0
  63. package/dist/es2019/components/index.js +11 -0
  64. package/dist/es2019/index.js +3 -0
  65. package/dist/es2019/version.json +5 -0
  66. package/dist/esm/common/constants.js +2 -0
  67. package/dist/esm/common/styles.js +82 -0
  68. package/dist/esm/components/Footer/index.js +51 -0
  69. package/dist/esm/components/Header/index.js +50 -0
  70. package/dist/esm/components/Item/button-item.js +25 -0
  71. package/dist/esm/components/Item/custom-item.js +31 -0
  72. package/dist/esm/components/Item/go-back-item.js +41 -0
  73. package/dist/esm/components/Item/index.js +5 -0
  74. package/dist/esm/components/Item/link-item.js +25 -0
  75. package/dist/esm/components/Item/skeleton-item.js +29 -0
  76. package/dist/esm/components/LoadingItems/index.js +39 -0
  77. package/dist/esm/components/NavigationContent/index.js +37 -0
  78. package/dist/esm/components/NavigationContent/styles.js +130 -0
  79. package/dist/esm/components/NavigationFooter/index.js +17 -0
  80. package/dist/esm/components/NavigationHeader/index.js +18 -0
  81. package/dist/esm/components/NestableNavigationContent/context.js +36 -0
  82. package/dist/esm/components/NestableNavigationContent/index.js +163 -0
  83. package/dist/esm/components/NestableNavigationContent/nesting-motion.js +28 -0
  84. package/dist/esm/components/NestingItem/hack-for-ert.js +1 -0
  85. package/dist/esm/components/NestingItem/index.js +144 -0
  86. package/dist/esm/components/NestingItem/styles.js +34 -0
  87. package/dist/esm/components/Section/heading-item.js +21 -0
  88. package/dist/esm/components/Section/index.js +3 -0
  89. package/dist/esm/components/Section/section.js +24 -0
  90. package/dist/esm/components/Section/skeleton-heading-item.js +25 -0
  91. package/dist/esm/components/SideNavigation/index.js +28 -0
  92. package/dist/esm/components/index.js +11 -0
  93. package/dist/esm/index.js +3 -0
  94. package/dist/esm/version.json +5 -0
  95. package/dist/types/common/constants.d.ts +2 -0
  96. package/dist/types/common/styles.d.ts +10 -0
  97. package/dist/types/components/Footer/index.d.ts +4 -0
  98. package/dist/types/components/Header/index.d.ts +43 -0
  99. package/dist/types/components/Item/button-item.d.ts +5 -0
  100. package/dist/types/components/Item/custom-item.d.ts +13 -0
  101. package/dist/types/components/Item/go-back-item.d.ts +5 -0
  102. package/dist/types/components/Item/index.d.ts +10 -0
  103. package/dist/types/components/Item/link-item.d.ts +5 -0
  104. package/dist/types/components/Item/skeleton-item.d.ts +4 -0
  105. package/dist/types/components/LoadingItems/index.d.ts +30 -0
  106. package/dist/types/components/NavigationContent/index.d.ts +17 -0
  107. package/dist/types/components/NavigationContent/styles.d.ts +91 -0
  108. package/dist/types/components/NavigationFooter/index.d.ts +7 -0
  109. package/dist/types/components/NavigationHeader/index.d.ts +5 -0
  110. package/dist/types/components/NestableNavigationContent/context.d.ts +20 -0
  111. package/dist/types/components/NestableNavigationContent/index.d.ts +58 -0
  112. package/dist/types/components/NestableNavigationContent/nesting-motion.d.ts +18 -0
  113. package/dist/types/components/NestingItem/hack-for-ert.d.ts +2 -0
  114. package/dist/types/components/NestingItem/index.d.ts +91 -0
  115. package/dist/types/components/NestingItem/styles.d.ts +28 -0
  116. package/dist/types/components/Section/heading-item.d.ts +4 -0
  117. package/dist/types/components/Section/index.d.ts +6 -0
  118. package/dist/types/components/Section/section.d.ts +25 -0
  119. package/dist/types/components/Section/skeleton-heading-item.d.ts +4 -0
  120. package/dist/types/components/SideNavigation/index.d.ts +23 -0
  121. package/dist/types/components/index.d.ts +22 -0
  122. package/dist/types/index.d.ts +4 -0
  123. package/docs/00-intro.tsx +70 -0
  124. package/docs/01-side-navigation.tsx +33 -0
  125. package/docs/02-navigation-header.tsx +39 -0
  126. package/docs/03-navigation-content.tsx +40 -0
  127. package/docs/04-nestable-navigation-content.tsx +95 -0
  128. package/docs/05-navigation-footer.tsx +38 -0
  129. package/docs/99-loading-states.tsx +95 -0
  130. package/docs/button-item.tsx +38 -0
  131. package/docs/custom-item.tsx +45 -0
  132. package/docs/go-back-item.tsx +31 -0
  133. package/docs/heading-item.tsx +30 -0
  134. package/docs/link-item.tsx +39 -0
  135. package/docs/nesting-item.tsx +52 -0
  136. package/docs/section.tsx +40 -0
  137. package/docs/skeleton-heading-item.tsx +30 -0
  138. package/docs/skeleton-item.tsx +30 -0
  139. package/package.json +71 -0
  140. package/tsconfig.json +15 -0
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.VAR_SCROLL_INDICATOR_COLOR = exports.VAR_SEPARATOR_COLOR = void 0;
7
+ var VAR_SEPARATOR_COLOR = '--ds-menu-seperator-color';
8
+ exports.VAR_SEPARATOR_COLOR = VAR_SEPARATOR_COLOR;
9
+ var VAR_SCROLL_INDICATOR_COLOR = '--ds-menu-scroll-indicator-color';
10
+ exports.VAR_SCROLL_INDICATOR_COLOR = VAR_SCROLL_INDICATOR_COLOR;
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.sectionHeaderStyle = exports.baseSideNavItemStyle = exports.overrideStyleFunction = exports.ITEM_SIDE_PADDING = void 0;
9
+
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ var _colors = require("@atlaskit/theme/colors");
13
+
14
+ var _constants = require("@atlaskit/theme/constants");
15
+
16
+ var _tokens = require("@atlaskit/tokens");
17
+
18
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
19
+
20
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
21
+
22
+ var gridSize = (0, _constants.gridSize)();
23
+ var borderRadius = (0, _constants.borderRadius)();
24
+ var itemIconSize = gridSize * 3;
25
+ var leftIconRightSpacing = gridSize * 2;
26
+ var ITEM_SIDE_PADDING = gridSize * 1.25;
27
+ /**
28
+ * Allows chaining of style functions on top of base style functions
29
+ * @param baseStyle the base custom cssFn
30
+ * @param newStyle a new cssFn to be applied after the base style
31
+ */
32
+
33
+ exports.ITEM_SIDE_PADDING = ITEM_SIDE_PADDING;
34
+
35
+ var overrideStyleFunction = function overrideStyleFunction(baseStyle) {
36
+ var newStyle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : function () {
37
+ return {};
38
+ };
39
+ return function (state) {
40
+ return [baseStyle(state), newStyle(state)];
41
+ };
42
+ };
43
+
44
+ exports.overrideStyleFunction = overrideStyleFunction;
45
+ var defaultStyles = {
46
+ '&:hover': {
47
+ color: (0, _tokens.token)('color.text.mediumEmphasis', _colors.N500),
48
+ backgroundColor: (0, _tokens.token)('color.background.transparentNeutral.hover', _colors.N30)
49
+ },
50
+ '&:active': {
51
+ color: (0, _tokens.token)('color.text.mediumEmphasis', _colors.B400),
52
+ backgroundColor: (0, _tokens.token)('color.background.transparentNeutral.pressed', _colors.B50)
53
+ }
54
+ };
55
+ var selectedStyles = {
56
+ backgroundColor: (0, _tokens.token)('color.background.selected.resting', _colors.N30),
57
+ color: (0, _tokens.token)('color.text.selected', _colors.B400),
58
+ ':visited': {
59
+ color: (0, _tokens.token)('color.text.selected', _colors.B400)
60
+ },
61
+ '&:hover': {
62
+ backgroundColor: (0, _tokens.token)('color.background.selected.hover', _colors.N30),
63
+ color: (0, _tokens.token)('color.text.selected', _colors.N500)
64
+ },
65
+ '&:active': {
66
+ backgroundColor: (0, _tokens.token)('color.background.selected.pressed', _colors.B50),
67
+ color: (0, _tokens.token)('color.text.selected', _colors.B400)
68
+ }
69
+ };
70
+
71
+ var baseSideNavItemStyle = function baseSideNavItemStyle(_ref) {
72
+ var isSelected = _ref.isSelected,
73
+ isDisabled = _ref.isDisabled;
74
+ return _objectSpread(_objectSpread(_objectSpread({
75
+ // This padding is set to ensure that the center of the left icon
76
+ // is approximately center aligned with the horizontal app switcher.
77
+ padding: "".concat(gridSize, "px ").concat(ITEM_SIDE_PADDING, "px"),
78
+ borderRadius: borderRadius,
79
+ // -- TODO: DELETE THESE COLOR OVERRIDES WHEN CLEANING UP FALLBACK THEMING --
80
+ // Menu and side navigation are now color aligned so they do not need this!
81
+ // See: https://product-fabric.atlassian.net/browse/DSP-1684
82
+ backgroundColor: (0, _tokens.token)('color.background.default', _colors.N10)
83
+ }, !isDisabled && !isSelected && defaultStyles), !isDisabled && isSelected && selectedStyles), {}, (0, _defineProperty2.default)({}, '& [data-item-elem-before]', {
84
+ // TODO: Can this be moved into menu?
85
+ // center align icons with app-switcher regardless of size
86
+ display: 'flex',
87
+ height: itemIconSize,
88
+ width: itemIconSize,
89
+ alignItems: 'center',
90
+ justifyContent: 'center',
91
+ marginRight: leftIconRightSpacing
92
+ }));
93
+ };
94
+
95
+ exports.baseSideNavItemStyle = baseSideNavItemStyle;
96
+
97
+ var sectionHeaderStyle = function sectionHeaderStyle() {
98
+ return {
99
+ paddingLeft: "".concat(ITEM_SIDE_PADDING, "px"),
100
+ paddingRight: "".concat(ITEM_SIDE_PADDING, "px")
101
+ };
102
+ };
103
+
104
+ exports.sectionHeaderStyle = sectionHeaderStyle;
@@ -0,0 +1,67 @@
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 _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
14
+ var _react = _interopRequireDefault(require("react"));
15
+
16
+ var _colors = require("@atlaskit/theme/colors");
17
+
18
+ var _tokens = require("@atlaskit/tokens");
19
+
20
+ var _styles = require("../../common/styles");
21
+
22
+ var _Item = require("../Item");
23
+
24
+ var Container = function Container(props) {
25
+ return /*#__PURE__*/_react.default.createElement("div", props);
26
+ };
27
+
28
+ var Footer = function Footer(props) {
29
+ var cssFn = (0, _styles.overrideStyleFunction)(function () {
30
+ var _ref;
31
+
32
+ return _ref = {
33
+ userSelect: 'auto',
34
+ div: {
35
+ display: 'block',
36
+ textAlign: 'center',
37
+ minHeight: '24px',
38
+ alignItems: 'center',
39
+ width: '100%'
40
+ }
41
+ }, (0, _defineProperty2.default)(_ref, '[data-item-elem-before]', {
42
+ marginRight: 0,
43
+ marginBottom: '8px',
44
+ display: 'inline-block'
45
+ }), (0, _defineProperty2.default)(_ref, '[data-item-title]', {
46
+ textAlign: 'center',
47
+ fontSize: 12
48
+ }), (0, _defineProperty2.default)(_ref, '[data-item-description]', {
49
+ textAlign: 'center',
50
+ display: 'inline-block',
51
+ margin: '6px'
52
+ }), (0, _defineProperty2.default)(_ref, 'div&:hover', {
53
+ backgroundColor: 'transparent',
54
+ cursor: 'default'
55
+ }), (0, _defineProperty2.default)(_ref, 'div&:active', {
56
+ backgroundColor: 'transparent',
57
+ color: (0, _tokens.token)('color.text.mediumEmphasis', _colors.N500)
58
+ }), _ref;
59
+ }, props.cssFn);
60
+ return /*#__PURE__*/_react.default.createElement(_Item.CustomItem, (0, _extends2.default)({}, props, {
61
+ component: props.component || Container,
62
+ cssFn: cssFn
63
+ }));
64
+ };
65
+
66
+ var _default = Footer;
67
+ exports.default = _default;
@@ -0,0 +1,73 @@
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 = 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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
+
18
+ var _react = _interopRequireWildcard(require("react"));
19
+
20
+ var _colors = require("@atlaskit/theme/colors");
21
+
22
+ var _typography = require("@atlaskit/theme/typography");
23
+
24
+ var _tokens = require("@atlaskit/tokens");
25
+
26
+ var _styles = require("../../common/styles");
27
+
28
+ var _Item = require("../Item");
29
+
30
+ 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); }
31
+
32
+ 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; }
33
+
34
+ var Container = function Container(props) {
35
+ return /*#__PURE__*/_react.default.createElement("div", props);
36
+ };
37
+
38
+ var Header = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
39
+ var cssFn = (0, _styles.overrideStyleFunction)(function () {
40
+ var _ref;
41
+
42
+ return _ref = {
43
+ userSelect: 'auto'
44
+ }, (0, _defineProperty2.default)(_ref, '[data-item-title]', {
45
+ fontSize: _typography.headingSizes.h400.size,
46
+ letterSpacing: '-0.003em',
47
+ fontWeight: 600,
48
+ color: (0, _tokens.token)('color.text.highEmphasis', _colors.N500)
49
+ }), (0, _defineProperty2.default)(_ref, 'div&:hover', {
50
+ backgroundColor: 'transparent',
51
+ cursor: 'default'
52
+ }), (0, _defineProperty2.default)(_ref, 'div&:active', {
53
+ backgroundColor: 'transparent',
54
+ color: (0, _tokens.token)('color.text.highEmphasis', _colors.N500)
55
+ }), _ref;
56
+ }, props.cssFn);
57
+ return /*#__PURE__*/_react.default.createElement(_Item.CustomItem, (0, _extends2.default)({}, props, {
58
+ ref: ref,
59
+ component: props.component || Container,
60
+ cssFn: cssFn,
61
+ overrides: {
62
+ Title: {
63
+ render: function render(_, _ref2) {
64
+ var children = _ref2.children,
65
+ props = (0, _objectWithoutProperties2.default)(_ref2, ["children"]);
66
+ return /*#__PURE__*/_react.default.createElement("h2", props, children);
67
+ }
68
+ }
69
+ }
70
+ }));
71
+ });
72
+ var _default = Header;
73
+ exports.default = _default;
@@ -0,0 +1,47 @@
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 = 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 _menu = require("@atlaskit/menu");
19
+
20
+ var _styles = require("../../common/styles");
21
+
22
+ var _context = require("../NestableNavigationContent/context");
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 ButtonItem = /*#__PURE__*/(0, _react.forwardRef)( // Type needed on props to extract types with extract react types.
29
+ function (_ref, ref) {
30
+ var cssFn = _ref.cssFn,
31
+ rest = (0, _objectWithoutProperties2.default)(_ref, ["cssFn"]);
32
+
33
+ var _useShouldNestedEleme = (0, _context.useShouldNestedElementRender)(),
34
+ shouldRender = _useShouldNestedEleme.shouldRender;
35
+
36
+ if (!shouldRender) {
37
+ return null;
38
+ }
39
+
40
+ var cssOverride = (0, _styles.overrideStyleFunction)(_styles.baseSideNavItemStyle, cssFn);
41
+ return /*#__PURE__*/_react.default.createElement(_menu.ButtonItem, (0, _extends2.default)({
42
+ ref: ref,
43
+ cssFn: cssOverride
44
+ }, rest));
45
+ });
46
+ var _default = ButtonItem;
47
+ exports.default = _default;
@@ -0,0 +1,52 @@
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 = 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 _menu = require("@atlaskit/menu");
19
+
20
+ var _styles = require("../../common/styles");
21
+
22
+ var _context = require("../NestableNavigationContent/context");
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
+ /**
29
+ * Used to support any custom items needed by products alongside the Header and Footer patterns.
30
+ * Specific implementation of headers and footers are provided in the examples folder.
31
+ */
32
+ var CustomItem = /*#__PURE__*/(0, _react.forwardRef)( // Type needed on props to extract types with extract react types.
33
+ function (_ref, ref) {
34
+ var cssFn = _ref.cssFn,
35
+ rest = (0, _objectWithoutProperties2.default)(_ref, ["cssFn"]);
36
+
37
+ var _useShouldNestedEleme = (0, _context.useShouldNestedElementRender)(),
38
+ shouldRender = _useShouldNestedEleme.shouldRender;
39
+
40
+ if (!shouldRender) {
41
+ return null;
42
+ }
43
+
44
+ var cssOverride = (0, _styles.overrideStyleFunction)(_styles.baseSideNavItemStyle, cssFn);
45
+ return /*#__PURE__*/_react.default.createElement(_menu.CustomItem, (0, _extends2.default)({
46
+ ref: ref,
47
+ cssFn: cssOverride
48
+ }, rest));
49
+ } // Dirty hack to get generics working with forward ref [2/2]
50
+ );
51
+ var _default = CustomItem;
52
+ exports.default = _default;
@@ -0,0 +1,65 @@
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 = void 0;
11
+
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+
16
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
17
+
18
+ var _react = _interopRequireWildcard(require("react"));
19
+
20
+ var _arrowLeftCircle = _interopRequireDefault(require("@atlaskit/icon/glyph/arrow-left-circle"));
21
+
22
+ var _colors = require("@atlaskit/theme/colors");
23
+
24
+ var _tokens = require("@atlaskit/tokens");
25
+
26
+ var _buttonItem = _interopRequireDefault(require("./button-item"));
27
+
28
+ 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); }
29
+
30
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
+
32
+ var GoBackItem = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
33
+ var cssFn = _ref.cssFn,
34
+ _ref$iconBefore = _ref.iconBefore,
35
+ iconBefore = _ref$iconBefore === void 0 ? /*#__PURE__*/_react.default.createElement(_arrowLeftCircle.default, {
36
+ secondaryColor: (0, _tokens.token)('color.background.default', _colors.N10),
37
+ label: ""
38
+ }) : _ref$iconBefore,
39
+ onClick = _ref.onClick,
40
+ isSelected = _ref.isSelected,
41
+ rest = (0, _objectWithoutProperties2.default)(_ref, ["cssFn", "iconBefore", "onClick", "isSelected"]);
42
+
43
+ var _useState = (0, _react.useState)(false),
44
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
45
+ isInteracted = _useState2[0],
46
+ setIsInteracted = _useState2[1];
47
+
48
+ var onClickHandler = (0, _react.useCallback)(function (e) {
49
+ if (isInteracted) {
50
+ return;
51
+ }
52
+
53
+ setIsInteracted(true);
54
+ onClick && onClick(e);
55
+ }, [onClick, isInteracted]);
56
+ return /*#__PURE__*/_react.default.createElement(_buttonItem.default, (0, _extends2.default)({
57
+ isSelected: isSelected || isInteracted,
58
+ cssFn: cssFn,
59
+ iconBefore: iconBefore,
60
+ onClick: onClickHandler,
61
+ ref: ref
62
+ }, rest));
63
+ });
64
+ var _default = GoBackItem;
65
+ exports.default = _default;
@@ -0,0 +1,47 @@
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, "ButtonItem", {
9
+ enumerable: true,
10
+ get: function get() {
11
+ return _buttonItem.default;
12
+ }
13
+ });
14
+ Object.defineProperty(exports, "CustomItem", {
15
+ enumerable: true,
16
+ get: function get() {
17
+ return _customItem.default;
18
+ }
19
+ });
20
+ Object.defineProperty(exports, "GoBackItem", {
21
+ enumerable: true,
22
+ get: function get() {
23
+ return _goBackItem.default;
24
+ }
25
+ });
26
+ Object.defineProperty(exports, "LinkItem", {
27
+ enumerable: true,
28
+ get: function get() {
29
+ return _linkItem.default;
30
+ }
31
+ });
32
+ Object.defineProperty(exports, "SkeletonItem", {
33
+ enumerable: true,
34
+ get: function get() {
35
+ return _skeletonItem.default;
36
+ }
37
+ });
38
+
39
+ var _buttonItem = _interopRequireDefault(require("./button-item"));
40
+
41
+ var _customItem = _interopRequireDefault(require("./custom-item"));
42
+
43
+ var _goBackItem = _interopRequireDefault(require("./go-back-item"));
44
+
45
+ var _linkItem = _interopRequireDefault(require("./link-item"));
46
+
47
+ var _skeletonItem = _interopRequireDefault(require("./skeleton-item"));