From 6d6b60a47e219b3580b58f02632c8a40325ddb00 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Tue, 29 Aug 2023 16:15:00 -0500 Subject: [PATCH 001/178] [EPAD8-2085] Updating anchor_link module with latest updates to resolve issue where anchor links being moved to end of line. --- services/drupal/composer.json | 15 ++++++++++++++- services/drupal/composer.lock | 13 ++++++++++--- services/drupal/composer.patches.json | 2 +- 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/services/drupal/composer.json b/services/drupal/composer.json index 9664b9c8c7..d0ec219d72 100644 --- a/services/drupal/composer.json +++ b/services/drupal/composer.json @@ -199,6 +199,18 @@ "type": "zip" } } + }, + { + "type": "package", + "package": { + "name": "drupal-library/ckeditor5-anchor-drupal", + "version": "0.0.0", + "type": "drupal-library", + "dist": { + "url": "https://www.drupal.org/files/issues/2023-07-27/ckeditor5-anchor-drupal.zip", + "type": "zip" + } + } } ], "require": { @@ -210,6 +222,7 @@ "composer/installers": "^1.2", "cweagans/composer-patches": "^1.6.5", "d3/d3": "^3.5", + "drupal-library/ckeditor5-anchor-drupal": "^0.0.0", "drupal/address": "^1.7", "drupal/addtocal": "^2.0", "drupal/admin_toolbar": "^3.3", @@ -359,9 +372,9 @@ "nodespark/des-connector": "dev-php-update#d699e59 as 7.x-dev", "popperjs/popperjs": "^2.11", "ruflin/elastica": "7.x-dev#72a4598544e3f99b5dd8cacb05d009ee75c2a701 as dev-master", + "sabre/vobject": "^4.0", "tippyjs/tippyjs": "*", "vlucas/phpdotenv": "^5.0", - "sabre/vobject": "^4.0", "webflo/drupal-finder": "^1.0.0", "webmozart/path-util": "^2.3", "wikimedia/composer-merge-plugin": "^2.0", diff --git a/services/drupal/composer.lock b/services/drupal/composer.lock index e4491d1b38..d146b2d0c8 100644 --- a/services/drupal/composer.lock +++ b/services/drupal/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "64cb3498d9257988d5f50063868a5629", + "content-hash": "d4d567abf5bab3dd2a780516ea339ae7", "packages": [ { "name": "algolia/places", @@ -2073,6 +2073,15 @@ "abandoned": "roave/better-reflection", "time": "2022-05-31T18:46:25+00:00" }, + { + "name": "drupal-library/ckeditor5-anchor-drupal", + "version": "0.0.0", + "dist": { + "type": "zip", + "url": "https://www.drupal.org/files/issues/2023-07-27/ckeditor5-anchor-drupal.zip" + }, + "type": "drupal-library" + }, { "name": "drupal/address", "version": "1.11.0", @@ -22563,8 +22572,6 @@ "drupal/views_send": 5, "drupal/viewsreference": 10, "drupal/webform": 10, - "drupal/shield": 20, - "drupal/smtp": 20, "drupal/webform_migrate": 20, "drupal/webform_validation": 15, "drupal_git/custom_add_another": 20, diff --git a/services/drupal/composer.patches.json b/services/drupal/composer.patches.json index cc086ee1d8..a6eb9bb61e 100644 --- a/services/drupal/composer.patches.json +++ b/services/drupal/composer.patches.json @@ -264,7 +264,7 @@ "CKEditor5 readiness": "https://www.drupal.org/files/issues/2023-02-10/3322249-ckeditor5-9.patch" }, "drupal/anchor_link": { - "Start a 3.0.x branch for CKEditor Anchor Link for semantic versioning and better integration with Drupal 10, CKEditor 5, and LinkIt" : "https://www.drupal.org/files/issues/2023-04-28/anchor_link-ckeditor5-compatibility-3206676-55.patch" + "Start a 3.0.x branch for CKEditor Anchor Link for semantic versioning and better integration with Drupal 10, CKEditor 5, and LinkIt" : "https://www.drupal.org/files/issues/2023-08-22/anchor_link-ckeditor5-compatibility-3206676-98.patch" }, "spatie/calendar-links": { "Resolving issue with ICS not working with Outlook": "patches/ics-microsoft-outlook-fix-from-dogawaf-73.patch" From 3ab2af0b76e52e44e1cf4349ab7e1060bef1988f Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Tue, 29 Aug 2023 16:18:37 -0500 Subject: [PATCH 002/178] [EPAD8-2085] Re-enablign ckeditor5 test formattter for HTML paragraph. --- .../drupal/config/sync/field.field.paragraph.html.field_body.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/services/drupal/config/sync/field.field.paragraph.html.field_body.yml b/services/drupal/config/sync/field.field.paragraph.html.field_body.yml index bf63308a46..8337dcd813 100644 --- a/services/drupal/config/sync/field.field.paragraph.html.field_body.yml +++ b/services/drupal/config/sync/field.field.paragraph.html.field_body.yml @@ -12,6 +12,7 @@ dependencies: third_party_settings: allowed_formats: allowed_formats: + - ckeditor_5_test - filtered_html - full_html custom_add_another: From c2c1b5f383578ba120211f150c5969c00e706d49 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Tue, 12 Sep 2023 14:51:32 -0500 Subject: [PATCH 003/178] [EPAD8-2186] Adding preprocess for webareamenu block to dynamically alter the title to say '{Web Area Name} Home' --- .../web/themes/epa_theme/includes/block.inc | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/services/drupal/web/themes/epa_theme/includes/block.inc b/services/drupal/web/themes/epa_theme/includes/block.inc index 4fa36a48ce..05e885ba7a 100644 --- a/services/drupal/web/themes/epa_theme/includes/block.inc +++ b/services/drupal/web/themes/epa_theme/includes/block.inc @@ -6,6 +6,7 @@ */ use Drupal\block_content\BlockContentInterface; +use Drupal\group\Entity\Group; /** * Implements hook_theme_suggestions_HOOK_alter(). @@ -35,3 +36,17 @@ function epa_theme_theme_suggestions_block_alter(array &$suggestions, array $var } } } + +/** + * Implements hook_preprocess_HOOK(). + */ +function epa_theme_preprocess_block__webareamenu(&$variables) { + /** @var \Drupal\group\Cache\Context\RouteGroupCacheContext $cache_group_route_context */ + $cache_group_route_context = \Drupal::service('cache_context.route.group'); + /** @var \Drupal\epa_web_areas\Entity\EPAGroup $candidate */ + $group = $cache_group_route_context->getBestCandidate(); + + if ($group instanceof Group) { + $variables['label'] = $group->label() . t(' Home'); + } +} From 1905dd11eec5c73befa69daf32cb0bd4af94c6c7 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Tue, 12 Sep 2023 14:54:47 -0500 Subject: [PATCH 004/178] [EPAD8-2186] Altering webareamenu block to output all links as expanded. This will ensure the full tree is loaded. Enabling 'display title' checkbox so our custom block title wil l display. --- services/drupal/config/sync/block.block.webareamenu.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/drupal/config/sync/block.block.webareamenu.yml b/services/drupal/config/sync/block.block.webareamenu.yml index dcc01054a0..af45408ccf 100644 --- a/services/drupal/config/sync/block.block.webareamenu.yml +++ b/services/drupal/config/sync/block.block.webareamenu.yml @@ -23,5 +23,5 @@ settings: group: '@group.group_route_context:group' level: 1 depth: 3 - expand_all_items: false + expand_all_items: true visibility: { } From 475456c3ca70822b38312cb8b64b9262f52013f9 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Tue, 12 Sep 2023 15:10:32 -0500 Subject: [PATCH 005/178] [EPAD8-2186] Enabling block title to be visible. --- services/drupal/config/sync/block.block.webareamenu.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/drupal/config/sync/block.block.webareamenu.yml b/services/drupal/config/sync/block.block.webareamenu.yml index af45408ccf..17c7a17c78 100644 --- a/services/drupal/config/sync/block.block.webareamenu.yml +++ b/services/drupal/config/sync/block.block.webareamenu.yml @@ -17,7 +17,7 @@ plugin: 'group_content_menu:web_area_menu' settings: id: 'group_content_menu:web_area_menu' label: 'Web Area Menu' - label_display: '0' + label_display: visible provider: group_content_menu context_mapping: group: '@group.group_route_context:group' From 5fc248ab8abb64ec03377b75ec7ea98a90fee043 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Fri, 15 Sep 2023 11:15:59 -0500 Subject: [PATCH 006/178] [EPAD8-2186] Altering logic for webareamenu block to take the first menu link and make it the block's title. --- .../web/themes/epa_theme/includes/block.inc | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/services/drupal/web/themes/epa_theme/includes/block.inc b/services/drupal/web/themes/epa_theme/includes/block.inc index 05e885ba7a..bd9aef0db3 100644 --- a/services/drupal/web/themes/epa_theme/includes/block.inc +++ b/services/drupal/web/themes/epa_theme/includes/block.inc @@ -6,7 +6,7 @@ */ use Drupal\block_content\BlockContentInterface; -use Drupal\group\Entity\Group; +use Drupal\Core\Link; /** * Implements hook_theme_suggestions_HOOK_alter(). @@ -39,14 +39,15 @@ function epa_theme_theme_suggestions_block_alter(array &$suggestions, array $var /** * Implements hook_preprocess_HOOK(). + * + * The first item of the Web Area Menu is a link back to the Web Area 'Homepage'. + * This makes the first menu link the block's title and removes it from the list. */ function epa_theme_preprocess_block__webareamenu(&$variables) { - /** @var \Drupal\group\Cache\Context\RouteGroupCacheContext $cache_group_route_context */ - $cache_group_route_context = \Drupal::service('cache_context.route.group'); - /** @var \Drupal\epa_web_areas\Entity\EPAGroup $candidate */ - $group = $cache_group_route_context->getBestCandidate(); - - if ($group instanceof Group) { - $variables['label'] = $group->label() . t(' Home'); + if (!empty($variables['content']['#items'])) { + $first_link = reset($variables['content']['#items']); + $new_link = Link::fromTextAndUrl($first_link['title'], $first_link['url']); + $variables['label'] = $new_link->toRenderable(); + unset($variables['content']['#items'][$first_link['original_link']->getPluginId()]); } } From f52c6c0c42a5800ab798e97043536e97585b8f49 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Fri, 15 Sep 2023 12:01:45 -0500 Subject: [PATCH 007/178] [EPAD8-2221] Adding preprocess that adds new webarea_contact_link variable to node's Full view mode. Modifying all node--full templates to use this new variable rather than the previous webareaheader block. --- .../web/themes/epa_theme/includes/node.inc | 39 +++++++++++++++++++ .../content/node--event--full.html.twig | 3 +- .../content/node--faq--full.html.twig | 3 +- .../templates/content/node--full.html.twig | 2 +- .../node--news-release--full.html.twig | 3 +- .../content/node--perspective--full.html.twig | 3 +- .../node--public-notice--full.html.twig | 3 +- .../content/node--regulation--full.html.twig | 3 +- .../content/node--speeches--full.html.twig | 3 +- .../content/node--web-area--full.html.twig | 3 +- 10 files changed, 56 insertions(+), 9 deletions(-) diff --git a/services/drupal/web/themes/epa_theme/includes/node.inc b/services/drupal/web/themes/epa_theme/includes/node.inc index 4eceffcd9e..c342fceb72 100644 --- a/services/drupal/web/themes/epa_theme/includes/node.inc +++ b/services/drupal/web/themes/epa_theme/includes/node.inc @@ -5,6 +5,7 @@ */ use Drupal\Core\Link; +use Drupal\group\Entity\GroupContent; /** * Implements hook_preprocess_node(). @@ -22,12 +23,24 @@ function epa_theme_preprocess_node(&$variables) { } } +/** + * Implements hook_preprocess_node__VIEW_MODE(). + * + * Retrieves the node's Group's referenced webform and adds it as a variable. + */ +function epa_theme_preprocess_node__full(&$variables) { + /** @var \Drupal\node\Entity\Node $node */ + $node = $variables['node']; + _add_webarea_contact_link($node, $variables); +} + /** * Implements hook_preprocess_node__BUNDLE__VIEW_MODE(). */ function epa_theme_preprocess_node__news_release__full(&$variables) { /** @var \Drupal\node\NodeInterface $node */ $node = $variables['node']; + _add_webarea_contact_link($node, $variables); $language = $node->get('field_language')->value; @@ -180,3 +193,29 @@ function _add_regions_to_node($allowed_regions, &$variables) { $variables['region_' . $region] = $build; } } + +/** + * Custom function to add Web Area contact link to node templates. + * + * @param $entity + * The node to get the Group contact link for. + * @param $variables + * The node render array variables. + * + * @return void + * @throws \Drupal\Core\Entity\EntityMalformedException + */ +function _add_webarea_contact_link($entity, &$variables) { + $group_contents = GroupContent::loadByEntity($entity); + if (!empty($group_contents)) { + /** @var \Drupal\group\Entity\GroupContent $group_content */ + $group_content = reset($group_contents); + $group = $group_content->getGroup(); + /** @var \Drupal\node\Entity\Node[] $webform */ + $webform = $group->get('field_contact_us_form')->referencedEntities(); + if (!empty($webform)) { + $webform = reset($webform); + $variables['webarea_contact_link'] = $webform->toLink()->toRenderable(); + } + } +} diff --git a/services/drupal/web/themes/epa_theme/templates/content/node--event--full.html.twig b/services/drupal/web/themes/epa_theme/templates/content/node--event--full.html.twig index 7cf937a1e7..bef28752b9 100644 --- a/services/drupal/web/themes/epa_theme/templates/content/node--event--full.html.twig +++ b/services/drupal/web/themes/epa_theme/templates/content/node--event--full.html.twig @@ -28,7 +28,8 @@ {% endset %} {% set contact_link %} - {{ drupal_entity('block', 'webareaheader', check_access=false) }} +{# {{ drupal_entity('block', 'webareaheader', check_access=false) }}#} + {{ webarea_contact_link }} {% endset %} {% set admin_info %} diff --git a/services/drupal/web/themes/epa_theme/templates/content/node--faq--full.html.twig b/services/drupal/web/themes/epa_theme/templates/content/node--faq--full.html.twig index 99faf6fe65..2ef324d988 100644 --- a/services/drupal/web/themes/epa_theme/templates/content/node--faq--full.html.twig +++ b/services/drupal/web/themes/epa_theme/templates/content/node--faq--full.html.twig @@ -33,7 +33,8 @@ {% endset %} {% set contact_link %} - {{ drupal_entity('block', 'webareaheader', check_access=false) }} +{# {{ drupal_entity('block', 'webareaheader', check_access=false) }}#} + {{ webarea_contact_link }} {% endset %} {% set admin_info %} diff --git a/services/drupal/web/themes/epa_theme/templates/content/node--full.html.twig b/services/drupal/web/themes/epa_theme/templates/content/node--full.html.twig index 7786192d11..4de616fa66 100644 --- a/services/drupal/web/themes/epa_theme/templates/content/node--full.html.twig +++ b/services/drupal/web/themes/epa_theme/templates/content/node--full.html.twig @@ -33,7 +33,7 @@ {% endset %} {% set contact_link %} - {{ drupal_entity('block', 'webareaheader', check_access=false) }} + {{ webarea_contact_link }} {% endset %} {% set admin_info %} diff --git a/services/drupal/web/themes/epa_theme/templates/content/node--news-release--full.html.twig b/services/drupal/web/themes/epa_theme/templates/content/node--news-release--full.html.twig index f4006f39cb..b171888ff4 100644 --- a/services/drupal/web/themes/epa_theme/templates/content/node--news-release--full.html.twig +++ b/services/drupal/web/themes/epa_theme/templates/content/node--news-release--full.html.twig @@ -31,7 +31,8 @@ {% endset %} {% set contact_link %} - {{ drupal_entity('block', 'webareaheader', check_access=false) }} +{# {{ drupal_entity('block', 'webareaheader', check_access=false) }}#} + {{ webarea_contact_link }} {% endset %} {% set admin_info %} diff --git a/services/drupal/web/themes/epa_theme/templates/content/node--perspective--full.html.twig b/services/drupal/web/themes/epa_theme/templates/content/node--perspective--full.html.twig index 429aeb92ba..d5da61411e 100644 --- a/services/drupal/web/themes/epa_theme/templates/content/node--perspective--full.html.twig +++ b/services/drupal/web/themes/epa_theme/templates/content/node--perspective--full.html.twig @@ -26,7 +26,8 @@ {% endset %} {% set contact_link %} - {{ drupal_entity('block', 'webareaheader', check_access=false) }} +{# {{ drupal_entity('block', 'webareaheader', check_access=false) }}#} + {{ webarea_contact_link }} {% endset %} {% set admin_info %} diff --git a/services/drupal/web/themes/epa_theme/templates/content/node--public-notice--full.html.twig b/services/drupal/web/themes/epa_theme/templates/content/node--public-notice--full.html.twig index 660a2ee493..ab230ae154 100644 --- a/services/drupal/web/themes/epa_theme/templates/content/node--public-notice--full.html.twig +++ b/services/drupal/web/themes/epa_theme/templates/content/node--public-notice--full.html.twig @@ -28,7 +28,8 @@ {% endset %} {% set contact_link %} - {{ drupal_entity('block', 'webareaheader', check_access=false) }} +{# {{ drupal_entity('block', 'webareaheader', check_access=false) }}#} + {{ webarea_contact_link }} {% endset %} {% set admin_info %} diff --git a/services/drupal/web/themes/epa_theme/templates/content/node--regulation--full.html.twig b/services/drupal/web/themes/epa_theme/templates/content/node--regulation--full.html.twig index 736e569d8d..d40956e291 100644 --- a/services/drupal/web/themes/epa_theme/templates/content/node--regulation--full.html.twig +++ b/services/drupal/web/themes/epa_theme/templates/content/node--regulation--full.html.twig @@ -28,7 +28,8 @@ {% endset %} {% set contact_link %} - {{ drupal_entity('block', 'webareaheader', check_access=false) }} +{# {{ drupal_entity('block', 'webareaheader', check_access=false) }}#} + {{ webarea_contact_link }} {% endset %} {% set admin_info %} diff --git a/services/drupal/web/themes/epa_theme/templates/content/node--speeches--full.html.twig b/services/drupal/web/themes/epa_theme/templates/content/node--speeches--full.html.twig index 04aeff02ba..47e0542a24 100644 --- a/services/drupal/web/themes/epa_theme/templates/content/node--speeches--full.html.twig +++ b/services/drupal/web/themes/epa_theme/templates/content/node--speeches--full.html.twig @@ -26,7 +26,8 @@ {% endset %} {% set contact_link %} - {{ drupal_entity('block', 'webareaheader', check_access=false) }} +{# {{ drupal_entity('block', 'webareaheader', check_access=false) }}#} + {{ webarea_contact_link }} {% endset %} {% set admin_info %} diff --git a/services/drupal/web/themes/epa_theme/templates/content/node--web-area--full.html.twig b/services/drupal/web/themes/epa_theme/templates/content/node--web-area--full.html.twig index 1f355d4cab..6653a676e5 100644 --- a/services/drupal/web/themes/epa_theme/templates/content/node--web-area--full.html.twig +++ b/services/drupal/web/themes/epa_theme/templates/content/node--web-area--full.html.twig @@ -17,7 +17,8 @@ {% endset %} {% set contact_link %} - {{ drupal_entity('block', 'webareaheader', check_access=false) }} +{# {{ drupal_entity('block', 'webareaheader', check_access=false) }}#} + {{ webarea_contact_link }} {% endset %} {% set admin_info %} From e12a891b1d1ebe96ac0ddb6c28991867ecf498d4 Mon Sep 17 00:00:00 2001 From: Sarah Proper Date: Thu, 21 Sep 2023 21:46:25 -0600 Subject: [PATCH 008/178] EPAD8-2186 set up sidenav as accordion, start to style + wire up --- .../epa_theme/js/src/modules/navigation.js | 2 +- .../_patterns/05-components/_index.scss | 2 +- .../_patterns/05-components/block/_index.scss | 2 + .../_block--webareamenu.scss | 5 + .../menu/menu--main/menu--main.twig | 1 + .../menu/menu--sidenav/menu--sidenav.twig | 106 +++++++++++++++++- .../block/block--webareamenu.html.twig | 28 ++++- .../navigation/menu--group-menu.html.twig | 11 ++ 8 files changed, 150 insertions(+), 7 deletions(-) create mode 100644 services/drupal/web/themes/epa_theme/source/_patterns/05-components/block/_index.scss create mode 100644 services/drupal/web/themes/epa_theme/source/_patterns/05-components/block/block--webareamenu/_block--webareamenu.scss create mode 100644 services/drupal/web/themes/epa_theme/templates/navigation/menu--group-menu.html.twig diff --git a/services/drupal/web/themes/epa_theme/js/src/modules/navigation.js b/services/drupal/web/themes/epa_theme/js/src/modules/navigation.js index 147a198187..0bf67143aa 100644 --- a/services/drupal/web/themes/epa_theme/js/src/modules/navigation.js +++ b/services/drupal/web/themes/epa_theme/js/src/modules/navigation.js @@ -1,5 +1,5 @@ export default function() { - const subnav = once('navigation', '.menu--main .menu__subnav'); + const subnav = once('navigation', '.menu--accordion .menu__subnav'); subnav.forEach((menu, index) => { menu.setAttribute('hidden', true); const button = menu.previousElementSibling; diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/_index.scss b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/_index.scss index c8e3e95a72..2715ea255f 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/_index.scss +++ b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/_index.scss @@ -9,7 +9,7 @@ $wysiwyg: false !default; @forward 'audio/audio'; @forward 'back-to-top/back-to-top'; @forward 'before-after-swipe/before-after-swipe'; -@forward 'block/block'; +@forward 'block'; @forward 'box'; @forward 'button'; @forward 'button-group'; diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/block/_index.scss b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/block/_index.scss new file mode 100644 index 0000000000..0e5beaeb94 --- /dev/null +++ b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/block/_index.scss @@ -0,0 +1,2 @@ +@forward 'block'; +@forward 'block--webareamenu/block--webareamenu'; diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/block/block--webareamenu/_block--webareamenu.scss b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/block/block--webareamenu/_block--webareamenu.scss new file mode 100644 index 0000000000..39fbe9712e --- /dev/null +++ b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/block/block--webareamenu/_block--webareamenu.scss @@ -0,0 +1,5 @@ +@use '../../../00-config' as *; + +.webareamenu .block__title { + @include display-text-style(h4); +} diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/menu/menu--main/menu--main.twig b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/menu/menu--main/menu--main.twig index 1b62f96769..55f5610883 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/menu/menu--main/menu--main.twig +++ b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/menu/menu--main/menu--main.twig @@ -10,6 +10,7 @@ {% set additional_classes = [ 'menu', "menu--#{menu_name}", + 'menu--accordion', 'usa-accordion' ] %} {% if menu_class %} diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/menu/menu--sidenav/menu--sidenav.twig b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/menu/menu--sidenav/menu--sidenav.twig index 97d0c51d25..c84a1b087b 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/menu/menu--sidenav/menu--sidenav.twig +++ b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/menu/menu--sidenav/menu--sidenav.twig @@ -1,4 +1,102 @@ -{% include '@components/menu/menu.twig' with { - 'menu_name': menu_name, - 'items': items, -} %} +{% import _self as menus %} + +{{ menus.menu_links(items, attributes, 0, menu_name, menu_class, menu_class_prefix, link_class, epa_theme_image_path) }} + +{% macro menu_links(items, attributes, menu_level, menu_name, menu_class, menu_class_prefix, link_class, epa_theme_image_path) %} + {% import _self as menus %} + {% if items %} + {% if menu_level == 0 %} + {# double quotes around class using menu_name needed for interpolation #} + {% set additional_classes = [ + 'menu', + "menu--#{menu_name}", + 'menu--accordion', + 'usa-accordion' + ] %} + {% if menu_class %} + {% set additional_classes = additional_classes|merge(menu_class) %} + {% endif %} + {% set additional_attributes = { + 'class': additional_classes + } %} +
    + {% else %} + + {% endif %} +{% endmacro %} diff --git a/services/drupal/web/themes/epa_theme/templates/block/block--webareamenu.html.twig b/services/drupal/web/themes/epa_theme/templates/block/block--webareamenu.html.twig index 9c4510571c..64b5286cb3 100644 --- a/services/drupal/web/themes/epa_theme/templates/block/block--webareamenu.html.twig +++ b/services/drupal/web/themes/epa_theme/templates/block/block--webareamenu.html.twig @@ -4,4 +4,30 @@ * Theme override for the group menus block. */ #} -{% extends "block--admin.html.twig" %} +{% set classes = [ + 'margin-0', + 'webareamenu' +] %} + +{% set attributes = attributes.addClass(classes) %} + +{% set block_content %} + {% block block_content %} + {{ content }} + {% endblock %} +{% endset %} + +{% embed '@components/block/block.twig' with { + 'hide_wrapper': not logged_in, + 'has_constrain': false, + 'title_prefix': title_prefix, + 'label': label, + 'title_suffix': title_suffix, + 'hide_content_wrapper': true, +} %} + + {% block content %} + {{ block_content }} + {% endblock %} + +{% endembed %} diff --git a/services/drupal/web/themes/epa_theme/templates/navigation/menu--group-menu.html.twig b/services/drupal/web/themes/epa_theme/templates/navigation/menu--group-menu.html.twig new file mode 100644 index 0000000000..0b08fc67f7 --- /dev/null +++ b/services/drupal/web/themes/epa_theme/templates/navigation/menu--group-menu.html.twig @@ -0,0 +1,11 @@ +{# + /** + * @file + * Theme override for Menu. + * + */ +#} + +{% include '@components/menu/menu--sidenav/menu--sidenav.twig' with { + 'main_items': items, +} %} From 79b7fea5172dc32a5ded4be2c76f1d10b82049fc Mon Sep 17 00:00:00 2001 From: Sarah Proper Date: Sun, 24 Sep 2023 23:03:14 -0600 Subject: [PATCH 009/178] EPAD8-2186 button styling, color for active trail --- .../menu/menu--sidenav/_menu--sidenav.scss | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/menu/menu--sidenav/_menu--sidenav.scss b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/menu/menu--sidenav/_menu--sidenav.scss index 8b2b72d361..426f93009d 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/menu/menu--sidenav/_menu--sidenav.scss +++ b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/menu/menu--sidenav/_menu--sidenav.scss @@ -12,6 +12,8 @@ } .menu__link { + background-color: transparent; + background-image: none; color: gesso-color(text, link) !important; &:hover, @@ -30,6 +32,29 @@ &.is-active, &.is-active-trail { @extend .usa-current; + background-color: color('base-lightest'); + } + + &.has-subnav { + display: flex; + gap: rem(gesso-spacing('05')); + justify-content: space-between; + padding: gesso-spacing(2) gesso-spacing(3); + + &[aria-expanded='true'] > .menu__link-icon { + transform: rotate(0deg); + } + } + } + + .menu__link-icon { + font-size: 1em; + top: -1px; + transform: rotate(-180deg); + transition: transform gesso-duration(standard) gesso-easing(ease-out); + + @include at-media($theme-header-min-width) { + font-size: 1.1em; } } From 8a9e520b62c2c8ff87760fa0c4cf35846f95292a Mon Sep 17 00:00:00 2001 From: Sarah Proper Date: Mon, 25 Sep 2023 23:38:11 -0600 Subject: [PATCH 010/178] EPAD8-2186 mobile menu + trigger with styling --- .../epa_theme/js/src/modules/navigation.js | 13 +++++ .../sidebar--reversed/_sidebar--reversed.scss | 5 ++ .../_block--webareamenu.scss | 52 ++++++++++++++++++- .../menu/menu--sidenav/_menu--sidenav.scss | 32 ++++++++++-- .../menu/menu--sidenav/menu--sidenav.twig | 10 ++++ 5 files changed, 105 insertions(+), 7 deletions(-) diff --git a/services/drupal/web/themes/epa_theme/js/src/modules/navigation.js b/services/drupal/web/themes/epa_theme/js/src/modules/navigation.js index 0bf67143aa..49a3dc3e7f 100644 --- a/services/drupal/web/themes/epa_theme/js/src/modules/navigation.js +++ b/services/drupal/web/themes/epa_theme/js/src/modules/navigation.js @@ -9,4 +9,17 @@ export default function() { button.setAttribute('aria-controls', id); } }); + const sideNavTrigger = document.getElementById('menu--sidenav__menu-button'); + const sideNavMenu = document.querySelector('.menu--sidenav'); + const overlay = document.getElementsByClassName('usa-overlay'); + sideNavTrigger.addEventListener( + 'click', + function() { + sideNavMenu.classList.toggle('is-visible'); + for (const item of overlay) { + item.classList.toggle('is-visible'); + } + }, + false + ); } diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/04-layouts/sidebar/sidebar--reversed/_sidebar--reversed.scss b/services/drupal/web/themes/epa_theme/source/_patterns/04-layouts/sidebar/sidebar--reversed/_sidebar--reversed.scss index 5d0681047e..f3a200d2bb 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/04-layouts/sidebar/sidebar--reversed/_sidebar--reversed.scss +++ b/services/drupal/web/themes/epa_theme/source/_patterns/04-layouts/sidebar/sidebar--reversed/_sidebar--reversed.scss @@ -4,8 +4,13 @@ @use '../../../00-config' as *; .l-sidebar--reversed { + display: flex; + flex-direction: column-reverse; + flex-wrap: wrap; + @include breakpoint(gesso-breakpoint(sidebar)) { flex-direction: row-reverse; + flex-wrap: nowrap; > .l-sidebar__sidebar { margin-left: 0; diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/block/block--webareamenu/_block--webareamenu.scss b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/block/block--webareamenu/_block--webareamenu.scss index 39fbe9712e..07f2a452fc 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/block/block--webareamenu/_block--webareamenu.scss +++ b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/block/block--webareamenu/_block--webareamenu.scss @@ -1,5 +1,53 @@ @use '../../../00-config' as *; -.webareamenu .block__title { - @include display-text-style(h4); +.webareamenu { + @include at-media-max($theme-header-min-width) { + align-items: center; + background-color: color('base-lightest'); + display: flex; + margin-bottom: 2.5rem; + margin-left: -1.5rem; + padding: 1.125rem 1.5rem 0; + width: calc(100% + 3rem); + } + + .block__title { + @include display-text-style(h3); + + @include at-media-max($theme-header-min-width) { + border-left: 2px solid gesso-grayscale(gray-3); + order: 2; + padding-left: rem(12px); + } + + a { + color: gesso-grayscale(black); + + &:visited { + color: gesso-color(text, link-visited); + } + + &:hover, + &:focus { + color: gesso-color(text, link-hover); + } + + &:active { + color: gesso-color(text, link-active); + } + } + } + + .menu--sidenav__menu-button { + display: none; + + @include at-media-max($theme-header-min-width) { + box-shadow: none; + display: block; + font-size: 2rem; + order: 1; + padding: 0; + margin-bottom: rem(15px); + } + } } diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/menu/menu--sidenav/_menu--sidenav.scss b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/menu/menu--sidenav/_menu--sidenav.scss index 426f93009d..822227fa4b 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/menu/menu--sidenav/_menu--sidenav.scss +++ b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/menu/menu--sidenav/_menu--sidenav.scss @@ -7,6 +7,26 @@ .menu--sidenav { @extend .usa-sidenav; + @include at-media-max($theme-header-min-width) { + @include u-pin("right"); + @include u-pin("y"); + position: fixed; + background: color("white"); + border-right: 0; + display: none; + flex-direction: column; + overflow-y: auto; + margin-bottom: 0; + padding: 0; + width: 18rem; + z-index: z-index(500); + + &.is-visible { + animation: slidein-left 0.3s ease-in-out; + display: flex; + } + } + .menu__item { @extend .usa-sidenav__item; } @@ -48,17 +68,19 @@ } .menu__link-icon { - font-size: 1em; + color: gesso-grayscale(black); + font-size: 0.8em; top: -1px; transform: rotate(-180deg); transition: transform gesso-duration(standard) gesso-easing(ease-out); - - @include at-media($theme-header-min-width) { - font-size: 1.1em; - } } .menu__subnav { @extend .usa-sidenav__sublist; + align-items: center; + + .menu__subnav { + font-size: rem(14px); + } } } diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/menu/menu--sidenav/menu--sidenav.twig b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/menu/menu--sidenav/menu--sidenav.twig index c84a1b087b..abb19a113e 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/menu/menu--sidenav/menu--sidenav.twig +++ b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/menu/menu--sidenav/menu--sidenav.twig @@ -1,5 +1,15 @@ {% import _self as menus %} + + {{ menus.menu_links(items, attributes, 0, menu_name, menu_class, menu_class_prefix, link_class, epa_theme_image_path) }} {% macro menu_links(items, attributes, menu_level, menu_name, menu_class, menu_class_prefix, link_class, epa_theme_image_path) %} From 3d04792c36d6d64311a6829bfd2c2234acb3d6a1 Mon Sep 17 00:00:00 2001 From: Dan Mouyard Date: Tue, 26 Sep 2023 14:40:32 -0400 Subject: [PATCH 011/178] EPAD8-2186: Switch to stylelint-order --- .../web/themes/epa_theme/.stylelintrc.yml | 10 +---- .../web/themes/epa_theme/package-lock.json | 40 +++++++++++++++++++ .../drupal/web/themes/epa_theme/package.json | 1 + 3 files changed, 43 insertions(+), 8 deletions(-) diff --git a/services/drupal/web/themes/epa_theme/.stylelintrc.yml b/services/drupal/web/themes/epa_theme/.stylelintrc.yml index 37ff46e611..d87824db82 100644 --- a/services/drupal/web/themes/epa_theme/.stylelintrc.yml +++ b/services/drupal/web/themes/epa_theme/.stylelintrc.yml @@ -1,8 +1,8 @@ extends: - stylelint-config-sass-guidelines - - stylelint-config-prettier plugins: + - stylelint-order - stylelint-prettier - stylelint-selector-pseudo-class-lvhfa rules: @@ -13,13 +13,7 @@ rules: - 'inside-function' max-nesting-depth: 3 no-empty-first-line: true - order/order: - - - type: at-rule - hasBlock: false - - custom-properties - - declarations - - unspecified: ignore - disableFix: true + order/properties-alphabetical-order: true plugin/selector-pseudo-class-lvhfa: true prettier/prettier: true property-no-vendor-prefix: null diff --git a/services/drupal/web/themes/epa_theme/package-lock.json b/services/drupal/web/themes/epa_theme/package-lock.json index 854591beb7..2193bcce9a 100644 --- a/services/drupal/web/themes/epa_theme/package-lock.json +++ b/services/drupal/web/themes/epa_theme/package-lock.json @@ -50,6 +50,7 @@ "sass": "^1.57.1", "stylelint": "^15.10.2", "stylelint-config-sass-guidelines": "^10.0.0", + "stylelint-order": "^6.0.3", "stylelint-prettier": "^1.1.2", "stylelint-selector-pseudo-class-lvhfa": "^2.0.0", "terser-webpack-plugin": "^1.4.1", @@ -13120,6 +13121,15 @@ "node": ">=4" } }, + "node_modules/postcss-sorting": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/postcss-sorting/-/postcss-sorting-8.0.2.tgz", + "integrity": "sha512-M9dkSrmU00t/jK7rF6BZSZauA5MAaBW4i5EnJXspMwt4iqTh/L9j6fgMnbElEOfyRyfLfVbIHj/R52zHzAPe1Q==", + "dev": true, + "peerDependencies": { + "postcss": "^8.4.20" + } + }, "node_modules/postcss-syntax": { "version": "0.36.2", "resolved": "https://registry.npmjs.org/postcss-syntax/-/postcss-syntax-0.36.2.tgz", @@ -15406,6 +15416,19 @@ "postcss": "^8.4.19" } }, + "node_modules/stylelint-order": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/stylelint-order/-/stylelint-order-6.0.3.tgz", + "integrity": "sha512-1j1lOb4EU/6w49qZeT2SQVJXm0Ht+Qnq9GMfUa3pMwoyojIWfuA+JUDmoR97Bht1RLn4ei0xtLGy87M7d29B1w==", + "dev": true, + "dependencies": { + "postcss": "^8.4.21", + "postcss-sorting": "^8.0.2" + }, + "peerDependencies": { + "stylelint": "^14.0.0 || ^15.0.0" + } + }, "node_modules/stylelint-prettier": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/stylelint-prettier/-/stylelint-prettier-1.2.0.tgz", @@ -29264,6 +29287,13 @@ "util-deprecate": "^1.0.2" } }, + "postcss-sorting": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/postcss-sorting/-/postcss-sorting-8.0.2.tgz", + "integrity": "sha512-M9dkSrmU00t/jK7rF6BZSZauA5MAaBW4i5EnJXspMwt4iqTh/L9j6fgMnbElEOfyRyfLfVbIHj/R52zHzAPe1Q==", + "dev": true, + "requires": {} + }, "postcss-syntax": { "version": "0.36.2", "resolved": "https://registry.npmjs.org/postcss-syntax/-/postcss-syntax-0.36.2.tgz", @@ -31344,6 +31374,16 @@ } } }, + "stylelint-order": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/stylelint-order/-/stylelint-order-6.0.3.tgz", + "integrity": "sha512-1j1lOb4EU/6w49qZeT2SQVJXm0Ht+Qnq9GMfUa3pMwoyojIWfuA+JUDmoR97Bht1RLn4ei0xtLGy87M7d29B1w==", + "dev": true, + "requires": { + "postcss": "^8.4.21", + "postcss-sorting": "^8.0.2" + } + }, "stylelint-prettier": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/stylelint-prettier/-/stylelint-prettier-1.2.0.tgz", diff --git a/services/drupal/web/themes/epa_theme/package.json b/services/drupal/web/themes/epa_theme/package.json index b55e9717d4..a5d0cdac27 100644 --- a/services/drupal/web/themes/epa_theme/package.json +++ b/services/drupal/web/themes/epa_theme/package.json @@ -54,6 +54,7 @@ "sass": "^1.57.1", "stylelint": "^15.10.2", "stylelint-config-sass-guidelines": "^10.0.0", + "stylelint-order": "^6.0.3", "stylelint-prettier": "^1.1.2", "stylelint-selector-pseudo-class-lvhfa": "^2.0.0", "terser-webpack-plugin": "^1.4.1", From 61269ae0a051b6c0659e7c0ef7d9f4d043298c64 Mon Sep 17 00:00:00 2001 From: Dan Mouyard Date: Tue, 26 Sep 2023 14:45:00 -0400 Subject: [PATCH 012/178] EPAD8-2186: Fix 'rule-empty-line-before' errors --- .../source/_patterns/00-config/01-mixins/_mixins.link.scss | 3 +++ .../source/_patterns/05-components/_details/_details.scss | 1 + .../external-link--inverse/_external-link--inverse.scss | 1 + .../epa_theme/source/_patterns/05-components/field/_field.scss | 1 + services/drupal/web/themes/epa_theme/source/pattern-lab.scss | 1 + 5 files changed, 7 insertions(+) diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/00-config/01-mixins/_mixins.link.scss b/services/drupal/web/themes/epa_theme/source/_patterns/00-config/01-mixins/_mixins.link.scss index 07ff566558..60de682dd0 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/00-config/01-mixins/_mixins.link.scss +++ b/services/drupal/web/themes/epa_theme/source/_patterns/00-config/01-mixins/_mixins.link.scss @@ -3,13 +3,16 @@ @mixin link($link, $hover: $link, $active: $hover, $visit: $link) { color: $link; + &:visited { color: $visit; } + &:hover, &:focus { color: $hover; } + &:active { color: $active; } diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/_details/_details.scss b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/_details/_details.scss index a222282c5d..249c8d90d4 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/_details/_details.scss +++ b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/_details/_details.scss @@ -77,6 +77,7 @@ details.details { border: 3px solid $details-background-color; border-top: 0; padding: $details-padding; + input { box-sizing: border-box; } diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/external-link/external-link--inverse/_external-link--inverse.scss b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/external-link/external-link--inverse/_external-link--inverse.scss index 95e4044d26..7920306931 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/external-link/external-link--inverse/_external-link--inverse.scss +++ b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/external-link/external-link--inverse/_external-link--inverse.scss @@ -20,6 +20,7 @@ &:focus, &:active { color: gesso-grayscale(white); + &::after { /* stylelint-disable-next-line selector-no-qualifying-type */ html.no-js & { diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/field/_field.scss b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/field/_field.scss index 3be457764d..d0c686c89f 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/field/_field.scss +++ b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/field/_field.scss @@ -35,6 +35,7 @@ font-size: inherit; margin-right: rem(units(1)); } + .field__content { font-weight: gesso-font-weight(bold); } diff --git a/services/drupal/web/themes/epa_theme/source/pattern-lab.scss b/services/drupal/web/themes/epa_theme/source/pattern-lab.scss index 55f71338c3..26d7893cb5 100644 --- a/services/drupal/web/themes/epa_theme/source/pattern-lab.scss +++ b/services/drupal/web/themes/epa_theme/source/pattern-lab.scss @@ -212,6 +212,7 @@ $duration-swatch: rem(40px); .pattern-lab-duration__help-text { margin-bottom: 1rem; } + .pattern-lab-duration__indicator { background-color: #666; border-radius: 50%; From 153d4e9a929b6ba4798883b9dd2f220f08dd93d8 Mon Sep 17 00:00:00 2001 From: Dan Mouyard Date: Tue, 26 Sep 2023 14:47:10 -0400 Subject: [PATCH 013/178] EPAD8-2186: Fix 'value-no-vendor-prefix' errors --- .../web/themes/epa_theme/source/_patterns/tiny-slider.scss | 4 ---- 1 file changed, 4 deletions(-) diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/tiny-slider.scss b/services/drupal/web/themes/epa_theme/source/_patterns/tiny-slider.scss index c546b52cce..58f0052284 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/tiny-slider.scss +++ b/services/drupal/web/themes/epa_theme/source/_patterns/tiny-slider.scss @@ -170,8 +170,6 @@ $perpage: 3; position: absolute; right: 0; width: math.div(100% * $count, $perpage); - width: -webkit-calc(100% * #{$count} / #{$perpage}); - width: -moz-calc(100% * #{$count} / #{$perpage}); width: calc(100% * #{$count} / #{$perpage}); &::after { @@ -184,8 +182,6 @@ $perpage: 3; float: left; height: $height; width: math.div(100%, $count); - width: -webkit-calc(100% / #{$count}); - width: -moz-calc(100% / #{$count}); width: calc(100% / #{$count}); } } From 142eb58c70d9a03bf308852f045865b328b9f5ca Mon Sep 17 00:00:00 2001 From: Dan Mouyard Date: Tue, 26 Sep 2023 14:59:28 -0400 Subject: [PATCH 014/178] EPAD8-2186: Fix 'no-global-function-names' errors --- .../_patterns/00-config/00-functions/_00-functions.gesso.scss | 4 ++-- .../source/_patterns/00-config/01-mixins/_mixins.grids.scss | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/00-config/00-functions/_00-functions.gesso.scss b/services/drupal/web/themes/epa_theme/source/_patterns/00-config/00-functions/_00-functions.gesso.scss index fb2b91ab4b..2427e6e34a 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/00-config/00-functions/_00-functions.gesso.scss +++ b/services/drupal/web/themes/epa_theme/source/_patterns/00-config/00-functions/_00-functions.gesso.scss @@ -5,7 +5,7 @@ // @param {Arglist} $keys - Keys to fetch // @return {*} @function map-deep-get($map, $keys...) { - $arg-type: type-of($map); + $arg-type: meta.type-of($map); @if ($arg-type != map) { @error "A valid *sass map is required as the first argument. Argument #{$map} is type #{$arg-type}"; @@ -13,7 +13,7 @@ @each $key in $keys { @if (map-has-key($map, $key)) { - $map: map-get($map, $key); + $map: map.get($map, $key); } @else { @warn "Key `#{$key}` not found in map"; } diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/00-config/01-mixins/_mixins.grids.scss b/services/drupal/web/themes/epa_theme/source/_patterns/00-config/01-mixins/_mixins.grids.scss index de2ac67f12..cd1d3a3ec4 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/00-config/01-mixins/_mixins.grids.scss +++ b/services/drupal/web/themes/epa_theme/source/_patterns/00-config/01-mixins/_mixins.grids.scss @@ -13,7 +13,7 @@ $gutter-width: gesso-get-map(gutter-width), $item-min-width: false ) { - $column-percentage: if($columns > 0, percentage(math.div(1, $columns)), 100%); + $column-percentage: if($columns > 0, math.percentage(math.div(1, $columns)), 100%); flex-basis: auto; flex-grow: 0; From 6628a3479da76c05c07492962e9791f17b87945a Mon Sep 17 00:00:00 2001 From: Dan Mouyard Date: Tue, 26 Sep 2023 15:01:18 -0400 Subject: [PATCH 015/178] EPAD8-2186: Remove deprecated rules --- services/drupal/web/themes/epa_theme/.stylelintrc.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/services/drupal/web/themes/epa_theme/.stylelintrc.yml b/services/drupal/web/themes/epa_theme/.stylelintrc.yml index d87824db82..f174548846 100644 --- a/services/drupal/web/themes/epa_theme/.stylelintrc.yml +++ b/services/drupal/web/themes/epa_theme/.stylelintrc.yml @@ -12,12 +12,10 @@ rules: - ignore: - 'inside-function' max-nesting-depth: 3 - no-empty-first-line: true order/properties-alphabetical-order: true plugin/selector-pseudo-class-lvhfa: true prettier/prettier: true property-no-vendor-prefix: null - selector-attribute-brackets-space-inside: never selector-class-pattern: # "piece" regex: # [a-zA-Z0-9]+ From e8e4a5c32dc4226884f7b0a869e47c5a866e22ac Mon Sep 17 00:00:00 2001 From: Dan Mouyard Date: Tue, 26 Sep 2023 15:04:42 -0400 Subject: [PATCH 016/178] EPAD8-2186: Fix 'properties-alphabetical-order' errors --- .../block/block--webareamenu/_block--webareamenu.scss | 2 +- .../05-components/menu/menu--sidenav/_menu--sidenav.scss | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/block/block--webareamenu/_block--webareamenu.scss b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/block/block--webareamenu/_block--webareamenu.scss index 07f2a452fc..31a5e9a8c3 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/block/block--webareamenu/_block--webareamenu.scss +++ b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/block/block--webareamenu/_block--webareamenu.scss @@ -45,9 +45,9 @@ box-shadow: none; display: block; font-size: 2rem; + margin-bottom: rem(15px); order: 1; padding: 0; - margin-bottom: rem(15px); } } } diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/menu/menu--sidenav/_menu--sidenav.scss b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/menu/menu--sidenav/_menu--sidenav.scss index 822227fa4b..e30b0d9983 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/menu/menu--sidenav/_menu--sidenav.scss +++ b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/menu/menu--sidenav/_menu--sidenav.scss @@ -10,14 +10,14 @@ @include at-media-max($theme-header-min-width) { @include u-pin("right"); @include u-pin("y"); - position: fixed; background: color("white"); border-right: 0; display: none; flex-direction: column; - overflow-y: auto; margin-bottom: 0; + overflow-y: auto; padding: 0; + position: fixed; width: 18rem; z-index: z-index(500); From 53846077b164395957f34ea633521b1a91e19e24 Mon Sep 17 00:00:00 2001 From: Dan Mouyard Date: Tue, 26 Sep 2023 15:10:46 -0400 Subject: [PATCH 017/178] EPAD8-2186: Fix 'prettier' errors --- .../00-config/01-mixins/_mixins.grids.scss | 6 +- .../_block--webareamenu.scss | 98 +++++++++---------- .../menu/menu--sidenav/_menu--sidenav.scss | 6 +- 3 files changed, 57 insertions(+), 53 deletions(-) diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/00-config/01-mixins/_mixins.grids.scss b/services/drupal/web/themes/epa_theme/source/_patterns/00-config/01-mixins/_mixins.grids.scss index cd1d3a3ec4..c1f638e4e9 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/00-config/01-mixins/_mixins.grids.scss +++ b/services/drupal/web/themes/epa_theme/source/_patterns/00-config/01-mixins/_mixins.grids.scss @@ -13,7 +13,11 @@ $gutter-width: gesso-get-map(gutter-width), $item-min-width: false ) { - $column-percentage: if($columns > 0, math.percentage(math.div(1, $columns)), 100%); + $column-percentage: if( + $columns > 0, + math.percentage(math.div(1, $columns)), + 100% + ); flex-basis: auto; flex-grow: 0; diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/block/block--webareamenu/_block--webareamenu.scss b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/block/block--webareamenu/_block--webareamenu.scss index 31a5e9a8c3..7ac5d7b390 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/block/block--webareamenu/_block--webareamenu.scss +++ b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/block/block--webareamenu/_block--webareamenu.scss @@ -1,53 +1,53 @@ @use '../../../00-config' as *; .webareamenu { - @include at-media-max($theme-header-min-width) { - align-items: center; - background-color: color('base-lightest'); - display: flex; - margin-bottom: 2.5rem; - margin-left: -1.5rem; - padding: 1.125rem 1.5rem 0; - width: calc(100% + 3rem); - } - - .block__title { - @include display-text-style(h3); - - @include at-media-max($theme-header-min-width) { - border-left: 2px solid gesso-grayscale(gray-3); - order: 2; - padding-left: rem(12px); - } - - a { - color: gesso-grayscale(black); - - &:visited { - color: gesso-color(text, link-visited); - } - - &:hover, - &:focus { - color: gesso-color(text, link-hover); - } - - &:active { - color: gesso-color(text, link-active); - } - } - } - - .menu--sidenav__menu-button { - display: none; - - @include at-media-max($theme-header-min-width) { - box-shadow: none; - display: block; - font-size: 2rem; - margin-bottom: rem(15px); - order: 1; - padding: 0; - } - } + @include at-media-max($theme-header-min-width) { + align-items: center; + background-color: color('base-lightest'); + display: flex; + margin-bottom: 2.5rem; + margin-left: -1.5rem; + padding: 1.125rem 1.5rem 0; + width: calc(100% + 3rem); + } + + .block__title { + @include display-text-style(h3); + + @include at-media-max($theme-header-min-width) { + border-left: 2px solid gesso-grayscale(gray-3); + order: 2; + padding-left: rem(12px); + } + + a { + color: gesso-grayscale(black); + + &:visited { + color: gesso-color(text, link-visited); + } + + &:hover, + &:focus { + color: gesso-color(text, link-hover); + } + + &:active { + color: gesso-color(text, link-active); + } + } + } + + .menu--sidenav__menu-button { + display: none; + + @include at-media-max($theme-header-min-width) { + box-shadow: none; + display: block; + font-size: 2rem; + margin-bottom: rem(15px); + order: 1; + padding: 0; + } + } } diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/menu/menu--sidenav/_menu--sidenav.scss b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/menu/menu--sidenav/_menu--sidenav.scss index e30b0d9983..069d363ff2 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/menu/menu--sidenav/_menu--sidenav.scss +++ b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/menu/menu--sidenav/_menu--sidenav.scss @@ -8,9 +8,9 @@ @extend .usa-sidenav; @include at-media-max($theme-header-min-width) { - @include u-pin("right"); - @include u-pin("y"); - background: color("white"); + @include u-pin('right'); + @include u-pin('y'); + background: color('white'); border-right: 0; display: none; flex-direction: column; From c2666682a9dbdf1122674ad13ba207bd7bef708a Mon Sep 17 00:00:00 2001 From: Dan Mouyard Date: Tue, 26 Sep 2023 15:19:55 -0400 Subject: [PATCH 018/178] EPAD8-2186: Fix missing namespace --- .../_patterns/00-config/00-functions/_00-functions.gesso.scss | 2 ++ 1 file changed, 2 insertions(+) diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/00-config/00-functions/_00-functions.gesso.scss b/services/drupal/web/themes/epa_theme/source/_patterns/00-config/00-functions/_00-functions.gesso.scss index 2427e6e34a..f57250af20 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/00-config/00-functions/_00-functions.gesso.scss +++ b/services/drupal/web/themes/epa_theme/source/_patterns/00-config/00-functions/_00-functions.gesso.scss @@ -1,3 +1,5 @@ +@use "sass:map"; +@use "sass:meta"; @use '../design-tokens.artifact' as *; // Fetch nested keys From 741a8ee8fb4943141b93c0ad9e421e878ecfad1a Mon Sep 17 00:00:00 2001 From: Dan Mouyard Date: Tue, 26 Sep 2023 15:26:48 -0400 Subject: [PATCH 019/178] EPAD8-2186: Fix more prettier errors --- .../_patterns/00-config/00-functions/_00-functions.gesso.scss | 4 ++-- .../_patterns/00-config/01-mixins/_mixins.aspect-ratio.scss | 2 +- .../source/_patterns/00-config/01-mixins/_mixins.grids.scss | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/00-config/00-functions/_00-functions.gesso.scss b/services/drupal/web/themes/epa_theme/source/_patterns/00-config/00-functions/_00-functions.gesso.scss index f57250af20..6a45a89a16 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/00-config/00-functions/_00-functions.gesso.scss +++ b/services/drupal/web/themes/epa_theme/source/_patterns/00-config/00-functions/_00-functions.gesso.scss @@ -1,5 +1,5 @@ -@use "sass:map"; -@use "sass:meta"; +@use 'sass:map'; +@use 'sass:meta'; @use '../design-tokens.artifact' as *; // Fetch nested keys diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/00-config/01-mixins/_mixins.aspect-ratio.scss b/services/drupal/web/themes/epa_theme/source/_patterns/00-config/01-mixins/_mixins.aspect-ratio.scss index 8a0d8b6f87..1f2490032b 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/00-config/01-mixins/_mixins.aspect-ratio.scss +++ b/services/drupal/web/themes/epa_theme/source/_patterns/00-config/01-mixins/_mixins.aspect-ratio.scss @@ -1,7 +1,7 @@ // @file // Aspect Ratio mixin -@use "sass:math"; +@use 'sass:math'; @mixin aspect-ratio($width, $height) { height: 0; diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/00-config/01-mixins/_mixins.grids.scss b/services/drupal/web/themes/epa_theme/source/_patterns/00-config/01-mixins/_mixins.grids.scss index c1f638e4e9..fc40d5d5cf 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/00-config/01-mixins/_mixins.grids.scss +++ b/services/drupal/web/themes/epa_theme/source/_patterns/00-config/01-mixins/_mixins.grids.scss @@ -1,8 +1,8 @@ // @file // Flex Grid mixins +@use 'sass:math'; @use '../00-functions' as *; -@use "sass:math"; // Set flex column width. // @param {Number} $columns Number of columns. 1 or 0 result in a single column. From eafbfce086e06329a7e02cbab1564379c5294e63 Mon Sep 17 00:00:00 2001 From: Dan Mouyard Date: Tue, 26 Sep 2023 15:29:36 -0400 Subject: [PATCH 020/178] EPAD8-2186: Fix 'selector-class-pattern' errors --- .../block/block--webareamenu/_block--webareamenu.scss | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/block/block--webareamenu/_block--webareamenu.scss b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/block/block--webareamenu/_block--webareamenu.scss index 7ac5d7b390..80644f5dba 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/block/block--webareamenu/_block--webareamenu.scss +++ b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/block/block--webareamenu/_block--webareamenu.scss @@ -38,7 +38,8 @@ } } - .menu--sidenav__menu-button { + //.menu--sidenav__menu-button { + .menu--sidenav .menu-button { display: none; @include at-media-max($theme-header-min-width) { From 35a32cecb09420f89e0c1c48a276138ed5998d1c Mon Sep 17 00:00:00 2001 From: Sarah Proper Date: Wed, 27 Sep 2023 02:22:10 -0600 Subject: [PATCH 021/178] EPAD8-2186 sidenav menu has own js file, rename classes, close / open icon, accordion + link, third level icons --- .../themes/epa_theme/epa_theme.libraries.yml | 16 ++++++++--- .../epa_theme/js/src/modules/navigation.js | 13 --------- .../epa_theme/js/src/sidenav-menu.es6.js | 17 +++++++++++ .../_block--webareamenu.scss | 19 +++++++++++-- .../menu/menu--sidenav/_menu--sidenav.scss | 28 +++++++++++++++++-- .../menu/menu--sidenav/menu--sidenav.twig | 27 ++++++++++-------- .../block/block--webareamenu.html.twig | 5 ++-- 7 files changed, 90 insertions(+), 35 deletions(-) create mode 100644 services/drupal/web/themes/epa_theme/js/src/sidenav-menu.es6.js diff --git a/services/drupal/web/themes/epa_theme/epa_theme.libraries.yml b/services/drupal/web/themes/epa_theme/epa_theme.libraries.yml index 4e99581382..738463cce8 100644 --- a/services/drupal/web/themes/epa_theme/epa_theme.libraries.yml +++ b/services/drupal/web/themes/epa_theme/epa_theme.libraries.yml @@ -65,18 +65,18 @@ font_traditional_chinese: css: theme: fonts/noto-sans-tc.css: {} -image_gallery: +hero_slideshow: version: 20230817 js: - js/dist/image-gallery.min.js: { minified: true } + js/dist/hero-slideshow.min.js: { minified: true } dependencies: - core/drupal - core/once - epa_theme/common -hero_slideshow: +image_gallery: version: 20230817 js: - js/dist/hero-slideshow.min.js: { minified: true } + js/dist/image-gallery.min.js: { minified: true } dependencies: - core/drupal - core/once @@ -89,6 +89,14 @@ media_link: - core/drupal - core/once - epa_theme/common +sidenav_menu: + version: 20230817 + js: + js/dist/sidenav-menu.min.js: { minified: true } + dependencies: + - core/drupal + - core/once + - epa_theme/common svgxuse: version: 1.2.6 js: diff --git a/services/drupal/web/themes/epa_theme/js/src/modules/navigation.js b/services/drupal/web/themes/epa_theme/js/src/modules/navigation.js index 49a3dc3e7f..0bf67143aa 100644 --- a/services/drupal/web/themes/epa_theme/js/src/modules/navigation.js +++ b/services/drupal/web/themes/epa_theme/js/src/modules/navigation.js @@ -9,17 +9,4 @@ export default function() { button.setAttribute('aria-controls', id); } }); - const sideNavTrigger = document.getElementById('menu--sidenav__menu-button'); - const sideNavMenu = document.querySelector('.menu--sidenav'); - const overlay = document.getElementsByClassName('usa-overlay'); - sideNavTrigger.addEventListener( - 'click', - function() { - sideNavMenu.classList.toggle('is-visible'); - for (const item of overlay) { - item.classList.toggle('is-visible'); - } - }, - false - ); } diff --git a/services/drupal/web/themes/epa_theme/js/src/sidenav-menu.es6.js b/services/drupal/web/themes/epa_theme/js/src/sidenav-menu.es6.js new file mode 100644 index 0000000000..833268488d --- /dev/null +++ b/services/drupal/web/themes/epa_theme/js/src/sidenav-menu.es6.js @@ -0,0 +1,17 @@ +// Sidenav menu script +import Drupal from 'drupal'; + +(function(Drupal) { + Drupal.behaviors.sidenavMenu = { + attach(context) { + const sideNavTrigger = context.getElementById('web-area-menu__button'); + const sideNavMenu = context.querySelector('.menu--sidenav'); + + function toggleVisiblity() { + sideNavMenu.classList.toggle('is-visible'); + sideNavTrigger.classList.toggle('is-open'); + } + sideNavTrigger.addEventListener('click', toggleVisiblity); + }, + }; +})(Drupal); diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/block/block--webareamenu/_block--webareamenu.scss b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/block/block--webareamenu/_block--webareamenu.scss index 80644f5dba..4d5500c871 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/block/block--webareamenu/_block--webareamenu.scss +++ b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/block/block--webareamenu/_block--webareamenu.scss @@ -1,6 +1,6 @@ @use '../../../00-config' as *; -.webareamenu { +.block__web-area-menu { @include at-media-max($theme-header-min-width) { align-items: center; background-color: color('base-lightest'); @@ -39,16 +39,31 @@ } //.menu--sidenav__menu-button { - .menu--sidenav .menu-button { + .web-area-menu__button { display: none; @include at-media-max($theme-header-min-width) { box-shadow: none; display: block; font-size: 2rem; + height: rem(32px); margin-bottom: rem(15px); order: 1; padding: 0; } + + .menu-button--close { + display: none; + } + + &.is-open { + .menu-button--close { + display: block; + } + + .menu-button--open { + display: none; + } + } } } diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/menu/menu--sidenav/_menu--sidenav.scss b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/menu/menu--sidenav/_menu--sidenav.scss index 069d363ff2..6d493460f0 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/menu/menu--sidenav/_menu--sidenav.scss +++ b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/menu/menu--sidenav/_menu--sidenav.scss @@ -24,17 +24,26 @@ &.is-visible { animation: slidein-left 0.3s ease-in-out; display: flex; + margin-bottom: 0; } } .menu__item { @extend .usa-sidenav__item; + + &.has-subnav { + align-items: stretch; + display: flex; + flex-wrap: wrap; + justify-content: space-between; + } } .menu__link { background-color: transparent; background-image: none; color: gesso-color(text, link) !important; + font-weight: normal; &:hover, &:focus { @@ -53,18 +62,32 @@ &.is-active-trail { @extend .usa-current; background-color: color('base-lightest'); + font-weight: bold; } &.has-subnav { + align-items: center; display: flex; - gap: rem(gesso-spacing('05')); justify-content: space-between; - padding: gesso-spacing(2) gesso-spacing(3); + padding-left: gesso-spacing(3); + padding-right: gesso-spacing(3); + width: calc(100% - 62px); &[aria-expanded='true'] > .menu__link-icon { transform: rotate(0deg); } } + + &.usa-accordion__button { + padding-bottom: 0.5rem; + padding-top: 0.5rem; + width: rem(62px); + + &.is-active::after, + &.is-active-trail::after { + content: none; + } + } } .menu__link-icon { @@ -78,6 +101,7 @@ .menu__subnav { @extend .usa-sidenav__sublist; align-items: center; + width: 100%; .menu__subnav { font-size: rem(14px); diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/menu/menu--sidenav/menu--sidenav.twig b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/menu/menu--sidenav/menu--sidenav.twig index abb19a113e..da7900f476 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/menu/menu--sidenav/menu--sidenav.twig +++ b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/menu/menu--sidenav/menu--sidenav.twig @@ -1,15 +1,21 @@ {% import _self as menus %} - - {{ menus.menu_links(items, attributes, 0, menu_name, menu_class, menu_class_prefix, link_class, epa_theme_image_path) }} {% macro menu_links(items, attributes, menu_level, menu_name, menu_class, menu_class_prefix, link_class, epa_theme_image_path) %} @@ -34,7 +40,7 @@ \ No newline at end of file +
diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/07-pages/detail-pages/perspective.twig b/services/drupal/web/themes/epa_theme/source/_patterns/07-pages/detail-pages/perspective.twig index b1e77c7221..10b4b5a072 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/07-pages/detail-pages/perspective.twig +++ b/services/drupal/web/themes/epa_theme/source/_patterns/07-pages/detail-pages/perspective.twig @@ -21,6 +21,13 @@ } %} {% endset %} +{% set contact_link %} + {% include '@components/header-link/header-link.twig' with { + 'url': '#', + 'text': 'Contact Us', + } %} +{% endset %} + {% set author_content %}

Alexandra Dapolito Dunn
Assistant Administrator
Office of Chemical Safety and Pollution Prevention

Alexandra Dapolito Dunn is the Assistant Administrator for the Office of Chemical Safety and Pollution Prevention. Prior to that she served as the Regional Administrator for EPA Region 1, and her responsibilities included overseeing the states of Connecticut, Maine, Massachusetts, New Hampshire, Rhode Island, Vermont and ten tribal nations.

@@ -34,14 +41,6 @@ {% set content %}

March 12, 2020

- {% include '@components/box/box--related-info/box--related-info.twig' with { - 'modifier_classes': 'u-align-right', - 'title': { - 'tag': 'h2', - 'text': 'Related Information', - }, - 'content': '', - } only %}

On this day in 1990, a new era was ushered in for EPA and the nation when the Pollution Prevention (P2) Act was signed into law. The act gave the agency new tools to join with states, tribes, and communities to prevent pollution before it happens. It also marked a shift in the paradigm of environmental protection which had been mostly focused on end-of-pipe pollution control and clean-up strategies.

Equally important, the P2 act strengthened EPA’s role as an ally of American businesses, helping them save billions of dollars and improve operations. As EPA Administrator Andrew Wheeler has said, “It’s far better to prevent pollution from occurring than to go in after the fact and clean it up.”

The P2 Act greatly expanded the opportunities for “source reduction” to reduce or prevent pollution at the source through cost-effective changes in production, operation, and raw materials use. These changes can reduce the amount of pollution entering a waste stream or the environment prior to recycling, treatment or disposal, and can offer industry substantial savings in reduced raw material, pollution control, pollution clean-up and liability costs.

@@ -65,13 +64,25 @@ } only %} {% endset %} +{% set sidenav %} + {% include '@components/box/box--related-links/box--related-links.twig' with { + 'modifier_classes': 'margin-y-4', + 'content': related_info, + 'title': { + 'tag': 'h2', + 'text': 'Related Links'|t, + }, + } only %} +{% endset %} + {% set page_content %} - {% include '@templates/detail-pages/page.twig' with { + {% include '@templates/detail-pages/page-with-sidenav.twig' with { 'title': page_title, 'admin_info': page_admin_info, 'intro': intro, 'body': content, - 'is_narrow': true, + 'sidenav': sidenav, + 'has_sidenav': has_sidenav, } %} {% endset %} diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/07-pages/detail-pages/perspective.yml b/services/drupal/web/themes/epa_theme/source/_patterns/07-pages/detail-pages/perspective.yml index ec3789930d..abf5da9b4d 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/07-pages/detail-pages/perspective.yml +++ b/services/drupal/web/themes/epa_theme/source/_patterns/07-pages/detail-pages/perspective.yml @@ -1,3 +1,10 @@ --- page_title: 'Celebrating a Win-Win: 30 Years of Progress Under the Pollution Prevention Act' intro: '' +has_sidenav: true +related_info: |- + diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/07-pages/detail-pages/speech-remark.yml b/services/drupal/web/themes/epa_theme/source/_patterns/07-pages/detail-pages/speech-remark.yml index 643cb051d8..bcac069116 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/07-pages/detail-pages/speech-remark.yml +++ b/services/drupal/web/themes/epa_theme/source/_patterns/07-pages/detail-pages/speech-remark.yml @@ -12,4 +12,4 @@ related_info: |- - \ No newline at end of file + From 9c53e27fec38f22d670b081c51048db66d67cb5e Mon Sep 17 00:00:00 2001 From: Sarah Proper Date: Fri, 10 May 2024 01:51:46 -0600 Subject: [PATCH 132/178] EPAD8-2406 js edits to build --- .../drupal/web/themes/epa_theme/js/src/modules/navigation.js | 4 ++-- .../drupal/web/themes/epa_theme/js/src/sidenav-menu.es6.js | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/services/drupal/web/themes/epa_theme/js/src/modules/navigation.js b/services/drupal/web/themes/epa_theme/js/src/modules/navigation.js index 4717d5dc1c..0c7117638d 100644 --- a/services/drupal/web/themes/epa_theme/js/src/modules/navigation.js +++ b/services/drupal/web/themes/epa_theme/js/src/modules/navigation.js @@ -21,7 +21,7 @@ export default function () { let lastFocusableElementMM; let priorLastElementMM; - mobileMenuButton.addEventListener('click', function() { + mobileMenuButton.addEventListener('click', function () { if (!focusableMM) { focusableMM = Array.from( mobileMenuNav.querySelectorAll( @@ -41,7 +41,7 @@ export default function () { } if (lastFocusableElementMM) { - lastFocusableElementMM.addEventListener('click', function() { + lastFocusableElementMM.addEventListener('click', function () { const swapMM = lastFocusableElementMM; lastFocusableElementMM = priorLastElementMM; priorLastElementMM = swapMM; diff --git a/services/drupal/web/themes/epa_theme/js/src/sidenav-menu.es6.js b/services/drupal/web/themes/epa_theme/js/src/sidenav-menu.es6.js index bda5f754ca..2bdf221cca 100644 --- a/services/drupal/web/themes/epa_theme/js/src/sidenav-menu.es6.js +++ b/services/drupal/web/themes/epa_theme/js/src/sidenav-menu.es6.js @@ -1,7 +1,7 @@ // Sidenav menu script import Drupal from 'drupal'; -(function(Drupal) { +(function (Drupal) { Drupal.behaviors.sidenavMenu = { attach(context) { once('sidenav-menu', 'html').forEach(() => { @@ -50,7 +50,7 @@ import Drupal from 'drupal'; } if (lastFocusableElement) { - lastFocusableElement.addEventListener('click', function() { + lastFocusableElement.addEventListener('click', function () { const swap = lastFocusableElement; lastFocusableElement = priorLastElement; priorLastElement = swap; From 9cdaeb6129a347449da767300f9b84ce19ad3ad3 Mon Sep 17 00:00:00 2001 From: Sarah Proper Date: Fri, 10 May 2024 19:47:57 -0600 Subject: [PATCH 133/178] EPAD8-2406 remove comma, fix speech content --- .../box/box--related-links/_box--related-links.scss | 8 -------- .../templates/content/node--speeches--full.html.twig | 3 +-- 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/box/box--related-links/_box--related-links.scss b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/box/box--related-links/_box--related-links.scss index 2300d41c90..3236b98f4d 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/box/box--related-links/_box--related-links.scss +++ b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/box/box--related-links/_box--related-links.scss @@ -46,14 +46,6 @@ font-size: rem(16px); text-decoration: none; - &::after { - content: ','; - } - - &:last-child::after { - content: none; - } - &:focus, &:hover { color: gesso-color(text, link); diff --git a/services/drupal/web/themes/epa_theme/templates/content/node--speeches--full.html.twig b/services/drupal/web/themes/epa_theme/templates/content/node--speeches--full.html.twig index 710821a236..a04d6fd21c 100644 --- a/services/drupal/web/themes/epa_theme/templates/content/node--speeches--full.html.twig +++ b/services/drupal/web/themes/epa_theme/templates/content/node--speeches--full.html.twig @@ -20,7 +20,7 @@ {%- endif -%} {%- if content.field_related_information|field_value -%} - + {%- endif -%} {% if content.field_subjects|field_value %} @@ -39,7 +39,6 @@ 'text': 'Related Links'|t, }, } only %} - {% endset %} {% set display_sidenav = true %} From f057589b35121d4bdaae557a8a0430fcfe21eb2d Mon Sep 17 00:00:00 2001 From: Sarah Proper Date: Tue, 14 May 2024 19:45:20 -0600 Subject: [PATCH 134/178] EPAD8-2406 subjects on own line, add content type to link --- .../box--related-links/_box--related-links.scss | 11 +++++++++++ .../content/node--news-release--full.html.twig | 2 +- .../content/node--perspective--full.html.twig | 16 +++++++++------- .../content/node--speeches--full.html.twig | 2 +- ...-node--field-subjects--news-release.html.twig | 10 ++++++++++ ...--node--field-subjects--perspective.html.twig | 9 ++++----- ...eld--node--field-subjects--speeches.html.twig | 10 ++++++++++ 7 files changed, 46 insertions(+), 14 deletions(-) create mode 100644 services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--news-release.html.twig create mode 100644 services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--speeches.html.twig diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/box/box--related-links/_box--related-links.scss b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/box/box--related-links/_box--related-links.scss index 3236b98f4d..821978d8ed 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/box/box--related-links/_box--related-links.scss +++ b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/box/box--related-links/_box--related-links.scss @@ -51,6 +51,17 @@ color: gesso-color(text, link); text-decoration: underline; } + } + + &.-news a::after { + content: ' News Releases'; + } + + &.-speeches a::after { + content: ' Speeches'; + } + &.-perspectives a::after { + content: ' Perspectives'; } } \ No newline at end of file diff --git a/services/drupal/web/themes/epa_theme/templates/content/node--news-release--full.html.twig b/services/drupal/web/themes/epa_theme/templates/content/node--news-release--full.html.twig index c31714ee98..b3b8c6581a 100644 --- a/services/drupal/web/themes/epa_theme/templates/content/node--news-release--full.html.twig +++ b/services/drupal/web/themes/epa_theme/templates/content/node--news-release--full.html.twig @@ -29,7 +29,7 @@ {% endif %} {% if content.field_subjects|field_value %} - + {{ content.field_subjects }} {% endif %} {% if more_link %} diff --git a/services/drupal/web/themes/epa_theme/templates/content/node--perspective--full.html.twig b/services/drupal/web/themes/epa_theme/templates/content/node--perspective--full.html.twig index 0c9d0abc4e..d2a5644fbc 100644 --- a/services/drupal/web/themes/epa_theme/templates/content/node--perspective--full.html.twig +++ b/services/drupal/web/themes/epa_theme/templates/content/node--perspective--full.html.twig @@ -16,13 +16,15 @@ {# @see epa_theme_preprocess_node__perspective__full() #} {% if subjects or more_link %} {% set related_info %} - {% if subjects %} - {{ subjects }} - {% endif %} - - {% if more_link %} - {{ more_link }} - {% endif %} + {% endset %} {% endif %} diff --git a/services/drupal/web/themes/epa_theme/templates/content/node--speeches--full.html.twig b/services/drupal/web/themes/epa_theme/templates/content/node--speeches--full.html.twig index a04d6fd21c..11e4b91057 100644 --- a/services/drupal/web/themes/epa_theme/templates/content/node--speeches--full.html.twig +++ b/services/drupal/web/themes/epa_theme/templates/content/node--speeches--full.html.twig @@ -23,7 +23,7 @@ {%- endif -%} {% if content.field_subjects|field_value %} - + {{- content.field_subjects }} {% endif %} {% endset %} diff --git a/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--news-release.html.twig b/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--news-release.html.twig new file mode 100644 index 0000000000..6dc2a80ea5 --- /dev/null +++ b/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--news-release.html.twig @@ -0,0 +1,10 @@ +{# +/** + * @file + * Theme override for a field. + */ +#} + +{% for item in items %} + +{% endfor %} diff --git a/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--perspective.html.twig b/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--perspective.html.twig index ea8df0446e..770252537c 100644 --- a/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--perspective.html.twig +++ b/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--perspective.html.twig @@ -4,8 +4,7 @@ * Theme override for a field. */ #} - + +{% for item in items %} + +{% endfor %} diff --git a/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--speeches.html.twig b/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--speeches.html.twig new file mode 100644 index 0000000000..b0ca5b9345 --- /dev/null +++ b/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--speeches.html.twig @@ -0,0 +1,10 @@ +{# +/** + * @file + * Theme override for a field. + */ +#} + +{% for item in items %} + +{% endfor %} From a191d14d62b4fb97546fe3a6e47bc84a26018fe3 Mon Sep 17 00:00:00 2001 From: Sarah Proper Date: Tue, 14 May 2024 20:27:04 -0600 Subject: [PATCH 135/178] EPAD8-2406 update pattern lab --- .../perspective-with-two-authors.twig | 24 +++++++++++-------- .../perspective-with-two-authors.yml | 8 +++++++ .../07-pages/detail-pages/perspective.yml | 4 ++-- .../07-pages/detail-pages/speech-remark.yml | 4 ++-- 4 files changed, 26 insertions(+), 14 deletions(-) diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/07-pages/detail-pages/perspective-with-two-authors.twig b/services/drupal/web/themes/epa_theme/source/_patterns/07-pages/detail-pages/perspective-with-two-authors.twig index 24ef8b2cf7..013df136bc 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/07-pages/detail-pages/perspective-with-two-authors.twig +++ b/services/drupal/web/themes/epa_theme/source/_patterns/07-pages/detail-pages/perspective-with-two-authors.twig @@ -39,14 +39,6 @@ {% set content %}

October 27, 2020

- {% include '@components/box/box--related-info/box--related-info.twig' with { - 'modifier_classes': 'u-align-right', - 'title': { - 'tag': 'h2', - 'text': 'Related Information', - }, - 'content': '', - } only %}

In celebration of Children’s Health Month, we are excited to kick off this year’s National Lead Poisoning Prevention Week by showcasing Lead Awareness in Indian Country: Keeping our Children Healthy! – a new curriculum to help tribes and communities take the first step in protecting children from potential lead exposure by educating parents and caregivers. The curriculum is a robust set of educational tools that community leaders can use to improve public awareness of the health risks associated with lead exposure and promote actions to reduce this exposure.

@@ -82,13 +74,25 @@ } only %} {% endset %} +{% set sidenav %} + {% include '@components/box/box--related-links/box--related-links.twig' with { + 'modifier_classes': 'margin-y-4', + 'content': related_info, + 'title': { + 'tag': 'h2', + 'text': 'Related Links'|t, + }, + } only %} +{% endset %} + {% set page_content %} - {% include '@templates/detail-pages/page.twig' with { + {% include '@templates/detail-pages/page-with-sidenav.twig' with { 'title': page_title, 'admin_info': page_admin_info, 'intro': intro, 'body': content, - 'is_narrow': true, + 'sidenav': sidenav, + 'has_sidenav': has_sidenav, } %} {% endset %} diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/07-pages/detail-pages/perspective-with-two-authors.yml b/services/drupal/web/themes/epa_theme/source/_patterns/07-pages/detail-pages/perspective-with-two-authors.yml index b9a7296d7a..623d04e4dd 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/07-pages/detail-pages/perspective-with-two-authors.yml +++ b/services/drupal/web/themes/epa_theme/source/_patterns/07-pages/detail-pages/perspective-with-two-authors.yml @@ -1,3 +1,11 @@ --- page_title: 'Education Plus Action Equals Healthy Children!' intro: '' +has_sidenav: true +related_info: |- + + \ No newline at end of file diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/07-pages/detail-pages/perspective.yml b/services/drupal/web/themes/epa_theme/source/_patterns/07-pages/detail-pages/perspective.yml index abf5da9b4d..9d6a6a7144 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/07-pages/detail-pages/perspective.yml +++ b/services/drupal/web/themes/epa_theme/source/_patterns/07-pages/detail-pages/perspective.yml @@ -5,6 +5,6 @@ has_sidenav: true related_info: |- diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/07-pages/detail-pages/speech-remark.yml b/services/drupal/web/themes/epa_theme/source/_patterns/07-pages/detail-pages/speech-remark.yml index bcac069116..6e30b88427 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/07-pages/detail-pages/speech-remark.yml +++ b/services/drupal/web/themes/epa_theme/source/_patterns/07-pages/detail-pages/speech-remark.yml @@ -10,6 +10,6 @@ related_info: |- - - + + From 00f68974334b3b1e734d7b32ec195afe511fc2c0 Mon Sep 17 00:00:00 2001 From: Sarah Proper Date: Wed, 22 May 2024 10:54:09 -0600 Subject: [PATCH 136/178] EPAD8-2406 content change for sidebar links --- .../box/box--related-links/_box--related-links.scss | 12 ------------ ...eld--node--field-subjects--news-release.html.twig | 2 +- ...ield--node--field-subjects--perspective.html.twig | 2 +- .../field--node--field-subjects--speeches.html.twig | 2 +- 4 files changed, 3 insertions(+), 15 deletions(-) diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/box/box--related-links/_box--related-links.scss b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/box/box--related-links/_box--related-links.scss index 821978d8ed..f030256529 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/box/box--related-links/_box--related-links.scss +++ b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/box/box--related-links/_box--related-links.scss @@ -52,16 +52,4 @@ text-decoration: underline; } } - - &.-news a::after { - content: ' News Releases'; - } - - &.-speeches a::after { - content: ' Speeches'; - } - - &.-perspectives a::after { - content: ' Perspectives'; - } } \ No newline at end of file diff --git a/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--news-release.html.twig b/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--news-release.html.twig index 6dc2a80ea5..126bceff5f 100644 --- a/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--news-release.html.twig +++ b/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--news-release.html.twig @@ -6,5 +6,5 @@ #} {% for item in items %} - + {% endfor %} diff --git a/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--perspective.html.twig b/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--perspective.html.twig index 770252537c..1cfcb80496 100644 --- a/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--perspective.html.twig +++ b/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--perspective.html.twig @@ -6,5 +6,5 @@ #} {% for item in items %} - + {% endfor %} diff --git a/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--speeches.html.twig b/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--speeches.html.twig index b0ca5b9345..a9ad0d0418 100644 --- a/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--speeches.html.twig +++ b/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--speeches.html.twig @@ -6,5 +6,5 @@ #} {% for item in items %} - + {% endfor %} From e8020a91d3da66b00306f334231203e7b32643c0 Mon Sep 17 00:00:00 2001 From: Sarah Proper Date: Wed, 22 May 2024 11:00:10 -0600 Subject: [PATCH 137/178] EPAD8-2406 make text translatable --- .../field/field--node--field-subjects--news-release.html.twig | 2 +- .../field/field--node--field-subjects--perspective.html.twig | 2 +- .../field/field--node--field-subjects--speeches.html.twig | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--news-release.html.twig b/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--news-release.html.twig index 126bceff5f..22eb32fd4a 100644 --- a/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--news-release.html.twig +++ b/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--news-release.html.twig @@ -6,5 +6,5 @@ #} {% for item in items %} - + {% endfor %} diff --git a/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--perspective.html.twig b/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--perspective.html.twig index 1cfcb80496..bab0ccd21e 100644 --- a/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--perspective.html.twig +++ b/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--perspective.html.twig @@ -6,5 +6,5 @@ #} {% for item in items %} - + {% endfor %} diff --git a/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--speeches.html.twig b/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--speeches.html.twig index a9ad0d0418..c9e0a50e8c 100644 --- a/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--speeches.html.twig +++ b/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--speeches.html.twig @@ -6,5 +6,5 @@ #} {% for item in items %} - + {% endfor %} From 00ae05669cc148ad6e44ee7fdc605c420baf83c5 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Wed, 22 May 2024 14:06:09 -0500 Subject: [PATCH 138/178] [EPAD8-2411] Updating to limit to 5 links total rather than 3. --- .../epa_breadcrumbs/src/GroupMenuBasedBreadcrumbBuilder.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/services/drupal/web/modules/custom/epa_breadcrumbs/src/GroupMenuBasedBreadcrumbBuilder.php b/services/drupal/web/modules/custom/epa_breadcrumbs/src/GroupMenuBasedBreadcrumbBuilder.php index 866616308a..1d7518a3be 100644 --- a/services/drupal/web/modules/custom/epa_breadcrumbs/src/GroupMenuBasedBreadcrumbBuilder.php +++ b/services/drupal/web/modules/custom/epa_breadcrumbs/src/GroupMenuBasedBreadcrumbBuilder.php @@ -313,9 +313,9 @@ public function build(RouteMatchInterface $route_match) { } // Per https://forumone.atlassian.net/browse/EPAD8-2411 we want to limit the - // breadcrumbs to a max of 3 - if (count($links) > 3) { - array_splice($links, 3); + // breadcrumbs to a max of 5 (Home -> Web Area Homepage -> Parent -> Child -> Grand Child) + if (count($links) > 5) { + array_splice($links, 5); } return $breadcrumb->setLinks($links); From c7427d19f1016a94a18ef6ce9a938ab7036893c6 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Thu, 23 May 2024 15:11:56 -0500 Subject: [PATCH 139/178] [EPAD8-2406] Removing hardcoded string from template. Adding field_preprocess to dynamically alter link text for field_subjects. --- .../web/themes/epa_theme/includes/field.inc | 69 +++++++++++++++++++ ...de--field-subjects--news-release.html.twig | 2 +- ...ode--field-subjects--perspective.html.twig | 2 +- ...--node--field-subjects--speeches.html.twig | 2 +- 4 files changed, 72 insertions(+), 3 deletions(-) diff --git a/services/drupal/web/themes/epa_theme/includes/field.inc b/services/drupal/web/themes/epa_theme/includes/field.inc index f5a1e98327..f2a9be1fa2 100644 --- a/services/drupal/web/themes/epa_theme/includes/field.inc +++ b/services/drupal/web/themes/epa_theme/includes/field.inc @@ -5,6 +5,9 @@ * Field template functions. */ +use Drupal\Core\Render\Element; +use Drupal\node\NodeInterface; + /** * Implements hook_theme_suggestions_field_alter(). */ @@ -40,4 +43,70 @@ function epa_theme_preprocess_field(&$variables) { } } } + + if ($element['#field_name'] == 'field_subjects') { + _alter_field_subjects($variables); + } +} + +/** + * Custom alteration logic for field_subjects to output additional text. + * + * @param $variables + * The $variables render array from epa_theme_preprocess_field. + * + * @return void + * + * Custom function to add some additional text to the field_subjects links. + * The items are themed as `hierarchical_term_facet_formatter` which is a custom + * formatter in the epa_core module. The link text is typically derived from the + * referenced Term's name. Here we alter the name to get the additional text we want + * + * @see \template_preprocess_hierarchical_term_facet_formatter() + * @link https://forumone.atlassian.net/browse/EPAD8-2406 + */ +function _alter_field_subjects(&$variables) { + // Prevent moving on if not a node. This custom function only applies to + // nodes that have the field_subjects + if (!$variables['element']['#object'] instanceof NodeInterface) { + return; + } + + /** @var \Drupal\node\Entity\Node $node */ + $node = $variables['element']['#object']; + + // If field subjects is empty exit out. + if ($node->get('field_subjects')->isEmpty()) { + return; + } + + // We want to display the bundle label, however those are singular. There's + // currently no way in core to provide a "plural" label so we'll provide our own. + // @todo Review this later when https://www.drupal.org/node/2773615 lands. + $plural_bundles = [ + 'perspective' => 'Perspectives', + 'news_release' => 'News Releases', + 'speeches' => 'Speeches & Remarks', + ]; + + // Loop over each subject in the field and alter the term name to be what we want. + foreach (Element::children($variables['items']) as $key) { + // See logic above in \epa_theme_preprocess_field. + // We do some alterations for this field already if it's a perspective node. + if (!isset($variables['items'][$key]['content']['#terms'])) { + continue; + } + + /** @var \Drupal\taxonomy\Entity\Term[] $terms */ + $terms = $variables['items'][$key]['content']['#terms']; + + $term = reset($terms); + $translated = t("Read other EPA @bundle about @name", [ + '@bundle' => $plural_bundles[$node->bundle()], + '@name' => $term->getName(), + ]); + $term->setName($translated); + $variables['items'][$key]['content']['#terms'][0] = $term; + } + } diff --git a/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--news-release.html.twig b/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--news-release.html.twig index 22eb32fd4a..67acd7ee0e 100644 --- a/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--news-release.html.twig +++ b/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--news-release.html.twig @@ -6,5 +6,5 @@ #} {% for item in items %} - + {% endfor %} diff --git a/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--perspective.html.twig b/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--perspective.html.twig index bab0ccd21e..67acd7ee0e 100644 --- a/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--perspective.html.twig +++ b/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--perspective.html.twig @@ -6,5 +6,5 @@ #} {% for item in items %} - + {% endfor %} diff --git a/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--speeches.html.twig b/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--speeches.html.twig index c9e0a50e8c..67acd7ee0e 100644 --- a/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--speeches.html.twig +++ b/services/drupal/web/themes/epa_theme/templates/field/field--node--field-subjects--speeches.html.twig @@ -6,5 +6,5 @@ #} {% for item in items %} - + {% endfor %} From 27ad2b143d6d12a6fe2d1d08429cbe9fa1c25b0a Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Thu, 30 May 2024 16:08:16 -0500 Subject: [PATCH 140/178] [EPAD8-2318] Adding new alert type to the list for 'Internal - system annoucement'. Adding new view display for internal system alerts to the alerts view to output our new specific type of alert. Adding the new blocks to the header below our standard internal alerts view for EPA Claro and EPA Seven theme and configured them to only display on the 'My Web Areas' page. --- .../sync/block.block.epa_claro_page_title.yml | 2 +- ...ck.block.epa_claro_primary_local_tasks.yml | 2 +- ...lock.block.epa_seven_gesso_local_tasks.yml | 2 +- ...block.block.epa_seven_gesso_page_title.yml | 2 +- ...views_block__internal_alerts_block_1_3.yml | 3 +- ...views_block__internal_alerts_block_1_4.yml | 3 +- ...k.views_block__internal_alerts_block_2.yml | 30 +++ ...views_block__internal_alerts_block_2_2.yml | 30 +++ ...d.field.block_content.alert.field_type.yml | 5 - ...field.storage.block_content.field_type.yml | 3 + .../sync/views.view.internal_alerts.yml | 186 +++++++++++++++++- 11 files changed, 256 insertions(+), 12 deletions(-) create mode 100644 services/drupal/config/sync/block.block.views_block__internal_alerts_block_2.yml create mode 100644 services/drupal/config/sync/block.block.views_block__internal_alerts_block_2_2.yml diff --git a/services/drupal/config/sync/block.block.epa_claro_page_title.yml b/services/drupal/config/sync/block.block.epa_claro_page_title.yml index 525b5443c9..538e7700e9 100644 --- a/services/drupal/config/sync/block.block.epa_claro_page_title.yml +++ b/services/drupal/config/sync/block.block.epa_claro_page_title.yml @@ -7,7 +7,7 @@ dependencies: id: epa_claro_page_title theme: epa_claro region: header -weight: 0 +weight: -2 provider: null plugin: page_title_block settings: diff --git a/services/drupal/config/sync/block.block.epa_claro_primary_local_tasks.yml b/services/drupal/config/sync/block.block.epa_claro_primary_local_tasks.yml index ce12a7c60b..09d2de2a84 100644 --- a/services/drupal/config/sync/block.block.epa_claro_primary_local_tasks.yml +++ b/services/drupal/config/sync/block.block.epa_claro_primary_local_tasks.yml @@ -7,7 +7,7 @@ dependencies: id: epa_claro_primary_local_tasks theme: epa_claro region: header -weight: 0 +weight: -1 provider: null plugin: local_tasks_block settings: diff --git a/services/drupal/config/sync/block.block.epa_seven_gesso_local_tasks.yml b/services/drupal/config/sync/block.block.epa_seven_gesso_local_tasks.yml index 4648ab587b..ac6f0600dd 100644 --- a/services/drupal/config/sync/block.block.epa_seven_gesso_local_tasks.yml +++ b/services/drupal/config/sync/block.block.epa_seven_gesso_local_tasks.yml @@ -9,7 +9,7 @@ _core: id: epa_seven_gesso_local_tasks theme: epa_seven region: header -weight: 0 +weight: -1 provider: null plugin: local_tasks_block settings: diff --git a/services/drupal/config/sync/block.block.epa_seven_gesso_page_title.yml b/services/drupal/config/sync/block.block.epa_seven_gesso_page_title.yml index 4673c44df8..2c64e9c0d2 100644 --- a/services/drupal/config/sync/block.block.epa_seven_gesso_page_title.yml +++ b/services/drupal/config/sync/block.block.epa_seven_gesso_page_title.yml @@ -9,7 +9,7 @@ _core: id: epa_seven_gesso_page_title theme: epa_seven region: header -weight: 0 +weight: -2 provider: null plugin: page_title_block settings: diff --git a/services/drupal/config/sync/block.block.views_block__internal_alerts_block_1_3.yml b/services/drupal/config/sync/block.block.views_block__internal_alerts_block_1_3.yml index ac3427619a..19e7480048 100644 --- a/services/drupal/config/sync/block.block.views_block__internal_alerts_block_1_3.yml +++ b/services/drupal/config/sync/block.block.views_block__internal_alerts_block_1_3.yml @@ -11,7 +11,7 @@ dependencies: id: views_block__internal_alerts_block_1_3 theme: epa_seven region: header -weight: 0 +weight: -4 provider: null plugin: 'views_block:internal_alerts-block_1' settings: @@ -21,4 +21,5 @@ settings: provider: views views_label: '' items_per_page: none + exposed: { } visibility: { } diff --git a/services/drupal/config/sync/block.block.views_block__internal_alerts_block_1_4.yml b/services/drupal/config/sync/block.block.views_block__internal_alerts_block_1_4.yml index 9a24d4afda..f2d2faa896 100644 --- a/services/drupal/config/sync/block.block.views_block__internal_alerts_block_1_4.yml +++ b/services/drupal/config/sync/block.block.views_block__internal_alerts_block_1_4.yml @@ -11,7 +11,7 @@ dependencies: id: views_block__internal_alerts_block_1_4 theme: epa_claro region: header -weight: 0 +weight: -4 provider: null plugin: 'views_block:internal_alerts-block_1' settings: @@ -21,4 +21,5 @@ settings: provider: views views_label: '' items_per_page: none + exposed: { } visibility: { } diff --git a/services/drupal/config/sync/block.block.views_block__internal_alerts_block_2.yml b/services/drupal/config/sync/block.block.views_block__internal_alerts_block_2.yml new file mode 100644 index 0000000000..d58f47a1f7 --- /dev/null +++ b/services/drupal/config/sync/block.block.views_block__internal_alerts_block_2.yml @@ -0,0 +1,30 @@ +uuid: bdf36136-cb3b-496a-805e-88207dac6021 +langcode: en +status: true +dependencies: + config: + - views.view.internal_alerts + module: + - system + - views + theme: + - epa_seven +id: views_block__internal_alerts_block_2 +theme: epa_seven +region: header +weight: -3 +provider: null +plugin: 'views_block:internal_alerts-block_2' +settings: + id: 'views_block:internal_alerts-block_2' + label: '' + label_display: '0' + provider: views + views_label: '' + items_per_page: none + exposed: { } +visibility: + request_path: + id: request_path + negate: false + pages: /admin/content/my-web-areas diff --git a/services/drupal/config/sync/block.block.views_block__internal_alerts_block_2_2.yml b/services/drupal/config/sync/block.block.views_block__internal_alerts_block_2_2.yml new file mode 100644 index 0000000000..d9f39dcdfe --- /dev/null +++ b/services/drupal/config/sync/block.block.views_block__internal_alerts_block_2_2.yml @@ -0,0 +1,30 @@ +uuid: 0c0dde08-81e3-4f74-8f5e-b1cbf7bda9fc +langcode: en +status: true +dependencies: + config: + - views.view.internal_alerts + module: + - system + - views + theme: + - epa_claro +id: views_block__internal_alerts_block_2_2 +theme: epa_claro +region: header +weight: -3 +provider: null +plugin: 'views_block:internal_alerts-block_2' +settings: + id: 'views_block:internal_alerts-block_2' + label: '' + label_display: '0' + provider: views + views_label: '' + items_per_page: none + exposed: { } +visibility: + request_path: + id: request_path + negate: false + pages: /admin/content/my-web-areas diff --git a/services/drupal/config/sync/field.field.block_content.alert.field_type.yml b/services/drupal/config/sync/field.field.block_content.alert.field_type.yml index 74ad553265..6ed13c6786 100644 --- a/services/drupal/config/sync/field.field.block_content.alert.field_type.yml +++ b/services/drupal/config/sync/field.field.block_content.alert.field_type.yml @@ -6,12 +6,7 @@ dependencies: - block_content.type.alert - field.storage.block_content.field_type module: - - custom_add_another - options -third_party_settings: - custom_add_another: - custom_add_another: '' - custom_remove: '' id: block_content.alert.field_type field_name: field_type entity_type: block_content diff --git a/services/drupal/config/sync/field.storage.block_content.field_type.yml b/services/drupal/config/sync/field.storage.block_content.field_type.yml index ba1c104d98..909f7a6f38 100644 --- a/services/drupal/config/sync/field.storage.block_content.field_type.yml +++ b/services/drupal/config/sync/field.storage.block_content.field_type.yml @@ -20,6 +20,9 @@ settings: - value: internal label: Internal + - + value: internal_system + label: 'Internal - system announcement' - value: warning label: 'Warning (DEPRECATED)' diff --git a/services/drupal/config/sync/views.view.internal_alerts.yml b/services/drupal/config/sync/views.view.internal_alerts.yml index 613af205a6..9d83347d5a 100644 --- a/services/drupal/config/sync/views.view.internal_alerts.yml +++ b/services/drupal/config/sync/views.view.internal_alerts.yml @@ -326,10 +326,194 @@ display: - 'config:field.storage.block_content.field_formatted_long_text' block_1: id: block_1 - display_title: Block + display_title: 'Internal alerts block' display_plugin: block position: 1 display_options: + display_description: '' + display_extenders: + views_ajax_get: + ajax_get: false + block_hide_empty: true + cache_metadata: + max-age: -1 + contexts: + - 'languages:language_content' + - 'languages:language_interface' + - user.roles + tags: + - 'config:field.storage.block_content.field_formatted_long_text' + block_2: + id: block_2 + display_title: 'Internal - system announcements alerts block' + display_plugin: block + position: 1 + display_options: + filters: + status: + id: status + table: block_content_field_data + field: status + entity_type: block_content + entity_field: status + plugin_id: boolean + value: '1' + group: 1 + expose: + operator: '' + operator_limit_selection: false + operator_list: { } + type: + id: type + table: block_content_field_data + field: type + entity_type: block_content + entity_field: type + plugin_id: bundle + value: + alert: alert + expose: + operator_limit_selection: false + operator_list: { } + field_date_range_value: + id: field_date_range_value + table: block_content__field_date_range + field: field_date_range_value + relationship: none + group_type: group + admin_label: '' + plugin_id: datetime + operator: '<=' + value: + min: '' + max: '' + value: now + type: offset + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + operator_limit_selection: false + operator_list: { } + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + min_placeholder: '' + max_placeholder: '' + placeholder: '' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + field_date_range_end_value: + id: field_date_range_end_value + table: block_content__field_date_range + field: field_date_range_end_value + relationship: none + group_type: group + admin_label: '' + plugin_id: datetime + operator: '>=' + value: + min: '' + max: '' + value: now + type: offset + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + operator_limit_selection: false + operator_list: { } + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + min_placeholder: '' + max_placeholder: '' + placeholder: '' + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + field_type_value: + id: field_type_value + table: block_content__field_type + field: field_type_value + relationship: none + group_type: group + admin_label: '' + plugin_id: list_field + operator: or + value: + internal_system: internal_system + group: 1 + exposed: false + expose: + operator_id: '' + label: '' + description: '' + use_operator: false + operator: '' + operator_limit_selection: false + operator_list: { } + identifier: '' + required: false + remember: false + multiple: false + remember_roles: + authenticated: authenticated + reduce: false + is_grouped: false + group_info: + label: '' + description: '' + identifier: '' + optional: true + widget: select + multiple: false + remember: false + default_group: All + default_group_multiple: { } + group_items: { } + reduce_duplicates: false + filter_groups: + operator: AND + groups: + 1: AND + defaults: + filters: false + filter_groups: false + display_description: '' display_extenders: views_ajax_get: ajax_get: false From aa4209653bb227a1792cedb7e8c338292cf7c47c Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Thu, 30 May 2024 16:08:51 -0500 Subject: [PATCH 141/178] [EPAD8-2318] Adding updated composer.lock. --- services/drupal/composer.lock | 296 +++++++++++++++++++++++++++++++++- 1 file changed, 295 insertions(+), 1 deletion(-) diff --git a/services/drupal/composer.lock b/services/drupal/composer.lock index 1f49d55f03..d4bc90753a 100644 --- a/services/drupal/composer.lock +++ b/services/drupal/composer.lock @@ -4,8 +4,23 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "9ecaa8fd02641d834137ee00893ef588", + "content-hash": "57bfd48c7b71eeda3306f2fb730f2753", "packages": [ + { + "name": "algolia/places", + "version": "1.19.0", + "dist": { + "type": "tar", + "url": "https://registry.npmjs.org/places.js/-/places.js-1.19.0.tgz" + }, + "type": "drupal-library", + "extra": { + "installer-name": "algolia.places" + }, + "license": [ + "MIT" + ] + }, { "name": "asm89/stack-cors", "version": "1.3.0", @@ -379,6 +394,21 @@ }, "time": "2020-12-05T05:59:11+00:00" }, + { + "name": "choices/choices", + "version": "9.0.1", + "dist": { + "type": "zip", + "url": "https://github.com/Choices-js/Choices/archive/refs/tags/v9.0.1.zip" + }, + "type": "drupal-library", + "extra": { + "installer-name": "choices" + }, + "license": [ + "MIT" + ] + }, { "name": "ckeditor-plugin/fakeobjects", "version": "4.15.0", @@ -406,6 +436,21 @@ }, "type": "drupal-library" }, + { + "name": "codemirror/codemirror", + "version": "5.65.12", + "dist": { + "type": "zip", + "url": "https://github.com/components/codemirror/archive/refs/tags/5.65.12.zip" + }, + "type": "drupal-library", + "extra": { + "installer-name": "codemirror" + }, + "license": [ + "MIT" + ] + }, { "name": "commerceguys/addressing", "version": "v1.4.2", @@ -13071,6 +13116,186 @@ }, "type": "drupal-library" }, + { + "name": "jquery/chosen", + "version": "1.8.7", + "dist": { + "type": "zip", + "url": "https://github.com/harvesthq/chosen/releases/download/v1.8.7/chosen_v1.8.7.zip" + }, + "type": "drupal-library", + "extra": { + "installer-name": "jquery.chosen" + }, + "license": [ + "MIT" + ] + }, + { + "name": "jquery/geocomplete", + "version": "1.7.0", + "dist": { + "type": "zip", + "url": "https://github.com/ubilabs/geocomplete/archive/refs/tags/1.7.0.zip" + }, + "type": "drupal-library", + "extra": { + "installer-name": "jquery.geocomplete" + }, + "license": [ + "MIT" + ] + }, + { + "name": "jquery/hotkeys", + "version": "0.2.0", + "dist": { + "type": "zip", + "url": "https://github.com/jeresig/jquery.hotkeys/archive/refs/tags/0.2.0.zip" + }, + "type": "drupal-library", + "extra": { + "installer-name": "jquery.hotkeys" + }, + "license": [ + "MIT" + ] + }, + { + "name": "jquery/icheck", + "version": "1.0.2 ", + "dist": { + "type": "zip", + "url": "https://github.com/dargullin/icheck/archive/refs/tags/1.0.2.zip" + }, + "type": "drupal-library", + "extra": { + "installer-name": "jquery.icheck" + }, + "license": [ + "MIT" + ] + }, + { + "name": "jquery/image-picker", + "version": "0.3.1", + "dist": { + "type": "zip", + "url": "https://github.com/rvera/image-picker/archive/refs/tags/0.3.1.zip" + }, + "type": "drupal-library", + "extra": { + "installer-name": "jquery.image-picker" + }, + "license": [ + "MIT" + ] + }, + { + "name": "jquery/inputmask", + "version": "5.0.8", + "dist": { + "type": "zip", + "url": "https://github.com/RobinHerbots/jquery.inputmask/archive/refs/tags/5.0.8.zip" + }, + "type": "drupal-library", + "extra": { + "installer-name": "jquery.inputmask" + }, + "license": [ + "MIT" + ] + }, + { + "name": "jquery/intl-tel-input", + "version": "17.0.19", + "dist": { + "type": "zip", + "url": "https://github.com/jackocnr/intl-tel-input/archive/refs/tags/v17.0.19.zip" + }, + "type": "drupal-library", + "extra": { + "installer-name": "jquery.intl-tel-input" + }, + "license": [ + "MIT" + ] + }, + { + "name": "jquery/rateit", + "version": "1.1.5", + "dist": { + "type": "zip", + "url": "https://github.com/gjunge/rateit.js/archive/refs/tags/1.1.5.zip" + }, + "type": "drupal-library", + "extra": { + "installer-name": "jquery.rateit" + }, + "license": [ + "MIT" + ] + }, + { + "name": "jquery/select2", + "version": "4.0.13", + "dist": { + "type": "zip", + "url": "https://github.com/select2/select2/archive/refs/tags/4.0.13.zip" + }, + "type": "drupal-library", + "extra": { + "installer-name": "jquery.select2" + }, + "license": [ + "MIT" + ] + }, + { + "name": "jquery/textcounter", + "version": "0.9.1", + "dist": { + "type": "zip", + "url": "https://github.com/ractoon/jQuery-Text-Counter/archive/refs/tags/0.9.1.zip" + }, + "type": "drupal-library", + "extra": { + "installer-name": "jquery.textcounter" + }, + "license": [ + "MIT" + ] + }, + { + "name": "jquery/timepicker", + "version": "1.14.0", + "dist": { + "type": "zip", + "url": "https://github.com/jonthornton/jquery-timepicker/archive/refs/tags/1.14.0.zip" + }, + "type": "drupal-library", + "extra": { + "installer-name": "jquery.timepicker" + }, + "license": [ + "MIT" + ] + }, + { + "name": "jquery/toggles", + "version": "4.0.0", + "dist": { + "type": "zip", + "url": "https://github.com/simontabor/jquery-toggles/archive/refs/tags/v4.0.0.zip" + }, + "type": "drupal-library", + "extra": { + "installer-name": "jquery.toggles" + }, + "license": [ + "MIT" + ] + }, { "name": "jsq/amazon-es-php", "version": "0.3.0", @@ -14138,6 +14363,15 @@ }, "time": "2021-09-27T03:08:05+00:00" }, + { + "name": "northernco/ckeditor5-anchor-drupal", + "version": "0.2.0", + "dist": { + "type": "tar", + "url": "https://registry.npmjs.org/@northernco/ckeditor5-anchor-drupal/-/ckeditor5-anchor-drupal-0.2.0.tgz" + }, + "type": "drupal-library" + }, { "name": "nyholm/dsn", "version": "2.0.1", @@ -14718,6 +14952,21 @@ "MIT" ] }, + { + "name": "progress-tracker/progress-tracker", + "version": "2.0.7", + "dist": { + "type": "zip", + "url": "https://github.com/NigelOToole/progress-tracker/archive/refs/tags/2.0.7.zip" + }, + "type": "drupal-library", + "extra": { + "installer-name": "progress-tracker" + }, + "license": [ + "MIT" + ] + }, { "name": "psr/cache", "version": "1.0.1", @@ -15508,6 +15757,21 @@ }, "time": "2022-09-26T08:40:11+00:00" }, + { + "name": "signature_pad/signature_pad", + "version": "2.3.0", + "dist": { + "type": "zip", + "url": "https://github.com/szimek/signature_pad/archive/refs/tags/v2.3.0.zip" + }, + "type": "drupal-library", + "extra": { + "installer-name": "signature_pad" + }, + "license": [ + "MIT" + ] + }, { "name": "simshaun/recurr", "version": "v5.0.1", @@ -15680,6 +15944,21 @@ }, "time": "2020-01-30T12:17:27+00:00" }, + { + "name": "svg-pan-zoom/svg-pan-zoom", + "version": "3.6.1", + "dist": { + "type": "zip", + "url": "https://github.com/ariutta/svg-pan-zoom/archive/refs/tags/3.6.1.zip" + }, + "type": "drupal-library", + "extra": { + "installer-name": "svg-pan-zoom" + }, + "license": [ + "BSD-2-Clause" + ] + }, { "name": "symfony-cmf/routing", "version": "2.3.4", @@ -18247,6 +18526,21 @@ ], "time": "2022-08-02T15:47:23+00:00" }, + { + "name": "tabby/tabby", + "version": "12.0.3", + "dist": { + "type": "zip", + "url": "https://github.com/cferdinandi/tabby/archive/refs/tags/v12.0.3.zip" + }, + "type": "drupal-library", + "extra": { + "installer-name": "tabby" + }, + "license": [ + "MIT" + ] + }, { "name": "tippyjs/tippyjs", "version": "6.3.7", From b7d65a82f070870551946db1fdd22d01c61f6b90 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Wed, 12 Jun 2024 10:54:05 -0500 Subject: [PATCH 142/178] Fixing issue with additional fields being added to default perspetive layout display. --- ..._view_display.node.perspective.default.yml | 385 ------------------ 1 file changed, 385 deletions(-) diff --git a/services/drupal/config/sync/core.entity_view_display.node.perspective.default.yml b/services/drupal/config/sync/core.entity_view_display.node.perspective.default.yml index f624f8effd..d70b660974 100644 --- a/services/drupal/config/sync/core.entity_view_display.node.perspective.default.yml +++ b/services/drupal/config/sync/core.entity_view_display.node.perspective.default.yml @@ -157,391 +157,6 @@ third_party_settings: third_party_settings: { } weight: 10 additional: { } - b4d3a23f-ba33-406e-8577-dda4851e3944: - uuid: b4d3a23f-ba33-406e-8577-dda4851e3944 - region: content - configuration: - id: 'extra_field_block:node:perspective:links' - label_display: '0' - context_mapping: - entity: layout_builder.entity - weight: 11 - additional: { } - 706f731f-f69a-4d35-891e-f376a92aee81: - uuid: 706f731f-f69a-4d35-891e-f376a92aee81 - region: content - configuration: - id: 'field_block:node:perspective:field_publish_date' - label_display: '0' - context_mapping: - entity: layout_builder.entity - formatter: - type: datetime_default - label: above - settings: - timezone_override: '' - format_type: medium - third_party_settings: { } - weight: 12 - additional: { } - 8dca6438-cfab-4a4b-b2b9-df33ad443107: - uuid: 8dca6438-cfab-4a4b-b2b9-df33ad443107 - region: content - configuration: - id: 'field_block:node:perspective:field_paragraphs' - label_display: '0' - context_mapping: - entity: layout_builder.entity - formatter: - type: entity_reference_revisions_entity_view - label: above - settings: - view_mode: default - link: '' - third_party_settings: { } - weight: 13 - additional: { } - 09c60cb9-fb5d-4505-ba74-4ae352b11b22: - uuid: 09c60cb9-fb5d-4505-ba74-4ae352b11b22 - region: content - configuration: - id: 'field_block:node:perspective:field_language' - label_display: '0' - context_mapping: - entity: layout_builder.entity - formatter: - type: list_default - label: above - settings: { } - third_party_settings: { } - weight: 14 - additional: { } - 5347d82f-21b2-4b8f-8bf3-c109a38a0500: - uuid: 5347d82f-21b2-4b8f-8bf3-c109a38a0500 - region: content - configuration: - id: 'field_block:node:perspective:field_description' - label_display: '0' - context_mapping: - entity: layout_builder.entity - formatter: - type: basic_string - label: above - settings: { } - third_party_settings: { } - weight: 15 - additional: { } - f95a6154-741c-4f21-b05d-db36cafaa596: - uuid: f95a6154-741c-4f21-b05d-db36cafaa596 - region: content - configuration: - id: 'field_block:node:perspective:field_keywords' - label_display: '0' - context_mapping: - entity: layout_builder.entity - formatter: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 16 - additional: { } - 73441eb8-778f-40e1-ab09-2eb173117009: - uuid: 73441eb8-778f-40e1-ab09-2eb173117009 - region: content - configuration: - id: 'field_block:node:perspective:field_type' - label_display: '0' - context_mapping: - entity: layout_builder.entity - formatter: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 17 - additional: { } - e3981eb1-a5ba-49d9-a478-abde9a058c4d: - uuid: e3981eb1-a5ba-49d9-a478-abde9a058c4d - region: content - configuration: - id: 'field_block:node:perspective:field_channel' - label_display: '0' - context_mapping: - entity: layout_builder.entity - formatter: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 18 - additional: { } - c18c4d43-eed6-41c7-b83d-fb50718df5f0: - uuid: c18c4d43-eed6-41c7-b83d-fb50718df5f0 - region: content - configuration: - id: 'field_block:node:perspective:field_env_laws_regs_and_treaties' - label_display: '0' - context_mapping: - entity: layout_builder.entity - formatter: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 19 - additional: { } - 2e882ce9-ef5f-47fc-931f-f2ec9d7f8ade: - uuid: 2e882ce9-ef5f-47fc-931f-f2ec9d7f8ade - region: content - configuration: - id: 'field_block:node:perspective:field_page_head' - label_display: '0' - context_mapping: - entity: layout_builder.entity - formatter: - type: basic_string - label: above - settings: { } - third_party_settings: { } - weight: 20 - additional: { } - 5a625621-6375-4e78-86e3-198adeae2318: - uuid: 5a625621-6375-4e78-86e3-198adeae2318 - region: content - configuration: - id: 'field_block:node:perspective:field_machine_name' - label_display: '0' - context_mapping: - entity: layout_builder.entity - formatter: - type: string - label: above - settings: - link_to_entity: false - third_party_settings: { } - weight: 21 - additional: { } - 8976b5fe-3195-401f-b894-ca9a1129b213: - uuid: 8976b5fe-3195-401f-b894-ca9a1129b213 - region: content - configuration: - id: 'field_block:node:perspective:field_review_deadline' - label_display: '0' - context_mapping: - entity: layout_builder.entity - formatter: - type: datetime_default - label: above - settings: - timezone_override: '' - format_type: medium - third_party_settings: { } - weight: 22 - additional: { } - fc36e7ec-6a89-4da6-a93e-c1c90dce11d3: - uuid: fc36e7ec-6a89-4da6-a93e-c1c90dce11d3 - region: content - configuration: - id: 'field_block:node:perspective:field_media_image' - label_display: '0' - context_mapping: - entity: layout_builder.entity - formatter: - type: entity_reference_entity_view - label: above - settings: - view_mode: default - link: false - third_party_settings: { } - weight: 23 - additional: { } - 63039067-b57f-45ec-bb8e-74c98ac57f8c: - uuid: 63039067-b57f-45ec-bb8e-74c98ac57f8c - region: content - configuration: - id: 'field_block:node:perspective:field_authors' - label_display: '0' - context_mapping: - entity: layout_builder.entity - formatter: - type: entity_reference_revisions_entity_view - label: above - settings: - view_mode: default - link: '' - third_party_settings: { } - weight: 24 - additional: { } - 410201bc-817c-49c9-8371-914c32e2dd1a: - uuid: 410201bc-817c-49c9-8371-914c32e2dd1a - region: content - configuration: - id: 'field_block:node:perspective:field_last_published' - label_display: '0' - context_mapping: - entity: layout_builder.entity - formatter: - type: datetime_default - label: above - settings: - timezone_override: '' - format_type: medium - third_party_settings: { } - weight: 25 - additional: { } - f0c15ad0-4eac-4862-bfc2-5155329a94a4: - uuid: f0c15ad0-4eac-4862-bfc2-5155329a94a4 - region: content - configuration: - id: 'field_block:node:perspective:field_release' - label_display: '0' - context_mapping: - entity: layout_builder.entity - formatter: - type: datetime_default - label: above - settings: - timezone_override: '' - format_type: medium - third_party_settings: { } - weight: 26 - additional: { } - 4a805343-873b-4039-b4fc-72bd5a4c610b: - uuid: 4a805343-873b-4039-b4fc-72bd5a4c610b - region: content - configuration: - id: 'field_block:node:perspective:field_subjects' - label: Subjects - label_display: '0' - provider: layout_builder - context_mapping: - entity: layout_builder.entity - view_mode: view_mode - formatter: - type: epa_core_hierarchical_term_facet_formatter - label: inline - settings: - display: all - link: true - wrap: none - separator: ' » ' - reverse: false - facet_source: perspectives_subjects - third_party_settings: - linked_field: - linked: 0 - type: field - destination: - field: '' - custom: '' - advanced: - title: '' - target: '' - class: '' - rel: '' - text: '' - token: '' - weight: 27 - additional: { } - f71349e6-51d8-4e17-bc20-2a5d7dde804b: - uuid: f71349e6-51d8-4e17-bc20-2a5d7dde804b - region: content - configuration: - id: 'field_block:node:perspective:field_publisher' - label_display: '0' - context_mapping: - entity: layout_builder.entity - formatter: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 28 - additional: { } - 35396ee1-043f-4427-a158-b4d077f04da8: - uuid: 35396ee1-043f-4427-a158-b4d077f04da8 - region: content - configuration: - id: 'field_block:node:perspective:field_geographic_locations' - label_display: '0' - context_mapping: - entity: layout_builder.entity - formatter: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 29 - additional: { } - be511e12-b473-42a6-b3ee-b95ef8c5197b: - uuid: be511e12-b473-42a6-b3ee-b95ef8c5197b - region: content - configuration: - id: 'field_block:node:perspective:field_author_names' - label_display: '0' - context_mapping: - entity: layout_builder.entity - formatter: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 30 - additional: { } - 4efe37f1-8cd3-4603-a6bb-f4c9fdbcdbbb: - uuid: 4efe37f1-8cd3-4603-a6bb-f4c9fdbcdbbb - region: content - configuration: - id: 'field_block:node:perspective:field_search_text' - label_display: '0' - context_mapping: - entity: layout_builder.entity - formatter: - type: basic_string - label: above - settings: { } - third_party_settings: { } - weight: 31 - additional: { } - e6fa9135-c6ef-4859-befd-0414849ce36a: - uuid: e6fa9135-c6ef-4859-befd-0414849ce36a - region: content - configuration: - id: 'field_block:node:perspective:field_meta_tags' - label_display: '0' - context_mapping: - entity: layout_builder.entity - formatter: - type: metatag_empty_formatter - label: above - settings: { } - third_party_settings: { } - weight: 32 - additional: { } - 20e7c76a-7e72-41ae-851e-30d083a1339c: - uuid: 20e7c76a-7e72-41ae-851e-30d083a1339c - region: content - configuration: - id: 'field_block:node:perspective:field_owning_office' - label_display: '0' - context_mapping: - entity: layout_builder.entity - formatter: - type: entity_reference_label - label: above - settings: - link: true - third_party_settings: { } - weight: 33 - additional: { } third_party_settings: { } layout_builder_restrictions: allowed_block_categories: { } From 14b76e9162bf1bce5490fa5f3d8237f616ab8bfc Mon Sep 17 00:00:00 2001 From: Dan Mouyard Date: Wed, 10 Jul 2024 17:51:01 -0400 Subject: [PATCH 143/178] =?UTF-8?q?EPAD8-2410:=20Don=E2=80=99t=20run=20Sty?= =?UTF-8?q?lelint=20during=20gesso=20build,=20wait=20until=20all=20feature?= =?UTF-8?q?=20branches=20are=20fixed?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- services/drupal/web/themes/epa_theme/gulpfile.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/drupal/web/themes/epa_theme/gulpfile.js b/services/drupal/web/themes/epa_theme/gulpfile.js index 61b4354b11..baed1190f5 100644 --- a/services/drupal/web/themes/epa_theme/gulpfile.js +++ b/services/drupal/web/themes/epa_theme/gulpfile.js @@ -213,7 +213,7 @@ const build = (isProduction = true) => { parallel( task('bundleScripts'), buildImages, - series(lintStyles, task('compileStyles')), + task('compileStyles'), buildPatterns ) ); From 8bd0384d7c2a23c52eb01bac90c340919ec0d22b Mon Sep 17 00:00:00 2001 From: Dan Mouyard Date: Wed, 10 Jul 2024 17:55:59 -0400 Subject: [PATCH 144/178] EPAD8-2410: Fix Stylelint errors --- .../box/box--related-links/_box--related-links.scss | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/box/box--related-links/_box--related-links.scss b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/box/box--related-links/_box--related-links.scss index f030256529..86d055f14b 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/box/box--related-links/_box--related-links.scss +++ b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/box/box--related-links/_box--related-links.scss @@ -32,7 +32,7 @@ .related-links--item { line-height: 1.33; margin-bottom: 0; - + &:empty { display: none; } @@ -46,10 +46,10 @@ font-size: rem(16px); text-decoration: none; - &:focus, - &:hover { + &:hover, + &:focus { color: gesso-color(text, link); text-decoration: underline; } } -} \ No newline at end of file +} From 32ef4f85af78be29ba0a537c8da11aeec0aa8ed1 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Fri, 26 Jul 2024 15:09:42 -0500 Subject: [PATCH 145/178] [EPAD8-2249] Adding logic to update the entity's search_api tracked info to resolve issue with items still showing as belonging to old group. --- .../Action/UpdateGroupAssociationBase.php | 36 ++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php index df7b025f18..af9d5c5269 100644 --- a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php +++ b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php @@ -16,6 +16,8 @@ use Drupal\group\Entity\GroupContent; use Drupal\group\GroupMembershipLoaderInterface; use Drupal\node\NodeInterface; +use Drupal\search_api\Plugin\search_api\datasource\ContentEntityTrackingManager; +use Drupal\search_api\Utility\TrackingHelper; use Drupal\views_bulk_operations\Action\ViewsBulkOperationsActionBase; use Symfony\Component\DependencyInjection\ContainerInterface; use Symfony\Component\HttpFoundation\RedirectResponse; @@ -57,6 +59,20 @@ abstract class UpdateGroupAssociationBase extends ViewsBulkOperationsActionBase */ protected $targetGroup; + /** + * The Search API Tracking Helper service. + * + * @var \Drupal\search_api\Utility\TrackingHelper + */ + protected $trackingHelper; + + /** + * The Search API tracking manager service. + * + * @var \Drupal\search_api\Plugin\search_api\datasource\ContentEntityTrackingManager + */ + protected $trackingManager; + const DENIED = 'access_denied'; const CONFIG_DENIED = 'config_denied'; @@ -79,6 +95,8 @@ public static function create(ContainerInterface $container, array $configuratio $container->get('group.membership_loader'), $container->get('config.factory'), $container->get('messenger'), + $container->get('search_api.entity_datasource.tracking_manager'), + $container->get('search_api.tracking_helper') ); } @@ -88,12 +106,14 @@ public static function create(ContainerInterface $container, array $configuratio * @param $plugin_definition * @param \Drupal\Core\Session\AccountProxyInterface $current_user */ - public function __construct(array $configuration, $plugin_id, $plugin_definition, AccountProxyInterface $current_user, GroupMembershipLoaderInterface $group_membership_loader, ConfigFactoryInterface $config_factory, MessengerInterface $messenger) { + public function __construct(array $configuration, $plugin_id, $plugin_definition, AccountProxyInterface $current_user, GroupMembershipLoaderInterface $group_membership_loader, ConfigFactoryInterface $config_factory, MessengerInterface $messenger, ContentEntityTrackingManager $tracking_manager, TrackingHelper $tracking_helper) { parent::__construct($configuration, $plugin_id, $plugin_definition); $this->currentUser = $current_user; $this->groupMembershipLoader = $group_membership_loader; $this->configFactory = $config_factory; $this->messenger = $messenger; + $this->trackingManager = $tracking_manager; + $this->trackingHelper = $tracking_helper; } /** @@ -212,6 +232,13 @@ public function execute($entity = NULL) { $group_content->save(); } $title = $entity instanceof NodeInterface ? $entity->getTitle() : $entity->getName(); + + // Trigger an update on the entity's relevant search index. + $this->trackingManager->entityUpdate($entity); + + // Update the tracking on any items that are referencing this entity. + $this->trackingHelper->trackReferencedEntityUpdate($entity); + return UpdateGroupAssociationBase::SUCCESS . "|$title|{$group_content->getGroup()->label()}"; } else { @@ -226,6 +253,13 @@ public function execute($entity = NULL) { // Means it was never associated with a group $group_content = GroupContent::create($values)->save(); $title = $entity instanceof NodeInterface ? $entity->getTitle() : $entity->getName(); + + // Trigger an update on the entity's relevant search index. + $this->trackingManager->entityUpdate($entity); + + // Update the tracking on any items that are referencing this entity. + $this->trackingHelper->trackReferencedEntityUpdate($entity); + return UpdateGroupAssociationBase::SUCCESS . "|$title|{$group_content->getGroup()->label()}"; } } From 65774ce59d2ed0c1da0422fb0f270e611a01126c Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Fri, 26 Jul 2024 16:25:25 -0500 Subject: [PATCH 146/178] [EPAD8-2249] Adding redirect logic to send user back to view they came from with now query params set to resolve issue with items still showing when they shouldn't. --- .../src/Plugin/Action/UpdateGroupAssociationBase.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php index af9d5c5269..dd32673f2c 100644 --- a/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php +++ b/services/drupal/web/modules/custom/epa_web_areas/src/Plugin/Action/UpdateGroupAssociationBase.php @@ -342,7 +342,15 @@ public static function finished($success, array $results, array $operations): ?R $message = static::translate('Finished with an error.'); static::message($message, 'error'); } - return NULL; + + $batch = &batch_get(); + // Return back to view where they came from, but remove all query params. + // This is to resolve an issue where items still appear under the wrong Web Area after they've been changed. + /** @var \Drupal\Core\Url $redirect_url */ + $redirect_url = $batch['batch_redirect']; + $redirect_url->setOption('query', []); + $url = $batch['batch_redirect']->toString(); + return new RedirectResponse($url); } /** From c72b00251321628b0b3c6331900bd5a136fd1db9 Mon Sep 17 00:00:00 2001 From: Dan Mouyard Date: Wed, 31 Jul 2024 16:13:11 -0400 Subject: [PATCH 147/178] NRDC-2329: Display breadcrumbs when printing --- .../_patterns/05-components/breadcrumb/_breadcrumb.scss | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/breadcrumb/_breadcrumb.scss b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/breadcrumb/_breadcrumb.scss index 7d6e447e7f..2aee600f5d 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/breadcrumb/_breadcrumb.scss +++ b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/breadcrumb/_breadcrumb.scss @@ -19,6 +19,10 @@ $breadcrumb-text-color: gesso-color(breadcrumb, text) !default; @include at-media-max($theme-header-min-width) { display: none; } + + @media print { + display: block; + } } .breadcrumb__title { From 52da134e159e7ca23293d00a90e2ae1de097df9a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 5 Aug 2024 14:51:37 +0000 Subject: [PATCH 148/178] Bump fast-xml-parser, @aws-sdk/client-ecs and @aws-sdk/client-ssm in /ci Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) to 4.4.1 and updates ancestor dependencies [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser), [@aws-sdk/client-ecs](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ecs) and [@aws-sdk/client-ssm](https://github.com/aws/aws-sdk-js-v3/tree/HEAD/clients/client-ssm). These dependencies need to be updated together. Updates `fast-xml-parser` from 4.2.5 to 4.4.1 - [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases) - [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md) - [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/compare/v4.2.5...v4.4.1) Updates `@aws-sdk/client-ecs` from 3.542.0 to 3.623.0 - [Release notes](https://github.com/aws/aws-sdk-js-v3/releases) - [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ecs/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.623.0/clients/client-ecs) Updates `@aws-sdk/client-ssm` from 3.540.0 to 3.623.0 - [Release notes](https://github.com/aws/aws-sdk-js-v3/releases) - [Changelog](https://github.com/aws/aws-sdk-js-v3/blob/main/clients/client-ssm/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-js-v3/commits/v3.623.0/clients/client-ssm) --- updated-dependencies: - dependency-name: fast-xml-parser dependency-type: indirect - dependency-name: "@aws-sdk/client-ecs" dependency-type: direct:production - dependency-name: "@aws-sdk/client-ssm" dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- ci/package-lock.json | 1398 +++++++++++++++++++++--------------------- ci/package.json | 4 +- 2 files changed, 717 insertions(+), 685 deletions(-) diff --git a/ci/package-lock.json b/ci/package-lock.json index 1828a209f0..19c1110d5c 100644 --- a/ci/package-lock.json +++ b/ci/package-lock.json @@ -2,675 +2,640 @@ "requires": true, "lockfileVersion": 1, "dependencies": { - "@aws-crypto/crc32": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-3.0.0.tgz", - "integrity": "sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==", - "requires": { - "@aws-crypto/util": "^3.0.0", - "@aws-sdk/types": "^3.222.0", - "tslib": "^1.11.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, - "@aws-crypto/ie11-detection": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz", - "integrity": "sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==", - "requires": { - "tslib": "^1.11.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } - } - }, "@aws-crypto/sha256-browser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz", - "integrity": "sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz", + "integrity": "sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==", "requires": { - "@aws-crypto/ie11-detection": "^3.0.0", - "@aws-crypto/sha256-js": "^3.0.0", - "@aws-crypto/supports-web-crypto": "^3.0.0", - "@aws-crypto/util": "^3.0.0", + "@aws-crypto/sha256-js": "^5.2.0", + "@aws-crypto/supports-web-crypto": "^5.2.0", + "@aws-crypto/util": "^5.2.0", "@aws-sdk/types": "^3.222.0", "@aws-sdk/util-locate-window": "^3.0.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" }, "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", + "requires": { + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" + } } } }, "@aws-crypto/sha256-js": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz", - "integrity": "sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz", + "integrity": "sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==", "requires": { - "@aws-crypto/util": "^3.0.0", + "@aws-crypto/util": "^5.2.0", "@aws-sdk/types": "^3.222.0", - "tslib": "^1.11.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } + "tslib": "^2.6.2" } }, "@aws-crypto/supports-web-crypto": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz", - "integrity": "sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz", + "integrity": "sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==", "requires": { - "tslib": "^1.11.1" - }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } + "tslib": "^2.6.2" } }, "@aws-crypto/util": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-3.0.0.tgz", - "integrity": "sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-5.2.0.tgz", + "integrity": "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==", "requires": { "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-utf8-browser": "^3.0.0", - "tslib": "^1.11.1" + "@smithy/util-utf8": "^2.0.0", + "tslib": "^2.6.2" }, "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "@smithy/util-utf8": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", + "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", + "requires": { + "@smithy/util-buffer-from": "^2.2.0", + "tslib": "^2.6.2" + } } } }, "@aws-sdk/client-ecs": { - "version": "3.542.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-ecs/-/client-ecs-3.542.0.tgz", - "integrity": "sha512-lNXoyZGYph3tK0kY6CmY7PpJxPlBIUnv8uE8bL+pUOyaXpBbT+Qnm4+9paUtPsPKSMCSfR1a5osFu122zLU1Xw==", - "requires": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.540.0", - "@aws-sdk/core": "3.535.0", - "@aws-sdk/credential-provider-node": "3.540.0", - "@aws-sdk/middleware-host-header": "3.535.0", - "@aws-sdk/middleware-logger": "3.535.0", - "@aws-sdk/middleware-recursion-detection": "3.535.0", - "@aws-sdk/middleware-user-agent": "3.540.0", - "@aws-sdk/region-config-resolver": "3.535.0", - "@aws-sdk/types": "3.535.0", - "@aws-sdk/util-endpoints": "3.540.0", - "@aws-sdk/util-user-agent-browser": "3.535.0", - "@aws-sdk/util-user-agent-node": "3.535.0", - "@smithy/config-resolver": "^2.2.0", - "@smithy/core": "^1.4.0", - "@smithy/fetch-http-handler": "^2.5.0", - "@smithy/hash-node": "^2.2.0", - "@smithy/invalid-dependency": "^2.2.0", - "@smithy/middleware-content-length": "^2.2.0", - "@smithy/middleware-endpoint": "^2.5.0", - "@smithy/middleware-retry": "^2.2.0", - "@smithy/middleware-serde": "^2.3.0", - "@smithy/middleware-stack": "^2.2.0", - "@smithy/node-config-provider": "^2.3.0", - "@smithy/node-http-handler": "^2.5.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/smithy-client": "^2.5.0", - "@smithy/types": "^2.12.0", - "@smithy/url-parser": "^2.2.0", - "@smithy/util-base64": "^2.3.0", - "@smithy/util-body-length-browser": "^2.2.0", - "@smithy/util-body-length-node": "^2.3.0", - "@smithy/util-defaults-mode-browser": "^2.2.0", - "@smithy/util-defaults-mode-node": "^2.3.0", - "@smithy/util-endpoints": "^1.2.0", - "@smithy/util-middleware": "^2.2.0", - "@smithy/util-retry": "^2.2.0", - "@smithy/util-utf8": "^2.3.0", - "@smithy/util-waiter": "^2.2.0", + "version": "3.623.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-ecs/-/client-ecs-3.623.0.tgz", + "integrity": "sha512-3JIgRfxUHrWJtWN/u7+hkvlOVZJw+WtLCAzIPu7Yn1iGTHdFt0xn+4jntE9CNrbEQfSWpguIeqzueA39VWHSIg==", + "requires": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.623.0", + "@aws-sdk/client-sts": "3.623.0", + "@aws-sdk/core": "3.623.0", + "@aws-sdk/credential-provider-node": "3.623.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.620.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.614.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.3.2", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.14", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.1.12", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.14", + "@smithy/util-defaults-mode-node": "^3.0.14", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "@smithy/util-waiter": "^3.1.2", "tslib": "^2.6.2", "uuid": "^9.0.1" } }, "@aws-sdk/client-ssm": { - "version": "3.540.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-ssm/-/client-ssm-3.540.0.tgz", - "integrity": "sha512-GcELCPJBcYpd0zPYO+fTKjeRtvufFEM0AMIdeBojNqObFLx9eyjhzJNpykXulE8J3kPvjzXEs88azPGf0PXu5Q==", - "requires": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.540.0", - "@aws-sdk/core": "3.535.0", - "@aws-sdk/credential-provider-node": "3.540.0", - "@aws-sdk/middleware-host-header": "3.535.0", - "@aws-sdk/middleware-logger": "3.535.0", - "@aws-sdk/middleware-recursion-detection": "3.535.0", - "@aws-sdk/middleware-user-agent": "3.540.0", - "@aws-sdk/region-config-resolver": "3.535.0", - "@aws-sdk/types": "3.535.0", - "@aws-sdk/util-endpoints": "3.540.0", - "@aws-sdk/util-user-agent-browser": "3.535.0", - "@aws-sdk/util-user-agent-node": "3.535.0", - "@smithy/config-resolver": "^2.2.0", - "@smithy/core": "^1.4.0", - "@smithy/fetch-http-handler": "^2.5.0", - "@smithy/hash-node": "^2.2.0", - "@smithy/invalid-dependency": "^2.2.0", - "@smithy/middleware-content-length": "^2.2.0", - "@smithy/middleware-endpoint": "^2.5.0", - "@smithy/middleware-retry": "^2.2.0", - "@smithy/middleware-serde": "^2.3.0", - "@smithy/middleware-stack": "^2.2.0", - "@smithy/node-config-provider": "^2.3.0", - "@smithy/node-http-handler": "^2.5.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/smithy-client": "^2.5.0", - "@smithy/types": "^2.12.0", - "@smithy/url-parser": "^2.2.0", - "@smithy/util-base64": "^2.3.0", - "@smithy/util-body-length-browser": "^2.2.0", - "@smithy/util-body-length-node": "^2.3.0", - "@smithy/util-defaults-mode-browser": "^2.2.0", - "@smithy/util-defaults-mode-node": "^2.3.0", - "@smithy/util-endpoints": "^1.2.0", - "@smithy/util-middleware": "^2.2.0", - "@smithy/util-retry": "^2.2.0", - "@smithy/util-utf8": "^2.3.0", - "@smithy/util-waiter": "^2.2.0", + "version": "3.623.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-ssm/-/client-ssm-3.623.0.tgz", + "integrity": "sha512-f081CIfcmY5F0bcuPUMJTtuJSRJI7kGprYIXWY9ngvdJZcbvp7Xsc7ickM0vzR7M1oxyWFFFz8aXJ4TlzUAGMA==", + "requires": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.623.0", + "@aws-sdk/client-sts": "3.623.0", + "@aws-sdk/core": "3.623.0", + "@aws-sdk/credential-provider-node": "3.623.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.620.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.614.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.3.2", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.14", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.1.12", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.14", + "@smithy/util-defaults-mode-node": "^3.0.14", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", + "@smithy/util-waiter": "^3.1.2", "tslib": "^2.6.2", "uuid": "^9.0.1" } }, "@aws-sdk/client-sso": { - "version": "3.540.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.540.0.tgz", - "integrity": "sha512-rrQZMuw4sxIo3eyAUUzPQRA336mPRnrAeSlSdVHBKZD8Fjvoy0lYry2vNhkPLpFZLso1J66KRyuIv4LzRR3v1Q==", - "requires": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/core": "3.535.0", - "@aws-sdk/middleware-host-header": "3.535.0", - "@aws-sdk/middleware-logger": "3.535.0", - "@aws-sdk/middleware-recursion-detection": "3.535.0", - "@aws-sdk/middleware-user-agent": "3.540.0", - "@aws-sdk/region-config-resolver": "3.535.0", - "@aws-sdk/types": "3.535.0", - "@aws-sdk/util-endpoints": "3.540.0", - "@aws-sdk/util-user-agent-browser": "3.535.0", - "@aws-sdk/util-user-agent-node": "3.535.0", - "@smithy/config-resolver": "^2.2.0", - "@smithy/core": "^1.4.0", - "@smithy/fetch-http-handler": "^2.5.0", - "@smithy/hash-node": "^2.2.0", - "@smithy/invalid-dependency": "^2.2.0", - "@smithy/middleware-content-length": "^2.2.0", - "@smithy/middleware-endpoint": "^2.5.0", - "@smithy/middleware-retry": "^2.2.0", - "@smithy/middleware-serde": "^2.3.0", - "@smithy/middleware-stack": "^2.2.0", - "@smithy/node-config-provider": "^2.3.0", - "@smithy/node-http-handler": "^2.5.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/smithy-client": "^2.5.0", - "@smithy/types": "^2.12.0", - "@smithy/url-parser": "^2.2.0", - "@smithy/util-base64": "^2.3.0", - "@smithy/util-body-length-browser": "^2.2.0", - "@smithy/util-body-length-node": "^2.3.0", - "@smithy/util-defaults-mode-browser": "^2.2.0", - "@smithy/util-defaults-mode-node": "^2.3.0", - "@smithy/util-endpoints": "^1.2.0", - "@smithy/util-middleware": "^2.2.0", - "@smithy/util-retry": "^2.2.0", - "@smithy/util-utf8": "^2.3.0", + "version": "3.623.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.623.0.tgz", + "integrity": "sha512-oEACriysQMnHIVcNp7TD6D1nzgiHfYK0tmMBMbUxgoFuCBkW9g9QYvspHN+S9KgoePfMEXHuPUe9mtG9AH9XeA==", + "requires": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.623.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.620.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.614.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.3.2", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.14", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.1.12", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.14", + "@smithy/util-defaults-mode-node": "^3.0.14", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" } }, "@aws-sdk/client-sso-oidc": { - "version": "3.540.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.540.0.tgz", - "integrity": "sha512-LZYK0lBRQK8D8M3Sqc96XiXkAV2v70zhTtF6weyzEpgwxZMfSuFJjs0jFyhaeZBZbZv7BBghIdhJ5TPavNxGMQ==", - "requires": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/client-sts": "3.540.0", - "@aws-sdk/core": "3.535.0", - "@aws-sdk/middleware-host-header": "3.535.0", - "@aws-sdk/middleware-logger": "3.535.0", - "@aws-sdk/middleware-recursion-detection": "3.535.0", - "@aws-sdk/middleware-user-agent": "3.540.0", - "@aws-sdk/region-config-resolver": "3.535.0", - "@aws-sdk/types": "3.535.0", - "@aws-sdk/util-endpoints": "3.540.0", - "@aws-sdk/util-user-agent-browser": "3.535.0", - "@aws-sdk/util-user-agent-node": "3.535.0", - "@smithy/config-resolver": "^2.2.0", - "@smithy/core": "^1.4.0", - "@smithy/fetch-http-handler": "^2.5.0", - "@smithy/hash-node": "^2.2.0", - "@smithy/invalid-dependency": "^2.2.0", - "@smithy/middleware-content-length": "^2.2.0", - "@smithy/middleware-endpoint": "^2.5.0", - "@smithy/middleware-retry": "^2.2.0", - "@smithy/middleware-serde": "^2.3.0", - "@smithy/middleware-stack": "^2.2.0", - "@smithy/node-config-provider": "^2.3.0", - "@smithy/node-http-handler": "^2.5.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/smithy-client": "^2.5.0", - "@smithy/types": "^2.12.0", - "@smithy/url-parser": "^2.2.0", - "@smithy/util-base64": "^2.3.0", - "@smithy/util-body-length-browser": "^2.2.0", - "@smithy/util-body-length-node": "^2.3.0", - "@smithy/util-defaults-mode-browser": "^2.2.0", - "@smithy/util-defaults-mode-node": "^2.3.0", - "@smithy/util-endpoints": "^1.2.0", - "@smithy/util-middleware": "^2.2.0", - "@smithy/util-retry": "^2.2.0", - "@smithy/util-utf8": "^2.3.0", + "version": "3.623.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.623.0.tgz", + "integrity": "sha512-lMFEXCa6ES/FGV7hpyrppT1PiAkqQb51AbG0zVU3TIgI2IO4XX02uzMUXImRSRqRpGymRCbJCaCs9LtKvS/37Q==", + "requires": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/core": "3.623.0", + "@aws-sdk/credential-provider-node": "3.623.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.620.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.614.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.3.2", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.14", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.1.12", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.14", + "@smithy/util-defaults-mode-node": "^3.0.14", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" } }, "@aws-sdk/client-sts": { - "version": "3.540.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.540.0.tgz", - "integrity": "sha512-ITHUQxvpqfQX6obfpIi3KYGzZYfe/I5Ixjfxoi5lB7ISCtmxqObKB1fzD93wonkMJytJ7LUO8panZl/ojiJ1uw==", - "requires": { - "@aws-crypto/sha256-browser": "3.0.0", - "@aws-crypto/sha256-js": "3.0.0", - "@aws-sdk/core": "3.535.0", - "@aws-sdk/middleware-host-header": "3.535.0", - "@aws-sdk/middleware-logger": "3.535.0", - "@aws-sdk/middleware-recursion-detection": "3.535.0", - "@aws-sdk/middleware-user-agent": "3.540.0", - "@aws-sdk/region-config-resolver": "3.535.0", - "@aws-sdk/types": "3.535.0", - "@aws-sdk/util-endpoints": "3.540.0", - "@aws-sdk/util-user-agent-browser": "3.535.0", - "@aws-sdk/util-user-agent-node": "3.535.0", - "@smithy/config-resolver": "^2.2.0", - "@smithy/core": "^1.4.0", - "@smithy/fetch-http-handler": "^2.5.0", - "@smithy/hash-node": "^2.2.0", - "@smithy/invalid-dependency": "^2.2.0", - "@smithy/middleware-content-length": "^2.2.0", - "@smithy/middleware-endpoint": "^2.5.0", - "@smithy/middleware-retry": "^2.2.0", - "@smithy/middleware-serde": "^2.3.0", - "@smithy/middleware-stack": "^2.2.0", - "@smithy/node-config-provider": "^2.3.0", - "@smithy/node-http-handler": "^2.5.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/smithy-client": "^2.5.0", - "@smithy/types": "^2.12.0", - "@smithy/url-parser": "^2.2.0", - "@smithy/util-base64": "^2.3.0", - "@smithy/util-body-length-browser": "^2.2.0", - "@smithy/util-body-length-node": "^2.3.0", - "@smithy/util-defaults-mode-browser": "^2.2.0", - "@smithy/util-defaults-mode-node": "^2.3.0", - "@smithy/util-endpoints": "^1.2.0", - "@smithy/util-middleware": "^2.2.0", - "@smithy/util-retry": "^2.2.0", - "@smithy/util-utf8": "^2.3.0", + "version": "3.623.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.623.0.tgz", + "integrity": "sha512-iJNdx76SOw0YjHAUv8aj3HXzSu3TKI7qSGuR+OGATwA/kpJZDd+4+WYBdGtr8YK+hPrGGqhfecuCkEg805O5iA==", + "requires": { + "@aws-crypto/sha256-browser": "5.2.0", + "@aws-crypto/sha256-js": "5.2.0", + "@aws-sdk/client-sso-oidc": "3.623.0", + "@aws-sdk/core": "3.623.0", + "@aws-sdk/credential-provider-node": "3.623.0", + "@aws-sdk/middleware-host-header": "3.620.0", + "@aws-sdk/middleware-logger": "3.609.0", + "@aws-sdk/middleware-recursion-detection": "3.620.0", + "@aws-sdk/middleware-user-agent": "3.620.0", + "@aws-sdk/region-config-resolver": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.614.0", + "@aws-sdk/util-user-agent-browser": "3.609.0", + "@aws-sdk/util-user-agent-node": "3.614.0", + "@smithy/config-resolver": "^3.0.5", + "@smithy/core": "^2.3.2", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/hash-node": "^3.0.3", + "@smithy/invalid-dependency": "^3.0.3", + "@smithy/middleware-content-length": "^3.0.5", + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.14", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.1.12", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-body-length-browser": "^3.0.0", + "@smithy/util-body-length-node": "^3.0.0", + "@smithy/util-defaults-mode-browser": "^3.0.14", + "@smithy/util-defaults-mode-node": "^3.0.14", + "@smithy/util-endpoints": "^2.0.5", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", + "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" } }, "@aws-sdk/core": { - "version": "3.535.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.535.0.tgz", - "integrity": "sha512-+Yusa9HziuaEDta1UaLEtMAtmgvxdxhPn7jgfRY6PplqAqgsfa5FR83sxy5qr2q7xjQTwHtV4MjQVuOjG9JsLw==", - "requires": { - "@smithy/core": "^1.4.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/signature-v4": "^2.2.0", - "@smithy/smithy-client": "^2.5.0", - "@smithy/types": "^2.12.0", - "fast-xml-parser": "4.2.5", + "version": "3.623.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.623.0.tgz", + "integrity": "sha512-8Toq3X6trX/67obSdh4K0MFQY4f132bEbr1i0YPDWk/O3KdBt12mLC/sW3aVRnlIs110XMuX9yrWWqJ8fDW10g==", + "requires": { + "@smithy/core": "^2.3.2", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/signature-v4": "^4.1.0", + "@smithy/smithy-client": "^3.1.12", + "@smithy/types": "^3.3.0", + "@smithy/util-middleware": "^3.0.3", + "fast-xml-parser": "4.4.1", "tslib": "^2.6.2" } }, "@aws-sdk/credential-provider-env": { - "version": "3.535.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.535.0.tgz", - "integrity": "sha512-XppwO8c0GCGSAvdzyJOhbtktSEaShg14VJKg8mpMa1XcgqzmcqqHQjtDWbx5rZheY1VdpXZhpEzJkB6LpQejpA==", + "version": "3.620.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.620.1.tgz", + "integrity": "sha512-ExuILJ2qLW5ZO+rgkNRj0xiAipKT16Rk77buvPP8csR7kkCflT/gXTyzRe/uzIiETTxM7tr8xuO9MP/DQXqkfg==", "requires": { - "@aws-sdk/types": "3.535.0", - "@smithy/property-provider": "^2.2.0", - "@smithy/types": "^2.12.0", + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } }, "@aws-sdk/credential-provider-http": { - "version": "3.535.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.535.0.tgz", - "integrity": "sha512-kdj1wCmOMZ29jSlUskRqN04S6fJ4dvt0Nq9Z32SA6wO7UG8ht6Ot9h/au/eTWJM3E1somZ7D771oK7dQt9b8yw==", - "requires": { - "@aws-sdk/types": "3.535.0", - "@smithy/fetch-http-handler": "^2.5.0", - "@smithy/node-http-handler": "^2.5.0", - "@smithy/property-provider": "^2.2.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/smithy-client": "^2.5.0", - "@smithy/types": "^2.12.0", - "@smithy/util-stream": "^2.2.0", + "version": "3.622.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.622.0.tgz", + "integrity": "sha512-VUHbr24Oll1RK3WR8XLUugLpgK9ZuxEm/NVeVqyFts1Ck9gsKpRg1x4eH7L7tW3SJ4TDEQNMbD7/7J+eoL2svg==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.1.12", + "@smithy/types": "^3.3.0", + "@smithy/util-stream": "^3.1.3", "tslib": "^2.6.2" } }, "@aws-sdk/credential-provider-ini": { - "version": "3.540.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.540.0.tgz", - "integrity": "sha512-igN/RbsnulIBwqXbwsWmR3srqmtbPF1dm+JteGvUY31FW65fTVvWvSr945Y/cf1UbhPmIQXntlsqESqpkhTHwg==", - "requires": { - "@aws-sdk/client-sts": "3.540.0", - "@aws-sdk/credential-provider-env": "3.535.0", - "@aws-sdk/credential-provider-process": "3.535.0", - "@aws-sdk/credential-provider-sso": "3.540.0", - "@aws-sdk/credential-provider-web-identity": "3.540.0", - "@aws-sdk/types": "3.535.0", - "@smithy/credential-provider-imds": "^2.3.0", - "@smithy/property-provider": "^2.2.0", - "@smithy/shared-ini-file-loader": "^2.4.0", - "@smithy/types": "^2.12.0", + "version": "3.623.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.623.0.tgz", + "integrity": "sha512-kvXA1SwGneqGzFwRZNpESitnmaENHGFFuuTvgGwtMe7mzXWuA/LkXdbiHmdyAzOo0iByKTCD8uetuwh3CXy4Pw==", + "requires": { + "@aws-sdk/credential-provider-env": "3.620.1", + "@aws-sdk/credential-provider-http": "3.622.0", + "@aws-sdk/credential-provider-process": "3.620.1", + "@aws-sdk/credential-provider-sso": "3.623.0", + "@aws-sdk/credential-provider-web-identity": "3.621.0", + "@aws-sdk/types": "3.609.0", + "@smithy/credential-provider-imds": "^3.2.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } }, "@aws-sdk/credential-provider-node": { - "version": "3.540.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.540.0.tgz", - "integrity": "sha512-HKQZJbLHlrHX9A0B1poiYNXIIQfy8whTjuosTCYKPDBhhUyVAQfxy/KG726j0v43IhaNPLgTGZCJve4hAsazSw==", - "requires": { - "@aws-sdk/credential-provider-env": "3.535.0", - "@aws-sdk/credential-provider-http": "3.535.0", - "@aws-sdk/credential-provider-ini": "3.540.0", - "@aws-sdk/credential-provider-process": "3.535.0", - "@aws-sdk/credential-provider-sso": "3.540.0", - "@aws-sdk/credential-provider-web-identity": "3.540.0", - "@aws-sdk/types": "3.535.0", - "@smithy/credential-provider-imds": "^2.3.0", - "@smithy/property-provider": "^2.2.0", - "@smithy/shared-ini-file-loader": "^2.4.0", - "@smithy/types": "^2.12.0", + "version": "3.623.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.623.0.tgz", + "integrity": "sha512-qDwCOkhbu5PfaQHyuQ+h57HEx3+eFhKdtIw7aISziWkGdFrMe07yIBd7TJqGe4nxXnRF1pfkg05xeOlMId997g==", + "requires": { + "@aws-sdk/credential-provider-env": "3.620.1", + "@aws-sdk/credential-provider-http": "3.622.0", + "@aws-sdk/credential-provider-ini": "3.623.0", + "@aws-sdk/credential-provider-process": "3.620.1", + "@aws-sdk/credential-provider-sso": "3.623.0", + "@aws-sdk/credential-provider-web-identity": "3.621.0", + "@aws-sdk/types": "3.609.0", + "@smithy/credential-provider-imds": "^3.2.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } }, "@aws-sdk/credential-provider-process": { - "version": "3.535.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.535.0.tgz", - "integrity": "sha512-9O1OaprGCnlb/kYl8RwmH7Mlg8JREZctB8r9sa1KhSsWFq/SWO0AuJTyowxD7zL5PkeS4eTvzFFHWCa3OO5epA==", - "requires": { - "@aws-sdk/types": "3.535.0", - "@smithy/property-provider": "^2.2.0", - "@smithy/shared-ini-file-loader": "^2.4.0", - "@smithy/types": "^2.12.0", + "version": "3.620.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.620.1.tgz", + "integrity": "sha512-hWqFMidqLAkaV9G460+1at6qa9vySbjQKKc04p59OT7lZ5cO5VH5S4aI05e+m4j364MBROjjk2ugNvfNf/8ILg==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } }, "@aws-sdk/credential-provider-sso": { - "version": "3.540.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.540.0.tgz", - "integrity": "sha512-tKkFqK227LF5ajc5EL6asXS32p3nkofpP8G7NRpU7zOEOQCg01KUc4JRX+ItI0T007CiN1J19yNoFqHLT/SqHg==", - "requires": { - "@aws-sdk/client-sso": "3.540.0", - "@aws-sdk/token-providers": "3.540.0", - "@aws-sdk/types": "3.535.0", - "@smithy/property-provider": "^2.2.0", - "@smithy/shared-ini-file-loader": "^2.4.0", - "@smithy/types": "^2.12.0", + "version": "3.623.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.623.0.tgz", + "integrity": "sha512-70LZhUb3l7cttEsg4A0S4Jq3qrCT/v5Jfyl8F7w1YZJt5zr3oPPcvDJxo/UYckFz4G4/5BhGa99jK8wMlNE9QA==", + "requires": { + "@aws-sdk/client-sso": "3.623.0", + "@aws-sdk/token-providers": "3.614.0", + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } }, "@aws-sdk/credential-provider-web-identity": { - "version": "3.540.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.540.0.tgz", - "integrity": "sha512-OpDm9w3A168B44hSjpnvECP4rvnFzD86rN4VYdGADuCvEa5uEcdA/JuT5WclFPDqdWEmFBqS1pxBIJBf0g2Q9Q==", + "version": "3.621.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.621.0.tgz", + "integrity": "sha512-w7ASSyfNvcx7+bYGep3VBgC3K6vEdLmlpjT7nSIHxxQf+WSdvy+HynwJosrpZax0sK5q0D1Jpn/5q+r5lwwW6w==", "requires": { - "@aws-sdk/client-sts": "3.540.0", - "@aws-sdk/types": "3.535.0", - "@smithy/property-provider": "^2.2.0", - "@smithy/types": "^2.12.0", + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } }, "@aws-sdk/middleware-host-header": { - "version": "3.535.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.535.0.tgz", - "integrity": "sha512-0h6TWjBWtDaYwHMQJI9ulafeS4lLaw1vIxRjbpH0svFRt6Eve+Sy8NlVhECfTU2hNz/fLubvrUxsXoThaLBIew==", + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.620.0.tgz", + "integrity": "sha512-VMtPEZwqYrII/oUkffYsNWY9PZ9xpNJpMgmyU0rlDQ25O1c0Hk3fJmZRe6pEkAJ0omD7kLrqGl1DUjQVxpd/Rg==", "requires": { - "@aws-sdk/types": "3.535.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/types": "^2.12.0", + "@aws-sdk/types": "3.609.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } }, "@aws-sdk/middleware-logger": { - "version": "3.535.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.535.0.tgz", - "integrity": "sha512-huNHpONOrEDrdRTvSQr1cJiRMNf0S52NDXtaPzdxiubTkP+vni2MohmZANMOai/qT0olmEVX01LhZ0ZAOgmg6A==", + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.609.0.tgz", + "integrity": "sha512-S62U2dy4jMDhDFDK5gZ4VxFdWzCtLzwbYyFZx2uvPYTECkepLUfzLic2BHg2Qvtu4QjX+oGE3P/7fwaGIsGNuQ==", "requires": { - "@aws-sdk/types": "3.535.0", - "@smithy/types": "^2.12.0", + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } }, "@aws-sdk/middleware-recursion-detection": { - "version": "3.535.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.535.0.tgz", - "integrity": "sha512-am2qgGs+gwqmR4wHLWpzlZ8PWhm4ktj5bYSgDrsOfjhdBlWNxvPoID9/pDAz5RWL48+oH7I6SQzMqxXsFDikrw==", + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.620.0.tgz", + "integrity": "sha512-nh91S7aGK3e/o1ck64sA/CyoFw+gAYj2BDOnoNa6ouyCrVJED96ZXWbhye/fz9SgmNUZR2g7GdVpiLpMKZoI5w==", "requires": { - "@aws-sdk/types": "3.535.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/types": "^2.12.0", + "@aws-sdk/types": "3.609.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } }, "@aws-sdk/middleware-user-agent": { - "version": "3.540.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.540.0.tgz", - "integrity": "sha512-8Rd6wPeXDnOYzWj1XCmOKcx/Q87L0K1/EHqOBocGjLVbN3gmRxBvpmR1pRTjf7IsWfnnzN5btqtcAkfDPYQUMQ==", - "requires": { - "@aws-sdk/types": "3.535.0", - "@aws-sdk/util-endpoints": "3.540.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/types": "^2.12.0", + "version": "3.620.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.620.0.tgz", + "integrity": "sha512-bvS6etn+KsuL32ubY5D3xNof1qkenpbJXf/ugGXbg0n98DvDFQ/F+SMLxHgbnER5dsKYchNnhmtI6/FC3HFu/A==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@aws-sdk/util-endpoints": "3.614.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } }, "@aws-sdk/region-config-resolver": { - "version": "3.535.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.535.0.tgz", - "integrity": "sha512-IXOznDiaItBjsQy4Fil0kzX/J3HxIOknEphqHbOfUf+LpA5ugcsxuQQONrbEQusCBnfJyymrldBvBhFmtlU9Wg==", - "requires": { - "@aws-sdk/types": "3.535.0", - "@smithy/node-config-provider": "^2.3.0", - "@smithy/types": "^2.12.0", - "@smithy/util-config-provider": "^2.3.0", - "@smithy/util-middleware": "^2.2.0", + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.614.0.tgz", + "integrity": "sha512-vDCeMXvic/LU0KFIUjpC3RiSTIkkvESsEfbVHiHH0YINfl8HnEqR5rj+L8+phsCeVg2+LmYwYxd5NRz4PHxt5g==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", "tslib": "^2.6.2" } }, "@aws-sdk/token-providers": { - "version": "3.540.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.540.0.tgz", - "integrity": "sha512-9BvtiVEZe5Ev88Wa4ZIUbtT6BVcPwhxmVInQ6c12MYNb0WNL54BN6wLy/eknAfF05gpX2/NDU2pUDOyMPdm/+g==", - "requires": { - "@aws-sdk/client-sso-oidc": "3.540.0", - "@aws-sdk/types": "3.535.0", - "@smithy/property-provider": "^2.2.0", - "@smithy/shared-ini-file-loader": "^2.4.0", - "@smithy/types": "^2.12.0", + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.614.0.tgz", + "integrity": "sha512-okItqyY6L9IHdxqs+Z116y5/nda7rHxLvROxtAJdLavWTYDydxrZstImNgGWTeVdmc0xX2gJCI77UYUTQWnhRw==", + "requires": { + "@aws-sdk/types": "3.609.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } }, "@aws-sdk/types": { - "version": "3.535.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.535.0.tgz", - "integrity": "sha512-aY4MYfduNj+sRR37U7XxYR8wemfbKP6lx00ze2M2uubn7mZotuVrWYAafbMSXrdEMSToE5JDhr28vArSOoLcSg==", + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.609.0.tgz", + "integrity": "sha512-+Tqnh9w0h2LcrUsdXyT1F8mNhXz+tVYBtP19LpeEGntmvHwa2XzvLUCWpoIAIVsHp5+HdB2X9Sn0KAtmbFXc2Q==", "requires": { - "@smithy/types": "^2.12.0", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } }, "@aws-sdk/util-endpoints": { - "version": "3.540.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.540.0.tgz", - "integrity": "sha512-1kMyQFAWx6f8alaI6UT65/5YW/7pDWAKAdNwL6vuJLea03KrZRX3PMoONOSJpAS5m3Ot7HlWZvf3wZDNTLELZw==", + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.614.0.tgz", + "integrity": "sha512-wK2cdrXHH4oz4IomV/yrGkftU9A+ITB6nFL+rxxyO78is2ifHJpFdV4aqk4LSkXYPi6CXWNru/Dqc7yiKXgJPw==", "requires": { - "@aws-sdk/types": "3.535.0", - "@smithy/types": "^2.12.0", - "@smithy/util-endpoints": "^1.2.0", + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", + "@smithy/util-endpoints": "^2.0.5", "tslib": "^2.6.2" } }, "@aws-sdk/util-locate-window": { - "version": "3.535.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.535.0.tgz", - "integrity": "sha512-PHJ3SL6d2jpcgbqdgiPxkXpu7Drc2PYViwxSIqvvMKhDwzSB1W3mMvtpzwKM4IE7zLFodZo0GKjJ9AsoXndXhA==", + "version": "3.568.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.568.0.tgz", + "integrity": "sha512-3nh4TINkXYr+H41QaPelCceEB2FXP3fxp93YZXB/kqJvX0U9j0N0Uk45gvsjmEPzG8XxkPEeLIfT2I1M7A6Lig==", "requires": { "tslib": "^2.6.2" } }, "@aws-sdk/util-user-agent-browser": { - "version": "3.535.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.535.0.tgz", - "integrity": "sha512-RWMcF/xV5n+nhaA/Ff5P3yNP3Kur/I+VNZngog4TEs92oB/nwOdAg/2JL8bVAhUbMrjTjpwm7PItziYFQoqyig==", + "version": "3.609.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.609.0.tgz", + "integrity": "sha512-fojPU+mNahzQ0YHYBsx0ZIhmMA96H+ZIZ665ObU9tl+SGdbLneVZVikGve+NmHTQwHzwkFsZYYnVKAkreJLAtA==", "requires": { - "@aws-sdk/types": "3.535.0", - "@smithy/types": "^2.12.0", + "@aws-sdk/types": "3.609.0", + "@smithy/types": "^3.3.0", "bowser": "^2.11.0", "tslib": "^2.6.2" } }, "@aws-sdk/util-user-agent-node": { - "version": "3.535.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.535.0.tgz", - "integrity": "sha512-dRek0zUuIT25wOWJlsRm97nTkUlh1NDcLsQZIN2Y8KxhwoXXWtJs5vaDPT+qAg+OpcNj80i1zLR/CirqlFg/TQ==", + "version": "3.614.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.614.0.tgz", + "integrity": "sha512-15ElZT88peoHnq5TEoEtZwoXTXRxNrk60TZNdpl/TUBJ5oNJ9Dqb5Z4ryb8ofN6nm9aFf59GVAerFDz8iUoHBA==", "requires": { - "@aws-sdk/types": "3.535.0", - "@smithy/node-config-provider": "^2.3.0", - "@smithy/types": "^2.12.0", + "@aws-sdk/types": "3.609.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } }, - "@aws-sdk/util-utf8-browser": { - "version": "3.259.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz", - "integrity": "sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==", - "requires": { - "tslib": "^2.3.1" - } - }, "@smithy/abort-controller": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.2.0.tgz", - "integrity": "sha512-wRlta7GuLWpTqtFfGo+nZyOO1vEvewdNR1R4rTxpC8XU6vG/NDyrFBhwLZsqg1NUoR1noVaXJPC/7ZK47QCySw==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.1.tgz", + "integrity": "sha512-MBJBiidoe+0cTFhyxT8g+9g7CeVccLM0IOKKUMCNQ1CNMJ/eIfoo0RTfVrXOONEI1UCN1W+zkiHSbzUNE9dZtQ==", "requires": { - "@smithy/types": "^2.12.0", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } }, "@smithy/config-resolver": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.2.0.tgz", - "integrity": "sha512-fsiMgd8toyUba6n1WRmr+qACzXltpdDkPTAaDqc8QqPBUzO+/JKwL6bUBseHVi8tu9l+3JOK+tSf7cay+4B3LA==", - "requires": { - "@smithy/node-config-provider": "^2.3.0", - "@smithy/types": "^2.12.0", - "@smithy/util-config-provider": "^2.3.0", - "@smithy/util-middleware": "^2.2.0", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-3.0.5.tgz", + "integrity": "sha512-SkW5LxfkSI1bUC74OtfBbdz+grQXYiPYolyu8VfpLIjEoN/sHVBlLeGXMQ1vX4ejkgfv6sxVbQJ32yF2cl1veA==", + "requires": { + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/util-config-provider": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", "tslib": "^2.6.2" } }, "@smithy/core": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@smithy/core/-/core-1.4.1.tgz", - "integrity": "sha512-jCnbEQHvTOUQXxXOS110FIMc83dCXUlrqiG/q0QzUSYhglDj9bJVPFjXmxc6qUfARe0mEb8h9LeVoh7FUYHuUg==", - "requires": { - "@smithy/middleware-endpoint": "^2.5.0", - "@smithy/middleware-retry": "^2.3.0", - "@smithy/middleware-serde": "^2.3.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/smithy-client": "^2.5.0", - "@smithy/types": "^2.12.0", - "@smithy/util-middleware": "^2.2.0", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-2.3.2.tgz", + "integrity": "sha512-in5wwt6chDBcUv1Lw1+QzZxN9fBffi+qOixfb65yK4sDuKG7zAUO9HAFqmVzsZM3N+3tTyvZjtnDXePpvp007Q==", + "requires": { + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-retry": "^3.0.14", + "@smithy/middleware-serde": "^3.0.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/smithy-client": "^3.1.12", + "@smithy/types": "^3.3.0", + "@smithy/util-middleware": "^3.0.3", "tslib": "^2.6.2" } }, "@smithy/credential-provider-imds": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.3.0.tgz", - "integrity": "sha512-BWB9mIukO1wjEOo1Ojgl6LrG4avcaC7T/ZP6ptmAaW4xluhSIPZhY+/PI5YKzlk+jsm+4sQZB45Bt1OfMeQa3w==", - "requires": { - "@smithy/node-config-provider": "^2.3.0", - "@smithy/property-provider": "^2.2.0", - "@smithy/types": "^2.12.0", - "@smithy/url-parser": "^2.2.0", - "tslib": "^2.6.2" - } - }, - "@smithy/eventstream-codec": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.2.0.tgz", - "integrity": "sha512-8janZoJw85nJmQZc4L8TuePp2pk1nxLgkxIR0TUjKJ5Dkj5oelB9WtiSSGXCQvNsJl0VSTvK/2ueMXxvpa9GVw==", - "requires": { - "@aws-crypto/crc32": "3.0.0", - "@smithy/types": "^2.12.0", - "@smithy/util-hex-encoding": "^2.2.0", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-3.2.0.tgz", + "integrity": "sha512-0SCIzgd8LYZ9EJxUjLXBmEKSZR/P/w6l7Rz/pab9culE/RWuqelAKGJvn5qUOl8BgX8Yj5HWM50A5hiB/RzsgA==", + "requires": { + "@smithy/node-config-provider": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", "tslib": "^2.6.2" } }, "@smithy/fetch-http-handler": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.5.0.tgz", - "integrity": "sha512-BOWEBeppWhLn/no/JxUL/ghTfANTjT7kg3Ww2rPqTUY9R4yHPXxJ9JhMe3Z03LN3aPwiwlpDIUcVw1xDyHqEhw==", - "requires": { - "@smithy/protocol-http": "^3.3.0", - "@smithy/querystring-builder": "^2.2.0", - "@smithy/types": "^2.12.0", - "@smithy/util-base64": "^2.3.0", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-3.2.4.tgz", + "integrity": "sha512-kBprh5Gs5h7ug4nBWZi1FZthdqSM+T7zMmsZxx0IBvWUn7dK3diz2SHn7Bs4dQGFDk8plDv375gzenDoNwrXjg==", + "requires": { + "@smithy/protocol-http": "^4.1.0", + "@smithy/querystring-builder": "^3.0.3", + "@smithy/types": "^3.3.0", + "@smithy/util-base64": "^3.0.0", "tslib": "^2.6.2" } }, "@smithy/hash-node": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.2.0.tgz", - "integrity": "sha512-zLWaC/5aWpMrHKpoDF6nqpNtBhlAYKF/7+9yMN7GpdR8CzohnWfGtMznPybnwSS8saaXBMxIGwJqR4HmRp6b3g==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-3.0.3.tgz", + "integrity": "sha512-2ctBXpPMG+B3BtWSGNnKELJ7SH9e4TNefJS0cd2eSkOOROeBnnVBnAy9LtJ8tY4vUEoe55N4CNPxzbWvR39iBw==", "requires": { - "@smithy/types": "^2.12.0", - "@smithy/util-buffer-from": "^2.2.0", - "@smithy/util-utf8": "^2.3.0", + "@smithy/types": "^3.3.0", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "requires": { + "tslib": "^2.6.2" + } + }, + "@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "requires": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + } + } } }, "@smithy/invalid-dependency": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.2.0.tgz", - "integrity": "sha512-nEDASdbKFKPXN2O6lOlTgrEEOO9NHIeO+HVvZnkqc8h5U9g3BIhWsvzFo+UcUbliMHvKNPD/zVxDrkP1Sbgp8Q==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-3.0.3.tgz", + "integrity": "sha512-ID1eL/zpDULmHJbflb864k72/SNOZCADRc9i7Exq3RUNJw6raWUSlFEQ+3PX3EYs++bTxZB2dE9mEHTQLv61tw==", "requires": { - "@smithy/types": "^2.12.0", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } }, @@ -683,208 +648,237 @@ } }, "@smithy/middleware-content-length": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.2.0.tgz", - "integrity": "sha512-5bl2LG1Ah/7E5cMSC+q+h3IpVHMeOkG0yLRyQT1p2aMJkSrZG7RlXHPuAgb7EyaFeidKEnnd/fNaLLaKlHGzDQ==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-3.0.5.tgz", + "integrity": "sha512-ILEzC2eyxx6ncej3zZSwMpB5RJ0zuqH7eMptxC4KN3f+v9bqT8ohssKbhNR78k/2tWW+KS5Spw+tbPF4Ejyqvw==", "requires": { - "@smithy/protocol-http": "^3.3.0", - "@smithy/types": "^2.12.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } }, "@smithy/middleware-endpoint": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.5.0.tgz", - "integrity": "sha512-OBhI9ZEAG8Xen0xsFJwwNOt44WE2CWkfYIxTognC8x42Lfsdf0VN/wCMqpdkySMDio/vts10BiovAxQp0T0faA==", - "requires": { - "@smithy/middleware-serde": "^2.3.0", - "@smithy/node-config-provider": "^2.3.0", - "@smithy/shared-ini-file-loader": "^2.4.0", - "@smithy/types": "^2.12.0", - "@smithy/url-parser": "^2.2.0", - "@smithy/util-middleware": "^2.2.0", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.1.0.tgz", + "integrity": "sha512-5y5aiKCEwg9TDPB4yFE7H6tYvGFf1OJHNczeY10/EFF8Ir8jZbNntQJxMWNfeQjC1mxPsaQ6mR9cvQbf+0YeMw==", + "requires": { + "@smithy/middleware-serde": "^3.0.3", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/url-parser": "^3.0.3", + "@smithy/util-middleware": "^3.0.3", "tslib": "^2.6.2" } }, "@smithy/middleware-retry": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.3.0.tgz", - "integrity": "sha512-5H7kD0My2RkZryvYIWA4C9w6t/pdJfbgEdq+fcZhbnZsqHm/4vYFVjDsOzb5pC7PEpksuijoM9fGbM6eN4rLSg==", - "requires": { - "@smithy/node-config-provider": "^2.3.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/service-error-classification": "^2.1.5", - "@smithy/smithy-client": "^2.5.0", - "@smithy/types": "^2.12.0", - "@smithy/util-middleware": "^2.2.0", - "@smithy/util-retry": "^2.2.0", + "version": "3.0.14", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.14.tgz", + "integrity": "sha512-7ZaWZJOjUxa5hgmuMspyt8v/zVsh0GXYuF7OvCmdcbVa/xbnKQoYC+uYKunAqRGTkxjOyuOCw9rmFUFOqqC0eQ==", + "requires": { + "@smithy/node-config-provider": "^3.1.4", + "@smithy/protocol-http": "^4.1.0", + "@smithy/service-error-classification": "^3.0.3", + "@smithy/smithy-client": "^3.1.12", + "@smithy/types": "^3.3.0", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-retry": "^3.0.3", "tslib": "^2.6.2", "uuid": "^9.0.1" } }, "@smithy/middleware-serde": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.3.0.tgz", - "integrity": "sha512-sIADe7ojwqTyvEQBe1nc/GXB9wdHhi9UwyX0lTyttmUWDJLP655ZYE1WngnNyXREme8I27KCaUhyhZWRXL0q7Q==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.3.tgz", + "integrity": "sha512-puUbyJQBcg9eSErFXjKNiGILJGtiqmuuNKEYNYfUD57fUl4i9+mfmThtQhvFXU0hCVG0iEJhvQUipUf+/SsFdA==", "requires": { - "@smithy/types": "^2.12.0", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } }, "@smithy/middleware-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.2.0.tgz", - "integrity": "sha512-Qntc3jrtwwrsAC+X8wms8zhrTr0sFXnyEGhZd9sLtsJ/6gGQKFzNB+wWbOcpJd7BR8ThNCoKt76BuQahfMvpeA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.3.tgz", + "integrity": "sha512-r4klY9nFudB0r9UdSMaGSyjyQK5adUyPnQN/ZM6M75phTxOdnc/AhpvGD1fQUvgmqjQEBGCwpnPbDm8pH5PapA==", "requires": { - "@smithy/types": "^2.12.0", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } }, "@smithy/node-config-provider": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.3.0.tgz", - "integrity": "sha512-0elK5/03a1JPWMDPaS726Iw6LpQg80gFut1tNpPfxFuChEEklo2yL823V94SpTZTxmKlXFtFgsP55uh3dErnIg==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.4.tgz", + "integrity": "sha512-YvnElQy8HR4vDcAjoy7Xkx9YT8xZP4cBXcbJSgm/kxmiQu08DwUwj8rkGnyoJTpfl/3xYHH+d8zE+eHqoDCSdQ==", "requires": { - "@smithy/property-provider": "^2.2.0", - "@smithy/shared-ini-file-loader": "^2.4.0", - "@smithy/types": "^2.12.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/shared-ini-file-loader": "^3.1.4", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } }, "@smithy/node-http-handler": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.5.0.tgz", - "integrity": "sha512-mVGyPBzkkGQsPoxQUbxlEfRjrj6FPyA3u3u2VXGr9hT8wilsoQdZdvKpMBFMB8Crfhv5dNkKHIW0Yyuc7eABqA==", - "requires": { - "@smithy/abort-controller": "^2.2.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/querystring-builder": "^2.2.0", - "@smithy/types": "^2.12.0", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.1.4.tgz", + "integrity": "sha512-+UmxgixgOr/yLsUxcEKGH0fMNVteJFGkmRltYFHnBMlogyFdpzn2CwqWmxOrfJELhV34v0WSlaqG1UtE1uXlJg==", + "requires": { + "@smithy/abort-controller": "^3.1.1", + "@smithy/protocol-http": "^4.1.0", + "@smithy/querystring-builder": "^3.0.3", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } }, "@smithy/property-provider": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.2.0.tgz", - "integrity": "sha512-+xiil2lFhtTRzXkx8F053AV46QnIw6e7MV8od5Mi68E1ICOjCeCHw2XfLnDEUHnT9WGUIkwcqavXjfwuJbGlpg==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.3.tgz", + "integrity": "sha512-zahyOVR9Q4PEoguJ/NrFP4O7SMAfYO1HLhB18M+q+Z4KFd4V2obiMnlVoUFzFLSPeVt1POyNWneHHrZaTMoc/g==", "requires": { - "@smithy/types": "^2.12.0", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } }, "@smithy/protocol-http": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.3.0.tgz", - "integrity": "sha512-Xy5XK1AFWW2nlY/biWZXu6/krgbaf2dg0q492D8M5qthsnU2H+UgFeZLbM76FnH7s6RO/xhQRkj+T6KBO3JzgQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.0.tgz", + "integrity": "sha512-dPVoHYQ2wcHooGXg3LQisa1hH0e4y0pAddPMeeUPipI1tEOqL6A4N0/G7abeq+K8wrwSgjk4C0wnD1XZpJm5aA==", "requires": { - "@smithy/types": "^2.12.0", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } }, "@smithy/querystring-builder": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.2.0.tgz", - "integrity": "sha512-L1kSeviUWL+emq3CUVSgdogoM/D9QMFaqxL/dd0X7PCNWmPXqt+ExtrBjqT0V7HLN03Vs9SuiLrG3zy3JGnE5A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.3.tgz", + "integrity": "sha512-vyWckeUeesFKzCDaRwWLUA1Xym9McaA6XpFfAK5qI9DKJ4M33ooQGqvM4J+LalH4u/Dq9nFiC8U6Qn1qi0+9zw==", "requires": { - "@smithy/types": "^2.12.0", - "@smithy/util-uri-escape": "^2.2.0", + "@smithy/types": "^3.3.0", + "@smithy/util-uri-escape": "^3.0.0", "tslib": "^2.6.2" } }, "@smithy/querystring-parser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.2.0.tgz", - "integrity": "sha512-BvHCDrKfbG5Yhbpj4vsbuPV2GgcpHiAkLeIlcA1LtfpMz3jrqizP1+OguSNSj1MwBHEiN+jwNisXLGdajGDQJA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.3.tgz", + "integrity": "sha512-zahM1lQv2YjmznnfQsWbYojFe55l0SLG/988brlLv1i8z3dubloLF+75ATRsqPBboUXsW6I9CPGE5rQgLfY0vQ==", "requires": { - "@smithy/types": "^2.12.0", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } }, "@smithy/service-error-classification": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.1.5.tgz", - "integrity": "sha512-uBDTIBBEdAQryvHdc5W8sS5YX7RQzF683XrHePVdFmAgKiMofU15FLSM0/HU03hKTnazdNRFa0YHS7+ArwoUSQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.3.tgz", + "integrity": "sha512-Jn39sSl8cim/VlkLsUhRFq/dKDnRUFlfRkvhOJaUbLBXUsLRLNf9WaxDv/z9BjuQ3A6k/qE8af1lsqcwm7+DaQ==", "requires": { - "@smithy/types": "^2.12.0" + "@smithy/types": "^3.3.0" } }, "@smithy/shared-ini-file-loader": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.4.0.tgz", - "integrity": "sha512-WyujUJL8e1B6Z4PBfAqC/aGY1+C7T0w20Gih3yrvJSk97gpiVfB+y7c46T4Nunk+ZngLq0rOIdeVeIklk0R3OA==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.4.tgz", + "integrity": "sha512-qMxS4hBGB8FY2GQqshcRUy1K6k8aBWP5vwm8qKkCT3A9K2dawUwOIJfqh9Yste/Bl0J2lzosVyrXDj68kLcHXQ==", "requires": { - "@smithy/types": "^2.12.0", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } }, "@smithy/signature-v4": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.2.0.tgz", - "integrity": "sha512-+B5TNzj/fRZzVW3z8UUJOkNx15+4E0CLuvJmJUA1JUIZFp3rdJ/M2H5r2SqltaVPXL0oIxv/6YK92T9TsFGbFg==", - "requires": { - "@smithy/eventstream-codec": "^2.2.0", - "@smithy/is-array-buffer": "^2.2.0", - "@smithy/types": "^2.12.0", - "@smithy/util-hex-encoding": "^2.2.0", - "@smithy/util-middleware": "^2.2.0", - "@smithy/util-uri-escape": "^2.2.0", - "@smithy/util-utf8": "^2.3.0", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-4.1.0.tgz", + "integrity": "sha512-aRryp2XNZeRcOtuJoxjydO6QTaVhxx/vjaR+gx7ZjaFgrgPRyZ3HCTbfwqYj6ZWEBHkCSUfcaymKPURaByukag==", + "requires": { + "@smithy/is-array-buffer": "^3.0.0", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "@smithy/util-hex-encoding": "^3.0.0", + "@smithy/util-middleware": "^3.0.3", + "@smithy/util-uri-escape": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "requires": { + "tslib": "^2.6.2" + } + } } }, "@smithy/smithy-client": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.5.0.tgz", - "integrity": "sha512-DDXWHWdimtS3y/Kw1Jo46KQ0ZYsDKcldFynQERUGBPDpkW1lXOTHy491ALHjwfiBQvzsVKVxl5+ocXNIgJuX4g==", - "requires": { - "@smithy/middleware-endpoint": "^2.5.0", - "@smithy/middleware-stack": "^2.2.0", - "@smithy/protocol-http": "^3.3.0", - "@smithy/types": "^2.12.0", - "@smithy/util-stream": "^2.2.0", + "version": "3.1.12", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.1.12.tgz", + "integrity": "sha512-wtm8JtsycthkHy1YA4zjIh2thJgIQ9vGkoR639DBx5lLlLNU0v4GARpQZkr2WjXue74nZ7MiTSWfVrLkyD8RkA==", + "requires": { + "@smithy/middleware-endpoint": "^3.1.0", + "@smithy/middleware-stack": "^3.0.3", + "@smithy/protocol-http": "^4.1.0", + "@smithy/types": "^3.3.0", + "@smithy/util-stream": "^3.1.3", "tslib": "^2.6.2" } }, "@smithy/types": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.12.0.tgz", - "integrity": "sha512-QwYgloJ0sVNBeBuBs65cIkTbfzV/Q6ZNPCJ99EICFEdJYG50nGIY/uYXp+TbsdJReIuPr0a0kXmCvren3MbRRw==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.3.0.tgz", + "integrity": "sha512-IxvBBCTFDHbVoK7zIxqA1ZOdc4QfM5HM7rGleCuHi7L1wnKv5Pn69xXJQ9hgxH60ZVygH9/JG0jRgtUncE3QUA==", "requires": { "tslib": "^2.6.2" } }, "@smithy/url-parser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.2.0.tgz", - "integrity": "sha512-hoA4zm61q1mNTpksiSWp2nEl1dt3j726HdRhiNgVJQMj7mLp7dprtF57mOB6JvEk/x9d2bsuL5hlqZbBuHQylQ==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.3.tgz", + "integrity": "sha512-pw3VtZtX2rg+s6HMs6/+u9+hu6oY6U7IohGhVNnjbgKy86wcIsSZwgHrFR+t67Uyxvp4Xz3p3kGXXIpTNisq8A==", "requires": { - "@smithy/querystring-parser": "^2.2.0", - "@smithy/types": "^2.12.0", + "@smithy/querystring-parser": "^3.0.3", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } }, "@smithy/util-base64": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.3.0.tgz", - "integrity": "sha512-s3+eVwNeJuXUwuMbusncZNViuhv2LjVJ1nMwTqSA0XAC7gjKhqqxRdJPhR8+YrkoZ9IiIbFk/yK6ACe/xlF+hw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz", + "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==", "requires": { - "@smithy/util-buffer-from": "^2.2.0", - "@smithy/util-utf8": "^2.3.0", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "requires": { + "tslib": "^2.6.2" + } + }, + "@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "requires": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + } + } } }, "@smithy/util-body-length-browser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-2.2.0.tgz", - "integrity": "sha512-dtpw9uQP7W+n3vOtx0CfBD5EWd7EPdIdsQnWTDoFf77e3VUf05uA7R7TGipIo8e4WL2kuPdnsr3hMQn9ziYj5w==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-3.0.0.tgz", + "integrity": "sha512-cbjJs2A1mLYmqmyVl80uoLTJhAcfzMOyPgjwAYusWKMdLeNtzmMz9YxNl3/jRLoxSS3wkqkf0jwNdtXWtyEBaQ==", "requires": { "tslib": "^2.6.2" } }, "@smithy/util-body-length-node": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-2.3.0.tgz", - "integrity": "sha512-ITWT1Wqjubf2CJthb0BuT9+bpzBfXeMokH/AAa5EJQgbv9aPMVfnM76iFIZVFf50hYXGbtiV71BHAthNWd6+dw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-3.0.0.tgz", + "integrity": "sha512-Tj7pZ4bUloNUP6PzwhN7K386tmSmEET9QtQg0TgdNOnxhZvCssHji+oZTUIuzxECRfG8rdm2PMw2WCFs6eIYkA==", "requires": { "tslib": "^2.6.2" } @@ -899,115 +893,153 @@ } }, "@smithy/util-config-provider": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-2.3.0.tgz", - "integrity": "sha512-HZkzrRcuFN1k70RLqlNK4FnPXKOpkik1+4JaBoHNJn+RnJGYqaa3c5/+XtLOXhlKzlRgNvyaLieHTW2VwGN0VQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-3.0.0.tgz", + "integrity": "sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==", "requires": { "tslib": "^2.6.2" } }, "@smithy/util-defaults-mode-browser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.2.0.tgz", - "integrity": "sha512-2okTdZaCBvOJszAPU/KSvlimMe35zLOKbQpHhamFJmR7t95HSe0K3C92jQPjKY3PmDBD+7iMkOnuW05F5OlF4g==", + "version": "3.0.14", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.14.tgz", + "integrity": "sha512-0iwTgKKmAIf+vFLV8fji21Jb2px11ktKVxbX6LIDPAUJyWQqGqBVfwba7xwa1f2FZUoolYQgLvxQEpJycXuQ5w==", "requires": { - "@smithy/property-provider": "^2.2.0", - "@smithy/smithy-client": "^2.5.0", - "@smithy/types": "^2.12.0", + "@smithy/property-provider": "^3.1.3", + "@smithy/smithy-client": "^3.1.12", + "@smithy/types": "^3.3.0", "bowser": "^2.11.0", "tslib": "^2.6.2" } }, "@smithy/util-defaults-mode-node": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.3.0.tgz", - "integrity": "sha512-hfKXnNLmsW9cmLb/JXKIvtuO6Cf4SuqN5PN1C2Ru/TBIws+m1wSgb+A53vo0r66xzB6E82inKG2J7qtwdi+Kkw==", - "requires": { - "@smithy/config-resolver": "^2.2.0", - "@smithy/credential-provider-imds": "^2.3.0", - "@smithy/node-config-provider": "^2.3.0", - "@smithy/property-provider": "^2.2.0", - "@smithy/smithy-client": "^2.5.0", - "@smithy/types": "^2.12.0", + "version": "3.0.14", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.14.tgz", + "integrity": "sha512-e9uQarJKfXApkTMMruIdxHprhcXivH1flYCe8JRDTzkkLx8dA3V5J8GZlST9yfDiRWkJpZJlUXGN9Rc9Ade3OQ==", + "requires": { + "@smithy/config-resolver": "^3.0.5", + "@smithy/credential-provider-imds": "^3.2.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/property-provider": "^3.1.3", + "@smithy/smithy-client": "^3.1.12", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } }, "@smithy/util-endpoints": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-1.2.0.tgz", - "integrity": "sha512-BuDHv8zRjsE5zXd3PxFXFknzBG3owCpjq8G3FcsXW3CykYXuEqM3nTSsmLzw5q+T12ZYuDlVUZKBdpNbhVtlrQ==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-2.0.5.tgz", + "integrity": "sha512-ReQP0BWihIE68OAblC/WQmDD40Gx+QY1Ez8mTdFMXpmjfxSyz2fVQu3A4zXRfQU9sZXtewk3GmhfOHswvX+eNg==", "requires": { - "@smithy/node-config-provider": "^2.3.0", - "@smithy/types": "^2.12.0", + "@smithy/node-config-provider": "^3.1.4", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } }, "@smithy/util-hex-encoding": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-2.2.0.tgz", - "integrity": "sha512-7iKXR+/4TpLK194pVjKiasIyqMtTYJsgKgM242Y9uzt5dhHnUDvMNb+3xIhRJ9QhvqGii/5cRUt4fJn3dtXNHQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", + "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==", "requires": { "tslib": "^2.6.2" } }, "@smithy/util-middleware": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.2.0.tgz", - "integrity": "sha512-L1qpleXf9QD6LwLCJ5jddGkgWyuSvWBkJwWAZ6kFkdifdso+sk3L3O1HdmPvCdnCK3IS4qWyPxev01QMnfHSBw==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.3.tgz", + "integrity": "sha512-l+StyYYK/eO3DlVPbU+4Bi06Jjal+PFLSMmlWM1BEwyLxZ3aKkf1ROnoIakfaA7mC6uw3ny7JBkau4Yc+5zfWw==", "requires": { - "@smithy/types": "^2.12.0", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } }, "@smithy/util-retry": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.2.0.tgz", - "integrity": "sha512-q9+pAFPTfftHXRytmZ7GzLFFrEGavqapFc06XxzZFcSIGERXMerXxCitjOG1prVDR9QdjqotF40SWvbqcCpf8g==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.3.tgz", + "integrity": "sha512-AFw+hjpbtVApzpNDhbjNG5NA3kyoMs7vx0gsgmlJF4s+yz1Zlepde7J58zpIRIsdjc+emhpAITxA88qLkPF26w==", "requires": { - "@smithy/service-error-classification": "^2.1.5", - "@smithy/types": "^2.12.0", + "@smithy/service-error-classification": "^3.0.3", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } }, "@smithy/util-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.2.0.tgz", - "integrity": "sha512-17faEXbYWIRst1aU9SvPZyMdWmqIrduZjVOqCPMIsWFNxs5yQQgFrJL6b2SdiCzyW9mJoDjFtgi53xx7EH+BXA==", - "requires": { - "@smithy/fetch-http-handler": "^2.5.0", - "@smithy/node-http-handler": "^2.5.0", - "@smithy/types": "^2.12.0", - "@smithy/util-base64": "^2.3.0", - "@smithy/util-buffer-from": "^2.2.0", - "@smithy/util-hex-encoding": "^2.2.0", - "@smithy/util-utf8": "^2.3.0", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.1.3.tgz", + "integrity": "sha512-FIv/bRhIlAxC0U7xM1BCnF2aDRPq0UaelqBHkM2lsCp26mcBbgI0tCVTv+jGdsQLUmAMybua/bjDsSu8RQHbmw==", + "requires": { + "@smithy/fetch-http-handler": "^3.2.4", + "@smithy/node-http-handler": "^3.1.4", + "@smithy/types": "^3.3.0", + "@smithy/util-base64": "^3.0.0", + "@smithy/util-buffer-from": "^3.0.0", + "@smithy/util-hex-encoding": "^3.0.0", + "@smithy/util-utf8": "^3.0.0", "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "requires": { + "tslib": "^2.6.2" + } + }, + "@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "requires": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + } + } } }, "@smithy/util-uri-escape": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-2.2.0.tgz", - "integrity": "sha512-jtmJMyt1xMD/d8OtbVJ2gFZOSKc+ueYJZPW20ULW1GOp/q/YIM0wNh+u8ZFao9UaIGz4WoPW8hC64qlWLIfoDA==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", + "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", "requires": { "tslib": "^2.6.2" } }, "@smithy/util-utf8": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", - "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", + "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", "requires": { - "@smithy/util-buffer-from": "^2.2.0", + "@smithy/util-buffer-from": "^3.0.0", "tslib": "^2.6.2" + }, + "dependencies": { + "@smithy/is-array-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", + "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", + "requires": { + "tslib": "^2.6.2" + } + }, + "@smithy/util-buffer-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", + "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", + "requires": { + "@smithy/is-array-buffer": "^3.0.0", + "tslib": "^2.6.2" + } + } } }, "@smithy/util-waiter": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-2.2.0.tgz", - "integrity": "sha512-IHk53BVw6MPMi2Gsn+hCng8rFA3ZmR3Rk7GllxDUW9qFJl/hiSvskn7XldkECapQVkIg/1dHpMAxI9xSTaLLSA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-3.1.2.tgz", + "integrity": "sha512-4pP0EV3iTsexDx+8PPGAKCQpd/6hsQBaQhqWzU4hqKPHN5epPsxKbvUTIiYIHTxaKt6/kEaqPBpu/ufvfbrRzw==", "requires": { - "@smithy/abort-controller": "^2.2.0", - "@smithy/types": "^2.12.0", + "@smithy/abort-controller": "^3.1.1", + "@smithy/types": "^3.3.0", "tslib": "^2.6.2" } }, @@ -1028,9 +1060,9 @@ "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=" }, "fast-xml-parser": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz", - "integrity": "sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz", + "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==", "requires": { "strnum": "^1.0.5" } @@ -1041,9 +1073,9 @@ "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" }, "tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==" }, "uuid": { "version": "9.0.1", diff --git a/ci/package.json b/ci/package.json index bf66390437..ea434e98bd 100644 --- a/ci/package.json +++ b/ci/package.json @@ -1,8 +1,8 @@ { "private": true, "dependencies": { - "@aws-sdk/client-ecs": "^3.542.0", - "@aws-sdk/client-ssm": "^3.540.0", + "@aws-sdk/client-ecs": "^3.623.0", + "@aws-sdk/client-ssm": "^3.623.0", "dedent": "^0.7.0" }, "devDependencies": { From e1b29a8b0e86a0a8f59337fb5435428712102d53 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Mon, 5 Aug 2024 16:10:16 -0500 Subject: [PATCH 149/178] [EPAD8-2503] Initial commit starting to resolve issue where users with no roles or web areas have permission to view all webform submissions. --- .../modules/custom/epa_core/epa_core.module | 4 ++++ .../custom/epa_core/epa_core.services.yml | 9 +++++++++ .../src/Access/EpaWebformAccessCheck.php | 20 +++++++++++++++++++ .../epa_core/src/Routing/RouteSubscriber.php | 20 +++++++++++++++++++ 4 files changed, 53 insertions(+) create mode 100644 services/drupal/web/modules/custom/epa_core/src/Access/EpaWebformAccessCheck.php create mode 100644 services/drupal/web/modules/custom/epa_core/src/Routing/RouteSubscriber.php diff --git a/services/drupal/web/modules/custom/epa_core/epa_core.module b/services/drupal/web/modules/custom/epa_core/epa_core.module index 8c0159b605..cd55184cf3 100644 --- a/services/drupal/web/modules/custom/epa_core/epa_core.module +++ b/services/drupal/web/modules/custom/epa_core/epa_core.module @@ -510,6 +510,10 @@ function epa_core_form_autosave_form_admin_settings_alter(&$form, FormStateInter * Implements hook_form_alter(). */ function epa_core_form_alter(&$form, FormStateInterface $form_state, $form_id) { + $current_path = \Drupal::service('path.current')->getPath(); + $route_name = Url::fromUserInput($current_path)->getRouteName(); + \Drupal::messenger()->addMessage($route_name); + // Disable HTML5 validation on all forms. $form['#attributes']['novalidate'] = 'novalidate'; diff --git a/services/drupal/web/modules/custom/epa_core/epa_core.services.yml b/services/drupal/web/modules/custom/epa_core/epa_core.services.yml index bc399bf83c..c60b6a4bd9 100644 --- a/services/drupal/web/modules/custom/epa_core/epa_core.services.yml +++ b/services/drupal/web/modules/custom/epa_core/epa_core.services.yml @@ -11,6 +11,15 @@ services: arguments: ['@config.factory'] tags: - { name: event_subscriber } + epa_core.route_subscriber: + class: Drupal\epa_core\Routing\RouteSubscriber + tags: + - { name: event_subscriber } + epa_core.webform_access_check: + class: Drupal\epa_core\Access\EpaWebformAccessCheck + arguments: [ '@current_user' ] + tags: + - { name: access_check, applies_to: _epa_webform_access_check } entity.autocomplete_matcher: class: Drupal\epa_core\Entity\EntityAutocompleteMatcher arguments: [ '@plugin.manager.entity_reference_selection' ] diff --git a/services/drupal/web/modules/custom/epa_core/src/Access/EpaWebformAccessCheck.php b/services/drupal/web/modules/custom/epa_core/src/Access/EpaWebformAccessCheck.php new file mode 100644 index 0000000000..55415017f5 --- /dev/null +++ b/services/drupal/web/modules/custom/epa_core/src/Access/EpaWebformAccessCheck.php @@ -0,0 +1,20 @@ +getParameter("webform"); + /** @var GroupContent $gc */ + $gc = GroupContent::loadByEntity($webform); + $groups = \Drupal::service('group.membership_loader')->loadByUser(); + \Drupal::messenger()->addMessage('Hello from Access Checker!'); + return AccessResult::allowed(); + } +} diff --git a/services/drupal/web/modules/custom/epa_core/src/Routing/RouteSubscriber.php b/services/drupal/web/modules/custom/epa_core/src/Routing/RouteSubscriber.php new file mode 100644 index 0000000000..98398187d8 --- /dev/null +++ b/services/drupal/web/modules/custom/epa_core/src/Routing/RouteSubscriber.php @@ -0,0 +1,20 @@ +get('entity.webform.results_submissions'); + if ($route) { + $route->setRequirement('_epa_webform_access_check', TRUE); + } + } + +} From 50d7f9a968c81ad0a0d627ad3184deca0a0a43b0 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Tue, 6 Aug 2024 09:03:16 -0500 Subject: [PATCH 150/178] [EPAD8-2503] Starting to add logic to prevent users from seeing webform submission route. --- .../src/Access/EpaWebformAccessCheck.php | 30 +++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/services/drupal/web/modules/custom/epa_core/src/Access/EpaWebformAccessCheck.php b/services/drupal/web/modules/custom/epa_core/src/Access/EpaWebformAccessCheck.php index 55415017f5..426bcd19cc 100644 --- a/services/drupal/web/modules/custom/epa_core/src/Access/EpaWebformAccessCheck.php +++ b/services/drupal/web/modules/custom/epa_core/src/Access/EpaWebformAccessCheck.php @@ -3,17 +3,43 @@ namespace Drupal\epa_core\Access; use Drupal\Core\Access\AccessResult; +use Drupal\Core\Access\AccessResultForbidden; use Drupal\Core\Routing\Access\AccessInterface; use Drupal\Core\Routing\RouteMatchInterface; use Drupal\Core\Session\AccountInterface; use Drupal\group\Entity\GroupContent; +use Drupal\node\Entity\Node; class EpaWebformAccessCheck implements AccessInterface { public function access(RouteMatchInterface $route_match, AccountInterface $account) { + // If the user is an admin they should be able to see this route +// if ($account->hasRole('administrator')) { +// return AccessResult::allowed(); +// } + + + // Check if the user has any groups. If they don't have any groups then they + // are forbidden. + /** @var \Drupal\group\GroupMembershipLoader $group_membership_service */ + $group_membership_service = \Drupal::service('group.membership_loader'); + $groups = $group_membership_service->loadByUser($account); + if (empty($groups)) { + return AccessResultForbidden::forbidden('A user must belong to a group to view submissions'); + } + + /** @var \Drupal\webform\Entity\Webform $webform */ $webform = $route_match->getParameter("webform"); + $webform_id = $webform->id(); + if (str_starts_with($webform_id, 'webform')) { + $id = explode('_', $webform_id)[1]; + } + $node = Node::load($id); /** @var GroupContent $gc */ - $gc = GroupContent::loadByEntity($webform); - $groups = \Drupal::service('group.membership_loader')->loadByUser(); + $gc = GroupContent::loadByEntity($node); + $gc = reset($gc); + $gid = $gc->getGroup()->id(); + + \Drupal::messenger()->addMessage('Hello from Access Checker!'); return AccessResult::allowed(); } From 1ff62465fcaa896216ac563c80795f40245a2bdc Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Tue, 6 Aug 2024 16:42:06 -0500 Subject: [PATCH 151/178] [EPAD8-2503] Removing debug messaging. Reworking access checker service to use DI services. Refactoring a bit to simplify the code. --- .../modules/custom/epa_core/epa_core.module | 4 - .../custom/epa_core/epa_core.services.yml | 2 +- .../src/Access/EpaWebformAccessCheck.php | 102 ++++++++++++++---- 3 files changed, 84 insertions(+), 24 deletions(-) diff --git a/services/drupal/web/modules/custom/epa_core/epa_core.module b/services/drupal/web/modules/custom/epa_core/epa_core.module index cd55184cf3..8c0159b605 100644 --- a/services/drupal/web/modules/custom/epa_core/epa_core.module +++ b/services/drupal/web/modules/custom/epa_core/epa_core.module @@ -510,10 +510,6 @@ function epa_core_form_autosave_form_admin_settings_alter(&$form, FormStateInter * Implements hook_form_alter(). */ function epa_core_form_alter(&$form, FormStateInterface $form_state, $form_id) { - $current_path = \Drupal::service('path.current')->getPath(); - $route_name = Url::fromUserInput($current_path)->getRouteName(); - \Drupal::messenger()->addMessage($route_name); - // Disable HTML5 validation on all forms. $form['#attributes']['novalidate'] = 'novalidate'; diff --git a/services/drupal/web/modules/custom/epa_core/epa_core.services.yml b/services/drupal/web/modules/custom/epa_core/epa_core.services.yml index c60b6a4bd9..964085446d 100644 --- a/services/drupal/web/modules/custom/epa_core/epa_core.services.yml +++ b/services/drupal/web/modules/custom/epa_core/epa_core.services.yml @@ -17,7 +17,7 @@ services: - { name: event_subscriber } epa_core.webform_access_check: class: Drupal\epa_core\Access\EpaWebformAccessCheck - arguments: [ '@current_user' ] + arguments: ['@group.membership_loader', '@entity_type.manager'] tags: - { name: access_check, applies_to: _epa_webform_access_check } entity.autocomplete_matcher: diff --git a/services/drupal/web/modules/custom/epa_core/src/Access/EpaWebformAccessCheck.php b/services/drupal/web/modules/custom/epa_core/src/Access/EpaWebformAccessCheck.php index 426bcd19cc..2bc7d8b4b3 100644 --- a/services/drupal/web/modules/custom/epa_core/src/Access/EpaWebformAccessCheck.php +++ b/services/drupal/web/modules/custom/epa_core/src/Access/EpaWebformAccessCheck.php @@ -4,43 +4,107 @@ use Drupal\Core\Access\AccessResult; use Drupal\Core\Access\AccessResultForbidden; +use Drupal\Core\Entity\EntityTypeManagerInterface; use Drupal\Core\Routing\Access\AccessInterface; use Drupal\Core\Routing\RouteMatchInterface; use Drupal\Core\Session\AccountInterface; use Drupal\group\Entity\GroupContent; +use Drupal\group\GroupMembershipLoader; use Drupal\node\Entity\Node; +/** + * Custom EpaWebformAccessCheck + * + * As part of EPAD8-2503 we need to prevent users from being able to view + * webform submission routes if they do not belong to said web area the form + * belongs to. + * @link https://forumone.atlassian.net/browse/EPAD8-2503 + */ class EpaWebformAccessCheck implements AccessInterface { + + /** + * The group membership loader service. + * + * @var \Drupal\group\GroupMembershipLoader + */ + protected $groupMembershipLoader; + + /** + * The entity type manager service. + * + * @var \Drupal\Core\Entity\EntityTypeManagerInterface + */ + protected $entityTypeManager; + + /** + * EpaWebformAccessCheck constructor. + * + * @param \Drupal\group\GroupMembershipLoader $group_membership_loader + */ + public function __construct(GroupMembershipLoader $group_membership_loader, EntityTypeManagerInterface $entity_type_manager) { + $this->groupMembershipLoader = $group_membership_loader; + $this->entityTypeManager = $entity_type_manager; + } + public function access(RouteMatchInterface $route_match, AccountInterface $account) { - // If the user is an admin they should be able to see this route -// if ($account->hasRole('administrator')) { -// return AccessResult::allowed(); -// } - - - // Check if the user has any groups. If they don't have any groups then they - // are forbidden. - /** @var \Drupal\group\GroupMembershipLoader $group_membership_service */ - $group_membership_service = \Drupal::service('group.membership_loader'); - $groups = $group_membership_service->loadByUser($account); - if (empty($groups)) { - return AccessResultForbidden::forbidden('A user must belong to a group to view submissions'); + // Allow access if the user is an administrator or system_webmaster. + if ($account->hasRole('administrator') || $account->hasRole('system_webmaster')) { + return AccessResult::allowed(); } + // User must belong to a group if they don't have the above roles +// /** @var \Drupal\group\GroupMembershipLoader $group_membership_service */ +// $group_membership_service = \Drupal::service('group.membership_loader'); + $group_memberships = $this->groupMembershipLoader->loadByUser($account); + + if (empty($group_memberships)) { + return AccessResultForbidden::forbidden('A user must belong to a group to view submissions.'); + } + + // Collect group IDs from user's memberships. + $group_ids = array_map(fn($membership) => $membership->getGroup()->id(), $group_memberships); + + // Webforms themselves aren't tied to a Web Area, but they are referenced + // by a "Form" node. The "Form" node does belong to a Web Area. + // Given the webform ID search for a matching node that references the webform. + // If we find one, compare the node's group to see if the user belongs + // to same group. /** @var \Drupal\webform\Entity\Webform $webform */ $webform = $route_match->getParameter("webform"); $webform_id = $webform->id(); - if (str_starts_with($webform_id, 'webform')) { - $id = explode('_', $webform_id)[1]; + + // Add webform nodes ("form") have a "webform" field that contains the reference + // to the webform. Query to see if we can find the + $found = $this->entityTypeManager + ->getStorage('node') + ->getQuery() + ->accessCheck() + ->condition('webform', $webform_id) + ->execute(); + + // Every webform should be associated with a node. If not then don't proceed. + if (!$found) { + return AccessResult::forbidden(); } + + $id = reset($found); + + // Load the node and its group content. $node = Node::load($id); - /** @var GroupContent $gc */ + /** @var \Drupal\group\Entity\GroupContent $gc */ $gc = GroupContent::loadByEntity($node); - $gc = reset($gc); - $gid = $gc->getGroup()->id(); + if (empty($gc)) { + return AccessResult::forbidden("Cannot view content that does not belong to a web area."); + } + + $group_content = reset($gc); + + if (!$group_content || !in_array($group_content->getGroup()->id(), $group_ids)) { + return AccessResultForbidden::forbidden('User does not belong to the same group as this webform.'); + } - \Drupal::messenger()->addMessage('Hello from Access Checker!'); return AccessResult::allowed(); } + } From 9d52b490e9bf63e9972f91ebda446486625ba3c4 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Wed, 7 Aug 2024 09:04:52 -0500 Subject: [PATCH 152/178] [EPAD8-2503] Removing commented out code. Adjusting developer comments. --- .../custom/epa_core/src/Access/EpaWebformAccessCheck.php | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/services/drupal/web/modules/custom/epa_core/src/Access/EpaWebformAccessCheck.php b/services/drupal/web/modules/custom/epa_core/src/Access/EpaWebformAccessCheck.php index 2bc7d8b4b3..fa654b1075 100644 --- a/services/drupal/web/modules/custom/epa_core/src/Access/EpaWebformAccessCheck.php +++ b/services/drupal/web/modules/custom/epa_core/src/Access/EpaWebformAccessCheck.php @@ -53,8 +53,6 @@ public function access(RouteMatchInterface $route_match, AccountInterface $accou } // User must belong to a group if they don't have the above roles -// /** @var \Drupal\group\GroupMembershipLoader $group_membership_service */ -// $group_membership_service = \Drupal::service('group.membership_loader'); $group_memberships = $this->groupMembershipLoader->loadByUser($account); if (empty($group_memberships)) { @@ -64,9 +62,9 @@ public function access(RouteMatchInterface $route_match, AccountInterface $accou // Collect group IDs from user's memberships. $group_ids = array_map(fn($membership) => $membership->getGroup()->id(), $group_memberships); - // Webforms themselves aren't tied to a Web Area, but they are referenced - // by a "Form" node. The "Form" node does belong to a Web Area. - // Given the webform ID search for a matching node that references the webform. + // Webforms themselves aren't tied to a Group, but they are referenced + // by a "Form" node. The "Form" node does belong to a Group. + // Given the Webform ID, search for a matching node that references the webform. // If we find one, compare the node's group to see if the user belongs // to same group. /** @var \Drupal\webform\Entity\Webform $webform */ From babd1ce783eacac32c4010286b907679d069a946 Mon Sep 17 00:00:00 2001 From: gustavderdrache Date: Wed, 14 Aug 2024 14:30:25 -0400 Subject: [PATCH 153/178] EPAD8-2521: Allow changing error_reporting --- services/drupal/Dockerfile | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/services/drupal/Dockerfile b/services/drupal/Dockerfile index 283713d442..f9eb100dfd 100644 --- a/services/drupal/Dockerfile +++ b/services/drupal/Dockerfile @@ -63,6 +63,8 @@ RUN install-php-extensions apcu sockets \ # GNU wget to override BusyBox wget +ARG PHP_ERROR_REPORTING='E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED' + RUN set -ex \ # This construct echoes the configuration lines to the console as well as outputting them # to the ini file that PHP-FPM reads. @@ -70,6 +72,7 @@ RUN set -ex \ echo 'memory_limit=512M'; \ echo 'upload_max_filesize=1G'; \ echo 'post_max_size=1G'; \ + echo "error_reporting=${PHP_ERROR_REPORTING}"; \ } | tee /usr/local/etc/php/php-fpm-fcgi.ini \ # Enable special PHP-FPM status pages: && sed -i \ @@ -277,11 +280,15 @@ RUN install-php-extensions apcu sockets \ # See ENTRYPOINT below tini -# Allow unlimited memory usage when running Drush tasks (ECS will constrain the memory -# instead of PHP) +ARG PHP_ERROR_REPORTING='E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED' + RUN set -ex \ && { \ + # Allow unlimited memory usage when running Drush tasks (ECS will constrain the memory + # instead of PHP) echo 'memory_limit=-1'; \ + # Switch to our custom error_reporting level + echo "error_reporting=${PHP_ERROR_REPORTING}"; \ } | tee /usr/local/etc/php/php-cli.ini # Same as nginx: copy the built Drupal filesystem From de6dec523b0c82f380b32597ee30693c1606a2e8 Mon Sep 17 00:00:00 2001 From: Dan Mouyard Date: Thu, 22 Aug 2024 14:30:27 -0400 Subject: [PATCH 154/178] Update localstack to stable --- services/drupal/.ddev/docker-compose.localstack.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/drupal/.ddev/docker-compose.localstack.yaml b/services/drupal/.ddev/docker-compose.localstack.yaml index 8a8470e83b..015124f2d8 100644 --- a/services/drupal/.ddev/docker-compose.localstack.yaml +++ b/services/drupal/.ddev/docker-compose.localstack.yaml @@ -2,7 +2,7 @@ version: "3.6" services: localstack: container_name: ddev-${DDEV_SITENAME}-localstack - image: localstack/localstack:0.12.10 + image: localstack/localstack:stable networks: [default, ddev_default] expose: - 4566 From 0feb90467a4e5ffe957b24f738f14378a8cae5db Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Fri, 23 Aug 2024 16:30:29 -0500 Subject: [PATCH 155/178] [EPAD8-2524] Adding patch to resolve issue with vertical tabs inside modal not having styles. --- services/drupal/composer.patches.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/services/drupal/composer.patches.json b/services/drupal/composer.patches.json index c48a5fd494..840417693d 100644 --- a/services/drupal/composer.patches.json +++ b/services/drupal/composer.patches.json @@ -36,7 +36,8 @@ "PHP message: Error: Call to a member function getEntityTypeId() on null (Layout Builder)": "https://www.drupal.org/files/issues/2023-06-12/3049332-82.diff", "Responsive image width/height values are not used from fallback image style": "https://www.drupal.org/files/issues/2023-08-04/3377420-responsive-image-dimension-fallback-style-9.patch", "CKEditor 5 toolbar items of multi-value field (typically Paragraphs) overflowing on narrow viewports and overlapping with node form's sidebar on wide viewports": "https://www.drupal.org/files/issues/2024-04-09/3332416-79.patch", - "Error: Call to a member function label() on null in Drupal\\menu_link_content\\Form\\MenuLinkContentForm->form() (line 99 of /var/www/html/docroot/core/modules/menu_link_content/src/Form/MenuLinkContentForm.php).": "patches/7228.patch" + "Error: Call to a member function label() on null in Drupal\\menu_link_content\\Form\\MenuLinkContentForm->form() (line 99 of /var/www/html/docroot/core/modules/menu_link_content/src/Form/MenuLinkContentForm.php).": "patches/7228.patch", + "Media Type links in Media Library modal missing vertical tabs styling in Claro": "https://www.drupal.org/files/issues/2024-01-04/missing_variables_in_claro-3404866-41.patch" }, "drupal/autologout": { "Logout Message not rendering markup" : "patches/logout-message-not-rendering-markup.patch" From f0e1142e0eb60eae78f68c3cf48b49124f13b92b Mon Sep 17 00:00:00 2001 From: gustavderdrache Date: Mon, 26 Aug 2024 09:51:06 -0400 Subject: [PATCH 156/178] EPAD8-2513: Allow RSS feeds --- services/drupal/default.conf | 44 +++++++++++++++++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/services/drupal/default.conf b/services/drupal/default.conf index 2b8bc73f77..c7660e617c 100644 --- a/services/drupal/default.conf +++ b/services/drupal/default.conf @@ -60,6 +60,49 @@ server { try_files /fast-404.html =404; } + # Exemptions to the below: we need to allow the RSS feed paths for various + # search pages. + location = /newsreleases/search/rss { + try_files $uri $uri/ @rewrite; + } + + # Also allow the trailing-slash variant + location = /newsreleases/search/rss/ { + try_files $uri $uri/ @rewrite; + } + + location = /faqs/search/rss { + try_files $uri $uri/ @rewrite; + } + + location = /faqs/search/rss/ { + try_files $uri $uri/ @rewrite; + } + + location = /publicnotices/notices-search/rss { + try_files $uri $uri/ @rewrite; + } + + location = /publicnotices/notices-search/rss/ { + try_files $uri $uri/ @rewrite; + } + + location = /perspectives/search/rss { + try_files $uri $uri/ @rewrite; + } + + location = /perspectives/search/rss/ { + try_files $uri $uri/ @rewrite; + } + + location = /speeches/search/rss { + try_files $uri $uri/ @rewrite; + } + + location = /speeches/search/rss/ { + try_files $uri $uri/ @rewrite; + } + # For each listed path, return HTTP 410 Gone, using our 404 template instead: # users will see a "page not found" page, but code will see a "this page will # never return" status code. Hopefully this will defray some of the ongoing @@ -89,7 +132,6 @@ server { return 410; } - # This prevents nginx's view of the filesystem from conflicting with the Drupal node of # the same name. location = /libraries { From 1765236a527f6455b04fae4eb23f3e20bd3804b9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 29 Aug 2024 17:57:27 +0000 Subject: [PATCH 157/178] Bump webpack in /services/drupal/web/modules/custom/epa_wysiwyg Bumps [webpack](https://github.com/webpack/webpack) from 5.92.1 to 5.94.0. - [Release notes](https://github.com/webpack/webpack/releases) - [Commits](https://github.com/webpack/webpack/compare/v5.92.1...v5.94.0) --- updated-dependencies: - dependency-name: webpack dependency-type: direct:development ... Signed-off-by: dependabot[bot] --- .../custom/epa_wysiwyg/package-lock.json | 72 ++++--------------- .../modules/custom/epa_wysiwyg/package.json | 2 +- 2 files changed, 16 insertions(+), 58 deletions(-) diff --git a/services/drupal/web/modules/custom/epa_wysiwyg/package-lock.json b/services/drupal/web/modules/custom/epa_wysiwyg/package-lock.json index 0ea284a1e8..60d37127ec 100644 --- a/services/drupal/web/modules/custom/epa_wysiwyg/package-lock.json +++ b/services/drupal/web/modules/custom/epa_wysiwyg/package-lock.json @@ -19,7 +19,7 @@ "raw-loader": "^4.0.2", "style-loader": "^3.3.2", "terser-webpack-plugin": "^5.2.0", - "webpack": "^5.76.0", + "webpack": "^5.94.0", "webpack-cli": "^4.4.0" } }, @@ -1171,26 +1171,6 @@ "node": ">=10.13.0" } }, - "node_modules/@types/eslint": { - "version": "8.4.10", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.10.tgz", - "integrity": "sha512-Sl/HOqN8NKPmhWo2VBEPm0nvHnu2LL3v9vKo8MEq0EtbJ4eVzGPl41VNPvn5E1i5poMk4/XD8UriLHpJvEP/Nw==", - "dev": true, - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", - "dev": true, - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, "node_modules/@types/estree": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", @@ -2212,9 +2192,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.17.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz", - "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==", + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", "dev": true, "dependencies": { "graceful-fs": "^4.2.4", @@ -4858,12 +4838,11 @@ } }, "node_modules/webpack": { - "version": "5.92.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.92.1.tgz", - "integrity": "sha512-JECQ7IwJb+7fgUFBlrJzbyu3GEuNBcdqr1LD7IbSzwkSmIevTm8PF+wej3Oxuz/JFBUZ6O1o43zsPkwm1C4TmA==", + "version": "5.94.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz", + "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", "dev": true, "dependencies": { - "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.5", "@webassemblyjs/ast": "^1.12.1", "@webassemblyjs/wasm-edit": "^1.12.1", @@ -4872,7 +4851,7 @@ "acorn-import-attributes": "^1.9.5", "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.17.0", + "enhanced-resolve": "^5.17.1", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", @@ -5897,26 +5876,6 @@ "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", "dev": true }, - "@types/eslint": { - "version": "8.4.10", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.10.tgz", - "integrity": "sha512-Sl/HOqN8NKPmhWo2VBEPm0nvHnu2LL3v9vKo8MEq0EtbJ4eVzGPl41VNPvn5E1i5poMk4/XD8UriLHpJvEP/Nw==", - "dev": true, - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "@types/eslint-scope": { - "version": "3.7.4", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", - "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", - "dev": true, - "requires": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, "@types/estree": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", @@ -6707,9 +6666,9 @@ "dev": true }, "enhanced-resolve": { - "version": "5.17.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz", - "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==", + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", "dev": true, "requires": { "graceful-fs": "^4.2.4", @@ -8529,12 +8488,11 @@ } }, "webpack": { - "version": "5.92.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.92.1.tgz", - "integrity": "sha512-JECQ7IwJb+7fgUFBlrJzbyu3GEuNBcdqr1LD7IbSzwkSmIevTm8PF+wej3Oxuz/JFBUZ6O1o43zsPkwm1C4TmA==", + "version": "5.94.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz", + "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", "dev": true, "requires": { - "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.5", "@webassemblyjs/ast": "^1.12.1", "@webassemblyjs/wasm-edit": "^1.12.1", @@ -8543,7 +8501,7 @@ "acorn-import-attributes": "^1.9.5", "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.17.0", + "enhanced-resolve": "^5.17.1", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", diff --git a/services/drupal/web/modules/custom/epa_wysiwyg/package.json b/services/drupal/web/modules/custom/epa_wysiwyg/package.json index 7debdab7ef..4f612210fe 100644 --- a/services/drupal/web/modules/custom/epa_wysiwyg/package.json +++ b/services/drupal/web/modules/custom/epa_wysiwyg/package.json @@ -15,7 +15,7 @@ "raw-loader": "^4.0.2", "style-loader": "^3.3.2", "terser-webpack-plugin": "^5.2.0", - "webpack": "^5.76.0", + "webpack": "^5.94.0", "webpack-cli": "^4.4.0" }, "dependencies": { From 162c65f31899cc2f8741ce4332d71fbc9d54f543 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Thu, 29 Aug 2024 15:05:26 -0500 Subject: [PATCH 158/178] Revert "EPAD8-2513: Allow RSS feeds" --- services/drupal/default.conf | 44 +----------------------------------- 1 file changed, 1 insertion(+), 43 deletions(-) diff --git a/services/drupal/default.conf b/services/drupal/default.conf index c7660e617c..2b8bc73f77 100644 --- a/services/drupal/default.conf +++ b/services/drupal/default.conf @@ -60,49 +60,6 @@ server { try_files /fast-404.html =404; } - # Exemptions to the below: we need to allow the RSS feed paths for various - # search pages. - location = /newsreleases/search/rss { - try_files $uri $uri/ @rewrite; - } - - # Also allow the trailing-slash variant - location = /newsreleases/search/rss/ { - try_files $uri $uri/ @rewrite; - } - - location = /faqs/search/rss { - try_files $uri $uri/ @rewrite; - } - - location = /faqs/search/rss/ { - try_files $uri $uri/ @rewrite; - } - - location = /publicnotices/notices-search/rss { - try_files $uri $uri/ @rewrite; - } - - location = /publicnotices/notices-search/rss/ { - try_files $uri $uri/ @rewrite; - } - - location = /perspectives/search/rss { - try_files $uri $uri/ @rewrite; - } - - location = /perspectives/search/rss/ { - try_files $uri $uri/ @rewrite; - } - - location = /speeches/search/rss { - try_files $uri $uri/ @rewrite; - } - - location = /speeches/search/rss/ { - try_files $uri $uri/ @rewrite; - } - # For each listed path, return HTTP 410 Gone, using our 404 template instead: # users will see a "page not found" page, but code will see a "this page will # never return" status code. Hopefully this will defray some of the ongoing @@ -132,6 +89,7 @@ server { return 410; } + # This prevents nginx's view of the filesystem from conflicting with the Drupal node of # the same name. location = /libraries { From cc0f0a522880b07875bad72df3b0f4e539aa6c6d Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 3 Sep 2024 20:10:17 +0000 Subject: [PATCH 159/178] Bump webpack in /services/drupal/web/themes/epa_theme Bumps [webpack](https://github.com/webpack/webpack) from 5.92.1 to 5.94.0. - [Release notes](https://github.com/webpack/webpack/releases) - [Commits](https://github.com/webpack/webpack/compare/v5.92.1...v5.94.0) --- updated-dependencies: - dependency-name: webpack dependency-type: direct:development ... Signed-off-by: dependabot[bot] --- .../web/themes/epa_theme/package-lock.json | 52 ++++++------------- .../drupal/web/themes/epa_theme/package.json | 2 +- 2 files changed, 16 insertions(+), 38 deletions(-) diff --git a/services/drupal/web/themes/epa_theme/package-lock.json b/services/drupal/web/themes/epa_theme/package-lock.json index 3431f4cd70..55d60472dc 100644 --- a/services/drupal/web/themes/epa_theme/package-lock.json +++ b/services/drupal/web/themes/epa_theme/package-lock.json @@ -56,7 +56,7 @@ "stylelint-selector-pseudo-class-lvhfa": "^3.1.1", "terser-webpack-plugin": "^5.3.10", "unset-value": "^2.0.1", - "webpack": "^5.90.0", + "webpack": "^5.94.0", "yaml": "^1.10.2" }, "engines": { @@ -3868,16 +3868,6 @@ "@types/json-schema": "*" } }, - "node_modules/@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "dev": true, - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, "node_modules/@types/estree": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", @@ -6655,9 +6645,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.17.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz", - "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==", + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", "dev": true, "dependencies": { "graceful-fs": "^4.2.4", @@ -15996,12 +15986,11 @@ "dev": true }, "node_modules/webpack": { - "version": "5.92.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.92.1.tgz", - "integrity": "sha512-JECQ7IwJb+7fgUFBlrJzbyu3GEuNBcdqr1LD7IbSzwkSmIevTm8PF+wej3Oxuz/JFBUZ6O1o43zsPkwm1C4TmA==", + "version": "5.94.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz", + "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", "dev": true, "dependencies": { - "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.5", "@webassemblyjs/ast": "^1.12.1", "@webassemblyjs/wasm-edit": "^1.12.1", @@ -16010,7 +15999,7 @@ "acorn-import-attributes": "^1.9.5", "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.17.0", + "enhanced-resolve": "^5.17.1", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", @@ -19129,16 +19118,6 @@ "@types/json-schema": "*" } }, - "@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "dev": true, - "requires": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, "@types/estree": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", @@ -21328,9 +21307,9 @@ } }, "enhanced-resolve": { - "version": "5.17.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz", - "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==", + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", "dev": true, "requires": { "graceful-fs": "^4.2.4", @@ -28470,12 +28449,11 @@ "dev": true }, "webpack": { - "version": "5.92.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.92.1.tgz", - "integrity": "sha512-JECQ7IwJb+7fgUFBlrJzbyu3GEuNBcdqr1LD7IbSzwkSmIevTm8PF+wej3Oxuz/JFBUZ6O1o43zsPkwm1C4TmA==", + "version": "5.94.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz", + "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==", "dev": true, "requires": { - "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.5", "@webassemblyjs/ast": "^1.12.1", "@webassemblyjs/wasm-edit": "^1.12.1", @@ -28484,7 +28462,7 @@ "acorn-import-attributes": "^1.9.5", "browserslist": "^4.21.10", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.17.0", + "enhanced-resolve": "^5.17.1", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", diff --git a/services/drupal/web/themes/epa_theme/package.json b/services/drupal/web/themes/epa_theme/package.json index 6d721d4e4e..011b22d7bf 100644 --- a/services/drupal/web/themes/epa_theme/package.json +++ b/services/drupal/web/themes/epa_theme/package.json @@ -60,7 +60,7 @@ "stylelint-selector-pseudo-class-lvhfa": "^3.1.1", "terser-webpack-plugin": "^5.3.10", "unset-value": "^2.0.1", - "webpack": "^5.90.0", + "webpack": "^5.94.0", "yaml": "^1.10.2" }, "scripts": { From c1b814ce2b7d9d3103ca137ea2277007614eebed Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Thu, 5 Sep 2024 17:17:50 -0500 Subject: [PATCH 160/178] [EPAD8-2529] Adding label for perspectives view. Removing duplicate block that's no onger needed. --- ...k.views_block__internal_alerts_block_2.yml | 30 ------------------- .../sync/views.view.search_perspectives.yml | 5 +++- 2 files changed, 4 insertions(+), 31 deletions(-) delete mode 100644 services/drupal/config/sync/block.block.views_block__internal_alerts_block_2.yml diff --git a/services/drupal/config/sync/block.block.views_block__internal_alerts_block_2.yml b/services/drupal/config/sync/block.block.views_block__internal_alerts_block_2.yml deleted file mode 100644 index d58f47a1f7..0000000000 --- a/services/drupal/config/sync/block.block.views_block__internal_alerts_block_2.yml +++ /dev/null @@ -1,30 +0,0 @@ -uuid: bdf36136-cb3b-496a-805e-88207dac6021 -langcode: en -status: true -dependencies: - config: - - views.view.internal_alerts - module: - - system - - views - theme: - - epa_seven -id: views_block__internal_alerts_block_2 -theme: epa_seven -region: header -weight: -3 -provider: null -plugin: 'views_block:internal_alerts-block_2' -settings: - id: 'views_block:internal_alerts-block_2' - label: '' - label_display: '0' - provider: views - views_label: '' - items_per_page: none - exposed: { } -visibility: - request_path: - id: request_path - negate: false - pages: /admin/content/my-web-areas diff --git a/services/drupal/config/sync/views.view.search_perspectives.yml b/services/drupal/config/sync/views.view.search_perspectives.yml index d74ccee6f5..dc7670c52f 100644 --- a/services/drupal/config/sync/views.view.search_perspectives.yml +++ b/services/drupal/config/sync/views.view.search_perspectives.yml @@ -589,7 +589,7 @@ display: exposed: true expose: operator_id: search_api_fulltext_op - label: '' + label: Search description: '' use_operator: false operator: search_api_fulltext_op @@ -673,6 +673,7 @@ display: - 'config:field.storage.node.field_publish_date' - 'config:field.storage.paragraph.field_author' - 'config:search_api.index.perspectives' + - 'search_api_list:perspectives' feed_1: id: feed_1 display_title: Feed @@ -721,6 +722,7 @@ display: - 'config:field.storage.node.field_publish_date' - 'config:field.storage.paragraph.field_author' - 'config:search_api.index.perspectives' + - 'search_api_list:perspectives' page_1: id: page_1 display_title: Page @@ -815,3 +817,4 @@ display: - 'config:field.storage.node.field_publish_date' - 'config:field.storage.paragraph.field_author' - 'config:search_api.index.perspectives' + - 'search_api_list:perspectives' From 3e1e1a4254fb48150e6453b004fc96d3746d1c4d Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Fri, 6 Sep 2024 12:39:13 -0500 Subject: [PATCH 161/178] [EPAD8-2524] Adding additional patch for resolving issue with css overriden due to ajax load. --- services/drupal/composer.patches.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/services/drupal/composer.patches.json b/services/drupal/composer.patches.json index 26cdc3d2e6..a13a3d2bde 100644 --- a/services/drupal/composer.patches.json +++ b/services/drupal/composer.patches.json @@ -37,7 +37,8 @@ "Responsive image width/height values are not used from fallback image style": "https://www.drupal.org/files/issues/2023-08-04/3377420-responsive-image-dimension-fallback-style-9.patch", "CKEditor 5 toolbar items of multi-value field (typically Paragraphs) overflowing on narrow viewports and overlapping with node form's sidebar on wide viewports": "https://www.drupal.org/files/issues/2024-04-09/3332416-79.patch", "Error: Call to a member function label() on null in Drupal\\menu_link_content\\Form\\MenuLinkContentForm->form() (line 99 of /var/www/html/docroot/core/modules/menu_link_content/src/Form/MenuLinkContentForm.php).": "patches/7228.patch", - "Media Type links in Media Library modal missing vertical tabs styling in Claro": "https://www.drupal.org/files/issues/2024-01-04/missing_variables_in_claro-3404866-41.patch" + "Media Type links in Media Library modal missing vertical tabs styling in Claro": "https://www.drupal.org/files/issues/2024-01-04/missing_variables_in_claro-3404866-41.patch", + "Background colour of UI widgets get overridden on Ajax load.": "https://www.drupal.org/files/issues/2023-08-29/3383631-7_0.patch" }, "drupal/autologout": { "Logout Message not rendering markup" : "patches/logout-message-not-rendering-markup.patch" From 1429d4add03c9d3fa28cffbd55c3b12fd132fdb0 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Sat, 7 Sep 2024 07:39:18 -0500 Subject: [PATCH 162/178] [EPAD8-2544] Resolving issue with ck4 plugin code calling removed jquery once. --- .../modules/custom/epa_wysiwyg/epa_wysiwyg.libraries.yml | 2 ++ .../modules/custom/epa_wysiwyg/js/epa_wysiwyg_linkit.js | 9 ++++----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/services/drupal/web/modules/custom/epa_wysiwyg/epa_wysiwyg.libraries.yml b/services/drupal/web/modules/custom/epa_wysiwyg/epa_wysiwyg.libraries.yml index 147a9e2d06..45b573ce07 100644 --- a/services/drupal/web/modules/custom/epa_wysiwyg/epa_wysiwyg.libraries.yml +++ b/services/drupal/web/modules/custom/epa_wysiwyg/epa_wysiwyg.libraries.yml @@ -15,7 +15,9 @@ epa-wysiwyg-linkit: js: js/epa_wysiwyg_linkit.js: {} dependencies: + - core/drupal - core/jquery + - core/once # CKEditor5 libraries epa-new-tag-ckeditor5: diff --git a/services/drupal/web/modules/custom/epa_wysiwyg/js/epa_wysiwyg_linkit.js b/services/drupal/web/modules/custom/epa_wysiwyg/js/epa_wysiwyg_linkit.js index 19078b5f62..e7eda7a02a 100644 --- a/services/drupal/web/modules/custom/epa_wysiwyg/js/epa_wysiwyg_linkit.js +++ b/services/drupal/web/modules/custom/epa_wysiwyg/js/epa_wysiwyg_linkit.js @@ -3,7 +3,7 @@ * EPA Linkit customizations. */ -(function ($) { +(function (Drupal, $, once) { Drupal.behaviors.epaWysiwygLinkit = { attach: function (context) { @@ -13,21 +13,20 @@ // Populate the defaultInput with the value of hrefInput on load, if there // is one. - $('[name="attributes[href]"]', context).once('epaWysiwygLinkitInitInput').each(function() { + $(once('epaWysiwygLinkitInitInput', '[name="attributes[href]"]', context)).each(function() { if ($hrefInput.val() != '') { $defaultInput.val($hrefInput.val()); $hrefInput.val(''); } }); - // Clear the linkit input values when the profile is changed to reset the // autocomplete results. - $('[name="attributes[select-profile]"]', context).once('epaWysiwygLinkitResetInput').change(function() { + $(once('epaWysiwygLinkitResetInput', '[name="attributes[select-profile]"]', context)).change(function() { $defaultInput.val(''); $webAreaInput.val(''); }); } }; -})(jQuery); +})(Drupal, jQuery, once); From ee58045f1045257be2062a23793b51a14e9ded16 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Sat, 7 Sep 2024 08:56:55 -0500 Subject: [PATCH 163/178] [EPAD8-2489] Adding route subscriber to override group node add page to our custom controller. Using custom controller to override default output and add styles to have contents display as designed. --- .../css/admin-group-node-add.css | 1 + .../epa_web_areas/epa_web_areas.libraries.yml | 5 + .../EpaWebAreasGroupNodeController.php | 122 ++++++++++++++++++ .../src/Routing/RouteSubscriber.php | 5 + 4 files changed, 133 insertions(+) create mode 100644 services/drupal/web/modules/custom/epa_web_areas/css/admin-group-node-add.css create mode 100644 services/drupal/web/modules/custom/epa_web_areas/epa_web_areas.libraries.yml create mode 100644 services/drupal/web/modules/custom/epa_web_areas/src/Controller/EpaWebAreasGroupNodeController.php diff --git a/services/drupal/web/modules/custom/epa_web_areas/css/admin-group-node-add.css b/services/drupal/web/modules/custom/epa_web_areas/css/admin-group-node-add.css new file mode 100644 index 0000000000..7994749b4d --- /dev/null +++ b/services/drupal/web/modules/custom/epa_web_areas/css/admin-group-node-add.css @@ -0,0 +1 @@ +.admin-item__title, .admin-item__description { display: inline; } diff --git a/services/drupal/web/modules/custom/epa_web_areas/epa_web_areas.libraries.yml b/services/drupal/web/modules/custom/epa_web_areas/epa_web_areas.libraries.yml new file mode 100644 index 0000000000..852f0e1451 --- /dev/null +++ b/services/drupal/web/modules/custom/epa_web_areas/epa_web_areas.libraries.yml @@ -0,0 +1,5 @@ +group_node.add: + version: VERSION + css: + theme: + css/admin-group-node-add.css: {} diff --git a/services/drupal/web/modules/custom/epa_web_areas/src/Controller/EpaWebAreasGroupNodeController.php b/services/drupal/web/modules/custom/epa_web_areas/src/Controller/EpaWebAreasGroupNodeController.php new file mode 100644 index 0000000000..22dd81408f --- /dev/null +++ b/services/drupal/web/modules/custom/epa_web_areas/src/Controller/EpaWebAreasGroupNodeController.php @@ -0,0 +1,122 @@ +pluginManager = $plugin_manager; + } + + /** + * {@inheritdoc} + */ + public static function create(ContainerInterface $container) { + return new static( + $container->get('plugin.manager.group_content_enabler'), + $container->get('tempstore.private'), + $container->get('entity_type.manager'), + $container->get('entity.form_builder'), + $container->get('renderer') + ); + } + + /** + * {@inheritdoc} + */ + public function addPage(GroupInterface $group, $create_mode = FALSE) { + $build = parent::addPage($group, $create_mode); + // Custom css library for styling as we want it to look. + $build['#attached']['library'][] = 'epa_web_areas/group_node.add'; + + // Do not interfere with redirects. + if (!is_array($build)) { + return $build; + } + + // Overwrite the label and description for all of the displayed bundles. + $storage_handler = $this->entityTypeManager->getStorage('node_type'); + foreach ($this->addPageBundles($group, $create_mode) as $plugin_id => $bundle_name) { + if (!empty($build['#bundles'][$bundle_name])) { + $plugin = $group->getGroupType()->getContentPlugin($plugin_id); + $bundle_label = $storage_handler->load($plugin->getEntityBundle())->label(); + $description = $storage_handler->load($plugin->getEntityBundle())->getDescription(); + +// $t_args = ['%description' => $description]; +// $description = $this->t('%description', $t_args); + $build['#bundles'][$bundle_name]['label'] = $bundle_label; + $build['#bundles'][$bundle_name]['add_link']->setText($bundle_label); + $build['#bundles'][$bundle_name]['description'] = $description; + } + } + + // Display the bundles in alpha order by label. + if (is_array($build['#bundles'])) { + uasort($build['#bundles'], function($a, $b) { + return strnatcmp($a['label'], $b['label']); + }); + } + + return $build; + } + + /** + * {@inheritdoc} + */ + protected function addPageBundles(GroupInterface $group, $create_mode) { + $bundles = []; + + // Retrieve all group_node plugins for the group's type. + $plugin_ids = $this->pluginManager->getInstalledIds($group->getGroupType()); + foreach ($plugin_ids as $key => $plugin_id) { + if (strpos($plugin_id, 'group_node:') !== 0) { + unset($plugin_ids[$key]); + } + } + + // Retrieve all of the responsible group content types, keyed by plugin ID. + $storage = $this->entityTypeManager->getStorage('group_content_type'); + $properties = ['group_type' => $group->bundle(), 'content_plugin' => $plugin_ids]; + foreach ($storage->loadByProperties($properties) as $bundle => $group_content_type) { + /** @var \Drupal\group\Entity\GroupContentTypeInterface $group_content_type */ + $bundles[$group_content_type->getContentPluginId()] = $bundle; + } + + return $bundles; + } + +} diff --git a/services/drupal/web/modules/custom/epa_web_areas/src/Routing/RouteSubscriber.php b/services/drupal/web/modules/custom/epa_web_areas/src/Routing/RouteSubscriber.php index 9b36f4a9a5..c1507ed472 100644 --- a/services/drupal/web/modules/custom/epa_web_areas/src/Routing/RouteSubscriber.php +++ b/services/drupal/web/modules/custom/epa_web_areas/src/Routing/RouteSubscriber.php @@ -99,6 +99,11 @@ protected function alterRoutes(RouteCollection $collection) { $route->addOptions(['_admin_route' => TRUE]); } } + // Need to alter the group node route to alter the output as we want. + // @link https://forumone.atlassian.net/browse/EPAD8-2489 + if ($route = $collection->get('entity.group_content.group_node_add_page')) { + $route->setDefault('_controller', '\Drupal\epa_web_areas\Controller\EpaWebAreasGroupNodeController::addPage'); + } } /** From 160c715373dc87c0d3c812786000ebcb31c96502 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Sat, 7 Sep 2024 08:58:27 -0500 Subject: [PATCH 164/178] [EPAD8-2489] Modifying node type descriptions and event content type label to be what is in the ticket. --- services/drupal/config/sync/node.type.event.yml | 4 ++-- services/drupal/config/sync/node.type.faq.yml | 2 +- services/drupal/config/sync/node.type.page.yml | 2 +- services/drupal/config/sync/node.type.public_notice.yml | 2 +- services/drupal/config/sync/node.type.regulation.yml | 2 +- services/drupal/config/sync/node.type.web_area.yml | 2 +- services/drupal/config/sync/node.type.webform.yml | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/services/drupal/config/sync/node.type.event.yml b/services/drupal/config/sync/node.type.event.yml index 561a15a447..73bdbdfb0f 100644 --- a/services/drupal/config/sync/node.type.event.yml +++ b/services/drupal/config/sync/node.type.event.yml @@ -8,9 +8,9 @@ third_party_settings: menu_ui: available_menus: { } parent: '' -name: Event +name: Events type: event -description: '' +description: 'are useful for creating web pages for conferences, webinars and other types of events that have start and end dates and times.' help: '' new_revision: true preview_mode: 0 diff --git a/services/drupal/config/sync/node.type.faq.yml b/services/drupal/config/sync/node.type.faq.yml index 9446bac20c..5a2236b71a 100644 --- a/services/drupal/config/sync/node.type.faq.yml +++ b/services/drupal/config/sync/node.type.faq.yml @@ -10,7 +10,7 @@ third_party_settings: parent: '' name: 'Frequent Question' type: faq -description: '' +description: 'are Question and Answer format pages that are easily searchable and provide a quick response to what users may be looking for.' help: '' new_revision: true preview_mode: 0 diff --git a/services/drupal/config/sync/node.type.page.yml b/services/drupal/config/sync/node.type.page.yml index 7cb1fbca9c..4a4087c1bb 100644 --- a/services/drupal/config/sync/node.type.page.yml +++ b/services/drupal/config/sync/node.type.page.yml @@ -10,7 +10,7 @@ third_party_settings: parent: '' name: 'Basic page' type: page -description: "Use basic pages for your static content, such as an 'About us' page." +description: 'are the most common content type.' help: '' new_revision: true preview_mode: 0 diff --git a/services/drupal/config/sync/node.type.public_notice.yml b/services/drupal/config/sync/node.type.public_notice.yml index b8f43582fe..38563e4d13 100644 --- a/services/drupal/config/sync/node.type.public_notice.yml +++ b/services/drupal/config/sync/node.type.public_notice.yml @@ -10,7 +10,7 @@ third_party_settings: parent: '' name: 'Public Notice' type: public_notice -description: '' +description: 'present a consistent look and feel across http://epa.gov for all public notices.' help: '' new_revision: true preview_mode: 0 diff --git a/services/drupal/config/sync/node.type.regulation.yml b/services/drupal/config/sync/node.type.regulation.yml index b6f370ef3c..1e23d60975 100644 --- a/services/drupal/config/sync/node.type.regulation.yml +++ b/services/drupal/config/sync/node.type.regulation.yml @@ -10,7 +10,7 @@ third_party_settings: parent: '' name: Regulation type: regulation -description: 'Provide formal or common name for regulation described on page.' +description: 'are a standard layout for providing information about regulations.' help: '' new_revision: true preview_mode: 0 diff --git a/services/drupal/config/sync/node.type.web_area.yml b/services/drupal/config/sync/node.type.web_area.yml index 516653db18..1f2784f5a1 100644 --- a/services/drupal/config/sync/node.type.web_area.yml +++ b/services/drupal/config/sync/node.type.web_area.yml @@ -10,7 +10,7 @@ third_party_settings: parent: '' name: 'Web Area Homepage' type: web_area -description: 'The Web Area Homepage content type is intended to be used to provide the homepage for the Microsite or Resource Directory being created.' +description: 'are landing pages for the web area and help the user navigate to their desired content inside the web area. You can have one home page and multiple landing pages.' help: '' new_revision: true preview_mode: 0 diff --git a/services/drupal/config/sync/node.type.webform.yml b/services/drupal/config/sync/node.type.webform.yml index 5f63728e3d..7257ccc12c 100644 --- a/services/drupal/config/sync/node.type.webform.yml +++ b/services/drupal/config/sync/node.type.webform.yml @@ -13,7 +13,7 @@ third_party_settings: parent: '' name: Form type: webform -description: 'Create a new form or questionnaire accessible to users. Submission results and statistics are recorded and accessible to privileged users.' +description: 'are a content type that have a Webform attached to them. Webforms can include form elements that allow your audience to send information to you. Contact us forms are an example of this content type.' help: '' new_revision: true preview_mode: 0 From 70ef93206eb37348c4e72eee13f78f8b72cfc2b5 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Sat, 7 Sep 2024 10:07:24 -0500 Subject: [PATCH 165/178] [EPAD8-2490] Adding hook_preprocess_page to add custom status message to the /admin/content and /group/{id} routes. Adding custom library to add small style change. --- .../epa_web_areas/css/add-content-message.css | 3 ++ .../epa_web_areas/epa_web_areas.libraries.yml | 6 ++++ .../custom/epa_web_areas/epa_web_areas.module | 32 +++++++++++++++++++ 3 files changed, 41 insertions(+) create mode 100644 services/drupal/web/modules/custom/epa_web_areas/css/add-content-message.css diff --git a/services/drupal/web/modules/custom/epa_web_areas/css/add-content-message.css b/services/drupal/web/modules/custom/epa_web_areas/css/add-content-message.css new file mode 100644 index 0000000000..35b9d49901 --- /dev/null +++ b/services/drupal/web/modules/custom/epa_web_areas/css/add-content-message.css @@ -0,0 +1,3 @@ +.epa-web-areas-custom-message .messages__content { + margin-inline-start: 0; +} diff --git a/services/drupal/web/modules/custom/epa_web_areas/epa_web_areas.libraries.yml b/services/drupal/web/modules/custom/epa_web_areas/epa_web_areas.libraries.yml index 852f0e1451..4479fa3b94 100644 --- a/services/drupal/web/modules/custom/epa_web_areas/epa_web_areas.libraries.yml +++ b/services/drupal/web/modules/custom/epa_web_areas/epa_web_areas.libraries.yml @@ -3,3 +3,9 @@ group_node.add: css: theme: css/admin-group-node-add.css: {} + +custom_message: + version: VERSION + css: + theme: + css/add-content-message.css: { } diff --git a/services/drupal/web/modules/custom/epa_web_areas/epa_web_areas.module b/services/drupal/web/modules/custom/epa_web_areas/epa_web_areas.module index cb79fcbdb6..d894d533be 100644 --- a/services/drupal/web/modules/custom/epa_web_areas/epa_web_areas.module +++ b/services/drupal/web/modules/custom/epa_web_areas/epa_web_areas.module @@ -11,6 +11,9 @@ use Drupal\Core\Access\AccessResult; use Drupal\Core\Entity\EntityForm; use Drupal\Core\Entity\ContentEntityInterface; use Drupal\Core\Form\FormStateInterface; +use Drupal\Core\Messenger\Messenger; +use Drupal\Core\Messenger\MessengerInterface; +use Drupal\Core\Render\Markup; use Drupal\Core\Session\AccountInterface; use Drupal\Core\Url; use Drupal\group\Entity\Group; @@ -547,3 +550,32 @@ function epa_web_areas_views_data_alter(array &$data) { $data["search_api_index_media"]["gid"]["filter"]['id'] = 'search_api_entity_reference'; } } + +/** + * Implements hook_preprocess_HOOK() for the page variable. + * + * Adds custom status message to the below routes. + * @link https://forumone.atlassian.net/browse/EPAD8-2490 + */ +function epa_web_areas_preprocess_page(&$variables) { + $routes = [ + 'entity.group.canonical', + 'system.admin_content' + ]; + if (in_array(\Drupal::routeMatch()->getRouteName(), $routes)) { + $message = Markup::create('Add new content or use these filters to find content that you are looking for. Type your User ID into the Author or the Last Updated By fields to find content you\'ve worked on.'); + $variables['page']['highlighted']['#attached']['library'][] = 'epa_web_areas/custom_message'; + $variables['page']['highlighted']['custom_message'] = [ + '#theme' => 'status_messages', + '#attributes' => [ + 'class' => ['epa-web-areas-custom-message'], + ], + '#message_list' => [ + 'warning' => [$message] + ], + '#status_headings' => [ + 'warning' => '', + ], + ]; + } +} From c1b8e4b363a7394b95808b218d7d774a2bd93fcd Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Sat, 7 Sep 2024 10:51:27 -0500 Subject: [PATCH 166/178] [EPAD8-2509] Adding markup for the paragraphs embed form to add additional help text about each paragraph type. --- .../custom/epa_web_areas/epa_web_areas.module | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/services/drupal/web/modules/custom/epa_web_areas/epa_web_areas.module b/services/drupal/web/modules/custom/epa_web_areas/epa_web_areas.module index cb79fcbdb6..635df950ea 100644 --- a/services/drupal/web/modules/custom/epa_web_areas/epa_web_areas.module +++ b/services/drupal/web/modules/custom/epa_web_areas/epa_web_areas.module @@ -11,6 +11,9 @@ use Drupal\Core\Access\AccessResult; use Drupal\Core\Entity\EntityForm; use Drupal\Core\Entity\ContentEntityInterface; use Drupal\Core\Form\FormStateInterface; +use Drupal\Core\Messenger\Messenger; +use Drupal\Core\Messenger\MessengerInterface; +use Drupal\Core\Render\Markup; use Drupal\Core\Session\AccountInterface; use Drupal\Core\Url; use Drupal\group\Entity\Group; @@ -202,6 +205,25 @@ function epa_web_areas_form_media_library_add_form_alter(&$form, FormStateInterf * Implements hook_form_FORM_ID_alter(). */ function epa_web_areas_form_embedded_paragraphs_paragraphs_entity_embed_form_alter(&$form, FormStateInterface $form_state, $form_id) { + // Add custom help text describing each paragraph item. + // @link https://forumone.atlassian.net/browse/EPAD8-2509 + $items = [ + Markup::create('Before/After Swipe: compare two images side-by-side'), + Markup::create('Boxes highlight specific web content. Each box style has specific content requirements'), + Markup::create('Dynamic Lists are automated lists of WebCMS content based on filters'), + Markup::create('From Library can be used to add "reusable paragraphs," which can be embedded on multiple pages'), + 'Add Header adds headings like h2, h3, etc.', + Markup::create('Link List are bulleted lists of links'), + Markup::create('Slideshows are pictures that can be cycled through'), + ]; + + $help_text_list = [ + '#theme' => 'item_list', + '#type' => 'ul', + '#items' => $items, + '#weight' => -100, + ]; + $form['help_text'] = $help_text_list; // Add a custom submit handler that runs after media is added and saved. if (!empty($form['actions'])) { $form['#submit'][] = 'epa_web_areas_group_media_submit'; From 71e83e45cc1f08f71a1f63c8a188e73c4ed8979d Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Sat, 7 Sep 2024 10:52:22 -0500 Subject: [PATCH 167/178] [EPAD8-2509] Removing unused use statements. --- .../web/modules/custom/epa_web_areas/epa_web_areas.module | 2 -- 1 file changed, 2 deletions(-) diff --git a/services/drupal/web/modules/custom/epa_web_areas/epa_web_areas.module b/services/drupal/web/modules/custom/epa_web_areas/epa_web_areas.module index 635df950ea..8348765863 100644 --- a/services/drupal/web/modules/custom/epa_web_areas/epa_web_areas.module +++ b/services/drupal/web/modules/custom/epa_web_areas/epa_web_areas.module @@ -11,8 +11,6 @@ use Drupal\Core\Access\AccessResult; use Drupal\Core\Entity\EntityForm; use Drupal\Core\Entity\ContentEntityInterface; use Drupal\Core\Form\FormStateInterface; -use Drupal\Core\Messenger\Messenger; -use Drupal\Core\Messenger\MessengerInterface; use Drupal\Core\Render\Markup; use Drupal\Core\Session\AccountInterface; use Drupal\Core\Url; From 0ec3c1265dc879c47f3288353a4550f7e9f0d2ca Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Mon, 9 Sep 2024 08:32:27 -0500 Subject: [PATCH 168/178] Deleting block that no longer needs to exist as it relied on epa_seven theme which no longer exists. --- ...k.views_block__internal_alerts_block_2.yml | 30 ------------------- 1 file changed, 30 deletions(-) delete mode 100644 services/drupal/config/sync/block.block.views_block__internal_alerts_block_2.yml diff --git a/services/drupal/config/sync/block.block.views_block__internal_alerts_block_2.yml b/services/drupal/config/sync/block.block.views_block__internal_alerts_block_2.yml deleted file mode 100644 index d58f47a1f7..0000000000 --- a/services/drupal/config/sync/block.block.views_block__internal_alerts_block_2.yml +++ /dev/null @@ -1,30 +0,0 @@ -uuid: bdf36136-cb3b-496a-805e-88207dac6021 -langcode: en -status: true -dependencies: - config: - - views.view.internal_alerts - module: - - system - - views - theme: - - epa_seven -id: views_block__internal_alerts_block_2 -theme: epa_seven -region: header -weight: -3 -provider: null -plugin: 'views_block:internal_alerts-block_2' -settings: - id: 'views_block:internal_alerts-block_2' - label: '' - label_display: '0' - provider: views - views_label: '' - items_per_page: none - exposed: { } -visibility: - request_path: - id: request_path - negate: false - pages: /admin/content/my-web-areas From d890d1100629309d8b898087bf28be381f8117d2 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Mon, 9 Sep 2024 09:46:19 -0500 Subject: [PATCH 169/178] [EPAD8-24] Removing commented out code. Adding descriptions and updating labels for content types originally missing from AC. --- services/drupal/config/sync/node.type.news_release.yml | 4 ++-- services/drupal/config/sync/node.type.perspective.yml | 4 ++-- services/drupal/config/sync/node.type.speeches.yml | 2 +- .../src/Controller/EpaWebAreasGroupNodeController.php | 2 -- 4 files changed, 5 insertions(+), 7 deletions(-) diff --git a/services/drupal/config/sync/node.type.news_release.yml b/services/drupal/config/sync/node.type.news_release.yml index 62520f168b..fa664b8eaf 100644 --- a/services/drupal/config/sync/node.type.news_release.yml +++ b/services/drupal/config/sync/node.type.news_release.yml @@ -8,9 +8,9 @@ third_party_settings: menu_ui: available_menus: { } parent: '' -name: 'News Release' +name: 'News Releases' type: news_release -description: '' +description: 'are the Agency’s primary way to release Agency news items.' help: '' new_revision: true preview_mode: 0 diff --git a/services/drupal/config/sync/node.type.perspective.yml b/services/drupal/config/sync/node.type.perspective.yml index 806a3bcf54..d78946c915 100644 --- a/services/drupal/config/sync/node.type.perspective.yml +++ b/services/drupal/config/sync/node.type.perspective.yml @@ -8,9 +8,9 @@ third_party_settings: menu_ui: available_menus: { } parent: '' -name: Perspective +name: Perspectives type: perspective -description: '' +description: 'are commentaries about environmental and public health topics' help: '' new_revision: true preview_mode: 0 diff --git a/services/drupal/config/sync/node.type.speeches.yml b/services/drupal/config/sync/node.type.speeches.yml index 697e65d0d2..5ca9c19a4a 100644 --- a/services/drupal/config/sync/node.type.speeches.yml +++ b/services/drupal/config/sync/node.type.speeches.yml @@ -10,7 +10,7 @@ third_party_settings: parent: '' name: 'Speeches and Remarks' type: speeches -description: '' +description: 'are versions of Administrator speeches, as prepared for delivery.' help: '' new_revision: true preview_mode: 0 diff --git a/services/drupal/web/modules/custom/epa_web_areas/src/Controller/EpaWebAreasGroupNodeController.php b/services/drupal/web/modules/custom/epa_web_areas/src/Controller/EpaWebAreasGroupNodeController.php index 22dd81408f..9f97f58700 100644 --- a/services/drupal/web/modules/custom/epa_web_areas/src/Controller/EpaWebAreasGroupNodeController.php +++ b/services/drupal/web/modules/custom/epa_web_areas/src/Controller/EpaWebAreasGroupNodeController.php @@ -76,8 +76,6 @@ public function addPage(GroupInterface $group, $create_mode = FALSE) { $bundle_label = $storage_handler->load($plugin->getEntityBundle())->label(); $description = $storage_handler->load($plugin->getEntityBundle())->getDescription(); -// $t_args = ['%description' => $description]; -// $description = $this->t('%description', $t_args); $build['#bundles'][$bundle_name]['label'] = $bundle_label; $build['#bundles'][$bundle_name]['add_link']->setText($bundle_label); $build['#bundles'][$bundle_name]['description'] = $description; From f17f7776e7b68885758078ddf1912cce5958f939 Mon Sep 17 00:00:00 2001 From: gustavderdrache Date: Mon, 9 Sep 2024 10:46:35 -0400 Subject: [PATCH 170/178] Fix 404s for search RSS feeds --- services/drupal/default.conf | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/services/drupal/default.conf b/services/drupal/default.conf index 2b8bc73f77..6160cf1f12 100644 --- a/services/drupal/default.conf +++ b/services/drupal/default.conf @@ -60,6 +60,27 @@ server { try_files /fast-404.html =404; } + # These paths are exceptions to the search 410s that we have listed below. + location = /newsreleases/search/rss { + rewrite ^/(.*)$ /index.php?$query_string; + } + + location = /faqs/search/rss { + rewrite ^/(.*)$ index.php?$query_string; + } + + location = /publicnotices/notices-search/rss { + rewrite ^/(.*)$ index.php?$query_string; + } + + location = /perspectives/search/rss { + rewrite ^/(.*)$ index.php?$query_string; + } + + location = /speeches/search/rss { + rewrite ^/(.*)$ index.php?$query_string; + } + # For each listed path, return HTTP 410 Gone, using our 404 template instead: # users will see a "page not found" page, but code will see a "this page will # never return" status code. Hopefully this will defray some of the ongoing From 419904520bae0e913b48fdf4d8ff6f439df2a5b6 Mon Sep 17 00:00:00 2001 From: gustavderdrache Date: Mon, 9 Sep 2024 10:46:45 -0400 Subject: [PATCH 171/178] Include dev modifications --- .../drupal/.ddev/nginx_full/nginx-site.conf | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/services/drupal/.ddev/nginx_full/nginx-site.conf b/services/drupal/.ddev/nginx_full/nginx-site.conf index 584b75d041..00c527c4b7 100644 --- a/services/drupal/.ddev/nginx_full/nginx-site.conf +++ b/services/drupal/.ddev/nginx_full/nginx-site.conf @@ -50,6 +50,28 @@ server { rewrite ^/(.*)$ /index.php?q=$1; } + # On any nginx 404, use this internal path + error_page 404 /_404; + + # Set up nginx's 404 machinery to return fast-404.html anytime nginx process a 404 + location = /_404 { + # Internal means /_404 can't be visited from outside + internal; + + # Return the contents of fast-404.html + root /var/www/html/web/themes/epa_theme/source; + try_files /fast-404.html =404; + } + + location ^~ /newsreleases/search/ { + error_page 410 /_404; + return 410; + } + + location = /newsreleases/search/rss { + rewrite ^/(.*)$ /index.php?$query_string; + } + location = /libraries { rewrite ^/(.*)$ /index.php?$query_string; } From 3eaf7dfd1382afe59591016d366631f92afb53e6 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Thu, 5 Sep 2024 11:08:41 -0500 Subject: [PATCH 172/178] [EPAD8-2545] Adjusting userLogin() method of custom SSOController to return correct RedirectResponse as the Response::create method has been removed (see https://github.com/symfony/symfony/blob/6.3/src/Symfony/Component/HttpFoundation/CHANGELOG.md\#60). --- .../web/modules/custom/f1_sso/src/Controller/SSOController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/drupal/web/modules/custom/f1_sso/src/Controller/SSOController.php b/services/drupal/web/modules/custom/f1_sso/src/Controller/SSOController.php index 6aab834488..205e8741b9 100644 --- a/services/drupal/web/modules/custom/f1_sso/src/Controller/SSOController.php +++ b/services/drupal/web/modules/custom/f1_sso/src/Controller/SSOController.php @@ -54,7 +54,7 @@ public function userLogin() { 'destination' => $destination_url, ]); - return RedirectResponse::create($destination->toString()); + return new RedirectResponse($destination->toString()); } } From b9d44e03b9af4ffcf932618416f437619955be30 Mon Sep 17 00:00:00 2001 From: gustavderdrache Date: Tue, 10 Sep 2024 13:06:20 -0400 Subject: [PATCH 173/178] Add missing / to other rewrites --- services/drupal/default.conf | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/services/drupal/default.conf b/services/drupal/default.conf index 6160cf1f12..8b20688b32 100644 --- a/services/drupal/default.conf +++ b/services/drupal/default.conf @@ -66,19 +66,19 @@ server { } location = /faqs/search/rss { - rewrite ^/(.*)$ index.php?$query_string; + rewrite ^/(.*)$ /index.php?$query_string; } location = /publicnotices/notices-search/rss { - rewrite ^/(.*)$ index.php?$query_string; + rewrite ^/(.*)$ /index.php?$query_string; } location = /perspectives/search/rss { - rewrite ^/(.*)$ index.php?$query_string; + rewrite ^/(.*)$ /index.php?$query_string; } location = /speeches/search/rss { - rewrite ^/(.*)$ index.php?$query_string; + rewrite ^/(.*)$ /index.php?$query_string; } # For each listed path, return HTTP 410 Gone, using our 404 template instead: From 96bb328e0a63c9c119087fb01eea6262bb851704 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Tue, 10 Sep 2024 16:23:23 -0500 Subject: [PATCH 174/178] [EPAD8-2489] Adding missing period to description. --- services/drupal/config/sync/node.type.perspective.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/services/drupal/config/sync/node.type.perspective.yml b/services/drupal/config/sync/node.type.perspective.yml index d78946c915..58a976299b 100644 --- a/services/drupal/config/sync/node.type.perspective.yml +++ b/services/drupal/config/sync/node.type.perspective.yml @@ -10,7 +10,7 @@ third_party_settings: parent: '' name: Perspectives type: perspective -description: 'are commentaries about environmental and public health topics' +description: 'are commentaries about environmental and public health topics.' help: '' new_revision: true preview_mode: 0 From 3689ccfa8065a7f0326bd1cbc681e6e8cf4d6443 Mon Sep 17 00:00:00 2001 From: Dan Mouyard Date: Thu, 12 Sep 2024 15:57:05 -0400 Subject: [PATCH 175/178] EPAD8-2327: Remove unnecessary files --- .../epa_theme/source/_patterns/05-components/hublinks/hublinks.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 services/drupal/web/themes/epa_theme/source/_patterns/05-components/hublinks/hublinks.md diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/05-components/hublinks/hublinks.md b/services/drupal/web/themes/epa_theme/source/_patterns/05-components/hublinks/hublinks.md deleted file mode 100644 index e69de29bb2..0000000000 From 7469a8cf0f428bdc663720c2145a20109bb879a8 Mon Sep 17 00:00:00 2001 From: Dan Mouyard Date: Thu, 12 Sep 2024 16:09:57 -0400 Subject: [PATCH 176/178] EPAD8-2327: Fix minor whitespace issues --- .../_patterns/06-templates/detail-pages/page-with-sidenav.twig | 2 +- .../07-pages/detail-pages/perspective-with-two-authors.yml | 1 - .../source/_patterns/07-pages/detail-pages/speech-remark.yml | 2 +- .../templates/content/node--perspective--full.html.twig | 2 +- .../templates/field/field--node--entitygroupfield.html.twig | 1 - .../epa_theme/templates/navigation/menu--group-menu.html.twig | 2 +- 6 files changed, 4 insertions(+), 6 deletions(-) diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/06-templates/detail-pages/page-with-sidenav.twig b/services/drupal/web/themes/epa_theme/source/_patterns/06-templates/detail-pages/page-with-sidenav.twig index a37f30dbd3..dffc154ec8 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/06-templates/detail-pages/page-with-sidenav.twig +++ b/services/drupal/web/themes/epa_theme/source/_patterns/06-templates/detail-pages/page-with-sidenav.twig @@ -22,7 +22,7 @@ {{ sidenav }} +
{% endblock %} {% endembed %} diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/07-pages/detail-pages/perspective-with-two-authors.yml b/services/drupal/web/themes/epa_theme/source/_patterns/07-pages/detail-pages/perspective-with-two-authors.yml index 623d04e4dd..2642b4f471 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/07-pages/detail-pages/perspective-with-two-authors.yml +++ b/services/drupal/web/themes/epa_theme/source/_patterns/07-pages/detail-pages/perspective-with-two-authors.yml @@ -8,4 +8,3 @@ related_info: |- - \ No newline at end of file diff --git a/services/drupal/web/themes/epa_theme/source/_patterns/07-pages/detail-pages/speech-remark.yml b/services/drupal/web/themes/epa_theme/source/_patterns/07-pages/detail-pages/speech-remark.yml index 6e30b88427..8b19d583ab 100644 --- a/services/drupal/web/themes/epa_theme/source/_patterns/07-pages/detail-pages/speech-remark.yml +++ b/services/drupal/web/themes/epa_theme/source/_patterns/07-pages/detail-pages/speech-remark.yml @@ -4,7 +4,7 @@ intro: '' links: - url: '#' text: 'Speeches' -has_sidenav: true +has_sidenav: true related_info: |- + {% endset %} {% endif %} diff --git a/services/drupal/web/themes/epa_theme/templates/field/field--node--entitygroupfield.html.twig b/services/drupal/web/themes/epa_theme/templates/field/field--node--entitygroupfield.html.twig index 0641480b25..c369259fa3 100644 --- a/services/drupal/web/themes/epa_theme/templates/field/field--node--entitygroupfield.html.twig +++ b/services/drupal/web/themes/epa_theme/templates/field/field--node--entitygroupfield.html.twig @@ -4,4 +4,3 @@ * Theme override for a field. */ #} - diff --git a/services/drupal/web/themes/epa_theme/templates/navigation/menu--group-menu.html.twig b/services/drupal/web/themes/epa_theme/templates/navigation/menu--group-menu.html.twig index 7adfc73c60..1098fa80ca 100644 --- a/services/drupal/web/themes/epa_theme/templates/navigation/menu--group-menu.html.twig +++ b/services/drupal/web/themes/epa_theme/templates/navigation/menu--group-menu.html.twig @@ -33,4 +33,4 @@ {% if items %} -{% endif %} \ No newline at end of file +{% endif %} From 2eff3a6600434cba4ea9ed49af6c7887cbbfea44 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Fri, 13 Sep 2024 11:34:43 -0500 Subject: [PATCH 177/178] Adding language.content.settings for all content types. --- .../language.content_settings.node.event.yml | 11 ++++++++ .../language.content_settings.node.faq.yml | 11 ++++++++ ...age.content_settings.node.news_release.yml | 11 ++++++++ .../language.content_settings.node.page.yml | 11 ++++++++ ...ge.content_settings.node.public_notice.yml | 11 ++++++++ ...guage.content_settings.node.regulation.yml | 11 ++++++++ ...anguage.content_settings.node.web_area.yml | 11 ++++++++ ...language.content_settings.node.webform.yml | 11 ++++++++ .../themes/epa_theme/epa_theme.libraries.yml | 26 +++++++------------ .../images/drupal-sprite.artifact.svg | 1 + 10 files changed, 98 insertions(+), 17 deletions(-) create mode 100644 services/drupal/config/sync/language.content_settings.node.event.yml create mode 100644 services/drupal/config/sync/language.content_settings.node.faq.yml create mode 100644 services/drupal/config/sync/language.content_settings.node.news_release.yml create mode 100644 services/drupal/config/sync/language.content_settings.node.page.yml create mode 100644 services/drupal/config/sync/language.content_settings.node.public_notice.yml create mode 100644 services/drupal/config/sync/language.content_settings.node.regulation.yml create mode 100644 services/drupal/config/sync/language.content_settings.node.web_area.yml create mode 100644 services/drupal/config/sync/language.content_settings.node.webform.yml create mode 100644 services/drupal/web/themes/epa_theme/images/drupal-sprite.artifact.svg diff --git a/services/drupal/config/sync/language.content_settings.node.event.yml b/services/drupal/config/sync/language.content_settings.node.event.yml new file mode 100644 index 0000000000..4663b1cbe1 --- /dev/null +++ b/services/drupal/config/sync/language.content_settings.node.event.yml @@ -0,0 +1,11 @@ +uuid: 8d292713-2043-4ab7-a3b4-2f79e53a1f0e +langcode: en +status: true +dependencies: + config: + - node.type.event +id: node.event +target_entity_type_id: node +target_bundle: event +default_langcode: site_default +language_alterable: false diff --git a/services/drupal/config/sync/language.content_settings.node.faq.yml b/services/drupal/config/sync/language.content_settings.node.faq.yml new file mode 100644 index 0000000000..238c9090c9 --- /dev/null +++ b/services/drupal/config/sync/language.content_settings.node.faq.yml @@ -0,0 +1,11 @@ +uuid: 1720e928-b084-4af0-9550-b56018438277 +langcode: en +status: true +dependencies: + config: + - node.type.faq +id: node.faq +target_entity_type_id: node +target_bundle: faq +default_langcode: site_default +language_alterable: false diff --git a/services/drupal/config/sync/language.content_settings.node.news_release.yml b/services/drupal/config/sync/language.content_settings.node.news_release.yml new file mode 100644 index 0000000000..e0523d8b94 --- /dev/null +++ b/services/drupal/config/sync/language.content_settings.node.news_release.yml @@ -0,0 +1,11 @@ +uuid: e432a95c-402f-49ec-b6f9-8e184dc238c0 +langcode: en +status: true +dependencies: + config: + - node.type.news_release +id: node.news_release +target_entity_type_id: node +target_bundle: news_release +default_langcode: site_default +language_alterable: false diff --git a/services/drupal/config/sync/language.content_settings.node.page.yml b/services/drupal/config/sync/language.content_settings.node.page.yml new file mode 100644 index 0000000000..7bcaa52a70 --- /dev/null +++ b/services/drupal/config/sync/language.content_settings.node.page.yml @@ -0,0 +1,11 @@ +uuid: 37613ff2-4a63-477a-a383-187b4da0e410 +langcode: en +status: true +dependencies: + config: + - node.type.page +id: node.page +target_entity_type_id: node +target_bundle: page +default_langcode: site_default +language_alterable: false diff --git a/services/drupal/config/sync/language.content_settings.node.public_notice.yml b/services/drupal/config/sync/language.content_settings.node.public_notice.yml new file mode 100644 index 0000000000..6ec396e454 --- /dev/null +++ b/services/drupal/config/sync/language.content_settings.node.public_notice.yml @@ -0,0 +1,11 @@ +uuid: ee5d4e51-3f65-4b94-8031-03604feaf924 +langcode: en +status: true +dependencies: + config: + - node.type.public_notice +id: node.public_notice +target_entity_type_id: node +target_bundle: public_notice +default_langcode: site_default +language_alterable: false diff --git a/services/drupal/config/sync/language.content_settings.node.regulation.yml b/services/drupal/config/sync/language.content_settings.node.regulation.yml new file mode 100644 index 0000000000..f2dd4aaad7 --- /dev/null +++ b/services/drupal/config/sync/language.content_settings.node.regulation.yml @@ -0,0 +1,11 @@ +uuid: 03ba8e63-b5da-428e-9b8f-e8ae30d250e0 +langcode: en +status: true +dependencies: + config: + - node.type.regulation +id: node.regulation +target_entity_type_id: node +target_bundle: regulation +default_langcode: site_default +language_alterable: false diff --git a/services/drupal/config/sync/language.content_settings.node.web_area.yml b/services/drupal/config/sync/language.content_settings.node.web_area.yml new file mode 100644 index 0000000000..e6364a98a3 --- /dev/null +++ b/services/drupal/config/sync/language.content_settings.node.web_area.yml @@ -0,0 +1,11 @@ +uuid: 662f1c36-59f7-4c36-8659-af96322a0096 +langcode: en +status: true +dependencies: + config: + - node.type.web_area +id: node.web_area +target_entity_type_id: node +target_bundle: web_area +default_langcode: site_default +language_alterable: false diff --git a/services/drupal/config/sync/language.content_settings.node.webform.yml b/services/drupal/config/sync/language.content_settings.node.webform.yml new file mode 100644 index 0000000000..6d14a0abcd --- /dev/null +++ b/services/drupal/config/sync/language.content_settings.node.webform.yml @@ -0,0 +1,11 @@ +uuid: 61e3cf60-c238-49ca-955b-921cc7e9ce30 +langcode: en +status: true +dependencies: + config: + - node.type.webform +id: node.webform +target_entity_type_id: node +target_bundle: webform +default_langcode: site_default +language_alterable: false diff --git a/services/drupal/web/themes/epa_theme/epa_theme.libraries.yml b/services/drupal/web/themes/epa_theme/epa_theme.libraries.yml index 0188d6b35c..857ee02039 100644 --- a/services/drupal/web/themes/epa_theme/epa_theme.libraries.yml +++ b/services/drupal/web/themes/epa_theme/epa_theme.libraries.yml @@ -1,9 +1,9 @@ common: - version: 20240812 + version: 20240913 js: js/dist/common.min.js: { minified: true } global: - version: 20240812 + version: 20240913 css: theme: css/styles.css: {} @@ -32,7 +32,7 @@ global: - epa_theme/font_simplified_chinese - epa_theme/font_traditional_chinese before_after_swipe: - version: 20240812 + version: 20240913 js: js/dist/before-after-swipe.min.js: { minified: true } dependencies: @@ -40,7 +40,7 @@ before_after_swipe: - core/once - epa_theme/common details: - version: 20240812 + version: 20240913 js: js/libraries/details-element-polyfill.js: {} font_arabic: @@ -68,7 +68,7 @@ font_traditional_chinese: theme: fonts/noto-sans-tc.css: {} image_gallery: - version: 20240812 + version: 20240913 js: js/dist/image-gallery.min.js: { minified: true } dependencies: @@ -76,23 +76,15 @@ image_gallery: - core/once - epa_theme/common hero_slideshow: - version: 20240812 + version: 20240913 js: js/dist/hero-slideshow.min.js: { minified: true } dependencies: - core/drupal - core/once - epa_theme/common -image_gallery: - version: 20240524 - js: - js/dist/image-gallery.min.js: { minified: true } - dependencies: - - core/drupal - - core/once - - epa_theme/common media_link: - version: 20240812 + version: 20240913 js: js/dist/media-link.min.js: { minified: true } dependencies: @@ -100,7 +92,7 @@ media_link: - core/once - epa_theme/common sidenav_menu: - version: 20240223 + version: 20240913 js: js/dist/sidenav-menu.min.js: { minified: true } dependencies: @@ -112,7 +104,7 @@ svgxuse: js: js/libraries/svgxuse.min.js: { minified: true } toggle_admin: - version: 20240812 + version: 20240913 js: js/dist/toggle-admin.min.js: { minified: true } dependencies: diff --git a/services/drupal/web/themes/epa_theme/images/drupal-sprite.artifact.svg b/services/drupal/web/themes/epa_theme/images/drupal-sprite.artifact.svg new file mode 100644 index 0000000000..dcbd676da1 --- /dev/null +++ b/services/drupal/web/themes/epa_theme/images/drupal-sprite.artifact.svg @@ -0,0 +1 @@ + \ No newline at end of file From a17eb20cc87968edf48a09d86bd669a3a6cab400 Mon Sep 17 00:00:00 2001 From: Carson Oldson Date: Fri, 13 Sep 2024 11:47:23 -0500 Subject: [PATCH 178/178] [EPAD8-2536] Adding updated field and view config after exporting latest from main to capture recent changes to view config regarding default_argument_skip_url https://www.drupal.org/node/3382316 --- .../field.field.block_content.custom_html.body.yml | 1 + ...tions_of_prop_actions.field_state_or_territory.yml | 2 +- services/drupal/config/sync/views.view.files.yml | 1 - services/drupal/config/sync/views.view.glossary.yml | 2 -- .../drupal/config/sync/views.view.group_media.yml | 1 - .../config/sync/views.view.group_media_search_api.yml | 1 - .../drupal/config/sync/views.view.group_members.yml | 1 - .../sync/views.view.group_moderated_content.yml | 11 +++++++++-- .../drupal/config/sync/views.view.group_nodes.yml | 2 -- .../sync/views.view.group_paragraphs_library.yml | 1 - .../drupal/config/sync/views.view.media_library.yml | 2 -- services/drupal/config/sync/views.view.my_groups.yml | 1 - .../drupal/config/sync/views.view.taxonomy_term.yml | 1 - 13 files changed, 11 insertions(+), 16 deletions(-) diff --git a/services/drupal/config/sync/field.field.block_content.custom_html.body.yml b/services/drupal/config/sync/field.field.block_content.custom_html.body.yml index 34ef2d3bb6..e645157db7 100644 --- a/services/drupal/config/sync/field.field.block_content.custom_html.body.yml +++ b/services/drupal/config/sync/field.field.block_content.custom_html.body.yml @@ -31,4 +31,5 @@ default_value_callback: '' settings: display_summary: false required_summary: false + allowed_formats: { } field_type: text_with_summary diff --git a/services/drupal/config/sync/field.field.paragraph.locations_of_prop_actions.field_state_or_territory.yml b/services/drupal/config/sync/field.field.paragraph.locations_of_prop_actions.field_state_or_territory.yml index 4107f68e18..7dbe69e313 100644 --- a/services/drupal/config/sync/field.field.paragraph.locations_of_prop_actions.field_state_or_territory.yml +++ b/services/drupal/config/sync/field.field.paragraph.locations_of_prop_actions.field_state_or_territory.yml @@ -16,7 +16,7 @@ id: paragraph.locations_of_prop_actions.field_state_or_territory field_name: field_state_or_territory entity_type: paragraph bundle: locations_of_prop_actions -label: 'Location' +label: Location description: '' required: false translatable: false diff --git a/services/drupal/config/sync/views.view.files.yml b/services/drupal/config/sync/views.view.files.yml index 0e8442f1f0..09f5cb4f1c 100644 --- a/services/drupal/config/sync/views.view.files.yml +++ b/services/drupal/config/sync/views.view.files.yml @@ -1257,7 +1257,6 @@ display: default_argument_type: fixed default_argument_options: argument: '' - default_argument_skip_url: false summary_options: base_path: '' count: true diff --git a/services/drupal/config/sync/views.view.glossary.yml b/services/drupal/config/sync/views.view.glossary.yml index a0a53baf99..d5226e6b0e 100644 --- a/services/drupal/config/sync/views.view.glossary.yml +++ b/services/drupal/config/sync/views.view.glossary.yml @@ -248,7 +248,6 @@ display: default_argument_type: fixed default_argument_options: argument: a - default_argument_skip_url: false summary_options: { } summary: format: default_summary @@ -415,7 +414,6 @@ display: default_argument_type: fixed default_argument_options: argument: a - default_argument_skip_url: false summary_options: items_per_page: 25 inline: true diff --git a/services/drupal/config/sync/views.view.group_media.yml b/services/drupal/config/sync/views.view.group_media.yml index 18597aeeb7..cf551f092e 100644 --- a/services/drupal/config/sync/views.view.group_media.yml +++ b/services/drupal/config/sync/views.view.group_media.yml @@ -755,7 +755,6 @@ display: default_argument_type: fixed default_argument_options: argument: '' - default_argument_skip_url: false summary_options: base_path: '' count: true diff --git a/services/drupal/config/sync/views.view.group_media_search_api.yml b/services/drupal/config/sync/views.view.group_media_search_api.yml index 449e11582f..14dae6214a 100644 --- a/services/drupal/config/sync/views.view.group_media_search_api.yml +++ b/services/drupal/config/sync/views.view.group_media_search_api.yml @@ -736,7 +736,6 @@ display: default_argument_type: fixed default_argument_options: argument: '' - default_argument_skip_url: false summary_options: { } summary: sort_order: asc diff --git a/services/drupal/config/sync/views.view.group_members.yml b/services/drupal/config/sync/views.view.group_members.yml index 0c12e01aac..49840c877d 100644 --- a/services/drupal/config/sync/views.view.group_members.yml +++ b/services/drupal/config/sync/views.view.group_members.yml @@ -658,7 +658,6 @@ display: default_argument_type: fixed default_argument_options: argument: '' - default_argument_skip_url: false summary_options: base_path: '' count: true diff --git a/services/drupal/config/sync/views.view.group_moderated_content.yml b/services/drupal/config/sync/views.view.group_moderated_content.yml index 81a2ea6f3d..01b3ce3210 100644 --- a/services/drupal/config/sync/views.view.group_moderated_content.yml +++ b/services/drupal/config/sync/views.view.group_moderated_content.yml @@ -867,7 +867,6 @@ display: title: '{{ arguments.gid|placeholder }} content' default_argument_type: group_id_from_url default_argument_options: { } - default_argument_skip_url: false summary_options: base_path: '' count: true @@ -1959,6 +1958,15 @@ display: date_format: short custom_date_format: '' timezone: '' + tooltip: + date_format: '' + custom_date_format: '' + time_diff: + enabled: false + future_format: '@interval hence' + past_format: '@interval ago' + granularity: 2 + refresh: 60 group_column: value group_columns: { } group_rows: true @@ -2232,7 +2240,6 @@ display: title: '' default_argument_type: group_id_from_url default_argument_options: { } - default_argument_skip_url: false summary_options: base_path: '' count: true diff --git a/services/drupal/config/sync/views.view.group_nodes.yml b/services/drupal/config/sync/views.view.group_nodes.yml index 71ea4960a8..324429406c 100644 --- a/services/drupal/config/sync/views.view.group_nodes.yml +++ b/services/drupal/config/sync/views.view.group_nodes.yml @@ -621,7 +621,6 @@ display: default_argument_type: fixed default_argument_options: argument: '' - default_argument_skip_url: false summary_options: base_path: '' count: true @@ -1973,7 +1972,6 @@ display: title: '{{ arguments.gid|placeholder }} content' default_argument_type: group_id_from_url default_argument_options: { } - default_argument_skip_url: false summary_options: base_path: '' count: true diff --git a/services/drupal/config/sync/views.view.group_paragraphs_library.yml b/services/drupal/config/sync/views.view.group_paragraphs_library.yml index 262f3182a7..e96b47a936 100644 --- a/services/drupal/config/sync/views.view.group_paragraphs_library.yml +++ b/services/drupal/config/sync/views.view.group_paragraphs_library.yml @@ -605,7 +605,6 @@ display: default_argument_type: fixed default_argument_options: argument: '' - default_argument_skip_url: false summary_options: base_path: '' count: true diff --git a/services/drupal/config/sync/views.view.media_library.yml b/services/drupal/config/sync/views.view.media_library.yml index 8236ef878d..b6df14635d 100644 --- a/services/drupal/config/sync/views.view.media_library.yml +++ b/services/drupal/config/sync/views.view.media_library.yml @@ -703,7 +703,6 @@ display: default_argument_type: fixed default_argument_options: argument: '' - default_argument_skip_url: false summary_options: { } summary: sort_order: asc @@ -1330,7 +1329,6 @@ display: default_argument_type: fixed default_argument_options: argument: '' - default_argument_skip_url: false summary_options: { } summary: sort_order: asc diff --git a/services/drupal/config/sync/views.view.my_groups.yml b/services/drupal/config/sync/views.view.my_groups.yml index c62755d90a..bd4135a9e9 100644 --- a/services/drupal/config/sync/views.view.my_groups.yml +++ b/services/drupal/config/sync/views.view.my_groups.yml @@ -171,7 +171,6 @@ display: title: '' default_argument_type: current_user default_argument_options: { } - default_argument_skip_url: false summary_options: base_path: '' count: true diff --git a/services/drupal/config/sync/views.view.taxonomy_term.yml b/services/drupal/config/sync/views.view.taxonomy_term.yml index 7fa117470a..e3f41fcb30 100644 --- a/services/drupal/config/sync/views.view.taxonomy_term.yml +++ b/services/drupal/config/sync/views.view.taxonomy_term.yml @@ -110,7 +110,6 @@ display: default_argument_type: fixed default_argument_options: argument: '' - default_argument_skip_url: false summary_options: base_path: '' count: true