@instructure/ui-top-nav-bar 10.26.1-snapshot-2 → 10.26.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 (107) hide show
  1. package/CHANGELOG.md +5 -18
  2. package/es/TopNavBar/TopNavBarActionItems/index.js +5 -5
  3. package/es/TopNavBar/TopNavBarActionItems/props.js +12 -1
  4. package/es/TopNavBar/TopNavBarBrand/index.js +5 -5
  5. package/es/TopNavBar/TopNavBarBrand/props.js +11 -1
  6. package/es/TopNavBar/TopNavBarBreadcrumb/index.js +5 -6
  7. package/es/TopNavBar/TopNavBarBreadcrumb/props.js +9 -1
  8. package/es/TopNavBar/TopNavBarItem/index.js +6 -6
  9. package/es/TopNavBar/TopNavBarItem/props.js +44 -1
  10. package/es/TopNavBar/TopNavBarLayout/DesktopLayout/index.js +5 -5
  11. package/es/TopNavBar/TopNavBarLayout/DesktopLayout/props.js +7 -2
  12. package/es/TopNavBar/TopNavBarLayout/SmallViewportLayout/index.js +5 -5
  13. package/es/TopNavBar/TopNavBarLayout/SmallViewportLayout/props.js +7 -2
  14. package/es/TopNavBar/TopNavBarLayout/index.js +6 -5
  15. package/es/TopNavBar/TopNavBarLayout/props.js +45 -1
  16. package/es/TopNavBar/TopNavBarMenuItems/index.js +7 -8
  17. package/es/TopNavBar/TopNavBarMenuItems/props.js +11 -1
  18. package/es/TopNavBar/TopNavBarUser/index.js +5 -5
  19. package/es/TopNavBar/TopNavBarUser/props.js +8 -1
  20. package/es/TopNavBar/index.js +6 -18
  21. package/es/TopNavBar/props.js +9 -1
  22. package/es/TopNavBar/utils/mapItemsForDrilldown.js +1 -2
  23. package/lib/TopNavBar/TopNavBarActionItems/index.js +4 -4
  24. package/lib/TopNavBar/TopNavBarActionItems/props.js +13 -1
  25. package/lib/TopNavBar/TopNavBarBrand/index.js +4 -4
  26. package/lib/TopNavBar/TopNavBarBrand/props.js +12 -1
  27. package/lib/TopNavBar/TopNavBarBreadcrumb/index.js +4 -5
  28. package/lib/TopNavBar/TopNavBarBreadcrumb/props.js +10 -1
  29. package/lib/TopNavBar/TopNavBarItem/index.js +5 -5
  30. package/lib/TopNavBar/TopNavBarItem/props.js +45 -1
  31. package/lib/TopNavBar/TopNavBarLayout/DesktopLayout/index.js +4 -4
  32. package/lib/TopNavBar/TopNavBarLayout/DesktopLayout/props.js +6 -1
  33. package/lib/TopNavBar/TopNavBarLayout/SmallViewportLayout/index.js +4 -4
  34. package/lib/TopNavBar/TopNavBarLayout/SmallViewportLayout/props.js +6 -1
  35. package/lib/TopNavBar/TopNavBarLayout/index.js +5 -4
  36. package/lib/TopNavBar/TopNavBarLayout/props.js +47 -1
  37. package/lib/TopNavBar/TopNavBarMenuItems/index.js +6 -7
  38. package/lib/TopNavBar/TopNavBarMenuItems/props.js +12 -1
  39. package/lib/TopNavBar/TopNavBarUser/index.js +4 -4
  40. package/lib/TopNavBar/TopNavBarUser/props.js +9 -1
  41. package/lib/TopNavBar/index.js +5 -19
  42. package/lib/TopNavBar/props.js +10 -1
  43. package/lib/TopNavBar/utils/mapItemsForDrilldown.js +1 -2
  44. package/package.json +31 -28
  45. package/src/TopNavBar/TopNavBarActionItems/index.tsx +8 -2
  46. package/src/TopNavBar/TopNavBarActionItems/props.ts +22 -1
  47. package/src/TopNavBar/TopNavBarBrand/index.tsx +5 -6
  48. package/src/TopNavBar/TopNavBarBrand/props.ts +16 -1
  49. package/src/TopNavBar/TopNavBarBreadcrumb/index.tsx +9 -13
  50. package/src/TopNavBar/TopNavBarBreadcrumb/props.ts +15 -3
  51. package/src/TopNavBar/TopNavBarItem/index.tsx +5 -6
  52. package/src/TopNavBar/TopNavBarItem/props.ts +51 -1
  53. package/src/TopNavBar/TopNavBarLayout/DesktopLayout/index.tsx +4 -2
  54. package/src/TopNavBar/TopNavBarLayout/DesktopLayout/props.ts +19 -3
  55. package/src/TopNavBar/TopNavBarLayout/SmallViewportLayout/index.tsx +4 -2
  56. package/src/TopNavBar/TopNavBarLayout/SmallViewportLayout/props.ts +18 -3
  57. package/src/TopNavBar/TopNavBarLayout/index.tsx +5 -1
  58. package/src/TopNavBar/TopNavBarLayout/props.ts +60 -1
  59. package/src/TopNavBar/TopNavBarMenuItems/index.tsx +5 -10
  60. package/src/TopNavBar/TopNavBarMenuItems/props.ts +19 -1
  61. package/src/TopNavBar/TopNavBarUser/index.tsx +4 -2
  62. package/src/TopNavBar/TopNavBarUser/props.ts +14 -1
  63. package/src/TopNavBar/index.tsx +4 -2
  64. package/src/TopNavBar/props.ts +17 -2
  65. package/src/TopNavBar/utils/mapItemsForDrilldown.tsx +1 -1
  66. package/tsconfig.build.json +3 -1
  67. package/tsconfig.build.tsbuildinfo +1 -1
  68. package/types/TopNavBar/TopNavBarActionItems/index.d.ts +1 -0
  69. package/types/TopNavBar/TopNavBarActionItems/index.d.ts.map +1 -1
  70. package/types/TopNavBar/TopNavBarActionItems/props.d.ts +3 -2
  71. package/types/TopNavBar/TopNavBarActionItems/props.d.ts.map +1 -1
  72. package/types/TopNavBar/TopNavBarBrand/index.d.ts +1 -0
  73. package/types/TopNavBar/TopNavBarBrand/index.d.ts.map +1 -1
  74. package/types/TopNavBar/TopNavBarBrand/props.d.ts +3 -2
  75. package/types/TopNavBar/TopNavBarBrand/props.d.ts.map +1 -1
  76. package/types/TopNavBar/TopNavBarBreadcrumb/index.d.ts +5 -0
  77. package/types/TopNavBar/TopNavBarBreadcrumb/index.d.ts.map +1 -1
  78. package/types/TopNavBar/TopNavBarBreadcrumb/props.d.ts +3 -2
  79. package/types/TopNavBar/TopNavBarBreadcrumb/props.d.ts.map +1 -1
  80. package/types/TopNavBar/TopNavBarItem/index.d.ts +1 -0
  81. package/types/TopNavBar/TopNavBarItem/index.d.ts.map +1 -1
  82. package/types/TopNavBar/TopNavBarItem/props.d.ts +13 -2
  83. package/types/TopNavBar/TopNavBarItem/props.d.ts.map +1 -1
  84. package/types/TopNavBar/TopNavBarLayout/DesktopLayout/index.d.ts +1 -0
  85. package/types/TopNavBar/TopNavBarLayout/DesktopLayout/index.d.ts.map +1 -1
  86. package/types/TopNavBar/TopNavBarLayout/DesktopLayout/props.d.ts +3 -2
  87. package/types/TopNavBar/TopNavBarLayout/DesktopLayout/props.d.ts.map +1 -1
  88. package/types/TopNavBar/TopNavBarLayout/SmallViewportLayout/index.d.ts +1 -0
  89. package/types/TopNavBar/TopNavBarLayout/SmallViewportLayout/index.d.ts.map +1 -1
  90. package/types/TopNavBar/TopNavBarLayout/SmallViewportLayout/props.d.ts +3 -2
  91. package/types/TopNavBar/TopNavBarLayout/SmallViewportLayout/props.d.ts.map +1 -1
  92. package/types/TopNavBar/TopNavBarLayout/index.d.ts +1 -0
  93. package/types/TopNavBar/TopNavBarLayout/index.d.ts.map +1 -1
  94. package/types/TopNavBar/TopNavBarLayout/props.d.ts +6 -2
  95. package/types/TopNavBar/TopNavBarLayout/props.d.ts.map +1 -1
  96. package/types/TopNavBar/TopNavBarMenuItems/index.d.ts +1 -0
  97. package/types/TopNavBar/TopNavBarMenuItems/index.d.ts.map +1 -1
  98. package/types/TopNavBar/TopNavBarMenuItems/props.d.ts +3 -2
  99. package/types/TopNavBar/TopNavBarMenuItems/props.d.ts.map +1 -1
  100. package/types/TopNavBar/TopNavBarUser/index.d.ts +1 -0
  101. package/types/TopNavBar/TopNavBarUser/index.d.ts.map +1 -1
  102. package/types/TopNavBar/TopNavBarUser/props.d.ts +3 -2
  103. package/types/TopNavBar/TopNavBarUser/props.d.ts.map +1 -1
  104. package/types/TopNavBar/index.d.ts +1 -0
  105. package/types/TopNavBar/index.d.ts.map +1 -1
  106. package/types/TopNavBar/props.d.ts +3 -2
  107. package/types/TopNavBar/props.d.ts.map +1 -1
