42 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			42 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * @file
							 | 
						||
| 
								 | 
							
								 * Overrides vertical tabs theming to enable Claro designs.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								(($, Drupal) => {
							 | 
						||
| 
								 | 
							
								  /**
							 | 
						||
| 
								 | 
							
								   * Theme function for a vertical tab.
							 | 
						||
| 
								 | 
							
								   *
							 | 
						||
| 
								 | 
							
								   * @param {object} settings
							 | 
						||
| 
								 | 
							
								   *   An object with the following keys:
							 | 
						||
| 
								 | 
							
								   * @param {string} settings.title
							 | 
						||
| 
								 | 
							
								   *   The name of the tab.
							 | 
						||
| 
								 | 
							
								   *
							 | 
						||
| 
								 | 
							
								   * @return {object}
							 | 
						||
| 
								 | 
							
								   *   This function has to return an object with at least these keys:
							 | 
						||
| 
								 | 
							
								   *   - item: The root tab jQuery element
							 | 
						||
| 
								 | 
							
								   *   - link: The anchor tag that acts as the clickable area of the tab
							 | 
						||
| 
								 | 
							
								   *       (jQuery version)
							 | 
						||
| 
								 | 
							
								   *   - summary: The jQuery element that contains the tab summary
							 | 
						||
| 
								 | 
							
								   */
							 | 
						||
| 
								 | 
							
								  Drupal.theme.verticalTab = (settings) => {
							 | 
						||
| 
								 | 
							
								    const tab = {};
							 | 
						||
| 
								 | 
							
								    tab.title = $('<strong class="vertical-tabs__menu-item-title"></strong>');
							 | 
						||
| 
								 | 
							
								    tab.title[0].textContent = settings.title;
							 | 
						||
| 
								 | 
							
								    tab.item = $(
							 | 
						||
| 
								 | 
							
								      '<li class="vertical-tabs__menu-item" tabindex="-1"></li>',
							 | 
						||
| 
								 | 
							
								    ).append(
							 | 
						||
| 
								 | 
							
								      (tab.link = $('<a href="#" class="vertical-tabs__menu-link"></a>').append(
							 | 
						||
| 
								 | 
							
								        $('<span class="vertical-tabs__menu-link-content"></span>')
							 | 
						||
| 
								 | 
							
								          .append(tab.title)
							 | 
						||
| 
								 | 
							
								          .append(
							 | 
						||
| 
								 | 
							
								            (tab.summary = $(
							 | 
						||
| 
								 | 
							
								              '<span class="vertical-tabs__menu-link-summary"></span>',
							 | 
						||
| 
								 | 
							
								            )),
							 | 
						||
| 
								 | 
							
								          ),
							 | 
						||
| 
								 | 
							
								      )),
							 | 
						||
| 
								 | 
							
								    );
							 | 
						||
| 
								 | 
							
								    return tab;
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								})(jQuery, Drupal);
							 |