at_theme-1.4.1/at_core/forms/ext/titles.php
at_core/forms/ext/titles.php
<?php /** * @file * Generate form elements for the $titles Styles settings. */ $form['titles'] = [ '#type' => 'details', '#title' => t('Titles'), '#group' => 'extension_settings', ]; $form['titles']['description'] = [ '#markup' => t('<h3>Title Styles</h3><p>Set title case, weight, alignment and letter-spacing.</p><p>Semi-bold and light font-weight options will only work if the font supports those weights, otherwise these typically render as bold and normal respectively.</p>'), ]; // Array of valid title types. $titles_valid_types = title_valid_type_options(); // Get the fonts list. $font_elements = font_elements(); // Build form elements for each selector and style. foreach ($font_elements as $font_element_key => $font_element_value) { if (in_array($font_element_key, $titles_valid_types)) { // Title element. $form['titles'][$font_element_key . '_element'] = [ '#type' => 'details', '#title' => t($font_element_value['label']), ]; // Case. $form['titles'][$font_element_key . '_element']['settings_titles_' . $font_element_key . '_case'] = [ '#type' => 'select', '#title' => t('Case'), '#default_value' => theme_get_setting('settings.titles_' . $font_element_key . '_case'), '#options' => title_style_options('case'), ]; // Weight. $form['titles'][$font_element_key . '_element']['settings_titles_' . $font_element_key . '_weight'] = [ '#type' => 'select', '#title' => t('Weight'), '#default_value' => theme_get_setting('settings.titles_' . $font_element_key . '_weight'), '#options' => title_style_options('weight'), ]; // Alignment. $form['titles'][$font_element_key . '_element']['settings_titles_' . $font_element_key . '_alignment'] = [ '#type' => 'select', '#title' => t('Alignment'), '#default_value' => theme_get_setting('settings.titles_' . $font_element_key . '_alignment'), '#options' => title_style_options('alignment'), ]; // Letter spacing. $form['titles'][$font_element_key . '_element']['settings_titles_' . $font_element_key . '_letterspacing'] = [ '#type' => 'number', '#title' => t('Letter spacing'), '#max-length' => 2, '#step' => 0.1, '#field_suffix' => 'px', '#default_value' => theme_get_setting('settings.titles_' . $font_element_key . '_letterspacing'), '#attributes' => [ 'min' => -10, 'max' => 10, 'step' => 0.1, 'class' => ['font-option'] ], ]; } }