@@ -1,9 +1,19 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
- exports.smallViewportAllowedProps = exports.desktopAllowedProps = exports.commonAllowedProps = exports.allowedProps = void 0;
7
+ exports.smallViewportPropTypes = exports.smallViewportAllowedProps = exports.propTypes = exports.desktopPropTypes = exports.desktopAllowedProps = exports.commonPropTypes = exports.commonAllowedProps = exports.allowedProps = void 0;
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _Children = require("@instructure/ui-prop-types/lib/Children.js");
10
+ var _element = require("@instructure/ui-prop-types/lib/element.js");
11
+ var _TopNavBarActionItems = require("../TopNavBarActionItems");
12
+ var _TopNavBarBrand = require("../TopNavBarBrand");
13
+ var _TopNavBarMenuItems = require("../TopNavBarMenuItems");
14
+ var _TopNavBarUser = require("../TopNavBarUser");
15
+ var _props = require("../TopNavBarItem/props");
16
+ var _TopNavBarBreadcrumb = require("../TopNavBarBreadcrumb");
7
17
  /*
8
18
  * The MIT License (MIT)
9
19
  *
@@ -28,6 +38,42 @@ exports.smallViewportAllowedProps = exports.desktopAllowedProps = exports.common
28
38
  * SOFTWARE.
29
39
  */
30
40
 
