| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 | 
							- import { numbers } from './constants';
 
- export const DEFAULT_TOGGLE_ICON = {
 
-     open: 'chevron_up',
 
-     closed: 'chevron_down',
 
- };
 
- export default class NavItem {
 
-     items: any[];
 
-     toggleIcon: any;
 
-     constructor(options: any = {}) {
 
-         // eslint-disable-next-line eqeqeq
 
-         if (options == null || typeof options !== 'object') {
 
-             // eslint-disable-next-line no-param-reassign
 
-             options = {
 
-                 text: options,
 
-                 itemKey: options,
 
-                 maxHeight: numbers.DEFAULT_SUBNAV_MAX_HEIGHT,
 
-                 // selected: false,
 
-                 // isOpen: false,
 
-                 link: null,
 
-                 items: null,
 
-                 icon: '',
 
-                 indent: false,
 
-             };
 
-         }
 
-         for (const key of Object.keys(options)) {
 
-             this[key] = options[key];
 
-         }
 
-         if (options.items && Array.isArray(options.items) && options.items.length) {
 
-             this.items = options.items.map((item: any) => new NavItem(item));
 
-             if ('toggleIcon' in options) {
 
-                 this.toggleIcon = NavItem.isValidToggleIcon(options.toggleIcon)
 
-                     ? { ...options.toggleIcon }
 
-                     : { ...DEFAULT_TOGGLE_ICON };
 
-             } else {
 
-                 this.toggleIcon = { ...DEFAULT_TOGGLE_ICON };
 
-             }
 
-         } else {
 
-             this.items = null;
 
-         }
 
-     }
 
-     static isValidToggleIcon(toggleIcon: any) {
 
-         return Boolean(toggleIcon &&
 
-             typeof toggleIcon === 'object' &&
 
-             typeof toggleIcon.open === 'string' &&
 
-             toggleIcon.open.length &&
 
-             typeof toggleIcon.closed === 'string' &&
 
-             toggleIcon.closed.length);
 
-     }
 
- }
 
 
  |