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') . '',
- 'mega' => $this->t('Mega') . '',
+ 'basic' => $this->t('Basic') . '',
+ 'mega' => $this->t('Mega') . '',
],
'#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 */