41
+ const commonPropTypes = exports.commonPropTypes = {
42
+ renderBrand: _Children.Children.oneOf([_TopNavBarBrand.TopNavBarBrand]),
43
+ renderMenuItems: _Children.Children.oneOf([_TopNavBarMenuItems.TopNavBarMenuItems]),
44
+ renderActionItems: _Children.Children.oneOf([_TopNavBarActionItems.TopNavBarActionItems]),
45
+ renderUser: _Children.Children.oneOf([_TopNavBarUser.TopNavBarUser]),
46
+ renderBreadcrumb: _Children.Children.oneOf([_TopNavBarBreadcrumb.TopNavBarBreadcrumb]),
47
+ navLabel: _propTypes.default.string,
48
+ elementRef: _propTypes.default.func
49
+ };
50
+ const desktopPropTypes = exports.desktopPropTypes = {
51
+ hideActionsUserSeparator: _propTypes.default.bool
52
+ };
53
+ const smallViewportPropTypes = exports.smallViewportPropTypes = {
54
+ dropdownMenuToggleButtonLabel: _propTypes.default.string.isRequired,
55
+ dropdownMenuToggleButtonTooltip: _props.topNavBarItemTooltipPropType,
56
+ dropdownMenuLabel: _propTypes.default.string,
57
+ alternativeTitle: _propTypes.default.node,
58
+ renderInPlaceDialogConfig: _propTypes.default.shape({
59
+ open: _propTypes.default.bool.isRequired,
60
+ onClose: _propTypes.default.func.isRequired,
61
+ closeButtonLabel: _propTypes.default.string.isRequired,
62
+ content: _propTypes.default.oneOfType([_propTypes.default.node, _propTypes.default.func]),
63
+ returnFocusElement: _propTypes.default.func,
64
+ shouldContainFocus: _propTypes.default.bool,
65
+ shouldCloseOnDocumentClick: _propTypes.default.bool,
66
+ shouldCloseOnEscape: _propTypes.default.bool
67
+ }),
68
+ trayMountNode: _propTypes.default.oneOfType([_element.element, _propTypes.default.func]),
69
+ onDropdownMenuToggle: _propTypes.default.func,
70
+ onDropdownMenuSelect: _propTypes.default.func,
71
+ renderNavbarStartDangerousHack: _propTypes.default.node
72
+ };
73
+ const propTypes = exports.propTypes = {
74
+ ...commonPropTypes,
75
+ smallViewportConfig: _propTypes.default.shape(smallViewportPropTypes).isRequired
76
+ };
31
77
  const commonAllowedProps = exports.commonAllowedProps = ['renderBrand', 'renderMenuItems', 'renderActionItems', 'renderUser', 'renderBreadcrumb', 'navLabel', 'elementRef'];
32
78
  const desktopAllowedProps = exports.desktopAllowedProps = ['hideActionsUserSeparator'];
33
79
  const smallViewportAllowedProps = exports.smallViewportAllowedProps = ['dropdownMenuToggleButtonLabel', 'dropdownMenuToggleButtonTooltip', 'dropdownMenuLabel', 'alternativeTitle', 'renderInPlaceDialogConfig', 'trayMountNode', 'onDropdownMenuToggle', 'onDropdownMenuSelect'];
@@ -10,6 +10,7 @@ var _omitProps = require("@instructure/ui-react-utils/lib/omitProps.js");
10
10
  var _safeCloneElement = require("@instructure/ui-react-utils/lib/safeCloneElement.js");
11
11
  var _withDeterministicId = require("@instructure/ui-react-utils/lib/DeterministicIdContext/withDeterministicId.js");
12
12
  var _console = require("@instructure/console");
13
+ var _testable = require("@instructure/ui-testable/lib/testable.js");
13
14
  var _emotion = require("@instructure/emotion");
14
15
  var _Drilldown = require("@instructure/ui-drilldown/lib/Drilldown");
15
16
  var _TruncateList = require("@instructure/ui-truncate-list/lib/TruncateList");
@@ -21,7 +22,7 @@ var _theme = _interopRequireDefault(require("./theme"));
21
22
  var _props = require("./props");
22
23
  var _jsxRuntime = require("@emotion/react/jsx-runtime");
23
24
  var _react2 = require("@emotion/react");
24
- var _dec, _dec2, _class, _TopNavBarMenuItems, _span;
25
+ var _dec, _dec2, _dec3, _class, _TopNavBarMenuItems, _span;
25
26
  /*
26
27
  * The MIT License (MIT)
27
28
  *
@@ -52,7 +53,7 @@ id: TopNavBar.MenuItems
52
53
  ---
53
54
  @module TopNavBarMenuItems
54
55
  **/
