diff --git a/README.md b/README.md index 38416c57b1..807a633a9f 100644 --- a/README.md +++ b/README.md @@ -41,4 +41,3 @@ _Notes:_ - `confim` Imports the current config files to your database. - `local:theme-link` Run this script once to establish `npm link`s to all of the frontend-related repositories. - `local:cl-dev` Enables a frontend developer to work across all of the repositories (`yalesites-project`, `atomic`, and `component-library-twig`) in an environment configured to support both Storybook development, and have the changes reflected in the Drupal instance. Note: This also wires up the Tokens repo, but if you want to watch for changes there, you'll have to run the `npm run develop` script inside the Tokens directory. -. diff --git a/web/profiles/custom/yalesites_profile/config/sync/field.field.menu_link_content.main.field_menu_top_level_link_cta.yml b/web/profiles/custom/yalesites_profile/config/sync/field.field.menu_link_content.main.field_menu_top_level_link_cta.yml index c30ae0a9a4..615197dff7 100644 --- a/web/profiles/custom/yalesites_profile/config/sync/field.field.menu_link_content.main.field_menu_top_level_link_cta.yml +++ b/web/profiles/custom/yalesites_profile/config/sync/field.field.menu_link_content.main.field_menu_top_level_link_cta.yml @@ -10,7 +10,7 @@ field_name: field_menu_top_level_link_cta entity_type: menu_link_content bundle: main label: 'Mega Menu Top Level Link Text' -description: 'Mega Menu level one links display this link text alongside the Menu link title. If empty, defaults to "Explore all".' +description: 'Mega Menu level one links display this link text alongside the Menu link title. If empty, defaults to "Explore [Menu Item Title]".' required: false translatable: false default_value: { } diff --git a/web/profiles/custom/yalesites_profile/config/sync/taxonomy.vocabulary.affiliation.yml b/web/profiles/custom/yalesites_profile/config/sync/taxonomy.vocabulary.affiliation.yml index 4ad487f823..82b77018c4 100644 --- a/web/profiles/custom/yalesites_profile/config/sync/taxonomy.vocabulary.affiliation.yml +++ b/web/profiles/custom/yalesites_profile/config/sync/taxonomy.vocabulary.affiliation.yml @@ -29,5 +29,5 @@ third_party_settings: external: '' name: Affiliation vid: affiliation -description: '' +description: 'A vocabulary used to classify a profile based on their affiliation with Yale, such as "Staff", "Faculty", "Student", etc." for affiliation description.' weight: 0 diff --git a/web/profiles/custom/yalesites_profile/modules/custom/ys_core/css/footer-settings-form.css b/web/profiles/custom/yalesites_profile/modules/custom/ys_core/css/footer-settings-form.css index bc1f5e7330..01b37bff33 100644 --- a/web/profiles/custom/yalesites_profile/modules/custom/ys_core/css/footer-settings-form.css +++ b/web/profiles/custom/yalesites_profile/modules/custom/ys_core/css/footer-settings-form.css @@ -13,6 +13,15 @@ background-color: #6f6f6f !important; } +.ys-core-footer-settings-form .form-element { + width: 100%; +} + +.ys-core-footer-settings-form .preview-icon { + width: 190px; + height: 137px; +} + .ys-core-footer-settings-form .claro-details.form-disabled { pointer-events: none; user-select: none; diff --git a/web/profiles/custom/yalesites_profile/modules/custom/ys_core/images/preview-icons/footer-mega-2.svg b/web/profiles/custom/yalesites_profile/modules/custom/ys_core/images/preview-icons/footer-mega-2.svg new file mode 100644 index 0000000000..7ef472ce1f --- /dev/null +++ b/web/profiles/custom/yalesites_profile/modules/custom/ys_core/images/preview-icons/footer-mega-2.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/web/profiles/custom/yalesites_profile/modules/custom/ys_core/src/Form/FooterSettingsForm.php b/web/profiles/custom/yalesites_profile/modules/custom/ys_core/src/Form/FooterSettingsForm.php index 45f66a0c85..5fa29bc92e 100644 --- a/web/profiles/custom/yalesites_profile/modules/custom/ys_core/src/Form/FooterSettingsForm.php +++ b/web/profiles/custom/yalesites_profile/modules/custom/ys_core/src/Form/FooterSettingsForm.php @@ -67,8 +67,8 @@ public function buildForm(array $form, FormStateInterface $form_state) { $form['footer_variation'] = [ '#type' => 'radios', '#options' => [ - 'basic' => $this->t('Basic') . 'Basic footer icon showing a small Yale logo, and gray placeholders for copyright and social media icons.', - 'mega' => $this->t('Mega') . 'Mega footer icon with gray placeholders for more information than the basic footer.', + 'basic' => $this->t('Basic') . 'Basic footer icon showing a small Yale logo, and gray placeholders for copyright and social media icons.', + 'mega' => $this->t('Mega') . 'Mega footer icon with gray placeholders for more information than the basic footer.', ], '#title' => $this->t('Footer variation'), '#default_value' => ($footerConfig->get('footer_variation')) ? $footerConfig->get('footer_variation') : 'basic', diff --git a/web/profiles/custom/yalesites_profile/modules/custom/ys_core/ys_core.module b/web/profiles/custom/yalesites_profile/modules/custom/ys_core/ys_core.module index 4aa4def5d8..12fb8c3d8d 100644 --- a/web/profiles/custom/yalesites_profile/modules/custom/ys_core/ys_core.module +++ b/web/profiles/custom/yalesites_profile/modules/custom/ys_core/ys_core.module @@ -188,7 +188,7 @@ function ys_core_preprocess_menu(&$variables) { $clonedMenuItem['list__item__is_heading'] = TRUE; // Get the CTA text from menu item extras field. - $clonedMenuItem['heading_cta'] = $clonedMenuItem['entity']->get('field_menu_top_level_link_cta')->value ?: t('Explore all'); + $clonedMenuItem['heading_cta'] = $clonedMenuItem['entity']->get('field_menu_top_level_link_cta')->value ?: t('Explore @title', ['@title' => $clonedMenuItem['title']]); // Add cloned item to the beginning of the menu. array_unshift($menuItem['below'], $clonedMenuItem); diff --git a/web/profiles/custom/yalesites_profile/modules/custom/ys_starterkit/ys_starterkit.install b/web/profiles/custom/yalesites_profile/modules/custom/ys_starterkit/ys_starterkit.install index 0912c4f98d..1f81a0cad2 100644 --- a/web/profiles/custom/yalesites_profile/modules/custom/ys_starterkit/ys_starterkit.install +++ b/web/profiles/custom/yalesites_profile/modules/custom/ys_starterkit/ys_starterkit.install @@ -5,6 +5,9 @@ * Install, update and uninstall functions for the module. */ +use Drupal\migrate\MigrateExecutable; +use Drupal\migrate\MigrateMessage; + /** * Implements hook_uninstall(). */ @@ -24,3 +27,15 @@ function ys_starterkit_uninstall() { } } + +/** + * Implements hook_update(). + */ +function ys_starterkit_update_9001() { + // Adds starter taxonomy terms. + if (!\Drupal::service('config.installer')->isSyncing()) { + $migration = \Drupal::service('plugin.manager.migration')->createInstance('ys_terms'); + $executable = new MigrateExecutable($migration, new MigrateMessage()); + $executable->import(); + } +} diff --git a/web/profiles/custom/yalesites_profile/modules/custom/ys_toolbar/css/ys_toolbar.theme.css b/web/profiles/custom/yalesites_profile/modules/custom/ys_toolbar/css/ys_toolbar.theme.css index 83533fb60f..045e729e8b 100644 --- a/web/profiles/custom/yalesites_profile/modules/custom/ys_toolbar/css/ys_toolbar.theme.css +++ b/web/profiles/custom/yalesites_profile/modules/custom/ys_toolbar/css/ys_toolbar.theme.css @@ -21,6 +21,10 @@ behind the a.toolbar-icon element. */ z-index: -1; } +/* Push down the body when secondary menu is present */ +.gin--horizontal-toolbar.toolbar-horizontal.toolbar-fixed { + padding-top: calc(var(--gin-toolbar-secondary-height) + var(--gin-toolbar-y-offset)) !important; +} /* Update toolbar icons */ diff --git a/web/profiles/custom/yalesites_profile/modules/custom/ys_views_basic/src/ViewsBasicManager.php b/web/profiles/custom/yalesites_profile/modules/custom/ys_views_basic/src/ViewsBasicManager.php index f20e3333dd..219d03596a 100644 --- a/web/profiles/custom/yalesites_profile/modules/custom/ys_views_basic/src/ViewsBasicManager.php +++ b/web/profiles/custom/yalesites_profile/modules/custom/ys_views_basic/src/ViewsBasicManager.php @@ -199,6 +199,20 @@ public function getView($type, $params) { // Set operator: "+" is "OR" and "," is "AND". $operator = $paramsDecoded['operator'] ?? '+'; + // Fix for older setting terms for nodes not saved with the new storage. + if (isset($termsIncludeArray[0]) && is_array($termsIncludeArray[0])) { + foreach ($termsIncludeArray as $terms) { + $termsIncludeArrayFixed[] = $terms['target_id']; + } + $termsIncludeArray = $termsIncludeArrayFixed; + } + if (isset($termsExcludeArray[0]) && is_array($termsExcludeArray[0])) { + foreach ($termsExcludeArray as $terms) { + $termsExcludeArrayFixed[] = $terms['target_id']; + } + $termsExcludeArray = $termsExcludeArrayFixed; + } + // End fix. $termsInclude = (count($termsIncludeArray) != 0) ? implode($operator, $termsIncludeArray) : 'all'; $termsExclude = (count($termsExcludeArray) != 0) ? implode($operator, $termsExcludeArray) : NULL; diff --git a/web/themes/custom/ys_admin_theme/css/gin-custom.css b/web/themes/custom/ys_admin_theme/css/gin-custom.css index d7fd3e56bd..53bece6de7 100644 --- a/web/themes/custom/ys_admin_theme/css/gin-custom.css +++ b/web/themes/custom/ys_admin_theme/css/gin-custom.css @@ -219,10 +219,6 @@ color: var(--wool); } -.gin--dark-mode .chosen-container-single .chosen-search-input { - color: var(--darkest-gray); -} - /* remove media button */ .gin--dark-mode .media-library-add-form__remove-button { background-color: var(--robin-egg); @@ -427,6 +423,11 @@ background-color: var(--darkest-gray); } +/* MaxLength */ +.gin--dark-mode .error strong { + color: var(--wool); +} + /* stylelint-enable */ /*# sourceMappingURL=gin-custom.css.map */ diff --git a/web/themes/custom/ys_admin_theme/css/gin-custom.css.map b/web/themes/custom/ys_admin_theme/css/gin-custom.css.map index e2bd505d32..91437958c4 100644 --- a/web/themes/custom/ys_admin_theme/css/gin-custom.css.map +++ b/web/themes/custom/ys_admin_theme/css/gin-custom.css.map @@ -1 +1 @@ -{"version":3,"sourceRoot":"","sources":["../scss/gin-custom.scss"],"names":[],"mappings":"AAAA;AAEA;EACE;EACA;EACA;EACA;EACA;;AAEA;AAAA;EAEE;;;AAIJ;EACE;EACA;;;AAIF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAIF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAQE;;;AAIF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAqCE;;;AAGF;AACA;AAAA;EAEE;;;AAGF;AACA;AAAA;EAEE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAIF;AAAA;EAEE;;;AAIF;EACE;;;AAIF;EACE;;;AAMF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAUE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAUE;EACA;;;AAGF;EACE;;;AAGF;AAAA;EAEE;EACA;;;AAGF;AACA;EACE;EACA;;;AAGF;EACE;;;AAGF;AACA;EACE;;;AAGF;AACA;AAAA;EAEE;;;AAGF;EACE;EACA;;;AAGF;AACA;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;AACA;EACE;;;AAGF;AACA;EACE;EACA;;;AAGF;EACE;;;AAGF;AACA;EACE;EACA;;;AAKF;EACE;;;AAGF;EACE;EACA;;;AAIF;EACE;;;AAGF;AACA;EACE;;;AAGF;EACE;;;AAGF;AAAA;EAEE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAKF;AAAA;EAEE;EACA;EACA;;;AAGF;AACA;EACE;;;AAGF;AACA;EACE;;;AAGF;AACA;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;AAAA;AAAA;EAGE;;;AAGF;AACA;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;AACA;EACE;;;AAGF;AACA;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;AACA;EACE;;;AAGF;EACE;;;AAGF;AACA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;AACA;AAAA;EAEE;;;AAGF;AACA;EACE;EACA;;;AAGF","file":"gin-custom.css"} \ No newline at end of file +{"version":3,"sourceRoot":"","sources":["../scss/gin-custom.scss"],"names":[],"mappings":"AAAA;AAEA;EACE;EACA;EACA;EACA;EACA;;AAEA;AAAA;EAEE;;;AAIJ;EACE;EACA;;;AAIF;EACE;;;AAIF;EACE;;;AAGF;EACE;;;AAIF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAQE;;;AAIF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAqCE;;;AAGF;AACA;AAAA;EAEE;;;AAGF;AACA;AAAA;EAEE;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAIF;AAAA;EAEE;;;AAIF;EACE;;;AAIF;EACE;;;AAMF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAUE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAUE;EACA;;;AAGF;EACE;;;AAGF;AAAA;EAEE;EACA;;;AAGF;AACA;EACE;EACA;;;AAGF;EACE;;;AAGF;AACA;EACE;;;AAGF;AACA;AAAA;EAEE;;;AAGF;EACE;EACA;;;AAGF;AACA;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;AACA;EACE;;;AAGF;AACA;EACE;EACA;;;AAGF;EACE;;;AAGF;AACA;EACE;EACA;;;AAKF;EACE;;;AAGF;EACE;EACA;;;AAIF;EACE;;;AAGF;AACA;EACE;;;AAGF;EACE;;;AAGF;AAAA;EAEE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAEF;EACE;EACA;;;AAKF;AAAA;EAEE;EACA;EACA;;;AAGF;AACA;EACE;;;AAGF;AACA;EACE;;;AAGF;AACA;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;AAAA;AAAA;EAGE;;;AAGF;AACA;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;AACA;EACE;;;AAGF;AACA;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;AACA;EACE;;;AAGF;EACE;;;AAGF;AACA;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;AAAA;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;AACA;AAAA;EAEE;;;AAGF;AACA;EACE;EACA;;;AAGF;AACA;EACE;;;AAGF","file":"gin-custom.css"} \ No newline at end of file diff --git a/web/themes/custom/ys_admin_theme/scss/gin-custom.scss b/web/themes/custom/ys_admin_theme/scss/gin-custom.scss index 6c2e49a037..c61db4f738 100644 --- a/web/themes/custom/ys_admin_theme/scss/gin-custom.scss +++ b/web/themes/custom/ys_admin_theme/scss/gin-custom.scss @@ -439,4 +439,9 @@ background-color: var(--darkest-gray); } +/* MaxLength */ +.gin--dark-mode .error strong { + color: var(--wool); +} + /* stylelint-enable */