55
- let TopNavBarMenuItems = exports.TopNavBarMenuItems = (_dec = (0, _withDeterministicId.withDeterministicId)(), _dec2 = (0, _emotion.withStyle)(_styles.default, _theme.default), _dec(_class = _dec2(_class = (_TopNavBarMenuItems = class TopNavBarMenuItems extends _react.Component {
56
+ let TopNavBarMenuItems = exports.TopNavBarMenuItems = (_dec = (0, _withDeterministicId.withDeterministicId)(), _dec2 = (0, _emotion.withStyle)(_styles.default, _theme.default), _dec3 = (0, _testable.testable)(), _dec(_class = _dec2(_class = _dec3(_class = (_TopNavBarMenuItems = class TopNavBarMenuItems extends _react.Component {
56
57
  constructor(props) {
57
58
  super(props);
58
59
  this._hiddenMenuItemsMenuTriggerId = void 0;
@@ -132,8 +133,7 @@ let TopNavBarMenuItems = exports.TopNavBarMenuItems = (_dec = (0, _withDetermini
132
133
  const _child$props = child.props,
133
134
  id = _child$props.id,
134
135
  status = _child$props.status,
135
- _child$props$variant = _child$props.variant,
136
- variant = _child$props$variant === void 0 ? 'default' : _child$props$variant,
136
+ variant = _child$props.variant,
137
137
  renderSubmenu = _child$props.renderSubmenu,
138
138
  renderAvatar = _child$props.renderAvatar;
139
139
  const isCurrentPage = currentPageId === id;
@@ -190,9 +190,8 @@ let TopNavBarMenuItems = exports.TopNavBarMenuItems = (_dec = (0, _withDetermini
190
190
  ...((styles === null || styles === void 0 ? void 0 : styles.itemSpacing) && {
191
191
  itemSpacing: styles.itemSpacing
192
192
  }),
193
- "aria-label": listLabel,
194
- "data-cid": "TopNavBarMenuItems"
193
+ "aria-label": listLabel
195
194
  }, this.renderChildren());
196
195
  }
197
- }, _TopNavBarMenuItems.displayName = "TopNavBarMenuItems", _TopNavBarMenuItems.componentId = 'TopNavBar.MenuItems', _TopNavBarMenuItems.allowedProps = _props.allowedProps, _TopNavBarMenuItems.defaultProps = {}, _TopNavBarMenuItems.contextType = _TopNavBarContext.TopNavBarContext, _TopNavBarMenuItems)) || _class) || _class);
196
+ }, _TopNavBarMenuItems.displayName = "TopNavBarMenuItems", _TopNavBarMenuItems.componentId = 'TopNavBar.MenuItems', _TopNavBarMenuItems.propTypes = _props.propTypes, _TopNavBarMenuItems.allowedProps = _props.allowedProps, _TopNavBarMenuItems.defaultProps = {}, _TopNavBarMenuItems.contextType = _TopNavBarContext.TopNavBarContext, _TopNavBarMenuItems)) || _class) || _class) || _class);
198
197
  var _default = exports.default = TopNavBarMenuItems;
@@ -1,9 +1,13 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
- exports.allowedProps = void 0;
7
+ exports.propTypes = exports.allowedProps = void 0;
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _Children = require("@instructure/ui-prop-types/lib/Children.js");
10
+ var _TopNavBarItem = require("../TopNavBarItem");
7
11
  /*
8
12
  * The MIT License (MIT)
9
13
  *
@@ -28,4 +32,11 @@ exports.allowedProps = void 0;
28
32
  * SOFTWARE.
29
33
  */
30
34
 
35
+ const propTypes = exports.propTypes = {
36
+ children: _Children.Children.oneOf([_TopNavBarItem.TopNavBarItem]),
37
+ currentPageId: _propTypes.default.string,
38
+ renderHiddenItemsMenuTriggerLabel: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.string]).isRequired,
39
+ listLabel: _propTypes.default.string,
40
+ elementRef: _propTypes.default.func
41
+ };
31
42
  const allowedProps = exports.allowedProps = ['children', 'currentPageId', 'renderHiddenItemsMenuTriggerLabel', 'listLabel', 'elementRef'];
@@ -8,12 +8,13 @@ exports.default = exports.TopNavBarUser = void 0;
8
8
  var _react = require("react");
9
9
  var _console = require("@instructure/console");
10
10
  var _omitProps = require("@instructure/ui-react-utils/lib/omitProps.js");
11
+ var _testable = require("@instructure/ui-testable/lib/testable.js");
11
12
  var _emotion = require("@instructure/emotion");
12
13
  var _TopNavBarContext = require("../TopNavBarContext");
13
14
  var _styles = _interopRequireDefault(require("./styles"));
14
15
  var _props = require("./props");
15
16
  var _jsxRuntime = require("@emotion/react/jsx-runtime");
16
- var _dec, _class, _TopNavBarUser;
17
+ var _dec, _dec2, _class, _TopNavBarUser;
17
18
  /*
18
19
  * The MIT License (MIT)
19
20
  *
@@ -44,7 +45,7 @@ id: TopNavBar.User
44
45
  ---
45
46
  @module TopNavBarUser
46
47
  **/
47
- let TopNavBarUser = exports.TopNavBarUser = (_dec = (0, _emotion.withStyle)(_styles.default, null), _dec(_class = (_TopNavBarUser = class TopNavBarUser extends _react.Component {
48
+ let TopNavBarUser = exports.TopNavBarUser = (_dec = (0, _emotion.withStyle)(_styles.default, null), _dec2 = (0, _testable.testable)(), _dec(_class = _dec2(_class = (_TopNavBarUser = class TopNavBarUser extends _react.Component {
48
49
  constructor(...args) {
49
50
  super(...args);
50
51
  this.ref = null;
@@ -91,9 +92,8 @@ let TopNavBarUser = exports.TopNavBarUser = (_dec = (0, _emotion.withStyle)(_sty
91
92
  ...(0, _omitProps.omitProps)(this.props, _props.allowedProps),
92
93
  ref: this.handleRef,
93
94
  css: styles === null || styles === void 0 ? void 0 : styles.topNavBarUser,
94
- "data-cid": "TopNavBarUser",
95
95
  children: this.content
96
96
  });
97
97
  }
98
- }, _TopNavBarUser.displayName = "TopNavBarUser", _TopNavBarUser.componentId = 'TopNavBar.User', _TopNavBarUser.allowedProps = _props.allowedProps, _TopNavBarUser.defaultProps = {}, _TopNavBarUser.contextType = _TopNavBarContext.TopNavBarContext, _TopNavBarUser)) || _class);
98
+ }, _TopNavBarUser.displayName = "TopNavBarUser", _TopNavBarUser.componentId = 'TopNavBar.User', _TopNavBarUser.propTypes = _props.propTypes, _TopNavBarUser.allowedProps = _props.allowedProps, _TopNavBarUser.defaultProps = {}, _TopNavBarUser.contextType = _TopNavBarContext.TopNavBarContext, _TopNavBarUser)) || _class) || _class);
99
99
  var _default = exports.default = TopNavBarUser;
@@ -1,9 +1,13 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
- exports.allowedProps = void 0;
7
+ exports.propTypes = exports.allowedProps = void 0;
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _Children = require("@instructure/ui-prop-types/lib/Children.js");
10
+ var _TopNavBarItem = require("../TopNavBarItem");
7
11
  /*
8
12
  * The MIT License (MIT)
9
13
  *
@@ -28,4 +32,8 @@ exports.allowedProps = void 0;
28
32
  * SOFTWARE.
29
33
  */
30
34
 
35
+ const propTypes = exports.propTypes = {
36
+ children: _Children.Children.oneOf([_TopNavBarItem.TopNavBarItem]).isRequired,
37
+ elementRef: _propTypes.default.func
38
+ };
31
39
  const allowedProps = exports.allowedProps = ['children', 'elementRef'];
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = exports.TopNavBar = void 0;
7
7
  var _react = require("react");
8
8
  var _console = require("@instructure/console");
9
+ var _testable = require("@instructure/ui-testable/lib/testable.js");
9
10
  var _px = require("@instructure/ui-utils/lib/px.js");
10
11
  var _matchComponentTypes = require("@instructure/ui-react-utils/lib/matchComponentTypes.js");
11
12
  var _Responsive = require("@instructure/ui-responsive/lib/Responsive");
@@ -19,6 +20,7 @@ var _TopNavBarBreadcrumb = require("./TopNavBarBreadcrumb");
19
20
  var _TopNavBarContext = require("./TopNavBarContext");
20
21
  var _props2 = require("./props");
21
22
  var _jsxRuntime = require("@emotion/react/jsx-runtime");
23
+ var _dec, _class, _TopNavBar;
22
24
  /*
23
25
  * The MIT License (MIT)
24
26
  *
@@ -42,13 +44,12 @@ var _jsxRuntime = require("@emotion/react/jsx-runtime");
42
44
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
43
45
  * SOFTWARE.
44
46
  */
45
-
46
47
  /**
47
48
  ---
48
49
  category: components
49
50
  ---
50
51
  **/
51
- class TopNavBar extends _react.Component {
52
+ let TopNavBar = exports.TopNavBar = (_dec = (0, _testable.testable)(), _dec(_class = (_TopNavBar = class TopNavBar extends _react.Component {
52
53
  constructor(...args) {
53
54
  super(...args);
54
55
  this.ref = null;
@@ -69,7 +70,6 @@ class TopNavBar extends _react.Component {
69
70
  mediaQueryMatch = _this$props.mediaQueryMatch,
70
71
  inverseColor = _this$props.inverseColor;
71
72
  return (0, _jsxRuntime.jsx)(_Responsive.Responsive, {
72
- "data-cid": "TopNavBar",
73
73
  elementRef: this.handleRef,
74
74
  match: mediaQueryMatch,
75
75
  query: {
@@ -100,23 +100,9 @@ class TopNavBar extends _react.Component {
100
100
  }
101
101
  });
102
102
  }
103
- }
104
- exports.TopNavBar = TopNavBar;
105
- TopNavBar.displayName = "TopNavBar";
106
- TopNavBar.componentId = 'TopNavBar';
107
- // TODO: mention subcomponent registration in "new component" docs
108
- TopNavBar.ActionItems = _TopNavBarActionItems.TopNavBarActionItems;
109
- TopNavBar.Brand = _TopNavBarBrand.TopNavBarBrand;
110
- TopNavBar.Item = _TopNavBarItem.TopNavBarItem;
111
- TopNavBar.Layout = _TopNavBarLayout.TopNavBarLayout;
112
- TopNavBar.MenuItems = _TopNavBarMenuItems.TopNavBarMenuItems;
113
- TopNavBar.User = _TopNavBarUser.TopNavBarUser;
114
- TopNavBar.Breadcrumb = _TopNavBarBreadcrumb.TopNavBarBreadcrumb;
115
- TopNavBar.contextType = _TopNavBarContext.TopNavBarContext;
116
- TopNavBar.allowedProps = _props2.allowedProps;
117
- TopNavBar.defaultProps = {
103
+ }, _TopNavBar.displayName = "TopNavBar", _TopNavBar.componentId = 'TopNavBar', _TopNavBar.ActionItems = _TopNavBarActionItems.TopNavBarActionItems, _TopNavBar.Brand = _TopNavBarBrand.TopNavBarBrand, _TopNavBar.Item = _TopNavBarItem.TopNavBarItem, _TopNavBar.Layout = _TopNavBarLayout.TopNavBarLayout, _TopNavBar.MenuItems = _TopNavBarMenuItems.TopNavBarMenuItems, _TopNavBar.User = _TopNavBarUser.TopNavBarUser, _TopNavBar.Breadcrumb = _TopNavBarBreadcrumb.TopNavBarBreadcrumb, _TopNavBar.contextType = _TopNavBarContext.TopNavBarContext, _TopNavBar.propTypes = _props2.propTypes, _TopNavBar.allowedProps = _props2.allowedProps, _TopNavBar.defaultProps = {
118
104
  breakpoint: 1024,
119
105
  mediaQueryMatch: 'media',
120
106
  inverseColor: false
121
- };
107
+ }, _TopNavBar)) || _class);
122
108
  var _default = exports.default = TopNavBar;
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
- exports.allowedProps = void 0;
7
+ exports.propTypes = exports.allowedProps = void 0;
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
7
9
  /*
8
10
  * The MIT License (MIT)
9
11
  *
@@ -28,4 +30,11 @@ exports.allowedProps = void 0;
28
30
  * SOFTWARE.
29
31
  */
30
32
 
33
+ const propTypes = exports.propTypes = {
34
+ children: _propTypes.default.func,
35
+ breakpoint: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
36
+ mediaQueryMatch: _propTypes.default.oneOf(['element', 'media']),
37
+ inverseColor: _propTypes.default.oneOfType([_propTypes.default.bool, _propTypes.default.func]),
38
+ elementRef: _propTypes.default.func
39
+ };
31
40
  const allowedProps = exports.allowedProps = ['children', 'breakpoint', 'mediaQueryMatch', 'inverseColor', 'elementRef'];
@@ -49,8 +49,7 @@ const mapItemsForDrilldown = (itemList, options = {}) => {
49
49
  id = _item$props.id,
50
50
  children = _item$props.children,
51
51
  status = _item$props.status,
52
- _item$props$variant = _item$props.variant,
53
- variant = _item$props$variant === void 0 ? 'default' : _item$props$variant,
52
+ variant = _item$props.variant,
54
53
  href = _item$props.href,
55
54
  onClick = _item$props.onClick,
56
55
  shouldCloseOnClick = _item$props.shouldCloseOnClick;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@instructure/ui-top-nav-bar",
3
- "version": "10.26.1-snapshot-2",
3
+ "version": "10.26.2",
4
4
  "description": "A UI component library made by Instructure Inc.",
5
5
  "author": "Instructure, Inc. Engineering and Product Design",
6
6
  "module": "./es/index.js",
@@ -24,40 +24,43 @@
24
24
  "license": "MIT",
25
25
  "dependencies": {
26
26
  "@babel/runtime": "^7.27.6",
27
- "@instructure/console": "10.26.1-snapshot-2",
28
- "@instructure/emotion": "10.26.1-snapshot-2",
29
- "@instructure/shared-types": "10.26.1-snapshot-2",
30
- "@instructure/ui-a11y-content": "10.26.1-snapshot-2",
31
- "@instructure/ui-avatar": "10.26.1-snapshot-2",
32
- "@instructure/ui-breadcrumb": "10.26.1-snapshot-2",
33
- "@instructure/ui-buttons": "10.26.1-snapshot-2",
34
- "@instructure/ui-dialog": "10.26.1-snapshot-2",
35
- "@instructure/ui-dom-utils": "10.26.1-snapshot-2",
36
- "@instructure/ui-drilldown": "10.26.1-snapshot-2",
37
- "@instructure/ui-icons": "10.26.1-snapshot-2",
38
- "@instructure/ui-link": "10.26.1-snapshot-2",
39
- "@instructure/ui-popover": "10.26.1-snapshot-2",
40
- "@instructure/ui-react-utils": "10.26.1-snapshot-2",
41
- "@instructure/ui-responsive": "10.26.1-snapshot-2",
42
- "@instructure/ui-tooltip": "10.26.1-snapshot-2",
43
- "@instructure/ui-tray": "10.26.1-snapshot-2",
44
- "@instructure/ui-truncate-list": "10.26.1-snapshot-2",
45
- "@instructure/ui-utils": "10.26.1-snapshot-2",
46
- "@instructure/ui-view": "10.26.1-snapshot-2"
27
+ "@instructure/console": "10.26.2",
28
+ "@instructure/emotion": "10.26.2",
29
+ "@instructure/shared-types": "10.26.2",
30
+ "@instructure/ui-a11y-content": "10.26.2",
31
+ "@instructure/ui-avatar": "10.26.2",
32
+ "@instructure/ui-breadcrumb": "10.26.2",
33
+ "@instructure/ui-buttons": "10.26.2",
34
+ "@instructure/ui-dialog": "10.26.2",
35
+ "@instructure/ui-dom-utils": "10.26.2",
36
+ "@instructure/ui-drilldown": "10.26.2",
37
+ "@instructure/ui-icons": "10.26.2",
38
+ "@instructure/ui-link": "10.26.2",
39
+ "@instructure/ui-popover": "10.26.2",
40
+ "@instructure/ui-prop-types": "10.26.2",
41
+ "@instructure/ui-react-utils": "10.26.2",
42
+ "@instructure/ui-responsive": "10.26.2",
43
+ "@instructure/ui-testable": "10.26.2",
44
+ "@instructure/ui-tooltip": "10.26.2",
45
+ "@instructure/ui-tray": "10.26.2",
46
+ "@instructure/ui-truncate-list": "10.26.2",
47
+ "@instructure/ui-utils": "10.26.2",
48
+ "@instructure/ui-view": "10.26.2",
49
+ "prop-types": "^15.8.1"
47
50
  },
48
51
  "devDependencies": {
49
- "@instructure/ui-axe-check": "10.26.1-snapshot-2",
50
- "@instructure/ui-babel-preset": "10.26.1-snapshot-2",
51
- "@instructure/ui-color-utils": "10.26.1-snapshot-2",
52
- "@instructure/ui-scripts": "10.26.1-snapshot-2",
53
- "@instructure/ui-themes": "10.26.1-snapshot-2",
52
+ "@instructure/ui-axe-check": "10.26.2",
53
+ "@instructure/ui-babel-preset": "10.26.2",
54
+ "@instructure/ui-color-utils": "10.26.2",
55
+ "@instructure/ui-scripts": "10.26.2",
56
+ "@instructure/ui-themes": "10.26.2",
54
57
  "@testing-library/jest-dom": "^6.6.3",
55
- "@testing-library/react": "15.0.7",
58
+ "@testing-library/react": "^16.0.1",
56
59
  "@testing-library/user-event": "^14.6.1",
57
60
  "vitest": "^3.2.2"
58
61
  },
59
62
  "peerDependencies": {
60
- "react": ">=18 <=19"
63
+ "react": ">=16.14 <=18"
61
64
  },
62
65
  "publishConfig": {
63
66
  "access": "public"
@@ -30,6 +30,7 @@ import {
30
30
  safeCloneElement,
31
31
  withDeterministicId
32
32
  } from '@instructure/ui-react-utils'
33
+ import { testable } from '@instructure/ui-testable'
33
34
  import { warn, error } from '@instructure/console'
34
35
 
35
36
  import { withStyle } from '@instructure/emotion'
@@ -52,7 +53,11 @@ import { TopNavBarContext } from '../TopNavBarContext'
52
53
  import generateStyle from './styles'
53
54
  import generateComponentTheme from './theme'
54
55
 
55
- import { allowedProps, TopNavBarActionItemsStyleProps } from './props'
56
+ import {
57
+ propTypes,
58
+ allowedProps,
59
+ TopNavBarActionItemsStyleProps
60
+ } from './props'
56
61
  import type {
57
62
  TopNavBarActionItemsProps,
58
63
  TopNavBarActionItemsState
@@ -67,12 +72,14 @@ id: TopNavBar.ActionItems
67
72
  **/
68
73
  @withDeterministicId()
69
74
  @withStyle(generateStyle, generateComponentTheme)
75
+ @testable()
70
76
  class TopNavBarActionItems extends Component<
71
77
  TopNavBarActionItemsProps,
72
78
  TopNavBarActionItemsState
73
79
  > {
74
80
  static readonly componentId = 'TopNavBar.ActionItems'
75
81
 
82
+ static propTypes = propTypes
76
83
  static allowedProps = allowedProps
77
84
  static defaultProps = {}
78
85
 
@@ -277,7 +284,6 @@ class TopNavBarActionItems extends Component<
277
284
  ref={this.handleRef}
278
285
  css={styles?.topNavBarActionItems}
279
286
  aria-label={listLabel}
280
- data-cid="TopNavBarActionItems"
281
287
  >
282
288
  {this.childrenArray.map((item) => (
283
289
  <li css={styles?.listItem} key={item.props.id}>
@@ -23,14 +23,20 @@
23
23
  */
24
24
 
25
25
  import React from 'react'
26
+ import PropTypes from 'prop-types'
27
+
28
+ import { Children as ChildrenPropTypes } from '@instructure/ui-prop-types'
26
29
  import type { WithStyleProps, ComponentStyle } from '@instructure/emotion'
27
30
  import type { WithDeterministicIdProps } from '@instructure/ui-react-utils'
28
31
  import type {
29
32
  TopNavBarActionItemsTheme,
30
33
  OtherHTMLAttributes,
34
+ PropValidators,
31
35
  ChildrenOfType
32
36
  } from '@instructure/shared-types'
33
37
 
38
+ import { TopNavBarItem } from '../TopNavBarItem'
39
+ import { topNavBarItemTooltipPropType } from '../TopNavBarItem/props'
34
40
  import type {
35
41
  ItemChild,
36
42
  TopNavBarItemTooltipType
@@ -112,6 +118,21 @@ type TopNavBarActionItemsState = {
112
118
  type TopNavBarActionItemsStyleProps = {
113
119
  layout?: TopNavBarContextType['layout']
114
120
  }
121
+
122
+ const propTypes: PropValidators<PropKeys> = {
123
+ children: ChildrenPropTypes.oneOf([TopNavBarItem]),
124
+ listLabel: PropTypes.string,
125
+ renderHiddenItemsMenuTriggerLabel: PropTypes.oneOfType([
126
+ PropTypes.string,
127
+ PropTypes.func
128
+ ]).isRequired,
129
+ renderHiddenItemsMenuTriggerTooltip: PropTypes.oneOfType([
130
+ topNavBarItemTooltipPropType,
131
+ PropTypes.func
132
+ ]),
133
+ elementRef: PropTypes.func
134
+ }
135
+
115
136
  const allowedProps: AllowedPropKeys = [
116
137
  'children',
117
138
  'listLabel',
@@ -128,4 +149,4 @@ export type {
128
149
  TopNavBarActionItemsStyleProps,
129
150
  TopNavBarActionItemsStyle
130
151
  }
131
- export { allowedProps }
152
+ export { propTypes, allowedProps }
@@ -25,6 +25,7 @@
25
25
  import { Component } from 'react'
26
26
 
27
27
  import { getElementType, omitProps } from '@instructure/ui-react-utils'
28
+ import { testable } from '@instructure/ui-testable'
28
29
 
29
30
  import { withStyle } from '@instructure/emotion'
30
31
 
@@ -36,7 +37,7 @@ import { TopNavBarContext } from '../TopNavBarContext'
36
37
  import generateStyle from './styles'
37
38
  import generateComponentTheme from './theme'
38
39
 
39
- import { allowedProps } from './props'
40
+ import { propTypes, allowedProps } from './props'
40
41
  import type { TopNavBarBrandProps, TopNavBarBrandStyleProps } from './props'
41
42
 
42
43
  /**
@@ -47,10 +48,12 @@ id: TopNavBar.Brand
47
48
  @module TopNavBarBrand
48
49
  **/
49
50
  @withStyle(generateStyle, generateComponentTheme)
51
+ @testable()
50
52
  class TopNavBarBrand extends Component<TopNavBarBrandProps> {
51
53
  static readonly componentId = 'TopNavBar.Brand'
52
54
  // TODO: add to the docs: making it static on parent and jsdocs parent/module settings, dont export child on its own
53
55
 
56
+ static propTypes = propTypes
54
57
  static allowedProps = allowedProps
55
58
  static defaultProps = {}
56
59
 
@@ -103,11 +106,7 @@ class TopNavBarBrand extends Component<TopNavBarBrandProps> {
103
106
  const ElementType = getElementType(TopNavBarBrand, this.props)
104
107
 
105
108
  return (
106
- <div
107
- ref={this.handleRef}
108
- css={styles?.topNavBarBrand}
109
- data-cid="TopNavBarBrand"
110
- >
109
+ <div ref={this.handleRef} css={styles?.topNavBarBrand}>
111
110
  {renderIcon && (
112
111
  <View
113
112
  {...omitProps(this.props, allowedProps)}
@@ -23,13 +23,17 @@
23
23
  */
24
24
 
25
25
  import React from 'react'
26
+ import PropTypes from 'prop-types'
27
+
26
28
  import type { WithStyleProps, ComponentStyle } from '@instructure/emotion'
27
29
  import type {
28
30
  TopNavBarBrandTheme,
29
31
  OtherHTMLAttributes,
32
+ PropValidators,
30
33
  AsElementType
31
34
  } from '@instructure/shared-types'
32
35
  import type { ViewOwnProps } from '@instructure/ui-view'
36
+
33
37
  import type { TopNavBarContextType } from '../TopNavBarContext'
34
38
 
35
39
  import { TopNavBarBrand } from './index'
@@ -91,6 +95,17 @@ type TopNavBarBrandStyle = ComponentStyle<
91
95
  type TopNavBarBrandStyleProps = {
92
96
  layout: TopNavBarContextType['layout']
93
97
  }
98
+
99
+ const propTypes: PropValidators<PropKeys> = {
100
+ screenReaderLabel: PropTypes.string.isRequired,
101
+ renderIcon: PropTypes.node,
102
+ iconBackground: PropTypes.string,
103
+ href: PropTypes.string,
104
+ onClick: PropTypes.func,
105
+ as: PropTypes.elementType,
106
+ elementRef: PropTypes.func
107
+ }
108
+
94
109
  const allowedProps: AllowedPropKeys = [
95
110
  'screenReaderLabel',
96
111
  'renderIcon',
@@ -108,4 +123,4 @@ export type {
108
123
  TopNavBarBrandStyle,
109
124
  TopNavBarBrandStyleProps
110
125
  }
111
- export { allowedProps }
126
+ export { propTypes, allowedProps }
@@ -26,11 +26,13 @@ import { Children, Component, ReactElement } from 'react'
26
26
  import {
27
27
  TopNavBarBreadcrumbProps,
28
28
  TopNavBarBreadcrumbState,
29
- allowedProps
29
+ allowedProps,
30
+ propTypes
30
31
  } from './props'
31
32
  import TopNavBar from '../index'
32
33
  import { withStyle } from '@instructure/emotion'
33
34
  import generateStyle from '../TopNavBarBreadcrumb/styles'
35
+ import { testable } from '@instructure/ui-testable'
34
36
  import {
35
37
  IconArrowOpenStartLine,
36
38
  IconHamburgerLine
@@ -47,10 +49,12 @@ id: TopNavBar.Breadcrumb
47
49
  @module TopNavBarBreadcrumb
48
50
  **/
49
51
  @withStyle(generateStyle, null)
52
+ @testable()
50
53
  class TopNavBarBreadcrumb extends Component<
51
54
  TopNavBarBreadcrumbProps,
52
55
  TopNavBarBreadcrumbState
53
56
  > {
57
+ static propTypes = propTypes
54
58
  static allowedProps = allowedProps
55
59
  static defaultProps = {}
56
60
 
@@ -103,29 +107,21 @@ class TopNavBarBreadcrumb extends Component<
103
107
  )
104
108
  }
105
109
 
106
- const breadcrumbElement = Children.toArray(children)[0] as ReactElement<any>
110
+ const breadcrumbElement = Children.toArray(children)[0] as ReactElement
107
111
  const breadCrumbLinks = breadcrumbElement.props.children
108
112
  const lastButOneLink = Children.toArray(breadCrumbLinks)[
109
113
  Children.count(breadCrumbLinks) - 2
110
- ] as ReactElement<any>
114
+ ] as ReactElement
111
115
 
112
116
  return (
113
117
  this.context.inverseColor &&
114
118
  (this.context.layout === 'desktop' ? (
115
- <div
116
- ref={this.handleRef}
117
- css={styles?.topNavBarBreadcrumb}
118
- data-cid="TopNavBarBreadcrumb"
119
- >
119
+ <div ref={this.handleRef} css={styles?.topNavBarBreadcrumb}>
120
120
  <div css={styles?.iconContainer}>{this.renderMenu()}</div>
121
121
  <div css={styles?.breadcrumbContainer}>{children}</div>
122
122
  </div>
123
123
  ) : (
124
- <div
125
- ref={this.handleRef}
126
- css={styles?.topNavBarBreadcrumb}
127
- data-cid="TopNavBarBreadcrumb"
128
- >
124
+ <div ref={this.handleRef} css={styles?.topNavBarBreadcrumb}>
129
125
  <div css={styles?.linkContainer}>
130
126
  {lastButOneLink && (
131
127
  <Link
@@ -26,9 +26,14 @@ import { ComponentElement } from 'react'
26
26
  import type { ViewOwnProps } from '@instructure/ui-view'
27
27
  import type { ComponentStyle, WithStyleProps } from '@instructure/emotion'
28
28
  import { TopNavBarContextType } from '../TopNavBarContext'
29
- import { ChildrenOfType, OtherHTMLAttributes } from '@instructure/shared-types'
29
+ import {
30
+ ChildrenOfType,
31
+ OtherHTMLAttributes,
32
+ PropValidators
33
+ } from '@instructure/shared-types'
30
34
  import TopNavBarBreadcrumb from './index'
31
-
35
+ import { Children as ChildrenPropTypes } from '@instructure/ui-prop-types'
36
+ import PropTypes from 'prop-types'
32
37
  import { Breadcrumb } from '@instructure/ui-breadcrumb'
33
38
  import type { BreadcrumbProps } from '@instructure/ui-breadcrumb'
34
39
 
@@ -77,6 +82,13 @@ type TopNavBarBreadcrumbStyleProps = {
77
82
  type PropKeys = keyof TopNavBarBreadcrumbOwnProps
78
83
 
79
84
  type AllowedPropKeys = Readonly<Array<PropKeys>>
85
+
86
+ const propTypes: PropValidators<PropKeys> = {
87
+ onClick: PropTypes.func,
88
+ elementRef: PropTypes.func,
89
+ children: ChildrenPropTypes.oneOf([Breadcrumb])
90
+ }
91
+
80
92
  const allowedProps: AllowedPropKeys = ['children', 'onClick', 'elementRef']
81
93
 
82
94
  export type {
@@ -87,4 +99,4 @@ export type {
87
99
  BreadcrumbChild
88
100
  }
89
101
 
90
- export { allowedProps }
102
+ export { propTypes, allowedProps }