From e20d077fda9df62fc4c5e2c638e5cf169ae0ac83 Mon Sep 17 00:00:00 2001 From: CircleCI Date: Tue, 6 Feb 2024 17:10:53 +0000 Subject: [PATCH 1/5] 10.1.2 --- .../humsci_default_content/humsci_default_content.info.yml | 2 +- .../humsci_events_listeners/humsci_events_listeners.info.yml | 2 +- .../humsci/su_humsci_profile/su_humsci_profile.info.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docroot/profiles/humsci/su_humsci_profile/modules/humsci_default_content/humsci_default_content.info.yml b/docroot/profiles/humsci/su_humsci_profile/modules/humsci_default_content/humsci_default_content.info.yml index 2fc9dd581c..7946da53ba 100644 --- a/docroot/profiles/humsci/su_humsci_profile/modules/humsci_default_content/humsci_default_content.info.yml +++ b/docroot/profiles/humsci/su_humsci_profile/modules/humsci_default_content/humsci_default_content.info.yml @@ -3,7 +3,7 @@ description: 'DO NOT INSTALL. This is for profile installation task only.' core_version_requirement: '^9.4 || ^10' hidden: true type: module -version: 10.1.1 +version: 10.1.2 default_content: shortcut: - 0c69448d-c6fa-4fb8-9b2e-f93f3a955baf diff --git a/docroot/profiles/humsci/su_humsci_profile/modules/humsci_events_listeners/humsci_events_listeners.info.yml b/docroot/profiles/humsci/su_humsci_profile/modules/humsci_events_listeners/humsci_events_listeners.info.yml index 8bb1bb1a99..5b96fdfa5d 100644 --- a/docroot/profiles/humsci/su_humsci_profile/modules/humsci_events_listeners/humsci_events_listeners.info.yml +++ b/docroot/profiles/humsci/su_humsci_profile/modules/humsci_events_listeners/humsci_events_listeners.info.yml @@ -16,4 +16,4 @@ dependencies: - 'hook_event_dispatcher:views_event_dispatcher' - 'rabbit_hole:rabbit_hole' - 'drupal:path_alias' -version: 10.1.1 +version: 10.1.2 diff --git a/docroot/profiles/humsci/su_humsci_profile/su_humsci_profile.info.yml b/docroot/profiles/humsci/su_humsci_profile/su_humsci_profile.info.yml index f8847c943d..b91caae9c2 100644 --- a/docroot/profiles/humsci/su_humsci_profile/su_humsci_profile.info.yml +++ b/docroot/profiles/humsci/su_humsci_profile/su_humsci_profile.info.yml @@ -1,7 +1,7 @@ name: 'Stanford HumSci' type: profile description: 'Installation profile for HumSci Drupal' -version: 10.1.1 +version: 10.1.2 core_version_requirement: '^9.4 || ^10' themes: - material_admin From b904d5f3ddc47e1e30af221ebdb21687b8fad919 Mon Sep 17 00:00:00 2001 From: pookmish Date: Tue, 6 Feb 2024 09:11:48 -0800 Subject: [PATCH 2/5] Adjust DS event fields to use display field copy settings (#1443) --- composer.json | 1 + composer.lock | 51 ++++++++- ...splay.node.hs_event.hs_horizontal_card.yml | 20 +++- ...display.node.hs_event.hs_vertical_card.yml | 36 ++++-- ...ew_display.node.hs_event.search_result.yml | 18 ++- config/default/core.extension.yml | 2 + config/default/ds.field.hs_event_day.yml | 32 +----- config/default/ds.field.hs_event_time.yml | 32 +----- .../default/ds.field.hs_event_time_range.yml | 34 +----- config/default/ds.settings.yml | 14 +-- config/default/ds_extras.settings.yml | 12 ++ .../su_humsci_profile.post_update.php | 106 ++++++++++++++++++ .../functional/Install/InstallStateCest.php | 3 + 13 files changed, 248 insertions(+), 113 deletions(-) create mode 100644 config/default/ds_extras.settings.yml diff --git a/composer.json b/composer.json index 60c9ac4c6c..9bd9e4b53d 100644 --- a/composer.json +++ b/composer.json @@ -81,6 +81,7 @@ "drupal/cshs": "^4.0", "drupal/default_content": "^2.0", "drupal/diff": "^1.0", + "drupal/display_field_copy": "^2.1", "drupal/domain_301_redirect": "^2.0", "drupal/domain_registration": "^1.6", "drupal/draggableviews": "^2.0", diff --git a/composer.lock b/composer.lock index 46e7169f73..60bb6fcb2b 100644 --- a/composer.lock +++ b/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": "27309c51373a0c5affa568de712c3fde", + "content-hash": "bb858ac267e4acded7bfd4d5a2cbc076", "packages": [ { "name": "acquia/blt", @@ -4668,6 +4668,55 @@ "issues": "https://www.drupal.org/project/issues/diff" } }, + { + "name": "drupal/display_field_copy", + "version": "2.1.0", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/display_field_copy.git", + "reference": "2.1.0" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/display_field_copy-2.1.0.zip", + "reference": "2.1.0", + "shasum": "b85dd5168ac40a7080dbabe0f1cb2dc00b387ff2" + }, + "require": { + "drupal/core": "^9.0 || ^10.0", + "drupal/ds": "*" + }, + "type": "drupal-module", + "extra": { + "drupal": { + "version": "2.1.0", + "datestamp": "1696995693", + "security-coverage": { + "status": "covered", + "message": "Covered by Drupal's security advisory policy" + } + } + }, + "notification-url": "https://packages.drupal.org/8/downloads", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "davidwbarratt", + "homepage": "https://www.drupal.org/user/411675" + }, + { + "name": "elfakhar", + "homepage": "https://www.drupal.org/user/3246612" + } + ], + "description": "A Drupal module for copying display field configurations.", + "homepage": "https://www.drupal.org/project/display_field_copy", + "support": { + "source": "https://git.drupalcode.org/project/display_field_copy" + } + }, { "name": "drupal/domain_301_redirect", "version": "2.0.3", diff --git a/config/default/core.entity_view_display.node.hs_event.hs_horizontal_card.yml b/config/default/core.entity_view_display.node.hs_event.hs_horizontal_card.yml index 550289c668..43c240f9fe 100644 --- a/config/default/core.entity_view_display.node.hs_event.hs_horizontal_card.yml +++ b/config/default/core.entity_view_display.node.hs_event.hs_horizontal_card.yml @@ -56,7 +56,7 @@ third_party_settings: date: - field_hs_event_date time: - - 'dynamic_block_field:node-hs_event_time_range' + - 'display_field_copy:node-hs_event_time_range' location: - field_hs_event_location category: @@ -73,11 +73,23 @@ third_party_settings: link: true wrapper: span class: '' - 'dynamic_block_field:node-hs_event_time_range': - plugin_id: 'dynamic_block_field:node-hs_event_time_range' + 'display_field_copy:node-hs_event_time_range': + plugin_id: 'display_field_copy:node-hs_event_time_range' weight: 3 label: hidden - formatter: default + formatter: smartdate_custom + settings: + formatter: + separator: ' - ' + date_format: 'g:i A' + custom_date_format: '' + timezone: '' + join: '' + time_format: '' + time_hour_format: '' + allday_label: 'All day' + date_first: '1' + ampm_reduce: 0 id: node.hs_event.hs_horizontal_card targetEntityType: node bundle: hs_event diff --git a/config/default/core.entity_view_display.node.hs_event.hs_vertical_card.yml b/config/default/core.entity_view_display.node.hs_event.hs_vertical_card.yml index 67010c6867..9c293e419d 100644 --- a/config/default/core.entity_view_display.node.hs_event.hs_vertical_card.yml +++ b/config/default/core.entity_view_display.node.hs_event.hs_vertical_card.yml @@ -54,9 +54,9 @@ third_party_settings: month: - field_hs_event_date day: - - 'dynamic_block_field:node-hs_event_day' + - 'display_field_copy:node-hs_event_day' time: - - 'dynamic_block_field:node-hs_event_time' + - 'display_field_copy:node-hs_event_time' location: - field_hs_event_location title: @@ -71,16 +71,36 @@ third_party_settings: link: true wrapper: span class: '' - 'dynamic_block_field:node-hs_event_day': - plugin_id: 'dynamic_block_field:node-hs_event_day' + 'display_field_copy:node-hs_event_day': + plugin_id: 'display_field_copy:node-hs_event_day' weight: 2 label: hidden - formatter: default - 'dynamic_block_field:node-hs_event_time': - plugin_id: 'dynamic_block_field:node-hs_event_time' + formatter: smartdatetime_hs + settings: + formatter: + date_format: j + custom_date_format: '' + time_format: '' + time_hour_format: '' + allday_label: 'All day' + date_first: '1' + ampm_reduce: 0 + display: start + 'display_field_copy:node-hs_event_time': + plugin_id: 'display_field_copy:node-hs_event_time' weight: 3 label: hidden - formatter: default + formatter: smartdatetime_hs + settings: + formatter: + date_format: 'g:i A' + custom_date_format: '' + time_format: '' + time_hour_format: '' + allday_label: 'All day' + date_first: '1' + ampm_reduce: 0 + display: start _core: default_config_hash: Pg8viXyep1xkahAJ1PuLkHohrDbm4d4QxZBJIrb32-g id: node.hs_event.hs_vertical_card diff --git a/config/default/core.entity_view_display.node.hs_event.search_result.yml b/config/default/core.entity_view_display.node.hs_event.search_result.yml index 53934052ce..f57a05bc8d 100644 --- a/config/default/core.entity_view_display.node.hs_event.search_result.yml +++ b/config/default/core.entity_view_display.node.hs_event.search_result.yml @@ -62,7 +62,7 @@ third_party_settings: date: - field_hs_event_date time: - - 'dynamic_block_field:node-hs_event_time' + - 'display_field_copy:node-hs_event_time' location: - field_hs_event_location category: @@ -77,11 +77,21 @@ third_party_settings: weight: 0 label: hidden formatter: default - 'dynamic_block_field:node-hs_event_time': - plugin_id: 'dynamic_block_field:node-hs_event_time' + 'display_field_copy:node-hs_event_time': + plugin_id: 'display_field_copy:node-hs_event_time' weight: 3 label: hidden - formatter: default + formatter: smartdatetime_hs + settings: + formatter: + date_format: 'g:i A' + custom_date_format: '' + time_format: '' + time_hour_format: '' + allday_label: 'All day' + date_first: '1' + ampm_reduce: 0 + display: start _core: default_config_hash: Pg8viXyep1xkahAJ1PuLkHohrDbm4d4QxZBJIrb32-g id: node.hs_event.search_result diff --git a/config/default/core.extension.yml b/config/default/core.extension.yml index 719ca604f6..03058acd55 100644 --- a/config/default/core.extension.yml +++ b/config/default/core.extension.yml @@ -50,6 +50,7 @@ module: datetime_range: 0 default_content: 0 diff: 0 + display_field_copy: 0 domain_301_redirect: 0 domain_registration: 0 draggableviews: 0 @@ -262,6 +263,7 @@ module: pathauto: 1 selective_better_exposed_filters: 1 xmlsitemap: 1 + ds_extras: 2 externalauth: 10 hs_field_helpers: 10 menu_link_weight: 10 diff --git a/config/default/ds.field.hs_event_day.yml b/config/default/ds.field.hs_event_day.yml index 92e6668ec3..a1e00e8631 100644 --- a/config/default/ds.field.hs_event_day.yml +++ b/config/default/ds.field.hs_event_day.yml @@ -1,35 +1,9 @@ id: hs_event_day label: 'Event Start Day' ui_limit: 'hs_event|*' -type: block -type_label: 'Block field' +type: display_field_copy +type_label: 'Copy field' entities: node: node properties: - block: 'field_block:node:hs_event:field_hs_event_date' - use_block_title: false - add_block_wrappers: false - config: - id: 'field_block:node:hs_event:field_hs_event_date' - label: '' - label_display: '' - provider: layout_builder - context_mapping: - entity: '@node.node_route_context:node' - formatter: - type: smartdatetime_hs - label: hidden - settings: - date_format: j - custom_date_format: '' - time_format: '' - time_hour_format: '' - allday_label: 'All day' - date_first: '1' - ampm_reduce: 0 - display: start - third_party_settings: - field_formatter_class: - class: '' - hs_field_helpers: - inline_contents: 0 + field_id: node.hs_event.field_hs_event_date diff --git a/config/default/ds.field.hs_event_time.yml b/config/default/ds.field.hs_event_time.yml index 8a29cace31..4dfbb42ba6 100644 --- a/config/default/ds.field.hs_event_time.yml +++ b/config/default/ds.field.hs_event_time.yml @@ -1,35 +1,9 @@ id: hs_event_time label: 'Event Start Time' ui_limit: 'hs_event|*' -type: block -type_label: 'Block field' +type: display_field_copy +type_label: 'Copy field' entities: node: node properties: - block: 'field_block:node:hs_event:field_hs_event_date' - use_block_title: false - add_block_wrappers: false - config: - id: 'field_block:node:hs_event:field_hs_event_date' - label: '' - label_display: '' - provider: layout_builder - context_mapping: - entity: '@node.node_route_context:node' - formatter: - type: smartdatetime_hs - label: hidden - settings: - date_format: 'g:i A' - custom_date_format: '' - time_format: '' - time_hour_format: '' - allday_label: 'All day' - date_first: '1' - ampm_reduce: 0 - display: start - third_party_settings: - field_formatter_class: - class: '' - hs_field_helpers: - inline_contents: 0 + field_id: node.hs_event.field_hs_event_date diff --git a/config/default/ds.field.hs_event_time_range.yml b/config/default/ds.field.hs_event_time_range.yml index 9b9154c023..c67c048091 100644 --- a/config/default/ds.field.hs_event_time_range.yml +++ b/config/default/ds.field.hs_event_time_range.yml @@ -1,37 +1,9 @@ id: hs_event_time_range label: 'Event Time Range' ui_limit: 'hs_event|*' -type: block -type_label: 'Block field' +type: display_field_copy +type_label: 'Copy field' entities: node: node properties: - block: 'field_block:node:hs_event:field_hs_event_date' - use_block_title: false - add_block_wrappers: false - config: - id: 'field_block:node:hs_event:field_hs_event_date' - label: '' - label_display: '' - provider: layout_builder - context_mapping: - entity: '@node.node_route_context:node' - formatter: - type: smartdate_custom - label: hidden - settings: - separator: ' - ' - date_format: 'g:i A' - custom_date_format: '' - timezone: '' - join: '' - time_format: '' - time_hour_format: '' - allday_label: 'All day' - date_first: '1' - ampm_reduce: 0 - third_party_settings: - field_formatter_class: - class: '' - hs_field_helpers: - inline_contents: 0 + field_id: node.hs_event.field_hs_event_date diff --git a/config/default/ds.settings.yml b/config/default/ds.settings.yml index 62d1d2876c..281ca55bf0 100644 --- a/config/default/ds.settings.yml +++ b/config/default/ds.settings.yml @@ -2,17 +2,17 @@ _core: default_config_hash: xfB0qOeoAomOThclNNokdKTrVwXLcXz13SU3-4a5-FY disabled: false field_template: false +ft_default: default +ft_show_colon: false +ft_layout_builder: false +ft_bc: false +ft_default_bc: false +ft_expert_prefix_suffix_textarea: false classes: region: { } field: { } use_field_names: true -ft_bc: true -exclude_layout_builder_blocks_on_block_field: false -ft_expert_prefix_suffix_textarea: false -ft_default: default -ft_show_colon: false -ft_layout_builder: null +exclude_layout_builder_blocks_on_block_field: true exclude_ds_layout_layout_builder: false layout_icon_image_bc: true -ft_default_bc: true layout_suggestion_bc: true diff --git a/config/default/ds_extras.settings.yml b/config/default/ds_extras.settings.yml new file mode 100644 index 0000000000..948ecf377f --- /dev/null +++ b/config/default/ds_extras.settings.yml @@ -0,0 +1,12 @@ +_core: + default_config_hash: 8pAfQieshWvLj1iz2mD2Ydynqhjim6jFKtet9mXaMKI +region_blocks: { } +fields_extra: false +fields_extra_list: { } +field_permissions: false +switch_field: false +switch_field_prefix: node--view-mode- +hidden_region: false +region_to_block: false +override_node_revision: false +override_node_revision_view_mode: full diff --git a/docroot/profiles/humsci/su_humsci_profile/su_humsci_profile.post_update.php b/docroot/profiles/humsci/su_humsci_profile/su_humsci_profile.post_update.php index 067f9fe9c9..80b61d5bb4 100644 --- a/docroot/profiles/humsci/su_humsci_profile/su_humsci_profile.post_update.php +++ b/docroot/profiles/humsci/su_humsci_profile/su_humsci_profile.post_update.php @@ -365,3 +365,109 @@ function su_humsci_profile_post_update_key_dependency_clean() { } } } + +/** + * Update display suite fields from layout builder to field copy. + */ +function su_humsci_profile_post_update_fix_ds_fields() { + \Drupal::service('module_installer')->install(['display_field_copy']); + $ds_configs = [ + 'hs_event_day' => [ + 'type' => 'smartdatetime_hs', + 'settings' => [ + 'date_format' => 'j', + 'custom_date_format' => '', + 'time_format' => '', + 'time_hour_format' => '', + 'allday_label' => 'All day', + 'date_first' => '1', + 'ampm_reduce' => 0, + 'display' => 'start', + ], + ], + 'hs_event_time' => [ + 'type' => 'smartdatetime_hs', + 'settings' => [ + 'date_format' => 'g:i A', + 'custom_date_format' => '', + 'time_format' => '', + 'time_hour_format' => '', + 'allday_label' => 'All day', + 'date_first' => '1', + 'ampm_reduce' => 0, + 'display' => 'start', + ], + ], + 'hs_event_time_range' => [ + 'type' => 'smartdate_custom', + 'settings' => [ + 'separator' => ' - ', + 'date_format' => 'g:i A', + 'custom_date_format' => '', + 'timezone' => '', + 'join' => '', + 'time_format' => '', + 'time_hour_format' => '', + 'allday_label' => 'All day', + 'date_first' => '1', + 'ampm_reduce' => 0, + ], + ], + ]; + + /** @var \Drupal\Core\Config\FileStorage $config_storage */ + $config_storage = \Drupal::service('config.storage.sync'); + $config_factory = \Drupal::configFactory(); + foreach (array_keys($ds_configs) as $config_name) { + $config_factory->getEditable("ds.field.$config_name") + ->setData($config_storage->read("ds.field.$config_name")) + ->save(TRUE); + } + + + /** @var \Drupal\Core\Entity\Display\EntityViewDisplayInterface[] $event_displays */ + $event_displays = \Drupal::entityTypeManager() + ->getStorage('entity_view_display') + ->loadByProperties(['bundle' => 'hs_event']); + foreach ($event_displays as $display) { + $save_display = false; + $ds_settings = $display->getThirdPartySettings('ds'); + if (!$ds_settings) { + continue; + } + + foreach ($ds_settings['regions'] as &$region_fields) { + foreach (array_keys($ds_configs) as $name) { + $field_position = array_search("dynamic_block_field:node-$name", $region_fields); + if ($field_position !== FALSE) { + $region_fields[$field_position] = "display_field_copy:node-$name"; + $save_display = TRUE; + } + } + } + + foreach (array_keys($ds_settings['fields']) as $field_name) { + foreach (array_keys($ds_configs) as $name) { + if ($field_name == "dynamic_block_field:node-$name") { + $ds_settings['fields']["display_field_copy:node-$name"] = [ + 'plugin_id' => "display_field_copy:node-$name", + 'weight' => $ds_settings['fields'][$field_name]['weight'], + 'label' => $ds_settings['fields'][$field_name]['label'], + 'formatter' => $ds_configs[$name]['type'], + 'settings' => ['formatter' => $ds_configs[$name]['settings']], + ]; + + unset($ds_settings['fields'][$field_name]); + $save_display = TRUE; + } + } + } + + if ($save_display) { + foreach ($ds_settings as $setting_key => $settings) { + $display->setThirdPartySetting('ds', $setting_key, $settings); + } + $display->save(); + } + } +} diff --git a/tests/codeception/functional/Install/InstallStateCest.php b/tests/codeception/functional/Install/InstallStateCest.php index 158162bcf5..fefceb793b 100644 --- a/tests/codeception/functional/Install/InstallStateCest.php +++ b/tests/codeception/functional/Install/InstallStateCest.php @@ -3,6 +3,9 @@ use Faker\Factory; +/** + * @group install + */ class InstallStateCest { /** From 0126b3211d7ff6df483365795b1edd12cee3acda Mon Sep 17 00:00:00 2001 From: Mike Decker Date: Tue, 6 Feb 2024 09:35:47 -0800 Subject: [PATCH 3/5] HSD8-1568 Provision mathematics2024 --- blt/blt.yml | 1 + docroot/sites/mathematics2024/blt.yml | 12 + .../mathematics2024/default.local.drush.yml | 2 + .../mathematics2024/default.services.yml | 230 +++++ .../mathematics2024/default.settings.php | 883 ++++++++++++++++++ docroot/sites/mathematics2024/services.yml | 174 ++++ docroot/sites/mathematics2024/settings.php | 813 ++++++++++++++++ .../settings/default.includes.settings.php | 50 + .../settings/default.local.settings.php | 159 ++++ drush/sites/mathematics2024.site.yml | 18 + 10 files changed, 2342 insertions(+) create mode 100644 docroot/sites/mathematics2024/blt.yml create mode 100644 docroot/sites/mathematics2024/default.local.drush.yml create mode 100644 docroot/sites/mathematics2024/default.services.yml create mode 100644 docroot/sites/mathematics2024/default.settings.php create mode 100644 docroot/sites/mathematics2024/services.yml create mode 100644 docroot/sites/mathematics2024/settings.php create mode 100644 docroot/sites/mathematics2024/settings/default.includes.settings.php create mode 100644 docroot/sites/mathematics2024/settings/default.local.settings.php create mode 100644 drush/sites/mathematics2024.site.yml diff --git a/blt/blt.yml b/blt/blt.yml index a3773d921e..b4e21153d8 100644 --- a/blt/blt.yml +++ b/blt/blt.yml @@ -146,6 +146,7 @@ multisites: - lowe - mathematics - mathematics2023 + - mathematics2024 - mcs - mcs2023 - mediterraneanstudies diff --git a/docroot/sites/mathematics2024/blt.yml b/docroot/sites/mathematics2024/blt.yml new file mode 100644 index 0000000000..0ce21c9de1 --- /dev/null +++ b/docroot/sites/mathematics2024/blt.yml @@ -0,0 +1,12 @@ +project: + machine_name: mathematics2024 + human_name: mathematics2024 + local: + protocol: http + hostname: local.mathematics2024.com +drush: + aliases: + local: mathematics2024.local + remote: mathematics2024.prod +drupal: + db: { } diff --git a/docroot/sites/mathematics2024/default.local.drush.yml b/docroot/sites/mathematics2024/default.local.drush.yml new file mode 100644 index 0000000000..fb3258e3f9 --- /dev/null +++ b/docroot/sites/mathematics2024/default.local.drush.yml @@ -0,0 +1,2 @@ +options: + uri: '${project.local.uri}' diff --git a/docroot/sites/mathematics2024/default.services.yml b/docroot/sites/mathematics2024/default.services.yml new file mode 100644 index 0000000000..c4b964fc29 --- /dev/null +++ b/docroot/sites/mathematics2024/default.services.yml @@ -0,0 +1,230 @@ +parameters: + session.storage.options: + # Default ini options for sessions. + # + # Some distributions of Linux (most notably Debian) ship their PHP + # installations with garbage collection (gc) disabled. Since Drupal depends + # on PHP's garbage collection for clearing sessions, ensure that garbage + # collection occurs by using the most common settings. + # @default 1 + gc_probability: 1 + # @default 100 + gc_divisor: 100 + # + # Set session lifetime (in seconds), i.e. the grace period for session + # data. Sessions are deleted by the session garbage collector after one + # session lifetime has elapsed since the user's last visit. When a session + # is deleted, authenticated users are logged out, and the contents of the + # user's session is discarded. + # @default 200000 + gc_maxlifetime: 200000 + # + # Set session cookie lifetime (in seconds), i.e. the time from the session + # is created to the cookie expires, i.e. when the browser is expected to + # discard the cookie. The value 0 means "until the browser is closed". + # @default 2000000 + cookie_lifetime: 2000000 + # + # Drupal automatically generates a unique session cookie name based on the + # full domain name used to access the site. This mechanism is sufficient + # for most use-cases, including multi-site deployments. However, if it is + # desired that a session can be reused across different subdomains, the + # cookie domain needs to be set to the shared base domain. Doing so assures + # that users remain logged in as they cross between various subdomains. + # To maximize compatibility and normalize the behavior across user agents, + # the cookie domain should start with a dot. + # + # @default none + # cookie_domain: '.example.com' + # + # Set the SameSite cookie attribute: 'None', 'Lax', or 'Strict'. If set, + # this value will override the server value. See + # https://www.php.net/manual/en/session.security.ini.php for more + # information. + # @default no value + cookie_samesite: Lax + # + # Set the session ID string length. The length can be between 22 to 256. The + # PHP recommended value is 48. See + # https://www.php.net/manual/session.security.ini.php for more information. + # This value should be kept in sync with + # \Drupal\Core\Session\SessionConfiguration::__construct() + # @default 48 + sid_length: 48 + # + # Set the number of bits in encoded session ID character. The possible + # values are '4' (0-9, a-f), '5' (0-9, a-v), and '6' (0-9, a-z, A-Z, "-", + # ","). The PHP recommended value is 6. See + # https://www.php.net/manual/session.security.ini.php for more information. + # This value should be kept in sync with + # \Drupal\Core\Session\SessionConfiguration::__construct() + # @default 6 + sid_bits_per_character: 6 + twig.config: + # Twig debugging: + # + # When debugging is enabled: + # - The markup of each Twig template is surrounded by HTML comments that + # contain theming information, such as template file name suggestions. + # - Note that this debugging markup will cause automated tests that directly + # check rendered HTML to fail. When running automated tests, 'debug' + # should be set to FALSE. + # - The dump() function can be used in Twig templates to output information + # about template variables. + # - Twig templates are automatically recompiled whenever the source code + # changes (see auto_reload below). + # + # For more information about debugging Twig templates, see + # https://www.drupal.org/node/1906392. + # + # Enabling Twig debugging is not recommended in production environments. + # @default false + debug: false + # Twig auto-reload: + # + # Automatically recompile Twig templates whenever the source code changes. + # If you don't provide a value for auto_reload, it will be determined + # based on the value of debug. + # + # Enabling auto-reload is not recommended in production environments. + # @default null + auto_reload: null + # Twig cache: + # + # By default, Twig templates will be compiled and stored in the filesystem + # to increase performance. Disabling the Twig cache will recompile the + # templates from source each time they are used. In most cases the + # auto_reload setting above should be enabled rather than disabling the + # Twig cache. + # + # Disabling the Twig cache is not recommended in production environments. + # @default true + cache: true + # File extensions: + # + # List of file extensions the Twig system is allowed to load via the + # twig.loader.filesystem service. Files with other extensions will not be + # loaded unless they are added here. For example, to allow a file named + # 'example.partial' to be loaded, add 'partial' to this list. To load files + # with no extension, add an empty string '' to the list. + # + # @default ['css', 'html', 'js', 'svg', 'twig'] + allowed_file_extensions: + - css + - html + - js + - svg + - twig + renderer.config: + # Renderer required cache contexts: + # + # The Renderer will automatically associate these cache contexts with every + # render array, hence varying every render array by these cache contexts. + # + # @default ['languages:language_interface', 'theme', 'user.permissions'] + required_cache_contexts: ['languages:language_interface', 'theme', 'user.permissions'] + # Renderer automatic placeholdering conditions: + # + # Drupal allows portions of the page to be automatically deferred when + # rendering to improve cache performance. That is especially helpful for + # cache contexts that vary widely, such as the active user. On some sites + # those may be different, however, such as sites with only a handful of + # users. If you know what the high-cardinality cache contexts are for your + # site, specify those here. If you're not sure, the defaults are fairly safe + # in general. + # + # For more information about rendering optimizations see + # https://www.drupal.org/developing/api/8/render/arrays/cacheability#optimizing + auto_placeholder_conditions: + # Max-age at or below which caching is not considered worthwhile. + # + # Disable by setting to -1. + # + # @default 0 + max-age: 0 + # Cache contexts with a high cardinality. + # + # Disable by setting to []. + # + # @default ['session', 'user'] + contexts: ['session', 'user'] + # Tags with a high invalidation frequency. + # + # Disable by setting to []. + # + # @default [] + tags: [] + # Renderer cache debug: + # + # Allows cache debugging output for each rendered element. + # + # Enabling render cache debugging is not recommended in production + # environments. + # @default false + debug: false + # Cacheability debugging: + # + # Responses with cacheability metadata (CacheableResponseInterface instances) + # get X-Drupal-Cache-Tags, X-Drupal-Cache-Contexts and X-Drupal-Cache-Max-Age + # headers. + # + # For more information about debugging cacheable responses, see + # https://www.drupal.org/developing/api/8/response/cacheable-response-interface + # + # Enabling cacheability debugging is not recommended in production + # environments. + # @default false + http.response.debug_cacheability_headers: false + factory.keyvalue: {} + # Default key/value storage service to use. + # @default keyvalue.database + # default: keyvalue.database + # Collection-specific overrides. + # state: keyvalue.database + factory.keyvalue.expirable: {} + # Default key/value expirable storage service to use. + # @default keyvalue.database.expirable + # default: keyvalue.database.expirable + # Allowed protocols for URL generation. + filter_protocols: + - http + - https + - ftp + - news + - nntp + - tel + - telnet + - mailto + - irc + - ssh + - sftp + - webcal + - rtsp + + # Configure Cross-Site HTTP requests (CORS). + # Read https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS + # for more information about the topic in general. + # Note: By default the configuration is disabled. + cors.config: + enabled: false + # Specify allowed headers, like 'x-allowed-header'. + allowedHeaders: [] + # Specify allowed request methods, specify ['*'] to allow all possible ones. + allowedMethods: [] + # Configure requests allowed from specific origins. Do not include trailing + # slashes with URLs. + allowedOrigins: ['*'] + # Configure requests allowed from origins, matching against regex patterns. + allowedOriginsPatterns: [] + # Sets the Access-Control-Expose-Headers header. + exposedHeaders: false + # Sets the Access-Control-Max-Age header. + maxAge: false + # Sets the Access-Control-Allow-Credentials header. + supportsCredentials: false + + queue.config: + # The maximum number of seconds to wait if a queue is temporarily suspended. + # This is not applicable when a queue is suspended but does not specify + # how long to wait before attempting to resume. + suspendMaximumWait: 30 diff --git a/docroot/sites/mathematics2024/default.settings.php b/docroot/sites/mathematics2024/default.settings.php new file mode 100644 index 0000000000..d69b1865ec --- /dev/null +++ b/docroot/sites/mathematics2024/default.settings.php @@ -0,0 +1,883 @@ + 'databasename', + * 'username' => 'sql_username', + * 'password' => 'sql_password', + * 'host' => 'localhost', + * 'port' => '3306', + * 'driver' => 'mysql', + * 'prefix' => '', + * 'collation' => 'utf8mb4_general_ci', + * ]; + * @endcode + */ +$databases = []; + +/** + * Customizing database settings. + * + * Many of the values of the $databases array can be customized for your + * particular database system. Refer to the sample in the section above as a + * starting point. + * + * The "driver" property indicates what Drupal database driver the + * connection should use. This is usually the same as the name of the + * database type, such as mysql or sqlite, but not always. The other + * properties will vary depending on the driver. For SQLite, you must + * specify a database file name in a directory that is writable by the + * webserver. For most other drivers, you must specify a + * username, password, host, and database name. + * + * Drupal core implements drivers for mysql, pgsql, and sqlite. Other drivers + * can be provided by contributed or custom modules. To use a contributed or + * custom driver, the "namespace" property must be set to the namespace of the + * driver. The code in this namespace must be autoloadable prior to connecting + * to the database, and therefore, prior to when module root namespaces are + * added to the autoloader. To add the driver's namespace to the autoloader, + * set the "autoload" property to the PSR-4 base directory of the driver's + * namespace. This is optional for projects managed with Composer if the + * driver's namespace is in Composer's autoloader. + * + * For each database, you may optionally specify multiple "target" databases. + * A target database allows Drupal to try to send certain queries to a + * different database if it can but fall back to the default connection if not. + * That is useful for primary/replica replication, as Drupal may try to connect + * to a replica server when appropriate and if one is not available will simply + * fall back to the single primary server (The terms primary/replica are + * traditionally referred to as master/slave in database server documentation). + * + * The general format for the $databases array is as follows: + * @code + * $databases['default']['default'] = $info_array; + * $databases['default']['replica'][] = $info_array; + * $databases['default']['replica'][] = $info_array; + * $databases['extra']['default'] = $info_array; + * @endcode + * + * In the above example, $info_array is an array of settings described above. + * The first line sets a "default" database that has one primary database + * (the second level default). The second and third lines create an array + * of potential replica databases. Drupal will select one at random for a given + * request as needed. The fourth line creates a new database with a name of + * "extra". + * + * For MySQL, MariaDB or equivalent databases the 'isolation_level' option can + * be set. The recommended transaction isolation level for Drupal sites is + * 'READ COMMITTED'. The 'REPEATABLE READ' option is supported but can result + * in deadlocks, the other two options are 'READ UNCOMMITTED' and 'SERIALIZABLE'. + * They are available but not supported; use them at your own risk. For more + * info: + * https://dev.mysql.com/doc/refman/5.7/en/innodb-transaction-isolation-levels.html + * + * On your settings.php, change the isolation level: + * @code + * $databases['default']['default']['init_commands'] = [ + * 'isolation_level' => 'SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED', + * ]; + * @endcode + * + * You can optionally set a prefix for all database table names by using the + * 'prefix' setting. If a prefix is specified, the table name will be prepended + * with its value. Be sure to use valid database characters only, usually + * alphanumeric and underscore. If no prefix is desired, do not set the 'prefix' + * key or set its value to an empty string ''. + * + * For example, to have all database table prefixed with 'main_', set: + * @code + * 'prefix' => 'main_', + * @endcode + * + * Advanced users can add or override initial commands to execute when + * connecting to the database server, as well as PDO connection settings. For + * example, to enable MySQL SELECT queries to exceed the max_join_size system + * variable, and to reduce the database connection timeout to 5 seconds: + * @code + * $databases['default']['default'] = [ + * 'init_commands' => [ + * 'big_selects' => 'SET SQL_BIG_SELECTS=1', + * ], + * 'pdo' => [ + * PDO::ATTR_TIMEOUT => 5, + * ], + * ]; + * @endcode + * + * WARNING: The above defaults are designed for database portability. Changing + * them may cause unexpected behavior, including potential data loss. See + * https://www.drupal.org/developing/api/database/configuration for more + * information on these defaults and the potential issues. + * + * More details can be found in the constructor methods for each driver: + * - \Drupal\mysql\Driver\Database\mysql\Connection::__construct() + * - \Drupal\pgsql\Driver\Database\pgsql\Connection::__construct() + * - \Drupal\sqlite\Driver\Database\sqlite\Connection::__construct() + * + * Sample Database configuration format for PostgreSQL (pgsql): + * @code + * $databases['default']['default'] = [ + * 'driver' => 'pgsql', + * 'database' => 'databasename', + * 'username' => 'sql_username', + * 'password' => 'sql_password', + * 'host' => 'localhost', + * 'prefix' => '', + * ]; + * @endcode + * + * Sample Database configuration format for SQLite (sqlite): + * @code + * $databases['default']['default'] = [ + * 'driver' => 'sqlite', + * 'database' => '/path/to/database_filename', + * ]; + * @endcode + * + * Sample Database configuration format for a driver in a contributed module: + * @code + * $databases['default']['default'] = [ + * 'driver' => 'my_driver', + * 'namespace' => 'Drupal\my_module\Driver\Database\my_driver', + * 'autoload' => 'modules/my_module/src/Driver/Database/my_driver/', + * 'database' => 'databasename', + * 'username' => 'sql_username', + * 'password' => 'sql_password', + * 'host' => 'localhost', + * 'prefix' => '', + * ]; + * @endcode + * + * Sample Database configuration format for a driver that is extending another + * database driver. + * @code + * $databases['default']['default'] = [ + * 'driver' => 'my_driver', + * 'namespace' => 'Drupal\my_module\Driver\Database\my_driver', + * 'autoload' => 'modules/my_module/src/Driver/Database/my_driver/', + * 'database' => 'databasename', + * 'username' => 'sql_username', + * 'password' => 'sql_password', + * 'host' => 'localhost', + * 'prefix' => '', + * 'dependencies' => [ + * 'parent_module' => [ + * 'namespace' => 'Drupal\parent_module', + * 'autoload' => 'core/modules/parent_module/src/', + * ], + * ], + * ]; + * @endcode + */ + +/** + * Location of the site configuration files. + * + * The $settings['config_sync_directory'] specifies the location of file system + * directory used for syncing configuration data. On install, the directory is + * created. This is used for configuration imports. + * + * The default location for this directory is inside a randomly-named + * directory in the public files path. The setting below allows you to set + * its location. + */ +# $settings['config_sync_directory'] = '/directory/outside/webroot'; + +/** + * Settings: + * + * $settings contains environment-specific configuration, such as the files + * directory and reverse proxy address, and temporary configuration, such as + * security overrides. + * + * @see \Drupal\Core\Site\Settings::get() + */ + +/** + * Salt for one-time login links, cancel links, form tokens, etc. + * + * This variable will be set to a random value by the installer. All one-time + * login links will be invalidated if the value is changed. Note that if your + * site is deployed on a cluster of web servers, you must ensure that this + * variable has the same value on each server. + * + * For enhanced security, you may set this variable to the contents of a file + * outside your document root, and vary the value across environments (like + * production and development); you should also ensure that this file is not + * stored with backups of your database. + * + * Example: + * @code + * $settings['hash_salt'] = file_get_contents('/home/example/salt.txt'); + * @endcode + */ +$settings['hash_salt'] = ''; + +/** + * Deployment identifier. + * + * Drupal's dependency injection container will be automatically invalidated and + * rebuilt when the Drupal core version changes. When updating contributed or + * custom code that changes the container, changing this identifier will also + * allow the container to be invalidated as soon as code is deployed. + */ +# $settings['deployment_identifier'] = \Drupal::VERSION; + +/** + * Access control for update.php script. + * + * If you are updating your Drupal installation using the update.php script but + * are not logged in using either an account with the "Administer software + * updates" permission or the site maintenance account (the account that was + * created during installation), you will need to modify the access check + * statement below. Change the FALSE to a TRUE to disable the access check. + * After finishing the upgrade, be sure to open this file again and change the + * TRUE back to a FALSE! + */ +$settings['update_free_access'] = FALSE; + +/** + * Fallback to HTTP for Update Manager and for fetching security advisories. + * + * If your site fails to connect to updates.drupal.org over HTTPS (either when + * fetching data on available updates, or when fetching the feed of critical + * security announcements), you may uncomment this setting and set it to TRUE to + * allow an insecure fallback to HTTP. Note that doing so will open your site up + * to a potential man-in-the-middle attack. You should instead attempt to + * resolve the issues before enabling this option. + * @see https://www.drupal.org/docs/system-requirements/php-requirements#openssl + * @see https://en.wikipedia.org/wiki/Man-in-the-middle_attack + * @see \Drupal\update\UpdateFetcher + * @see \Drupal\system\SecurityAdvisories\SecurityAdvisoriesFetcher + */ +# $settings['update_fetch_with_http_fallback'] = TRUE; + +/** + * External access proxy settings: + * + * If your site must access the Internet via a web proxy then you can enter the + * proxy settings here. Set the full URL of the proxy, including the port, in + * variables: + * - $settings['http_client_config']['proxy']['http']: The proxy URL for HTTP + * requests. + * - $settings['http_client_config']['proxy']['https']: The proxy URL for HTTPS + * requests. + * You can pass in the user name and password for basic authentication in the + * URLs in these settings. + * + * You can also define an array of host names that can be accessed directly, + * bypassing the proxy, in $settings['http_client_config']['proxy']['no']. + */ +# $settings['http_client_config']['proxy']['http'] = 'http://proxy_user:proxy_pass@example.com:8080'; +# $settings['http_client_config']['proxy']['https'] = 'http://proxy_user:proxy_pass@example.com:8080'; +# $settings['http_client_config']['proxy']['no'] = ['127.0.0.1', 'localhost']; + +/** + * Reverse Proxy Configuration: + * + * Reverse proxy servers are often used to enhance the performance + * of heavily visited sites and may also provide other site caching, + * security, or encryption benefits. In an environment where Drupal + * is behind a reverse proxy, the real IP address of the client should + * be determined such that the correct client IP address is available + * to Drupal's logging, statistics, and access management systems. In + * the most simple scenario, the proxy server will add an + * X-Forwarded-For header to the request that contains the client IP + * address. However, HTTP headers are vulnerable to spoofing, where a + * malicious client could bypass restrictions by setting the + * X-Forwarded-For header directly. Therefore, Drupal's proxy + * configuration requires the IP addresses of all remote proxies to be + * specified in $settings['reverse_proxy_addresses'] to work correctly. + * + * Enable this setting to get Drupal to determine the client IP from the + * X-Forwarded-For header. If you are unsure about this setting, do not have a + * reverse proxy, or Drupal operates in a shared hosting environment, this + * setting should remain commented out. + * + * In order for this setting to be used you must specify every possible + * reverse proxy IP address in $settings['reverse_proxy_addresses']. + * If a complete list of reverse proxies is not available in your + * environment (for example, if you use a CDN) you may set the + * $_SERVER['REMOTE_ADDR'] variable directly in settings.php. + * Be aware, however, that it is likely that this would allow IP + * address spoofing unless more advanced precautions are taken. + */ +# $settings['reverse_proxy'] = TRUE; + +/** + * Reverse proxy addresses. + * + * Specify every reverse proxy IP address in your environment, as an array of + * IPv4/IPv6 addresses or subnets in CIDR notation. This setting is required if + * $settings['reverse_proxy'] is TRUE. + */ +# $settings['reverse_proxy_addresses'] = ['a.b.c.d', 'e.f.g.h/24', ...]; + +/** + * Reverse proxy trusted headers. + * + * Sets which headers to trust from your reverse proxy. + * + * Common values are: + * - \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_FOR + * - \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_HOST + * - \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_PORT + * - \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_PROTO + * - \Symfony\Component\HttpFoundation\Request::HEADER_FORWARDED + * + * Note the default value of + * @code + * \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_FOR | \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_HOST | \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_PORT | \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_PROTO | \Symfony\Component\HttpFoundation\Request::HEADER_FORWARDED + * @endcode + * is not secure by default. The value should be set to only the specific + * headers the reverse proxy uses. For example: + * @code + * \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_FOR | \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_HOST | \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_PORT | \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_PROTO + * @endcode + * This would trust the following headers: + * - X_FORWARDED_FOR + * - X_FORWARDED_HOST + * - X_FORWARDED_PROTO + * - X_FORWARDED_PORT + * + * @see \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_FOR + * @see \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_HOST + * @see \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_PORT + * @see \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_PROTO + * @see \Symfony\Component\HttpFoundation\Request::HEADER_FORWARDED + * @see \Symfony\Component\HttpFoundation\Request::setTrustedProxies + */ +# $settings['reverse_proxy_trusted_headers'] = \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_FOR | \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_HOST | \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_PORT | \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_PROTO | \Symfony\Component\HttpFoundation\Request::HEADER_FORWARDED; + + +/** + * Page caching: + * + * By default, Drupal sends a "Vary: Cookie" HTTP header for anonymous page + * views. This tells a HTTP proxy that it may return a page from its local + * cache without contacting the web server, if the user sends the same Cookie + * header as the user who originally requested the cached page. Without "Vary: + * Cookie", authenticated users would also be served the anonymous page from + * the cache. If the site has mostly anonymous users except a few known + * editors/administrators, the Vary header can be omitted. This allows for + * better caching in HTTP proxies (including reverse proxies), i.e. even if + * clients send different cookies, they still get content served from the cache. + * However, authenticated users should access the site directly (i.e. not use an + * HTTP proxy, and bypass the reverse proxy if one is used) in order to avoid + * getting cached pages from the proxy. + */ +# $settings['omit_vary_cookie'] = TRUE; + + +/** + * Cache TTL for client error (4xx) responses. + * + * Items cached per-URL tend to result in a large number of cache items, and + * this can be problematic on 404 pages which by their nature are unbounded. A + * fixed TTL can be set for these items, defaulting to one hour, so that cache + * backends which do not support LRU can purge older entries. To disable caching + * of client error responses set the value to 0. Currently applies only to + * page_cache module. + */ +# $settings['cache_ttl_4xx'] = 3600; + +/** + * Expiration of cached forms. + * + * Drupal's Form API stores details of forms in a cache and these entries are + * kept for at least 6 hours by default. Expired entries are cleared by cron. + * + * @see \Drupal\Core\Form\FormCache::setCache() + */ +# $settings['form_cache_expiration'] = 21600; + +/** + * Class Loader. + * + * If the APCu extension is detected, the classloader will be optimized to use + * it. Set to FALSE to disable this. + * + * @see https://getcomposer.org/doc/articles/autoloader-optimization.md + */ +# $settings['class_loader_auto_detect'] = FALSE; + +/** + * Authorized file system operations: + * + * The Update Manager module included with Drupal provides a mechanism for + * site administrators to securely install missing updates for the site + * directly through the web user interface. On securely-configured servers, + * the Update manager will require the administrator to provide SSH or FTP + * credentials before allowing the installation to proceed; this allows the + * site to update the new files as the user who owns all the Drupal files, + * instead of as the user the webserver is running as. On servers where the + * webserver user is itself the owner of the Drupal files, the administrator + * will not be prompted for SSH or FTP credentials (note that these server + * setups are common on shared hosting, but are inherently insecure). + * + * Some sites might wish to disable the above functionality, and only update + * the code directly via SSH or FTP themselves. This setting completely + * disables all functionality related to these authorized file operations. + * + * @see https://www.drupal.org/node/244924 + * + * Remove the leading hash signs to disable. + */ +# $settings['allow_authorize_operations'] = FALSE; + +/** + * Default mode for directories and files written by Drupal. + * + * Value should be in PHP Octal Notation, with leading zero. + */ +# $settings['file_chmod_directory'] = 0775; +# $settings['file_chmod_file'] = 0664; + +/** + * Optimized assets path: + * + * A local file system path where optimized assets will be stored. This directory + * must exist and be writable by Drupal. This directory must be relative to + * the Drupal installation directory and be accessible over the web. + */ +# $settings['file_assets_path'] = 'sites/default/files'; + +/** + * Public file base URL: + * + * An alternative base URL to be used for serving public files. This must + * include any leading directory path. + * + * A different value from the domain used by Drupal to be used for accessing + * public files. This can be used for a simple CDN integration, or to improve + * security by serving user-uploaded files from a different domain or subdomain + * pointing to the same server. Do not include a trailing slash. + */ +# $settings['file_public_base_url'] = 'http://downloads.example.com/files'; + +/** + * Public file path: + * + * A local file system path where public files will be stored. This directory + * must exist and be writable by Drupal. This directory must be relative to + * the Drupal installation directory and be accessible over the web. + */ +# $settings['file_public_path'] = 'sites/default/files'; + +/** + * Additional public file schemes: + * + * Public schemes are URI schemes that allow download access to all users for + * all files within that scheme. + * + * The "public" scheme is always public, and the "private" scheme is always + * private, but other schemes, such as "https", "s3", "example", or others, + * can be either public or private depending on the site. By default, they're + * private, and access to individual files is controlled via + * hook_file_download(). + * + * Typically, if a scheme should be public, a module makes it public by + * implementing hook_file_download(), and granting access to all users for all + * files. This could be either the same module that provides the stream wrapper + * for the scheme, or a different module that decides to make the scheme + * public. However, in cases where a site needs to make a scheme public, but + * is unable to add code in a module to do so, the scheme may be added to this + * variable, the result of which is that system_file_download() grants public + * access to all files within that scheme. + */ +# $settings['file_additional_public_schemes'] = ['example']; + +/** + * File schemes whose paths should not be normalized: + * + * Normally, Drupal normalizes '/./' and '/../' segments in file URIs in order + * to prevent unintended file access. For example, 'private://css/../image.png' + * is normalized to 'private://image.png' before checking access to the file. + * + * On Windows, Drupal also replaces '\' with '/' in URIs for the local + * filesystem. + * + * If file URIs with one or more scheme should not be normalized like this, then + * list the schemes here. For example, if 'porcelain://china/./plate.png' should + * not be normalized to 'porcelain://china/plate.png', then add 'porcelain' to + * this array. In this case, make sure that the module providing the 'porcelain' + * scheme does not allow unintended file access when using '/../' to move up the + * directory tree. + */ +# $settings['file_sa_core_2023_005_schemes'] = ['porcelain']; + +/** + * Configuration for phpinfo() admin status report. + * + * Drupal's admin UI includes a report at admin/reports/status/php which shows + * the output of phpinfo(). The full output can contain sensitive information + * so by default Drupal removes some sections. + * + * This behavior can be configured by setting this variable to a different + * value corresponding to the flags parameter of phpinfo(). + * + * If you need to expose more information in the report - for example to debug a + * problem - consider doing so temporarily. + * + * @see https://www.php.net/manual/function.phpinfo.php + */ +# $settings['sa_core_2023_004_phpinfo_flags'] = ~ (INFO_VARIABLES | INFO_ENVIRONMENT); + +/** + * Private file path: + * + * A local file system path where private files will be stored. This directory + * must be absolute, outside of the Drupal installation directory and not + * accessible over the web. + * + * Note: Caches need to be cleared when this value is changed to make the + * private:// stream wrapper available to the system. + * + * See https://www.drupal.org/documentation/modules/file for more information + * about securing private files. + */ +# $settings['file_private_path'] = ''; + +/** + * Temporary file path: + * + * A local file system path where temporary files will be stored. This directory + * must be absolute, outside of the Drupal installation directory and not + * accessible over the web. + * + * If this is not set, the default for the operating system will be used. + * + * @see \Drupal\Component\FileSystem\FileSystem::getOsTemporaryDirectory() + */ +# $settings['file_temp_path'] = '/tmp'; + +/** + * Session write interval: + * + * Set the minimum interval between each session write to database. + * For performance reasons it defaults to 180. + */ +# $settings['session_write_interval'] = 180; + +/** + * String overrides: + * + * To override specific strings on your site with or without enabling the Locale + * module, add an entry to this list. This functionality allows you to change + * a small number of your site's default English language interface strings. + * + * Remove the leading hash signs to enable. + * + * The "en" part of the variable name, is dynamic and can be any langcode of + * any added language. (eg locale_custom_strings_de for german). + */ +# $settings['locale_custom_strings_en'][''] = [ +# 'Home' => 'Front page', +# '@count min' => '@count minutes', +# ]; + +/** + * A custom theme for the offline page: + * + * This applies when the site is explicitly set to maintenance mode through the + * administration page or when the database is inactive due to an error. + * The template file should also be copied into the theme. It is located inside + * 'core/modules/system/templates/maintenance-page.html.twig'. + * + * Note: This setting does not apply to installation and update pages. + */ +# $settings['maintenance_theme'] = 'claro'; + +/** + * PHP settings: + * + * To see what PHP settings are possible, including whether they can be set at + * runtime (by using ini_set()), read the PHP documentation: + * http://php.net/manual/ini.list.php + * See \Drupal\Core\DrupalKernel::bootEnvironment() for required runtime + * settings and the .htaccess file for non-runtime settings. + * Settings defined there should not be duplicated here so as to avoid conflict + * issues. + */ + +/** + * If you encounter a situation where users post a large amount of text, and + * the result is stripped out upon viewing but can still be edited, Drupal's + * output filter may not have sufficient memory to process it. If you + * experience this issue, you may wish to uncomment the following two lines + * and increase the limits of these variables. For more information, see + * http://php.net/manual/pcre.configuration.php. + */ +# ini_set('pcre.backtrack_limit', 200000); +# ini_set('pcre.recursion_limit', 200000); + +/** + * Configuration overrides. + * + * To globally override specific configuration values for this site, + * set them here. You usually don't need to use this feature. This is + * useful in a configuration file for a vhost or directory, rather than + * the default settings.php. + * + * Note that any values you provide in these variable overrides will not be + * viewable from the Drupal administration interface. The administration + * interface displays the values stored in configuration so that you can stage + * changes to other environments that don't have the overrides. + * + * There are particular configuration values that are risky to override. For + * example, overriding the list of installed modules in 'core.extension' is not + * supported as module install or uninstall has not occurred. Other examples + * include field storage configuration, because it has effects on database + * structure, and 'core.menu.static_menu_link_overrides' since this is cached in + * a way that is not config override aware. Also, note that changing + * configuration values in settings.php will not fire any of the configuration + * change events. + */ +# $config['system.site']['name'] = 'My Drupal site'; +# $config['user.settings']['anonymous'] = 'Visitor'; + +/** + * Load services definition file. + */ +$settings['container_yamls'][] = $app_root . '/' . $site_path . '/services.yml'; + +/** + * Override the default service container class. + * + * This is useful for example to trace the service container for performance + * tracking purposes, for testing a service container with an error condition or + * to test a service container that throws an exception. + */ +# $settings['container_base_class'] = '\Drupal\Core\DependencyInjection\Container'; + +/** + * Override the default yaml parser class. + * + * Provide a fully qualified class name here if you would like to provide an + * alternate implementation YAML parser. The class must implement the + * \Drupal\Component\Serialization\SerializationInterface interface. + */ +# $settings['yaml_parser_class'] = NULL; + +/** + * Trusted host configuration. + * + * Drupal core can use the Symfony trusted host mechanism to prevent HTTP Host + * header spoofing. + * + * To enable the trusted host mechanism, you enable your allowable hosts + * in $settings['trusted_host_patterns']. This should be an array of regular + * expression patterns, without delimiters, representing the hosts you would + * like to allow. + * + * For example: + * @code + * $settings['trusted_host_patterns'] = [ + * '^www\.example\.com$', + * ]; + * @endcode + * will allow the site to only run from www.example.com. + * + * If you are running multisite, or if you are running your site from + * different domain names (eg, you don't redirect http://www.example.com to + * http://example.com), you should specify all of the host patterns that are + * allowed by your site. + * + * For example: + * @code + * $settings['trusted_host_patterns'] = [ + * '^example\.com$', + * '^.+\.example\.com$', + * '^example\.org$', + * '^.+\.example\.org$', + * ]; + * @endcode + * will allow the site to run off of all variants of example.com and + * example.org, with all subdomains included. + * + * @see https://www.drupal.org/docs/installing-drupal/trusted-host-settings + */ +# $settings['trusted_host_patterns'] = []; + +/** + * The default list of directories that will be ignored by Drupal's file API. + * + * By default ignore node_modules and bower_components folders to avoid issues + * with common frontend tools and recursive scanning of directories looking for + * extensions. + * + * @see \Drupal\Core\File\FileSystemInterface::scanDirectory() + * @see \Drupal\Core\Extension\ExtensionDiscovery::scanDirectory() + */ +$settings['file_scan_ignore_directories'] = [ + 'node_modules', + 'bower_components', +]; + +/** + * The default number of entities to update in a batch process. + * + * This is used by update and post-update functions that need to go through and + * change all the entities on a site, so it is useful to increase this number + * if your hosting configuration (i.e. RAM allocation, CPU speed) allows for a + * larger number of entities to be processed in a single batch run. + */ +$settings['entity_update_batch_size'] = 50; + +/** + * Entity update backup. + * + * This is used to inform the entity storage handler that the backup tables as + * well as the original entity type and field storage definitions should be + * retained after a successful entity update process. + */ +$settings['entity_update_backup'] = TRUE; + +/** + * Node migration type. + * + * This is used to force the migration system to use the classic node migrations + * instead of the default complete node migrations. The migration system will + * use the classic node migration only if there are existing migrate_map tables + * for the classic node migrations and they contain data. These tables may not + * exist if you are developing custom migrations and do not want to use the + * complete node migrations. Set this to TRUE to force the use of the classic + * node migrations. + */ +$settings['migrate_node_migrate_type_classic'] = FALSE; + +/** + * The default settings for migration sources. + * + * These settings are used as the default settings on the Credential form at + * /upgrade/credentials. + * + * - migrate_source_version - The version of the source database. This can be + * '6' or '7'. Defaults to '7'. + * - migrate_source_connection - The key in the $databases array for the source + * site. + * - migrate_file_public_path - The location of the source Drupal 6 or Drupal 7 + * public files. This can be a local file directory containing the source + * Drupal 6 or Drupal 7 site (e.g /var/www/docroot), or the site address + * (e.g http://example.com). + * - migrate_file_private_path - The location of the source Drupal 7 private + * files. This can be a local file directory containing the source Drupal 7 + * site (e.g /var/www/docroot), or empty to use the same value as Public + * files directory. + * + * Sample configuration for a drupal 6 source site with the source files in a + * local directory. + * + * @code + * $settings['migrate_source_version'] = '6'; + * $settings['migrate_source_connection'] = 'migrate'; + * $settings['migrate_file_public_path'] = '/var/www/drupal6'; + * @endcode + * + * Sample configuration for a drupal 7 source site with public source files on + * the source site and the private files in a local directory. + * + * @code + * $settings['migrate_source_version'] = '7'; + * $settings['migrate_source_connection'] = 'migrate'; + * $settings['migrate_file_public_path'] = 'https://drupal7.com'; + * $settings['migrate_file_private_path'] = '/var/www/drupal7'; + * @endcode + */ +# $settings['migrate_source_connection'] = ''; +# $settings['migrate_source_version'] = ''; +# $settings['migrate_file_public_path'] = ''; +# $settings['migrate_file_private_path'] = ''; + +/** + * Load local development override configuration, if available. + * + * Create a settings.local.php file to override variables on secondary (staging, + * development, etc.) installations of this site. + * + * Typical uses of settings.local.php include: + * - Disabling caching. + * - Disabling JavaScript/CSS compression. + * - Rerouting outgoing emails. + * + * Keep this code block at the end of this file to take full effect. + */ +# +# if (file_exists($app_root . '/' . $site_path . '/settings.local.php')) { +# include $app_root . '/' . $site_path . '/settings.local.php'; +# } diff --git a/docroot/sites/mathematics2024/services.yml b/docroot/sites/mathematics2024/services.yml new file mode 100644 index 0000000000..e1bbbc7e21 --- /dev/null +++ b/docroot/sites/mathematics2024/services.yml @@ -0,0 +1,174 @@ +parameters: + session.storage.options: + # Default ini options for sessions. + # + # Some distributions of Linux (most notably Debian) ship their PHP + # installations with garbage collection (gc) disabled. Since Drupal depends + # on PHP's garbage collection for clearing sessions, ensure that garbage + # collection occurs by using the most common settings. + # @default 1 + gc_probability: 1 + # @default 100 + gc_divisor: 100 + # + # Set session lifetime (in seconds), i.e. the time from the user's last + # visit to the active session may be deleted by the session garbage + # collector. When a session is deleted, authenticated users are logged out, + # and the contents of the user's $_SESSION variable is discarded. + # @default 200000 + gc_maxlifetime: 200000 + # + # Set session cookie lifetime (in seconds), i.e. the time from the session + # is created to the cookie expires, i.e. when the browser is expected to + # discard the cookie. The value 0 means "until the browser is closed". + # @default 2000000 + cookie_lifetime: 2000000 + # + # Drupal automatically generates a unique session cookie name based on the + # full domain name used to access the site. This mechanism is sufficient + # for most use-cases, including multi-site deployments. However, if it is + # desired that a session can be reused across different subdomains, the + # cookie domain needs to be set to the shared base domain. Doing so assures + # that users remain logged in as they cross between various subdomains. + # To maximize compatibility and normalize the behavior across user agents, + # the cookie domain should start with a dot. + # + # @default none + # cookie_domain: '.example.com' + # + twig.config: + # Twig debugging: + # + # When debugging is enabled: + # - The markup of each Twig template is surrounded by HTML comments that + # contain theming information, such as template file name suggestions. + # - Note that this debugging markup will cause automated tests that directly + # check rendered HTML to fail. When running automated tests, 'debug' + # should be set to FALSE. + # - The dump() function can be used in Twig templates to output information + # about template variables. + # - Twig templates are automatically recompiled whenever the source code + # changes (see auto_reload below). + # + # For more information about debugging Twig templates, see + # https://www.drupal.org/node/1906392. + # + # Not recommended in production environments + # @default false + debug: false + # Twig auto-reload: + # + # Automatically recompile Twig templates whenever the source code changes. + # If you don't provide a value for auto_reload, it will be determined + # based on the value of debug. + # + # Not recommended in production environments + # @default null + auto_reload: null + # Twig cache: + # + # By default, Twig templates will be compiled and stored in the filesystem + # to increase performance. Disabling the Twig cache will recompile the + # templates from source each time they are used. In most cases the + # auto_reload setting above should be enabled rather than disabling the + # Twig cache. + # + # Not recommended in production environments + # @default true + cache: true + renderer.config: + # Renderer required cache contexts: + # + # The Renderer will automatically associate these cache contexts with every + # render array, hence varying every render array by these cache contexts. + # + # @default ['languages:language_interface', 'theme', 'user.permissions'] + required_cache_contexts: ['languages:language_interface', 'theme', 'user.permissions'] + # Renderer automatic placeholdering conditions: + # + # Drupal allows portions of the page to be automatically deferred when + # rendering to improve cache performance. That is especially helpful for + # cache contexts that vary widely, such as the active user. On some sites + # those may be different, however, such as sites with only a handful of + # users. If you know what the high-cardinality cache contexts are for your + # site, specify those here. If you're not sure, the defaults are fairly safe + # in general. + # + # For more information about rendering optimizations see + # https://www.drupal.org/developing/api/8/render/arrays/cacheability#optimizing + auto_placeholder_conditions: + # Max-age at or below which caching is not considered worthwhile. + # + # Disable by setting to -1. + # + # @default 0 + max-age: 0 + # Cache contexts with a high cardinality. + # + # Disable by setting to []. + # + # @default ['session', 'user'] + contexts: ['session', 'user'] + # Tags with a high invalidation frequency. + # + # Disable by setting to []. + # + # @default [] + tags: [] + # Cacheability debugging: + # + # Responses with cacheability metadata (CacheableResponseInterface instances) + # get X-Drupal-Cache-Tags and X-Drupal-Cache-Contexts headers. + # + # For more information about debugging cacheable responses, see + # https://www.drupal.org/developing/api/8/response/cacheable-response-interface + # + # Not recommended in production environments + # @default false + http.response.debug_cacheability_headers: false + factory.keyvalue: + {} + # Default key/value storage service to use. + # @default keyvalue.database + # default: keyvalue.database + # Collection-specific overrides. + # state: keyvalue.database + factory.keyvalue.expirable: + {} + # Default key/value expirable storage service to use. + # @default keyvalue.database.expirable + # default: keyvalue.database.expirable + # Allowed protocols for URL generation. + filter_protocols: + - http + - https + - ftp + - news + - nntp + - tel + - telnet + - mailto + - irc + - ssh + - sftp + - webcal + - rtsp + + # Configure Cross-Site HTTP requests (CORS). + # Read https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS + # for more information about the topic in general. + # Note: By default the configuration is disabled. + cors.config: + enabled: false + # Specify allowed headers, like 'x-allowed-header'. + allowedHeaders: [] + # Specify allowed request methods, specify ['*'] to allow all possible ones. + allowedMethods: [] + # Configure requests allowed from specific origins. + allowedOrigins: ['*'] + # Sets the Access-Control-Expose-Headers header. + exposedHeaders: false + # Sets the Access-Control-Max-Age header. + maxAge: false + # Sets the Access-Control-Allow-Credentials header. + supportsCredentials: false diff --git a/docroot/sites/mathematics2024/settings.php b/docroot/sites/mathematics2024/settings.php new file mode 100644 index 0000000000..127324cc75 --- /dev/null +++ b/docroot/sites/mathematics2024/settings.php @@ -0,0 +1,813 @@ + 'databasename', + * 'username' => 'sqlusername', + * 'password' => 'sqlpassword', + * 'host' => 'localhost', + * 'port' => '3306', + * 'driver' => 'mysql', + * 'prefix' => '', + * 'collation' => 'utf8mb4_general_ci', + * ]; + * @endcode + */ +$databases = []; + +/** + * Customizing database settings. + * + * Many of the values of the $databases array can be customized for your + * particular database system. Refer to the sample in the section above as a + * starting point. + * + * The "driver" property indicates what Drupal database driver the + * connection should use. This is usually the same as the name of the + * database type, such as mysql or sqlite, but not always. The other + * properties will vary depending on the driver. For SQLite, you must + * specify a database file name in a directory that is writable by the + * webserver. For most other drivers, you must specify a + * username, password, host, and database name. + * + * Drupal core implements drivers for mysql, pgsql, and sqlite. Other drivers + * can be provided by contributed or custom modules. To use a contributed or + * custom driver, the "namespace" property must be set to the namespace of the + * driver. The code in this namespace must be autoloadable prior to connecting + * to the database, and therefore, prior to when module root namespaces are + * added to the autoloader. To add the driver's namespace to the autoloader, + * set the "autoload" property to the PSR-4 base directory of the driver's + * namespace. This is optional for projects managed with Composer if the + * driver's namespace is in Composer's autoloader. + * + * For each database, you may optionally specify multiple "target" databases. + * A target database allows Drupal to try to send certain queries to a + * different database if it can but fall back to the default connection if not. + * That is useful for primary/replica replication, as Drupal may try to connect + * to a replica server when appropriate and if one is not available will simply + * fall back to the single primary server (The terms primary/replica are + * traditionally referred to as master/slave in database server documentation). + * + * The general format for the $databases array is as follows: + * @code + * $databases['default']['default'] = $info_array; + * $databases['default']['replica'][] = $info_array; + * $databases['default']['replica'][] = $info_array; + * $databases['extra']['default'] = $info_array; + * @endcode + * + * In the above example, $info_array is an array of settings described above. + * The first line sets a "default" database that has one primary database + * (the second level default). The second and third lines create an array + * of potential replica databases. Drupal will select one at random for a given + * request as needed. The fourth line creates a new database with a name of + * "extra". + * + * You can optionally set prefixes for some or all database table names + * by using the 'prefix' setting. If a prefix is specified, the table + * name will be prepended with its value. Be sure to use valid database + * characters only, usually alphanumeric and underscore. If no prefixes + * are desired, leave it as an empty string ''. + * + * To have all database names prefixed, set 'prefix' as a string: + * @code + * 'prefix' => 'main_', + * @endcode + * + * Per-table prefixes are deprecated as of Drupal 8.2, and will be removed in + * Drupal 9.0. After that, only a single prefix for all tables will be + * supported. + * + * To provide prefixes for specific tables, set 'prefix' as an array. + * The array's keys are the table names and the values are the prefixes. + * The 'default' element is mandatory and holds the prefix for any tables + * not specified elsewhere in the array. Example: + * @code + * 'prefix' => [ + * 'default' => 'main_', + * 'users' => 'shared_', + * 'sessions' => 'shared_', + * 'role' => 'shared_', + * 'authmap' => 'shared_', + * ], + * @endcode + * You can also use a reference to a schema/database as a prefix. This may be + * useful if your Drupal installation exists in a schema that is not the default + * or you want to access several databases from the same code base at the same + * time. + * Example: + * @code + * 'prefix' => [ + * 'default' => 'main.', + * 'users' => 'shared.', + * 'sessions' => 'shared.', + * 'role' => 'shared.', + * 'authmap' => 'shared.', + * ]; + * @endcode + * NOTE: MySQL and SQLite's definition of a schema is a database. + * + * Advanced users can add or override initial commands to execute when + * connecting to the database server, as well as PDO connection settings. For + * example, to enable MySQL SELECT queries to exceed the max_join_size system + * variable, and to reduce the database connection timeout to 5 seconds: + * @code + * $databases['default']['default'] = [ + * 'init_commands' => [ + * 'big_selects' => 'SET SQL_BIG_SELECTS=1', + * ], + * 'pdo' => [ + * PDO::ATTR_TIMEOUT => 5, + * ], + * ]; + * @endcode + * + * WARNING: The above defaults are designed for database portability. Changing + * them may cause unexpected behavior, including potential data loss. See + * https://www.drupal.org/developing/api/database/configuration for more + * information on these defaults and the potential issues. + * + * More details can be found in the constructor methods for each driver: + * - \Drupal\Core\Database\Driver\mysql\Connection::__construct() + * - \Drupal\Core\Database\Driver\pgsql\Connection::__construct() + * - \Drupal\Core\Database\Driver\sqlite\Connection::__construct() + * + * Sample Database configuration format for PostgreSQL (pgsql): + * @code + * $databases['default']['default'] = [ + * 'driver' => 'pgsql', + * 'database' => 'databasename', + * 'username' => 'sqlusername', + * 'password' => 'sqlpassword', + * 'host' => 'localhost', + * 'prefix' => '', + * ]; + * @endcode + * + * Sample Database configuration format for SQLite (sqlite): + * @code + * $databases['default']['default'] = [ + * 'driver' => 'sqlite', + * 'database' => '/path/to/databasefilename', + * ]; + * @endcode + * + * Sample Database configuration format for a driver in a contributed module: + * @code + * $databases['default']['default'] = [ + * 'driver' => 'my_driver', + * 'namespace' => 'Drupal\my_module\Driver\Database\my_driver', + * 'autoload' => 'modules/my_module/src/Driver/Database/my_driver/', + * 'database' => 'databasename', + * 'username' => 'sqlusername', + * 'password' => 'sqlpassword', + * 'host' => 'localhost', + * 'prefix' => '', + * ]; + * @endcode + */ + +/** + * Location of the site configuration files. + * + * The $settings['config_sync_directory'] specifies the location of file system + * directory used for syncing configuration data. On install, the directory is + * created. This is used for configuration imports. + * + * The default location for this directory is inside a randomly-named + * directory in the public files path. The setting below allows you to set + * its location. + */ +# $settings['config_sync_directory'] = '/directory/outside/webroot'; + +/** + * Settings: + * + * $settings contains environment-specific configuration, such as the files + * directory and reverse proxy address, and temporary configuration, such as + * security overrides. + * + * @see \Drupal\Core\Site\Settings::get() + */ + +/** + * Salt for one-time login links, cancel links, form tokens, etc. + * + * This variable will be set to a random value by the installer. All one-time + * login links will be invalidated if the value is changed. Note that if your + * site is deployed on a cluster of web servers, you must ensure that this + * variable has the same value on each server. + * + * For enhanced security, you may set this variable to the contents of a file + * outside your document root; you should also ensure that this file is not + * stored with backups of your database. + * + * Example: + * @code + * $settings['hash_salt'] = file_get_contents('/home/example/salt.txt'); + * @endcode + */ +$settings['hash_salt'] = ''; + +/** + * Deployment identifier. + * + * Drupal's dependency injection container will be automatically invalidated and + * rebuilt when the Drupal core version changes. When updating contributed or + * custom code that changes the container, changing this identifier will also + * allow the container to be invalidated as soon as code is deployed. + */ +# $settings['deployment_identifier'] = \Drupal::VERSION; + +/** + * Access control for update.php script. + * + * If you are updating your Drupal installation using the update.php script but + * are not logged in using either an account with the "Administer software + * updates" permission or the site maintenance account (the account that was + * created during installation), you will need to modify the access check + * statement below. Change the FALSE to a TRUE to disable the access check. + * After finishing the upgrade, be sure to open this file again and change the + * TRUE back to a FALSE! + */ +$settings['update_free_access'] = FALSE; + +/** + * Fallback to HTTP for Update Manager and for fetching security advisories. + * + * If your site fails to connect to updates.drupal.org over HTTPS (either when + * fetching data on available updates, or when fetching the feed of critical + * security announcements), you may uncomment this setting and set it to TRUE to + * allow an insecure fallback to HTTP. Note that doing so will open your site up + * to a potential man-in-the-middle attack. You should instead attempt to + * resolve the issues before enabling this option. + * @see https://www.drupal.org/docs/system-requirements/php-requirements#openssl + * @see https://en.wikipedia.org/wiki/Man-in-the-middle_attack + * @see \Drupal\update\UpdateFetcher + * @see \Drupal\system\SecurityAdvisories\SecurityAdvisoriesFetcher + */ +# $settings['update_fetch_with_http_fallback'] = TRUE; + +/** + * External access proxy settings: + * + * If your site must access the Internet via a web proxy then you can enter the + * proxy settings here. Set the full URL of the proxy, including the port, in + * variables: + * - $settings['http_client_config']['proxy']['http']: The proxy URL for HTTP + * requests. + * - $settings['http_client_config']['proxy']['https']: The proxy URL for HTTPS + * requests. + * You can pass in the user name and password for basic authentication in the + * URLs in these settings. + * + * You can also define an array of host names that can be accessed directly, + * bypassing the proxy, in $settings['http_client_config']['proxy']['no']. + */ +# $settings['http_client_config']['proxy']['http'] = 'http://proxy_user:proxy_pass@example.com:8080'; +# $settings['http_client_config']['proxy']['https'] = 'http://proxy_user:proxy_pass@example.com:8080'; +# $settings['http_client_config']['proxy']['no'] = ['127.0.0.1', 'localhost']; + +/** + * Reverse Proxy Configuration: + * + * Reverse proxy servers are often used to enhance the performance + * of heavily visited sites and may also provide other site caching, + * security, or encryption benefits. In an environment where Drupal + * is behind a reverse proxy, the real IP address of the client should + * be determined such that the correct client IP address is available + * to Drupal's logging, statistics, and access management systems. In + * the most simple scenario, the proxy server will add an + * X-Forwarded-For header to the request that contains the client IP + * address. However, HTTP headers are vulnerable to spoofing, where a + * malicious client could bypass restrictions by setting the + * X-Forwarded-For header directly. Therefore, Drupal's proxy + * configuration requires the IP addresses of all remote proxies to be + * specified in $settings['reverse_proxy_addresses'] to work correctly. + * + * Enable this setting to get Drupal to determine the client IP from the + * X-Forwarded-For header. If you are unsure about this setting, do not have a + * reverse proxy, or Drupal operates in a shared hosting environment, this + * setting should remain commented out. + * + * In order for this setting to be used you must specify every possible + * reverse proxy IP address in $settings['reverse_proxy_addresses']. + * If a complete list of reverse proxies is not available in your + * environment (for example, if you use a CDN) you may set the + * $_SERVER['REMOTE_ADDR'] variable directly in settings.php. + * Be aware, however, that it is likely that this would allow IP + * address spoofing unless more advanced precautions are taken. + */ +# $settings['reverse_proxy'] = TRUE; + +/** + * Specify every reverse proxy IP address in your environment. + * This setting is required if $settings['reverse_proxy'] is TRUE. + */ +# $settings['reverse_proxy_addresses'] = ['a.b.c.d', ...]; + +/** + * Reverse proxy trusted headers. + * + * Sets which headers to trust from your reverse proxy. + * + * Common values are: + * - \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_FOR + * - \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_HOST + * - \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_PORT + * - \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_PROTO + * - \Symfony\Component\HttpFoundation\Request::HEADER_FORWARDED + * + * Note the default value of + * @code + * \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_FOR | \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_HOST | \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_PORT | \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_PROTO | \Symfony\Component\HttpFoundation\Request::HEADER_FORWARDED + * @endcode + * is not secure by default. The value should be set to only the specific + * headers the reverse proxy uses. For example: + * @code + * \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_FOR | \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_HOST | \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_PORT | \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_PROTO + * @endcode + * This would trust the following headers: + * - X_FORWARDED_FOR + * - X_FORWARDED_HOST + * - X_FORWARDED_PROTO + * - X_FORWARDED_PORT + * + * @see \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_FOR + * @see \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_HOST + * @see \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_PORT + * @see \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_PROTO + * @see \Symfony\Component\HttpFoundation\Request::HEADER_FORWARDED + * @see \Symfony\Component\HttpFoundation\Request::setTrustedProxies + */ +# $settings['reverse_proxy_trusted_headers'] = \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_FOR | \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_HOST | \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_PORT | \Symfony\Component\HttpFoundation\Request::HEADER_X_FORWARDED_PROTO | \Symfony\Component\HttpFoundation\Request::HEADER_FORWARDED; + + +/** + * Page caching: + * + * By default, Drupal sends a "Vary: Cookie" HTTP header for anonymous page + * views. This tells a HTTP proxy that it may return a page from its local + * cache without contacting the web server, if the user sends the same Cookie + * header as the user who originally requested the cached page. Without "Vary: + * Cookie", authenticated users would also be served the anonymous page from + * the cache. If the site has mostly anonymous users except a few known + * editors/administrators, the Vary header can be omitted. This allows for + * better caching in HTTP proxies (including reverse proxies), i.e. even if + * clients send different cookies, they still get content served from the cache. + * However, authenticated users should access the site directly (i.e. not use an + * HTTP proxy, and bypass the reverse proxy if one is used) in order to avoid + * getting cached pages from the proxy. + */ +# $settings['omit_vary_cookie'] = TRUE; + + +/** + * Cache TTL for client error (4xx) responses. + * + * Items cached per-URL tend to result in a large number of cache items, and + * this can be problematic on 404 pages which by their nature are unbounded. A + * fixed TTL can be set for these items, defaulting to one hour, so that cache + * backends which do not support LRU can purge older entries. To disable caching + * of client error responses set the value to 0. Currently applies only to + * page_cache module. + */ +# $settings['cache_ttl_4xx'] = 3600; + +/** + * Expiration of cached forms. + * + * Drupal's Form API stores details of forms in a cache and these entries are + * kept for at least 6 hours by default. Expired entries are cleared by cron. + * + * @see \Drupal\Core\Form\FormCache::setCache() + */ +# $settings['form_cache_expiration'] = 21600; + +/** + * Class Loader. + * + * If the APCu extension is detected, the classloader will be optimized to use + * it. Set to FALSE to disable this. + * + * @see https://getcomposer.org/doc/articles/autoloader-optimization.md + */ +# $settings['class_loader_auto_detect'] = FALSE; + +/** + * Authorized file system operations: + * + * The Update Manager module included with Drupal provides a mechanism for + * site administrators to securely install missing updates for the site + * directly through the web user interface. On securely-configured servers, + * the Update manager will require the administrator to provide SSH or FTP + * credentials before allowing the installation to proceed; this allows the + * site to update the new files as the user who owns all the Drupal files, + * instead of as the user the webserver is running as. On servers where the + * webserver user is itself the owner of the Drupal files, the administrator + * will not be prompted for SSH or FTP credentials (note that these server + * setups are common on shared hosting, but are inherently insecure). + * + * Some sites might wish to disable the above functionality, and only update + * the code directly via SSH or FTP themselves. This setting completely + * disables all functionality related to these authorized file operations. + * + * @see https://www.drupal.org/node/244924 + * + * Remove the leading hash signs to disable. + */ +# $settings['allow_authorize_operations'] = FALSE; + +/** + * Default mode for directories and files written by Drupal. + * + * Value should be in PHP Octal Notation, with leading zero. + */ +# $settings['file_chmod_directory'] = 0775; +# $settings['file_chmod_file'] = 0664; + +/** + * Public file base URL: + * + * An alternative base URL to be used for serving public files. This must + * include any leading directory path. + * + * A different value from the domain used by Drupal to be used for accessing + * public files. This can be used for a simple CDN integration, or to improve + * security by serving user-uploaded files from a different domain or subdomain + * pointing to the same server. Do not include a trailing slash. + */ +# $settings['file_public_base_url'] = 'http://downloads.example.com/files'; + +/** + * Public file path: + * + * A local file system path where public files will be stored. This directory + * must exist and be writable by Drupal. This directory must be relative to + * the Drupal installation directory and be accessible over the web. + */ +# $settings['file_public_path'] = 'sites/default/files'; + +/** + * Private file path: + * + * A local file system path where private files will be stored. This directory + * must be absolute, outside of the Drupal installation directory and not + * accessible over the web. + * + * Note: Caches need to be cleared when this value is changed to make the + * private:// stream wrapper available to the system. + * + * See https://www.drupal.org/documentation/modules/file for more information + * about securing private files. + */ +# $settings['file_private_path'] = ''; + +/** + * Temporary file path: + * + * A local file system path where temporary files will be stored. This directory + * must be absolute, outside of the Drupal installation directory and not + * accessible over the web. + * + * If this is not set, the default for the operating system will be used. + * + * @see \Drupal\Component\FileSystem\FileSystem::getOsTemporaryDirectory() + */ +# $settings['file_temp_path'] = '/tmp'; + +/** + * Session write interval: + * + * Set the minimum interval between each session write to database. + * For performance reasons it defaults to 180. + */ +# $settings['session_write_interval'] = 180; + +/** + * String overrides: + * + * To override specific strings on your site with or without enabling the Locale + * module, add an entry to this list. This functionality allows you to change + * a small number of your site's default English language interface strings. + * + * Remove the leading hash signs to enable. + * + * The "en" part of the variable name, is dynamic and can be any langcode of + * any added language. (eg locale_custom_strings_de for german). + */ +# $settings['locale_custom_strings_en'][''] = [ +# 'forum' => 'Discussion board', +# '@count min' => '@count minutes', +# ]; + +/** + * A custom theme for the offline page: + * + * This applies when the site is explicitly set to maintenance mode through the + * administration page or when the database is inactive due to an error. + * The template file should also be copied into the theme. It is located inside + * 'core/modules/system/templates/maintenance-page.html.twig'. + * + * Note: This setting does not apply to installation and update pages. + */ +# $settings['maintenance_theme'] = 'bartik'; + +/** + * PHP settings: + * + * To see what PHP settings are possible, including whether they can be set at + * runtime (by using ini_set()), read the PHP documentation: + * http://php.net/manual/ini.list.php + * See \Drupal\Core\DrupalKernel::bootEnvironment() for required runtime + * settings and the .htaccess file for non-runtime settings. + * Settings defined there should not be duplicated here so as to avoid conflict + * issues. + */ + +/** + * If you encounter a situation where users post a large amount of text, and + * the result is stripped out upon viewing but can still be edited, Drupal's + * output filter may not have sufficient memory to process it. If you + * experience this issue, you may wish to uncomment the following two lines + * and increase the limits of these variables. For more information, see + * http://php.net/manual/pcre.configuration.php. + */ +# ini_set('pcre.backtrack_limit', 200000); +# ini_set('pcre.recursion_limit', 200000); + +/** + * Add Permissions-Policy header to disable Google FLoC. + * + * By default, Drupal sends the 'Permissions-Policy: interest-cohort=()' header + * to disable Google's Federated Learning of Cohorts feature, introduced in + * Chrome 89. + * + * See https://en.wikipedia.org/wiki/Federated_Learning_of_Cohorts for more + * information about FLoC. + * + * If you don't wish to disable FLoC in Chrome, you can set this value + * to FALSE. + */ +# $settings['block_interest_cohort'] = TRUE; + +/** + * Configuration overrides. + * + * To globally override specific configuration values for this site, + * set them here. You usually don't need to use this feature. This is + * useful in a configuration file for a vhost or directory, rather than + * the default settings.php. + * + * Note that any values you provide in these variable overrides will not be + * viewable from the Drupal administration interface. The administration + * interface displays the values stored in configuration so that you can stage + * changes to other environments that don't have the overrides. + * + * There are particular configuration values that are risky to override. For + * example, overriding the list of installed modules in 'core.extension' is not + * supported as module install or uninstall has not occurred. Other examples + * include field storage configuration, because it has effects on database + * structure, and 'core.menu.static_menu_link_overrides' since this is cached in + * a way that is not config override aware. Also, note that changing + * configuration values in settings.php will not fire any of the configuration + * change events. + */ +# $config['system.site']['name'] = 'My Drupal site'; +# $config['user.settings']['anonymous'] = 'Visitor'; + +/** + * Fast 404 pages: + * + * Drupal can generate fully themed 404 pages. However, some of these responses + * are for images or other resource files that are not displayed to the user. + * This can waste bandwidth, and also generate server load. + * + * The options below return a simple, fast 404 page for URLs matching a + * specific pattern: + * - $config['system.performance']['fast_404']['exclude_paths']: A regular + * expression to match paths to exclude, such as images generated by image + * styles, or dynamically-resized images. The default pattern provided below + * also excludes the private file system. If you need to add more paths, you + * can add '|path' to the expression. + * - $config['system.performance']['fast_404']['paths']: A regular expression to + * match paths that should return a simple 404 page, rather than the fully + * themed 404 page. If you don't have any aliases ending in htm or html you + * can add '|s?html?' to the expression. + * - $config['system.performance']['fast_404']['html']: The html to return for + * simple 404 pages. + * + * Remove the leading hash signs if you would like to alter this functionality. + */ +# $config['system.performance']['fast_404']['exclude_paths'] = '/\/(?:styles)|(?:system\/files)\//'; +# $config['system.performance']['fast_404']['paths'] = '/\.(?:txt|png|gif|jpe?g|css|js|ico|swf|flv|cgi|bat|pl|dll|exe|asp)$/i'; +# $config['system.performance']['fast_404']['html'] = '404 Not Found

Not Found

The requested URL "@path" was not found on this server.

'; + +/** + * Load services definition file. + */ +$settings['container_yamls'][] = $app_root . '/' . $site_path . '/services.yml'; + +/** + * Override the default service container class. + * + * This is useful for example to trace the service container for performance + * tracking purposes, for testing a service container with an error condition or + * to test a service container that throws an exception. + */ +# $settings['container_base_class'] = '\Drupal\Core\DependencyInjection\Container'; + +/** + * Override the default yaml parser class. + * + * Provide a fully qualified class name here if you would like to provide an + * alternate implementation YAML parser. The class must implement the + * \Drupal\Component\Serialization\SerializationInterface interface. + */ +# $settings['yaml_parser_class'] = NULL; + +/** + * Trusted host configuration. + * + * Drupal core can use the Symfony trusted host mechanism to prevent HTTP Host + * header spoofing. + * + * To enable the trusted host mechanism, you enable your allowable hosts + * in $settings['trusted_host_patterns']. This should be an array of regular + * expression patterns, without delimiters, representing the hosts you would + * like to allow. + * + * For example: + * @code + * $settings['trusted_host_patterns'] = [ + * '^www\.example\.com$', + * ]; + * @endcode + * will allow the site to only run from www.example.com. + * + * If you are running multisite, or if you are running your site from + * different domain names (eg, you don't redirect http://www.example.com to + * http://example.com), you should specify all of the host patterns that are + * allowed by your site. + * + * For example: + * @code + * $settings['trusted_host_patterns'] = [ + * '^example\.com$', + * '^.+\.example\.com$', + * '^example\.org$', + * '^.+\.example\.org$', + * ]; + * @endcode + * will allow the site to run off of all variants of example.com and + * example.org, with all subdomains included. + */ + +/** + * The default list of directories that will be ignored by Drupal's file API. + * + * By default ignore node_modules and bower_components folders to avoid issues + * with common frontend tools and recursive scanning of directories looking for + * extensions. + * + * @see \Drupal\Core\File\FileSystemInterface::scanDirectory() + * @see \Drupal\Core\Extension\ExtensionDiscovery::scanDirectory() + */ +$settings['file_scan_ignore_directories'] = [ + 'node_modules', + 'bower_components', +]; + +/** + * The default number of entities to update in a batch process. + * + * This is used by update and post-update functions that need to go through and + * change all the entities on a site, so it is useful to increase this number + * if your hosting configuration (i.e. RAM allocation, CPU speed) allows for a + * larger number of entities to be processed in a single batch run. + */ +$settings['entity_update_batch_size'] = 50; + +/** + * Entity update backup. + * + * This is used to inform the entity storage handler that the backup tables as + * well as the original entity type and field storage definitions should be + * retained after a successful entity update process. + */ +$settings['entity_update_backup'] = TRUE; + +/** + * Node migration type. + * + * This is used to force the migration system to use the classic node migrations + * instead of the default complete node migrations. The migration system will + * use the classic node migration only if there are existing migrate_map tables + * for the classic node migrations and they contain data. These tables may not + * exist if you are developing custom migrations and do not want to use the + * complete node migrations. Set this to TRUE to force the use of the classic + * node migrations. + */ +$settings['migrate_node_migrate_type_classic'] = FALSE; + +/** + * Load local development override configuration, if available. + * + * Create a settings.local.php file to override variables on secondary (staging, + * development, etc.) installations of this site. + * + * Typical uses of settings.local.php include: + * - Disabling caching. + * - Disabling JavaScript/CSS compression. + * - Rerouting outgoing emails. + * + * Keep this code block at the end of this file to take full effect. + */ +# +# if (file_exists($app_root . '/' . $site_path . '/settings.local.php')) { +# include $app_root . '/' . $site_path . '/settings.local.php'; +# } +require DRUPAL_ROOT . "/../vendor/acquia/blt/settings/blt.settings.php"; +/** + * IMPORTANT. + * + * Do not include additional settings here. Instead, add them to settings + * included by `blt.settings.php`. See BLT's documentation for more detail. + * + * @link https://docs.acquia.com/blt/ + */ diff --git a/docroot/sites/mathematics2024/settings/default.includes.settings.php b/docroot/sites/mathematics2024/settings/default.includes.settings.php new file mode 100644 index 0000000000..bfefdd89f2 --- /dev/null +++ b/docroot/sites/mathematics2024/settings/default.includes.settings.php @@ -0,0 +1,50 @@ + + [ + 'default' => + [ + 'database' => $db_name, + 'username' => '${drupal.db.username}', + 'password' => '${drupal.db.password}', + 'host' => '${drupal.db.host}', + 'port' => '${drupal.db.port}', + 'namespace' => 'Drupal\\Core\\Database\\Driver\\mysql', + 'driver' => 'mysql', + 'prefix' => '', + ], + ], +]; + +// Use development service parameters. +$settings['container_yamls'][] = EnvironmentDetector::getRepoRoot() . '/docroot/sites/development.services.yml'; +$settings['container_yamls'][] = EnvironmentDetector::getRepoRoot() . '/docroot/sites/blt.development.services.yml'; + +// Allow access to update.php. +$settings['update_free_access'] = TRUE; + +/** + * Assertions. + * + * The Drupal project primarily uses runtime assertions to enforce the + * expectations of the API by failing when incorrect calls are made by code + * under development. + * + * @see http://php.net/assert + * @see https://www.drupal.org/node/2492225 + * + * If you are using PHP 7.0 it is strongly recommended that you set + * zend.assertions=1 in the PHP.ini file (It cannot be changed from .htaccess + * or runtime) on development machines and to 0 in production. + * + * @see https://wiki.php.net/rfc/expectations + */ +assert_options(ASSERT_ACTIVE, TRUE); +assert_options(ASSERT_EXCEPTION, TRUE); + +/** + * Show all error messages, with backtrace information. + * + * In case the error level could not be fetched from the database, as for + * example the database connection failed, we rely only on this value. + */ +$config['system.logging']['error_level'] = 'verbose'; + +/** + * Disable CSS and JS aggregation. + */ +$config['system.performance']['css']['preprocess'] = FALSE; +$config['system.performance']['js']['preprocess'] = FALSE; + +/** + * Disable the render cache (this includes the page cache). + * + * Note: you should test with the render cache enabled, to ensure the correct + * cacheability metadata is present. However, in the early stages of + * development, you may want to disable it. + * + * This setting disables the render cache by using the Null cache back-end + * defined by the development.services.yml file above. + * + * Do not use this setting until after the site is installed. + */ +// $settings['cache']['bins']['render'] = 'cache.backend.null'; +/** + * Disable Dynamic Page Cache. + * + * Note: you should test with Dynamic Page Cache enabled, to ensure the correct + * cacheability metadata is present (and hence the expected behavior). However, + * in the early stages of development, you may want to disable it. + */ +// $settings['cache']['bins']['dynamic_page_cache'] = 'cache.backend.null'; +/** + * Allow test modules and themes to be installed. + * + * Drupal ignores test modules and themes by default for performance reasons. + * During development it can be useful to install test extensions for debugging + * purposes. + */ +$settings['extension_discovery_scan_tests'] = FALSE; + + +/** + * Configure static caches. + * + * Note: you should test with the config, bootstrap, and discovery caches + * enabled to test that metadata is cached as expected. However, in the early + * stages of development, you may want to disable them. Overrides to these bins + * must be explicitly set for each bin to change the default configuration + * provided by Drupal core in core.services.yml. + * See https://www.drupal.org/node/2754947 + */ + +// $settings['cache']['bins']['bootstrap'] = 'cache.backend.null'; +// $settings['cache']['bins']['discovery'] = 'cache.backend.null'; +// $settings['cache']['bins']['config'] = 'cache.backend.null'; +/** + * Enable access to rebuild.php. + * + * This setting can be enabled to allow Drupal's php and database cached + * storage to be cleared via the rebuild.php page. Access to this page can also + * be gained by generating a query string from rebuild_token_calculator.sh and + * using these parameters in a request to rebuild.php. + */ +$settings['rebuild_access'] = FALSE; + +/** + * Skip file system permissions hardening. + * + * The system module will periodically check the permissions of your site's + * site directory to ensure that it is not writable by the website user. For + * sites that are managed with a version control system, this can cause problems + * when files in that directory such as settings.php are updated, because the + * user pulling in the changes won't have permissions to modify files in the + * directory. + */ +$settings['skip_permissions_hardening'] = TRUE; + +/** + * Files paths. + */ +$settings['file_private_path'] = EnvironmentDetector::getRepoRoot() . '/files-private/default'; +/** + * Site path. + * + * @var $site_path + * This is always set and exposed by the Drupal Kernel. + */ +// phpcs:ignore +$settings['file_public_path'] = 'sites/' . EnvironmentDetector::getSiteName($site_path) . '/files'; + +/** + * Trusted host configuration. + * + * See full description in default.settings.php. + */ +$settings['trusted_host_patterns'] = [ + '^.+$', +]; diff --git a/drush/sites/mathematics2024.site.yml b/drush/sites/mathematics2024.site.yml new file mode 100644 index 0000000000..c27ae7cfd1 --- /dev/null +++ b/drush/sites/mathematics2024.site.yml @@ -0,0 +1,18 @@ +local: + uri: mathematics2024 + root: '${env.cwd}/docroot' +dev: + root: /var/www/html/humscigryphon.dev/docroot + uri: mathematics2024-dev.stanford.edu + host: staging-25390.prod.hosting.acquia.com + user: humscigryphon.dev +stage: + root: /var/www/html/humscigryphon.test/docroot + uri: mathematics2024-stage.stanford.edu + host: staging-25390.prod.hosting.acquia.com + user: humscigryphon.test +prod: + root: /var/www/html/humscigryphon.prod/docroot + uri: mathematics2024-prod.stanford.edu + host: web-42199.prod.hosting.acquia.com + user: humscigryphon.prod From 18356e35d93bc45150651f05c7c7e397465ec22d Mon Sep 17 00:00:00 2001 From: Joe Gilliland-Lloyd <6943710+joegl@users.noreply.github.com> Date: Tue, 6 Feb 2024 11:41:09 -0600 Subject: [PATCH 4/5] HSD8-000: Added Stanford Site Alias to Status Report. (#1440) --- .../su_humsci_profile.install | 26 ++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) diff --git a/docroot/profiles/humsci/su_humsci_profile/su_humsci_profile.install b/docroot/profiles/humsci/su_humsci_profile/su_humsci_profile.install index 94c4658f12..a6d1498ea0 100644 --- a/docroot/profiles/humsci/su_humsci_profile/su_humsci_profile.install +++ b/docroot/profiles/humsci/su_humsci_profile/su_humsci_profile.install @@ -5,12 +5,32 @@ * su_humsci_profile.install */ -use Drupal\field\Entity\FieldStorageConfig; +use Drupal\Core\DrupalKernel; use Drupal\Core\Menu\MenuTreeParameters; +use Drupal\field\Entity\FieldStorageConfig; +use Drupal\key\Entity\Key; use Drupal\node\NodeInterface; -use Drupal\field\Entity\FieldConfig; use Drupal\user\UserInterface; -use Drupal\key\Entity\Key; + +/** + * Implements hook_requirements(). + */ +function su_humsci_profile_requirements($phase) { + $requirements = []; + if ($phase == 'runtime') { + + $site_path = DrupalKernel::findSitePath(\Drupal::request()); + $site_path = explode('/', $site_path); + $site_name = $site_path[1]; + + $requirements['stanford_site_alias'] = [ + 'title' => t('Stanford Site Alias'), + 'value' => $site_name, + 'severity' => REQUIREMENT_INFO, + ]; + } + return $requirements; +} /** * Implements hook_install_tasks(). From 4b446347a07fab3c4f54723c420753e1b06326c3 Mon Sep 17 00:00:00 2001 From: Mike Decker Date: Tue, 6 Feb 2024 11:52:22 -0800 Subject: [PATCH 5/5] HSD8-1574 Display "all" option for single select fields --- .../islands/select-list-filters.island.js | 6 +- .../js/select-lists/package.json | 10 +- .../js/select-lists/src/select-list.tsx | 11 +- .../js/select-lists/yarn.lock | 359 ++++++++++++------ 4 files changed, 251 insertions(+), 135 deletions(-) diff --git a/docroot/profiles/humsci/su_humsci_profile/js/select-lists/dist/islands/select-list-filters.island.js b/docroot/profiles/humsci/su_humsci_profile/js/select-lists/dist/islands/select-list-filters.island.js index 4247e53711..23f9ae8c6f 100644 --- a/docroot/profiles/humsci/su_humsci_profile/js/select-lists/dist/islands/select-list-filters.island.js +++ b/docroot/profiles/humsci/su_humsci_profile/js/select-lists/dist/islands/select-list-filters.island.js @@ -1,10 +1,10 @@ -!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var r in n)("object"==typeof exports?exports:e)[r]=n[r]}}(self,(()=>(()=>{var e={774:e=>{e.exports=function(e,t,n,r){var o=n?n.call(r,e,t):void 0;if(void 0!==o)return!!o;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var i=Object.keys(e),l=Object.keys(t);if(i.length!==l.length)return!1;for(var u=Object.prototype.hasOwnProperty.bind(t),a=0;a{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nc=void 0;var r={};return(()=>{"use strict";n.r(r);var e={};n.r(e),n.d(e,{Children:()=>Re,Component:()=>S,Fragment:()=>b,PureComponent:()=>ke,StrictMode:()=>mt,Suspense:()=>Me,SuspenseList:()=>Fe,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:()=>ut,cloneElement:()=>ft,createContext:()=>W,createElement:()=>m,createFactory:()=>st,createPortal:()=>Be,createRef:()=>y,default:()=>kt,findDOMNode:()=>_t,flushSync:()=>vt,forwardRef:()=>Ae,hydrate:()=>Je,isElement:()=>wt,isFragment:()=>dt,isValidElement:()=>ct,lazy:()=>Le,memo:()=>Ee,render:()=>Ze,startTransition:()=>gt,unmountComponentAtNode:()=>pt,unstable_batchedUpdates:()=>ht,useCallback:()=>de,useContext:()=>fe,useDebugValue:()=>pe,useDeferredValue:()=>yt,useEffect:()=>le,useErrorBoundary:()=>_e,useId:()=>he,useImperativeHandle:()=>se,useInsertionEffect:()=>St,useLayoutEffect:()=>ue,useMemo:()=>ce,useReducer:()=>ie,useRef:()=>ae,useState:()=>oe,useSyncExternalStore:()=>xt,useTransition:()=>bt,version:()=>at});var t,o,i,l,u,a,s,c,d={},f=[],p=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,_=Array.isArray;function h(e,t){for(var n in t)e[n]=t[n];return e}function v(e){var t=e.parentNode;t&&t.removeChild(e)}function m(e,n,r){var o,i,l,u={};for(l in n)"key"==l?o=n[l]:"ref"==l?i=n[l]:u[l]=n[l];if(arguments.length>2&&(u.children=arguments.length>3?t.call(arguments,2):r),"function"==typeof e&&null!=e.defaultProps)for(l in e.defaultProps)void 0===u[l]&&(u[l]=e.defaultProps[l]);return g(e,u,o,i,null)}function g(e,t,n,r,l){var u={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:null==l?++i:l,__i:-1,__u:0};return null==l&&null!=o.vnode&&o.vnode(u),u}function y(){return{current:null}}function b(e){return e.children}function S(e,t){this.props=e,this.context=t}function w(e,t){if(null==t)return e.__?w(e.__,e.__i+1):null;for(var n;tt&&l.sort(s));k.__r=0}function E(e,t,n,r,o,i,l,u,a,s,c){var p,_,h,v,m,g=r&&r.__k||f,y=t.length;for(n.__d=a,I(n,t,g),a=n.__d,p=0;p0?g(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):o)?(o.__=e,o.__b=e.__b+1,u=N(o,n,l=r+d,c),o.__i=u,i=null,-1!==u&&(c--,(i=n[u])&&(i.__u|=131072)),null==i||null===i.__v?(-1==u&&d--,"function"!=typeof o.type&&(o.__u|=65536)):u!==l&&(u===l+1?d++:u>l?c>a-l?d+=u-l:d--:d=u(null!=a&&0==(131072&a.__u)?1:0))for(;l>=0||u=0){if((a=t[l])&&0==(131072&a.__u)&&o==a.key&&i===a.type)return l;l--}if(u2&&(a.children=arguments.length>3?t.call(arguments,2):r),g(e.type,a,o||e.key,i||e.ref,null)}function W(e,t){var n={__c:t="__cC"+c++,__:e,Consumer:function(e,t){return e.children(t)},Provider:function(e){var n,r;return this.getChildContext||(n=[],(r={})[t]=this,this.getChildContext=function(){return r},this.shouldComponentUpdate=function(e){this.props.value!==e.value&&n.some((function(e){e.__e=!0,C(e)}))},this.sub=function(e){n.push(e);var t=e.componentWillUnmount;e.componentWillUnmount=function(){n.splice(n.indexOf(e),1),t&&t.call(e)}}),e.children}};return n.Provider.__=n.Consumer.contextType=n}t=f.slice,o={__e:function(e,t,n,r){for(var o,i,l;t=t.__;)if((o=t.__c)&&!o.__)try{if((i=o.constructor)&&null!=i.getDerivedStateFromError&&(o.setState(i.getDerivedStateFromError(e)),l=o.__d),null!=o.componentDidCatch&&(o.componentDidCatch(e,r||{}),l=o.__d),l)return o.__E=o}catch(t){e=t}throw e}},i=0,S.prototype.setState=function(e,t){var n;n=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=h({},this.state),"function"==typeof e&&(e=e(h({},n),this.props)),e&&h(n,e),null!=e&&this.__v&&(t&&this._sb.push(t),C(this))},S.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),C(this))},S.prototype.render=b,l=[],a="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,s=function(e,t){return e.__v.__b-t.__v.__b},k.__r=0,c=0;var z,G,q,K,Y=0,Z=[],J=[],X=o.__b,Q=o.__r,ee=o.diffed,te=o.__c,ne=o.unmount;function re(e,t){o.__h&&o.__h(G,e,Y||t),Y=0;var n=G.__H||(G.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({__V:J}),n.__[e]}function oe(e){return Y=1,ie(we,e)}function ie(e,t,n){var r=re(z++,2);if(r.t=e,!r.__c&&(r.__=[n?n(t):we(void 0,t),function(e){var t=r.__N?r.__N[0]:r.__[0],n=r.t(t,e);t!==n&&(r.__N=[n,r.__[1]],r.__c.setState({}))}],r.__c=G,!G.u)){var o=function(e,t,n){if(!r.__c.__H)return!0;var o=r.__c.__H.__.filter((function(e){return e.__c}));if(o.every((function(e){return!e.__N})))return!i||i.call(this,e,t,n);var l=!1;return o.forEach((function(e){if(e.__N){var t=e.__[0];e.__=e.__N,e.__N=void 0,t!==e.__[0]&&(l=!0)}})),!(!l&&r.__c.props===e)&&(!i||i.call(this,e,t,n))};G.u=!0;var i=G.shouldComponentUpdate,l=G.componentWillUpdate;G.componentWillUpdate=function(e,t,n){if(this.__e){var r=i;i=void 0,o(e,t,n),i=r}l&&l.call(this,e,t,n)},G.shouldComponentUpdate=o}return r.__N||r.__}function le(e,t){var n=re(z++,3);!o.__s&&Se(n.__H,t)&&(n.__=e,n.i=t,G.__H.__h.push(n))}function ue(e,t){var n=re(z++,4);!o.__s&&Se(n.__H,t)&&(n.__=e,n.i=t,G.__h.push(n))}function ae(e){return Y=5,ce((function(){return{current:e}}),[])}function se(e,t,n){Y=6,ue((function(){return"function"==typeof e?(e(t()),function(){return e(null)}):e?(e.current=t(),function(){return e.current=null}):void 0}),null==n?n:n.concat(e))}function ce(e,t){var n=re(z++,7);return Se(n.__H,t)?(n.__V=e(),n.i=t,n.__h=e,n.__V):n.__}function de(e,t){return Y=8,ce((function(){return e}),t)}function fe(e){var t=G.context[e.__c],n=re(z++,9);return n.c=e,t?(null==n.__&&(n.__=!0,t.sub(G)),t.props.value):e.__}function pe(e,t){o.useDebugValue&&o.useDebugValue(t?t(e):e)}function _e(e){var t=re(z++,10),n=oe();return t.__=e,G.componentDidCatch||(G.componentDidCatch=function(e,r){t.__&&t.__(e,r),n[1](e)}),[n[0],function(){n[1](void 0)}]}function he(){var e=re(z++,11);if(!e.__){for(var t=G.__v;null!==t&&!t.__m&&null!==t.__;)t=t.__;var n=t.__m||(t.__m=[0,0]);e.__="P"+n[0]+"-"+n[1]++}return e.__}function ve(){for(var e;e=Z.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(ye),e.__H.__h.forEach(be),e.__H.__h=[]}catch(t){e.__H.__h=[],o.__e(t,e.__v)}}o.__b=function(e){G=null,X&&X(e)},o.__r=function(e){Q&&Q(e),z=0;var t=(G=e.__c).__H;t&&(q===G?(t.__h=[],G.__h=[],t.__.forEach((function(e){e.__N&&(e.__=e.__N),e.__V=J,e.__N=e.i=void 0}))):(t.__h.forEach(ye),t.__h.forEach(be),t.__h=[],z=0)),q=G},o.diffed=function(e){ee&&ee(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(1!==Z.push(t)&&K===o.requestAnimationFrame||((K=o.requestAnimationFrame)||ge)(ve)),t.__H.__.forEach((function(e){e.i&&(e.__H=e.i),e.__V!==J&&(e.__=e.__V),e.i=void 0,e.__V=J}))),q=G=null},o.__c=function(e,t){t.some((function(e){try{e.__h.forEach(ye),e.__h=e.__h.filter((function(e){return!e.__||be(e)}))}catch(n){t.some((function(e){e.__h&&(e.__h=[])})),t=[],o.__e(n,e.__v)}})),te&&te(e,t)},o.unmount=function(e){ne&&ne(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach((function(e){try{ye(e)}catch(e){t=e}})),n.__H=void 0,t&&o.__e(t,n.__v))};var me="function"==typeof requestAnimationFrame;function ge(e){var t,n=function(){clearTimeout(r),me&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,100);me&&(t=requestAnimationFrame(n))}function ye(e){var t=G,n=e.__c;"function"==typeof n&&(e.__c=void 0,n()),G=t}function be(e){var t=G;e.__c=e.__(),G=t}function Se(e,t){return!e||e.length!==t.length||t.some((function(t,n){return t!==e[n]}))}function we(e,t){return"function"==typeof t?t(e):t}function xe(e,t){for(var n in t)e[n]=t[n];return e}function Ce(e,t){for(var n in e)if("__source"!==n&&!(n in t))return!0;for(var r in t)if("__source"!==r&&e[r]!==t[r])return!0;return!1}function ke(e){this.props=e}function Ee(e,t){function n(e){var n=this.props.ref,r=n==e.ref;return!r&&n&&(n.call?n(null):n.current=null),t?!t(this.props,e)||!r:Ce(this.props,e)}function r(t){return this.shouldComponentUpdate=n,m(e,t)}return r.displayName="Memo("+(e.displayName||e.name)+")",r.prototype.isReactComponent=!0,r.__f=!0,r}(ke.prototype=new S).isPureReactComponent=!0,ke.prototype.shouldComponentUpdate=function(e,t){return Ce(this.props,e)||Ce(this.state,t)};var Ie=o.__b;o.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),Ie&&Ie(e)};var Pe="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function Ae(e){function t(t){var n=xe({},t);return delete n.ref,e(n,t.ref||null)}return t.$$typeof=Pe,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(e.displayName||e.name)+")",t}var Ne=function(e,t){return null==e?null:A(A(e).map(t))},Re={map:Ne,forEach:Ne,count:function(e){return e?A(e).length:0},only:function(e){var t=A(e);if(1!==t.length)throw"Children.only";return t[0]},toArray:A},Oe=o.__e;o.__e=function(e,t,n,r){if(e.then)for(var o,i=t;i=i.__;)if((o=i.__c)&&o.__c)return null==t.__e&&(t.__e=n.__e,t.__k=n.__k),o.__c(e,t);Oe(e,t,n,r)};var De=o.unmount;function Ve(e,t,n){return e&&(e.__c&&e.__c.__H&&(e.__c.__H.__.forEach((function(e){"function"==typeof e.__c&&e.__c()})),e.__c.__H=null),null!=(e=xe({},e)).__c&&(e.__c.__P===n&&(e.__c.__P=t),e.__c=null),e.__k=e.__k&&e.__k.map((function(e){return Ve(e,t,n)}))),e}function Te(e,t,n){return e&&n&&(e.__v=null,e.__k=e.__k&&e.__k.map((function(e){return Te(e,t,n)})),e.__c&&e.__c.__P===t&&(e.__e&&n.appendChild(e.__e),e.__c.__e=!0,e.__c.__P=n)),e}function Me(){this.__u=0,this.t=null,this.__b=null}function $e(e){var t=e.__.__c;return t&&t.__a&&t.__a(e)}function Le(e){var t,n,r;function o(o){if(t||(t=e()).then((function(e){n=e.default||e}),(function(e){r=e})),r)throw r;if(!n)throw t;return m(n,o)}return o.displayName="Lazy",o.__f=!0,o}function Fe(){this.u=null,this.o=null}o.unmount=function(e){var t=e.__c;t&&t.__R&&t.__R(),t&&32&e.__u&&(e.type=null),De&&De(e)},(Me.prototype=new S).__c=function(e,t){var n=t.__c,r=this;null==r.t&&(r.t=[]),r.t.push(n);var o=$e(r.__v),i=!1,l=function(){i||(i=!0,n.__R=null,o?o(u):u())};n.__R=l;var u=function(){if(! --r.__u){if(r.state.__a){var e=r.state.__a;r.__v.__k[0]=Te(e,e.__c.__P,e.__c.__O)}var t;for(r.setState({__a:r.__b=null});t=r.t.pop();)t.forceUpdate()}};r.__u++||32&t.__u||r.setState({__a:r.__b=r.__v.__k[0]}),e.then(l,l)},Me.prototype.componentWillUnmount=function(){this.t=[]},Me.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement("div"),r=this.__v.__k[0].__c;this.__v.__k[0]=Ve(this.__b,n,r.__O=r.__P)}this.__b=null}var o=t.__a&&m(b,null,e.fallback);return o&&(o.__u&=-33),[m(b,null,t.__a?null:e.children),o]};var je=function(e,t,n){if(++n[1]===n[0]&&e.o.delete(t),e.props.revealOrder&&("t"!==e.props.revealOrder[0]||!e.o.size))for(n=e.u;n;){for(;n.length>3;)n.pop()();if(n[1]>>1,1),t.i.removeChild(e)}}),H(m(He,{context:t.context},e.__v),t.l)}function Be(e,t){var n=m(Ue,{__v:e,i:t});return n.containerInfo=t,n}(Fe.prototype=new S).__a=function(e){var t=this,n=$e(t.__v),r=t.o.get(e);return r[0]++,function(o){var i=function(){t.props.revealOrder?(r.push(o),je(t,e,r)):o()};n?n(i):i()}},Fe.prototype.render=function(e){this.u=null,this.o=new Map;var t=A(e.children);e.revealOrder&&"b"===e.revealOrder[0]&&t.reverse();for(var n=t.length;n--;)this.o.set(t[n],this.u=[1,0,this.u]);return e.children},Fe.prototype.componentDidUpdate=Fe.prototype.componentDidMount=function(){var e=this;this.o.forEach((function(t,n){je(e,n,t)}))};var We="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,ze=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,Ge=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,qe=/[A-Z0-9]/g,Ke="undefined"!=typeof document,Ye=function(e){return("undefined"!=typeof Symbol&&"symbol"==typeof Symbol()?/fil|che|rad/:/fil|che|ra/).test(e)};function Ze(e,t,n){return null==t.__k&&(t.textContent=""),H(e,t),"function"==typeof n&&n(),e?e.__c:null}function Je(e,t,n){return U(e,t),"function"==typeof n&&n(),e?e.__c:null}S.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach((function(e){Object.defineProperty(S.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})}));var Xe=o.event;function Qe(){}function et(){return this.cancelBubble}function tt(){return this.defaultPrevented}o.event=function(e){return Xe&&(e=Xe(e)),e.persist=Qe,e.isPropagationStopped=et,e.isDefaultPrevented=tt,e.nativeEvent=e};var nt,rt={enumerable:!1,configurable:!0,get:function(){return this.class}},ot=o.vnode;o.vnode=function(e){"string"==typeof e.type&&function(e){var t=e.props,n=e.type,r={};for(var o in t){var i=t[o];if(!("value"===o&&"defaultValue"in t&&null==i||Ke&&"children"===o&&"noscript"===n||"class"===o||"className"===o)){var l=o.toLowerCase();"defaultValue"===o&&"value"in t&&null==t.value?o="value":"download"===o&&!0===i?i="":"ondoubleclick"===l?o="ondblclick":"onchange"!==l||"input"!==n&&"textarea"!==n||Ye(t.type)?"onfocus"===l?o="onfocusin":"onblur"===l?o="onfocusout":Ge.test(o)?o=l:-1===n.indexOf("-")&&ze.test(o)?o=o.replace(qe,"-$&").toLowerCase():null===i&&(i=void 0):l=o="oninput","oninput"===l&&r[o=l]&&(o="oninputCapture"),r[o]=i}}"select"==n&&r.multiple&&Array.isArray(r.value)&&(r.value=A(t.children).forEach((function(e){e.props.selected=-1!=r.value.indexOf(e.props.value)}))),"select"==n&&null!=r.defaultValue&&(r.value=A(t.children).forEach((function(e){e.props.selected=r.multiple?-1!=r.defaultValue.indexOf(e.props.value):r.defaultValue==e.props.value}))),t.class&&!t.className?(r.class=t.class,Object.defineProperty(r,"className",rt)):(t.className&&!t.class||t.class&&t.className)&&(r.class=r.className=t.className),e.props=r}(e),e.$$typeof=We,ot&&ot(e)};var it=o.__r;o.__r=function(e){it&&it(e),nt=e.__c};var lt=o.diffed;o.diffed=function(e){lt&<(e);var t=e.props,n=e.__e;null!=n&&"textarea"===e.type&&"value"in t&&t.value!==n.value&&(n.value=null==t.value?"":t.value),nt=null};var ut={ReactCurrentDispatcher:{current:{readContext:function(e){return nt.__n[e.__c].props.value}}}},at="17.0.2";function st(e){return m.bind(null,e)}function ct(e){return!!e&&e.$$typeof===We}function dt(e){return ct(e)&&e.type===b}function ft(e){return ct(e)?B.apply(null,arguments):e}function pt(e){return!!e.__k&&(H(null,e),!0)}function _t(e){return e&&(e.base||1===e.nodeType&&e)||null}var ht=function(e,t){return e(t)},vt=function(e,t){return e(t)},mt=b;function gt(e){e()}function yt(e){return e}function bt(){return[!1,gt]}var St=ue,wt=ct;function xt(e,t){var n=t(),r=oe({h:{__:n,v:t}}),o=r[0].h,i=r[1];return ue((function(){o.__=n,o.v=t,Ct(o)&&i({h:o})}),[e,n,t]),le((function(){return Ct(o)&&i({h:o}),e((function(){Ct(o)&&i({h:o})}))}),[e]),n}function Ct(e){var t,n,r=e.v,o=e.__;try{var i=r();return!((t=o)===(n=i)&&(0!==t||1/t==1/n)||t!=t&&n!=n)}catch(e){return!0}}var kt={useState:oe,useId:he,useReducer:ie,useEffect:le,useLayoutEffect:ue,useInsertionEffect:St,useTransition:bt,useDeferredValue:yt,useSyncExternalStore:xt,startTransition:gt,useRef:ae,useImperativeHandle:se,useMemo:ce,useCallback:de,useContext:fe,useDebugValue:pe,version:"17.0.2",Children:Re,render:Ze,hydrate:Je,unmountComponentAtNode:pt,createPortal:Be,createElement:m,createContext:W,createFactory:st,cloneElement:ft,createRef:y,Fragment:b,isValidElement:ct,isElement:wt,isFragment:dt,findDOMNode:_t,Component:S,PureComponent:ke,memo:Ee,forwardRef:Ae,flushSync:vt,unstable_batchedUpdates:ht,StrictMode:mt,Suspense:Me,SuspenseList:Fe,lazy:Le,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:ut};function Et(){return Et=Object.assign||function(e){for(var t=1;te instanceof ShadowRoot,Pt=e=>{const t=e.getRootNode()instanceof ShadowRoot?e.getRootNode().host:e,{dataset:n}=t,r={};for(var o in n){if(!1===n.hasOwnProperty(o))return;const e=`${(i=o.split(/(props?)/).pop()||"").charAt(0).toLowerCase()}${i.slice(1)}`;e&&(r[e]=n[o])}var i;return r},At=e=>["text/props","application/json"].includes(e.getAttribute("type")||""),Nt=e=>It(e)?[]:Array.from(e.getElementsByTagName("script")).filter(At),Rt=e=>Array.from(document.querySelectorAll(e)).filter(At),Ot=e=>{let t={};return e.forEach((e=>{try{t=Et({},t,JSON.parse(e.innerHTML))}catch(e){}})),t},Dt=(e,t,n={},r)=>{const o=Pt(t),i=e._executedScript?Pt(e._executedScript):{},l=Ot(Nt(t));return Et({},n,o,i,r?Ot(Rt(r)):{},l)};function Vt(e,t){var n=(t=[].concat(t))[t.length-1].nextSibling;function r(t,r){e.insertBefore(t,r||n)}return e.__k={nodeType:1,parentNode:e,firstChild:t[0],childNodes:t,insertBefore:r,appendChild:r,removeChild:function(t){e.removeChild(t)}}}const Tt=({island:e,widget:t,rootFragment:n,props:r})=>{e.props=r,H(m(t,r),n)},Mt=(e,t)=>{if(null==customElements.get(e)){class t extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"})}}customElements.define(e,t)}const n=(e=>{const t={_rootsToObservers:new WeakMap,_roots:[],_executedScript:document.currentScript,props:{},render:({selector:n,clean:r=!1,replace:o=!1,inline:i=!1,initialProps:l={},propsSelector:u,elementName:a})=>{let s=!1;const c=()=>{if(!0===s)return;const c=(({selector:e,inline:t,elementName:n})=>{const r=document.currentScript;if(t&&null!=r&&r.parentNode)return[r.parentNode];const o=null==r?void 0:r.dataset.mountIn;return o?Array.from(document.querySelectorAll(o)).map((e=>{if(null!=n){const t=document.createElement(n),r=e.appendChild(t);return null!=r.shadowRoot?r.shadowRoot:r}return e})):e?Array.from(document.querySelectorAll(e)).map((e=>null!=e.shadowRoot?e.shadowRoot:e)):[]})({selector:n,inline:i,elementName:a});if(0===c.length)return;const{rootFragments:d}=(({island:e,widget:t,hostElements:n,clean:r,replace:o,initialProps:i,propsSelector:l})=>{const u=[];return n.forEach((n=>{const a=Dt(e,n,i,l);let s;if(r&&n.replaceChildren(),o)s=Vt(n.parentElement||document.body,n);else{const e=document.createElement("div");n.appendChild(e),s=Vt(n,e)}u.push(s),Tt({island:e,widget:t,rootFragment:s,props:a});const c=(({island:e,hostElement:t,initialProps:n,onNewProps:r,propsSelector:o})=>{const i=new MutationObserver((function(i){i.forEach((function(){r(Dt(e,t,n,o))}))})),l={attributes:!0,childList:!0,characterData:!0};return e._executedScript&&i.observe(e._executedScript,l),Nt(t).forEach((e=>{i.observe(e,Et({},l,{subtree:!0}))})),o&&Rt(o).forEach((e=>{i.observe(e,Et({},l,{subtree:!0}))})),i.observe(It(t)?t.host:t,l),i})({island:e,hostElement:n,initialProps:i,onNewProps:n=>{Tt({island:e,widget:t,rootFragment:s,props:n})},propsSelector:l});e._rootsToObservers.set(s,c)})),{rootFragments:u}})({island:t,widget:e,clean:r,hostElements:c,replace:o,initialProps:l,propsSelector:u});t._roots=t._roots.concat(d),s=!0};c(),document.addEventListener("DOMContentLoaded",c),document.addEventListener("load",c)},rerender:n=>{t._roots.forEach((r=>{Tt({island:t,widget:e,rootFragment:r,props:Et({},t.props,n)})}))},destroy:()=>{t._roots.forEach((e=>{var n;null==(n=t._rootsToObservers.get(e))||n.disconnect(),H(null,e)}))}};return t})(t);return Et({},n,{render:t=>n.render(Et({elementName:e},t)),injectStyles:e=>{n._roots.forEach((t=>{const n=document.createElement("style");n.innerHTML=e,t.parentNode.prepend(n)}))}})};var $t=function(){return $t=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0?rn(hn,--pn):0,dn--,10===_n&&(dn=1,cn--),_n}function bn(){return _n=pn2||Cn(_n)>3?"":" "}function An(e,t){for(;--t&&bn()&&!(_n<48||_n>102||_n>57&&_n<65||_n>70&&_n<97););return xn(e,wn()+(t<6&&32==Sn()&&32==bn()))}function Nn(e){for(;bn();)switch(_n){case e:return pn;case 34:case 39:34!==e&&39!==e&&Nn(_n);break;case 40:41===e&&Nn(e);break;case 92:bn()}return pn}function Rn(e,t){for(;bn()&&e+_n!==57&&(e+_n!==84||47!==Sn()););return"/*"+xn(t,pn-1)+"*"+Jt(47===e?e:bn())}function On(e){for(;!Cn(Sn());)bn();return xn(e,pn)}function Dn(e,t){for(var n="",r=0;r6)switch(rn(e,t+1)){case 109:if(45!==rn(e,t+4))break;case 102:return tn(e,/(.+:)(.+)-([^]+)/,"$1"+Bt+"$2-$3$1"+Ut+(108==rn(e,t+3)?"$3":"$2-$3"))+e;case 115:return~nn(e,"stretch",0)?Tn(tn(e,"stretch","fill-available"),t,n)+e:e}break;case 5152:case 5920:return tn(e,/(.+?):(\d+)(\s*\/\s*(span)?\s*(\d+))?(.*)/,(function(t,n,r,o,i,l,u){return Ht+n+":"+r+u+(o?Ht+n+"-span:"+(i?l:+l-+r)+u:"")+e}));case 4949:if(121===rn(e,t+6))return tn(e,":",":"+Bt)+e;break;case 6444:switch(rn(e,45===rn(e,14)?18:11)){case 120:return tn(e,/(.+:)([^;\s!]+)(;|(\s+)?!.+)?/,"$1"+Bt+(45===rn(e,14)?"inline-":"")+"box$3$1"+Bt+"$2$3$1"+Ht+"$2box$3")+e;case 100:return tn(e,":",":"+Ht)+e}break;case 5719:case 2647:case 2135:case 3927:case 2391:return tn(e,"scroll-","scroll-snap-")+e}return e}function Mn(e,t,n,r){if(e.length>-1&&!e.return)switch(e.type){case Gt:return void(e.return=Tn(e.value,e.length,n));case Kt:return Dn([mn(e,{value:tn(e.value,"@","@"+Bt)})],r);case zt:if(e.length)return function(e,t){return e.map(t).join("")}(n=e.props,(function(t){switch(en(t,r=/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":gn(mn(e,{props:[tn(t,/:(read-\w+)/,":"+Ut+"$1")]})),gn(mn(e,{props:[t]})),Xt(e,{props:sn(n,r)});break;case"::placeholder":gn(mn(e,{props:[tn(t,/:(plac\w+)/,":"+Bt+"input-$1")]})),gn(mn(e,{props:[tn(t,/:(plac\w+)/,":"+Ut+"$1")]})),gn(mn(e,{props:[tn(t,/:(plac\w+)/,Ht+"input-$1")]})),gn(mn(e,{props:[t]})),Xt(e,{props:sn(n,r)})}return""}))}}function $n(e){return En(Ln("",null,null,null,[""],e=kn(e),0,[0],e))}function Ln(e,t,n,r,o,i,l,u,a){for(var s=0,c=0,d=l,f=0,p=0,_=0,h=1,v=1,m=1,g=0,y="",b=o,S=i,w=r,x=y;v;)switch(_=g,g=bn()){case 40:if(108!=_&&58==rn(x,d-1)){-1!=nn(x+=tn(In(g),"&","&\f"),"&\f",Zt(s?u[s-1]:0))&&(m=-1);break}case 34:case 39:case 91:x+=In(g);break;case 9:case 10:case 13:case 32:x+=Pn(_);break;case 92:x+=An(wn()-1,7);continue;case 47:switch(Sn()){case 42:case 47:an(jn(Rn(bn(),wn()),t,n,a),a);break;default:x+="/"}break;case 123*h:u[s++]=ln(x)*m;case 125*h:case 59:case 0:switch(g){case 0:case 125:v=0;case 59+c:-1==m&&(x=tn(x,/\f/g,"")),p>0&&ln(x)-d&&an(p>32?Hn(x+";",r,n,d-1,a):Hn(tn(x," ","")+";",r,n,d-2,a),a);break;case 59:x+=";";default:if(an(w=Fn(x,t,n,s,c,o,u,y,b=[],S=[],d,i),i),123===g)if(0===c)Ln(x,t,w,w,b,i,d,u,S);else switch(99===f&&110===rn(x,3)?100:f){case 100:case 108:case 109:case 115:Ln(e,w,w,r&&an(Fn(e,w,w,0,0,o,u,y,o,b=[],d,S),S),o,S,d,u,r?b:S);break;default:Ln(x,w,w,w,[""],S,0,u,S)}}s=c=p=0,h=m=1,y=x="",d=l;break;case 58:d=1+ln(x),p=_;default:if(h<1)if(123==g)--h;else if(125==g&&0==h++&&125==yn())continue;switch(x+=Jt(g),g*h){case 38:m=c>0?1:(x+="\f",-1);break;case 44:u[s++]=(ln(x)-1)*m,m=1;break;case 64:45===Sn()&&(x+=In(bn())),f=Sn(),c=d=ln(y=x+=On(wn())),g++;break;case 45:45===_&&2==ln(x)&&(h=0)}}return i}function Fn(e,t,n,r,o,i,l,u,a,s,c,d){for(var f=o-1,p=0===o?i:[""],_=un(p),h=0,v=0,m=0;h0?p[g]+" "+y:tn(y,/&\f/g,p[g])))&&(a[m++]=b);return vn(e,t,n,0===o?zt:u,a,s,c,d)}function jn(e,t,n,r){return vn(e,t,n,Wt,Jt(_n),on(e,2,-2),0,r)}function Hn(e,t,n,r,o){return vn(e,t,n,Gt,on(e,0,r),on(e,r+1,-1),r,o)}const Un={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1};var Bn="undefined"!=typeof process&&("MISSING_ENV_VAR".REACT_APP_SC_ATTR||"MISSING_ENV_VAR".SC_ATTR)||"data-styled",Wn="active",zn="data-styled-version",Gn="6.1.8",qn="/*!sc*/\n",Kn="undefined"!=typeof window&&"HTMLElement"in window,Yn=Boolean("boolean"==typeof SC_DISABLE_SPEEDY?SC_DISABLE_SPEEDY:"undefined"!=typeof process&&void 0!=="MISSING_ENV_VAR".REACT_APP_SC_DISABLE_SPEEDY&&""!=="MISSING_ENV_VAR".REACT_APP_SC_DISABLE_SPEEDY?"false"!=="MISSING_ENV_VAR".REACT_APP_SC_DISABLE_SPEEDY&&"MISSING_ENV_VAR".REACT_APP_SC_DISABLE_SPEEDY:"undefined"!=typeof process&&void 0!=="MISSING_ENV_VAR".SC_DISABLE_SPEEDY&&""!=="MISSING_ENV_VAR".SC_DISABLE_SPEEDY&&("false"!=="MISSING_ENV_VAR".SC_DISABLE_SPEEDY&&"MISSING_ENV_VAR".SC_DISABLE_SPEEDY)),Zn=(new Set,Object.freeze([])),Jn=Object.freeze({});function Xn(e,t,n){return void 0===n&&(n=Jn),e.theme!==n.theme&&e.theme||t||n.theme}var Qn=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track","u","ul","use","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"]),er=/[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~-]+/g,tr=/(^-|-$)/g;function nr(e){return e.replace(er,"-").replace(tr,"")}var rr=/(a)(d)/gi,or=52,ir=function(e){return String.fromCharCode(e+(e>25?39:97))};function lr(e){var t,n="";for(t=Math.abs(e);t>or;t=t/or|0)n=ir(t%or)+n;return(ir(t%or)+n).replace(rr,"$1-$2")}var ur,ar=5381,sr=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},cr=function(e){return sr(ar,e)};function dr(e){return lr(cr(e)>>>0)}function fr(e){return e.displayName||e.name||"Component"}function pr(e){return"string"==typeof e&&!0}var _r="function"==typeof Symbol&&Symbol.for,hr=_r?Symbol.for("react.memo"):60115,vr=_r?Symbol.for("react.forward_ref"):60112,mr={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},gr={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},yr={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},br=((ur={})[vr]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},ur[hr]=yr,ur);function Sr(e){return("type"in(t=e)&&t.type.$$typeof)===hr?yr:"$$typeof"in e?br[e.$$typeof]:mr;var t}var wr=Object.defineProperty,xr=Object.getOwnPropertyNames,Cr=Object.getOwnPropertySymbols,kr=Object.getOwnPropertyDescriptor,Er=Object.getPrototypeOf,Ir=Object.prototype;function Pr(e,t,n){if("string"!=typeof t){if(Ir){var r=Er(t);r&&r!==Ir&&Pr(e,r,n)}var o=xr(t);Cr&&(o=o.concat(Cr(t)));for(var i=Sr(e),l=Sr(t),u=0;u0?" Args: ".concat(t.join(", ")):""))}var $r=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}return e.prototype.indexOfGroup=function(e){for(var t=0,n=0;n=this.groupSizes.length){for(var n=this.groupSizes,r=n.length,o=r;e>=o;)if((o<<=1)<0)throw Mr(16,"".concat(e));this.groupSizes=new Uint32Array(o),this.groupSizes.set(n),this.length=o;for(var i=r;i=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],r=this.indexOfGroup(e),o=r+n,i=r;i=0){var n=document.createTextNode(t);return this.element.insertBefore(n,this.nodes[e]||null),this.length++,!0}return!1},e.prototype.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},e.prototype.getRule=function(e){return e0&&(a+="".concat(e,","))})),r+="".concat(l).concat(u,'{content:"').concat(a,'"}').concat(qn)},i=0;i0?".".concat(t):e},c=a.slice();c.push((function(e){e.type===zt&&e.value.includes("&")&&(e.props[0]=e.props[0].replace(to,n).replace(r,s))})),l.prefix&&c.push(Mn),c.push(Vn);var d=function(e,o,i,u){void 0===o&&(o=""),void 0===i&&(i=""),void 0===u&&(u="&"),t=u,n=o,r=new RegExp("\\".concat(n,"\\b"),"g");var a=e.replace(no,""),s=$n(i||o?"".concat(i," ").concat(o," { ").concat(a," }"):a);l.namespace&&(s=ro(s,l.namespace));var d,f,p,_=[];return Dn(s,(d=c.concat((p=function(e){return _.push(e)},function(e){e.root||(e=e.return)&&p(e)})),f=un(d),function(e,t,n,r){for(var o="",i=0;i="A"&&e<="Z"};function _o(e){for(var t="",n=0;n>>0);if(!t.hasNameForId(this.componentId,i)){var l=n(o,".".concat(i),void 0,this.componentId);t.insertRules(this.componentId,i,l)}r=Rr(r,i),this.staticRulesId=i}else{for(var u=sr(this.baseHash,n.hash),a="",s=0;s>>0);t.hasNameForId(this.componentId,f)||t.insertRules(this.componentId,f,n(a,".".concat(f),void 0,this.componentId)),r=Rr(r,f)}}return r},e}(),So=kt.createContext(void 0);So.Consumer;var wo={};new Set;function xo(e,t,n){var r=Nr(e),o=e,i=!pr(e),l=t.attrs,u=void 0===l?Zn:l,a=t.componentId,s=void 0===a?function(e,t){var n="string"!=typeof e?"sc":nr(e);wo[n]=(wo[n]||0)+1;var r="".concat(n,"-").concat(dr(Gn+n+wo[n]));return t?"".concat(t,"-").concat(r):r}(t.displayName,t.parentComponentId):a,c=t.displayName,d=void 0===c?function(e){return pr(e)?"styled.".concat(e):"Styled(".concat(fr(e),")")}(e):c,f=t.displayName&&t.componentId?"".concat(nr(t.displayName),"-").concat(t.componentId):t.componentId||s,p=r&&o.attrs?o.attrs.concat(u).filter(Boolean):u,_=t.shouldForwardProp;if(r&&o.shouldForwardProp){var h=o.shouldForwardProp;if(t.shouldForwardProp){var v=t.shouldForwardProp;_=function(e,t){return h(e,t)&&v(e,t)}}else _=h}var g=new bo(n,f,r?o.componentStyle:void 0);function y(e,t){return function(e,t,n){var r=e.attrs,o=e.componentStyle,i=e.defaultProps,l=e.foldedComponentIds,u=e.styledComponentId,a=e.target,s=kt.useContext(So),c=so(),d=e.shouldForwardProp||c.shouldForwardProp,f=Xn(t,s,i)||Jn,p=function(e,t,n){for(var r,o=$t($t({},t),{className:void 0,theme:n}),i=0;i2&&eo.registerId(this.componentId+e),this.removeStyles(e,n),this.createStyles(e,t,n,r)}}();(function(){function e(){var e=this;this._emitSheetCSS=function(){var t=e.instance.toString(),n=qr(),r=Or([n&&'nonce="'.concat(n,'"'),"".concat(Bn,'="true"'),"".concat(zn,'="').concat(Gn,'"')].filter(Boolean)," ");return"")},this.getStyleTags=function(){if(e.sealed)throw Mr(2);return e._emitSheetCSS()},this.getStyleElement=function(){var t;if(e.sealed)throw Mr(2);var n=((t={})[Bn]="",t[zn]=Gn,t.dangerouslySetInnerHTML={__html:e.instance.toString()},t),r=qr();return r&&(n.nonce=r),[kt.createElement("style",$t({},n,{key:"sc-0-0"}))]},this.seal=function(){e.sealed=!0},this.instance=new eo({isServer:!0}),this.sealed=!1}e.prototype.collectStyles=function(e){if(this.sealed)throw Mr(2);return kt.createElement(co,{sheet:this.instance},e)},e.prototype.interleaveWithNodeStream=function(e){throw Mr(3)}})(),"__sc-".concat(Bn,"__");function No(){return No=Object.assign?Object.assign.bind():function(e){for(var t=1;te.every((e=>null==e))?null:t=>{e.forEach((e=>{!function(e,t){"function"==typeof e?e(t):e&&(e.current=t)}(e,t)}))}),e)}let Oo=0;const Do=e["useId".toString()];function Vo(e){if(void 0!==Do){const t=Do();return null!=e?e:t}return function(e){const[t,n]=oe(e),r=e||t;return le((()=>{null==t&&(Oo+=1,n(`mui-${Oo}`))}),[t]),r}(e)}const To="undefined"!=typeof window?ue:le,Mo={border:0,clip:"rect(0 0 0 0)",height:"1px",margin:-1,overflow:"hidden",padding:0,position:"absolute",whiteSpace:"nowrap",width:"1px"};let $o,Lo=!0,Fo=!1;const jo={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function Ho(e){e.metaKey||e.altKey||e.ctrlKey||(Lo=!0)}function Uo(){Lo=!1}function Bo(){"hidden"===this.visibilityState&&Fo&&(Lo=!0)}function Wo(e){const{target:t}=e;try{return t.matches(":focus-visible")}catch(e){}return Lo||function(e){const{type:t,tagName:n}=e;return!("INPUT"!==n||!jo[t]||e.readOnly)||"TEXTAREA"===n&&!e.readOnly||!!e.isContentEditable}(t)}function zo(){const e=de((e=>{var t;null!=e&&((t=e.ownerDocument).addEventListener("keydown",Ho,!0),t.addEventListener("mousedown",Uo,!0),t.addEventListener("pointerdown",Uo,!0),t.addEventListener("touchstart",Uo,!0),t.addEventListener("visibilitychange",Bo,!0))}),[]),t=ae(!1);return{isFocusVisibleRef:t,onFocus:function(e){return!!Wo(e)&&(t.current=!0,!0)},onBlur:function(){return!!t.current&&(Fo=!0,window.clearTimeout($o),$o=window.setTimeout((()=>{Fo=!1}),100),t.current=!1,!0)},ref:e}}function Go(e,t=[]){if(void 0===e)return{};const n={};return Object.keys(e).filter((n=>n.match(/^on[A-Z]/)&&"function"==typeof e[n]&&!t.includes(n))).forEach((t=>{n[t]=e[t]})),n}function qo(e={}){const{disabled:t=!1,focusableWhenDisabled:n,href:r,rootRef:o,tabIndex:i,to:l,type:u}=e,a=ae(),[s,c]=oe(!1),{isFocusVisibleRef:d,onFocus:f,onBlur:p,ref:_}=zo(),[h,v]=oe(!1);t&&!n&&h&&v(!1),le((()=>{d.current=h}),[h,d]);const[m,g]=oe(""),y=e=>t=>{var n;h&&t.preventDefault(),null==(n=e.onMouseLeave)||n.call(e,t)},b=e=>t=>{var n,r;(a.current||(a.current=t.currentTarget),f(t),!0===d.current)&&(v(!0),null==(r=e.onFocusVisible)||r.call(e,t));null==(n=e.onFocus)||n.call(e,t)},S=()=>{const e=a.current;return"BUTTON"===m||"INPUT"===m&&["button","submit","reset"].includes(null==e?void 0:e.type)||"A"===m&&(null==e?void 0:e.href)},w=e=>n=>{var r;t||(null==(r=e.onClick)||r.call(e,n))},x=e=>n=>{var r;t||(c(!0),document.addEventListener("mouseup",(()=>{c(!1)}),{once:!0})),null==(r=e.onMouseDown)||r.call(e,n)},C=e=>n=>{var r,o;(null==(r=e.onKeyDown)||r.call(e,n),n.defaultMuiPrevented)||(n.target!==n.currentTarget||S()||" "!==n.key||n.preventDefault(),n.target!==n.currentTarget||" "!==n.key||t||c(!0),n.target!==n.currentTarget||S()||"Enter"!==n.key||t||(null==(o=e.onClick)||o.call(e,n),n.preventDefault()))},k=e=>n=>{var r,o;(n.target===n.currentTarget&&c(!1),null==(r=e.onKeyUp)||r.call(e,n),n.target!==n.currentTarget||S()||t||" "!==n.key||n.defaultMuiPrevented)||(null==(o=e.onClick)||o.call(e,n))},E=Ro(de((e=>{var t;g(null!=(t=null==e?void 0:e.tagName)?t:"")}),[]),o,_,a),I={};void 0!==i&&(I.tabIndex=i),"BUTTON"===m?(I.type=null!=u?u:"button",n?I["aria-disabled"]=t:I.disabled=t):""!==m&&(r||l||(I.role="button",I.tabIndex=null!=i?i:0),t&&(I["aria-disabled"]=t,I.tabIndex=n?null!=i?i:0:-1));return{getRootProps:(t={})=>{const n=No({},Go(e),Go(t)),r=No({type:u},n,I,t,{onBlur:(o=n,e=>{var t;p(e),!1===d.current&&v(!1),null==(t=o.onBlur)||t.call(o,e)}),onClick:w(n),onFocus:b(n),onKeyDown:C(n),onKeyUp:k(n),onMouseDown:x(n),onMouseLeave:y(n),ref:E});var o;return delete r.onFocusVisible,r},focusVisible:h,setFocusVisible:v,active:s,rootRef:E}}const Ko={buttonClick:"buttonClick",browserAutoFill:"browserAutoFill"},Yo={blur:"list:blur",focus:"list:focus",itemClick:"list:itemClick",itemHover:"list:itemHover",itemsChange:"list:itemsChange",keyDown:"list:keyDown",resetHighlight:"list:resetHighlight",textNavigation:"list:textNavigation",clearSelection:"list:clearSelection"};function Zo(e,t,n){var r;const{items:o,isItemDisabled:i,disableListWrap:l,disabledItemsFocusable:u,itemComparer:a,focusManagement:s}=n,c="DOM"===s?0:-1,d=o.length-1,f=null==e?-1:o.findIndex((t=>a(t,e)));let p,_,h=!l;switch(t){case"reset":if(-1===c)return null;p=0,_="next",h=!1;break;case"start":p=0,_="next",h=!1;break;case"end":p=d,_="previous",h=!1;break;default:{const e=f+t;e<0?!h&&-1!==f||Math.abs(t)>1?(p=0,_="next"):(p=d,_="previous"):e>d?!h||Math.abs(t)>1?(p=d,_="previous"):(p=0,_="next"):(p=e,_=t>=0?"next":"previous")}}const v=function(e,t,n,r,o,i){if(0===n.length||!r&&n.every(((e,t)=>o(e,t))))return-1;let l=e;for(;;){if(!i&&"next"===t&&l===n.length||!i&&"previous"===t&&-1===l)return-1;if(r||!o(n[l],l))return l;l+="next"===t?1:-1,i&&(l=(l+n.length)%n.length)}}(p,_,o,u,i,h);return-1!==v||null===e||i(e,f)?null!=(r=o[v])?r:null:e}function Jo(e,t,n){const{itemComparer:r,isItemDisabled:o,selectionMode:i,items:l}=n,{selectedValues:u}=t,a=l.findIndex((t=>r(e,t)));if(o(e,a))return t;const s=function(e,t,n,r){return"none"===n?[]:"single"===n?r(t[0],e)?t:[e]:t.some((t=>r(t,e)))?t.filter((t=>!r(t,e))):[...t,e]}(e,u,i,r);return No({},t,{selectedValues:s,highlightedValue:e})}function Xo(e,t,n){var r;const o=null==(r=n(e))?void 0:r.trim().toLowerCase();return!(!o||0===o.length)&&0===o.indexOf(t)}function Qo(e,t){const{type:n,context:r}=t;switch(n){case Yo.keyDown:return function(e,t,n){const r=t.highlightedValue,{orientation:o,pageSize:i}=n;switch(e){case"Home":return No({},t,{highlightedValue:Zo(r,"start",n)});case"End":return No({},t,{highlightedValue:Zo(r,"end",n)});case"PageUp":return No({},t,{highlightedValue:Zo(r,-i,n)});case"PageDown":return No({},t,{highlightedValue:Zo(r,i,n)});case"ArrowUp":if("vertical"!==o)break;return No({},t,{highlightedValue:Zo(r,-1,n)});case"ArrowDown":if("vertical"!==o)break;return No({},t,{highlightedValue:Zo(r,1,n)});case"ArrowLeft":if("vertical"===o)break;return No({},t,{highlightedValue:Zo(r,"horizontal-ltr"===o?-1:1,n)});case"ArrowRight":if("vertical"===o)break;return No({},t,{highlightedValue:Zo(r,"horizontal-ltr"===o?1:-1,n)});case"Enter":case" ":return null===t.highlightedValue?t:Jo(t.highlightedValue,t,n)}return t}(t.key,e,r);case Yo.itemClick:return Jo(t.item,e,r);case Yo.blur:return function(e,t){return"DOM"===t.focusManagement?e:No({},e,{highlightedValue:null})}(e,r);case Yo.textNavigation:return function(e,t,n){const{items:r,isItemDisabled:o,disabledItemsFocusable:i,getItemAsString:l}=n,u=t.length>1;let a=u?e.highlightedValue:Zo(e.highlightedValue,1,n);for(let s=0;si(e,n.highlightedValue))))?a:null:"DOM"===l&&0===t.length&&(u=Zo(null,"reset",r));const s=(null!=(o=n.selectedValues)?o:[]).filter((t=>e.some((e=>i(e,t)))));return No({},n,{highlightedValue:u,selectedValues:s})}(t.items,t.previousItems,e,r);case Yo.resetHighlight:return function(e,t){return No({},e,{highlightedValue:Zo(null,"reset",t)})}(e,r);case Yo.clearSelection:return function(e,t){return No({},e,{selectedValues:[],highlightedValue:Zo(null,"reset",t)})}(e,r);default:return e}}function ei(e,t){return e===t}const ti={},ni=()=>{};function ri(e,t){const n=No({},e);return Object.keys(t).forEach((e=>{void 0!==t[e]&&(n[e]=t[e])})),n}function oi(e){const t=ae(null),{reducer:n,initialState:r,controlledProps:o=ti,stateComparers:i=ti,onStateChange:l=ni,actionContext:u,componentName:a=""}=e;ae(o);const s=de(((e,r)=>{t.current=r;const i=ri(e,o);return n(i,r)}),[o,n]),[c,d]=ie(s,r),f=de((e=>{d(No({},e,{context:u}))}),[u]);return function(e){const{nextState:t,initialState:n,stateComparers:r,onStateChange:o,controlledProps:i,lastActionRef:l}=e,u=ae(n);le((()=>{if(null===l.current)return;const e=ri(u.current,i);Object.keys(t).forEach((n=>{var i;const u=null!=(i=r[n])?i:ei,a=t[n],s=e[n];var c,d;(null==s&&null!=a||null!=s&&null==a||null!=s&&null!=a&&!u(a,s))&&(null==o||o(null!=(c=l.current.event)?c:null,n,a,null!=(d=l.current.type)?d:"",t))})),u.current=t,l.current=null}),[u,t,l,o,r,i])}({nextState:c,initialState:r,stateComparers:null!=i?i:ti,onStateChange:null!=l?l:ni,controlledProps:o,lastActionRef:t}),[ri(c,o),f]}function ii(e,t,n=((e,t)=>e===t)){return e.length===t.length&&e.every(((e,r)=>n(e,t[r])))}const li=500;const ui={},ai=()=>{},si=(e,t)=>e===t,ci=()=>!1,di=e=>"string"==typeof e?e:String(e),fi=()=>({highlightedValue:null,selectedValues:[]});function pi(e){const{controlledProps:t=ui,disabledItemsFocusable:n=!1,disableListWrap:r=!1,focusManagement:o="activeDescendant",getInitialState:i=fi,getItemDomElement:l,getItemId:u,isItemDisabled:a=ci,rootRef:s,onStateChange:c=ai,items:d,itemComparer:f=si,getItemAsString:p=di,onChange:_,onHighlightChange:h,onItemsChange:v,orientation:m="vertical",pageSize:g=5,reducerActionContext:y=ui,selectionMode:b="single",stateReducer:S,componentName:w="useList"}=e;const x=ae(null),C=Ro(s,x),k=de(((e,t,n)=>{var r;(null==h||h(e,t,n),"DOM"!==o||null==t||n!==Yo.itemClick&&n!==Yo.keyDown&&n!==Yo.textNavigation)||(null==l||null==(r=l(t))||r.focus())}),[l,h,o]),E=ce((()=>({highlightedValue:f,selectedValues:(e,t)=>ii(e,t,f)})),[f]),I=de(((e,t,n,r,o)=>{switch(null==c||c(e,t,n,r,o),t){case"highlightedValue":k(e,n,r);break;case"selectedValues":null==_||_(e,n,r)}}),[k,_,c]),P=ce((()=>({disabledItemsFocusable:n,disableListWrap:r,focusManagement:o,isItemDisabled:a,itemComparer:f,items:d,getItemAsString:p,onHighlightChange:k,orientation:m,pageSize:g,selectionMode:b,stateComparers:E})),[n,r,o,a,f,d,p,k,m,g,b,E]),A=i(),N=null!=S?S:Qo,R=ce((()=>No({},y,P)),[y,P]),[O,D]=oi({reducer:N,actionContext:R,initialState:A,controlledProps:t,stateComparers:E,onStateChange:I,componentName:w}),{highlightedValue:V,selectedValues:T}=O,M=function(e){const t=ae({searchString:"",lastTime:null});return de((n=>{if(1===n.key.length&&" "!==n.key){const r=t.current,o=n.key.toLowerCase(),i=performance.now();r.searchString.length>0&&r.lastTime&&i-r.lastTime>li?r.searchString=o:1===r.searchString.length&&o===r.searchString||(r.searchString+=o),r.lastTime=i,e(r.searchString,n)}}),[e])}(((e,t)=>D({type:Yo.textNavigation,event:t,searchString:e}))),$=ae([]);le((()=>{ii($.current,d,f)||(D({type:Yo.itemsChange,event:null,items:d,previousItems:$.current}),$.current=d,null==v||v(d))}),[d,f,D,v]);const L=e=>t=>{var n;if(null==(n=e.onKeyDown)||n.call(e,t),t.defaultMuiPrevented)return;const r=["Home","End","PageUp","PageDown"];"vertical"===m?r.push("ArrowUp","ArrowDown"):r.push("ArrowLeft","ArrowRight"),"activeDescendant"===o&&r.push(" ","Enter"),r.includes(t.key)&&t.preventDefault(),D({type:Yo.keyDown,key:t.key,event:t}),M(t)},F=de((e=>{const t=(null!=T?T:[]).some((t=>null!=t&&f(e,t))),n=null!=V&&f(e,V);return{focusable:"DOM"===o,highlighted:n,selected:t}}),[f,T,V,o]),j=ce((()=>({dispatch:D,getItemState:F})),[D,F]);return pe({state:O}),{contextValue:j,dispatch:D,getRootProps:(e={})=>{const t=Go(e);return No({},e,{"aria-activedescendant":"activeDescendant"===o&&null!=V?u(V):void 0,tabIndex:"DOM"===o?-1:0,ref:C},t,{onBlur:(n=t,e=>{var t,r;null==(t=n.onBlur)||t.call(n,e),e.defaultMuiPrevented||null!=(r=x.current)&&r.contains(e.relatedTarget)||D({type:Yo.blur,event:e})}),onKeyDown:L(t)});var n},rootRef:C,state:O}}const _i=e=>{const{label:t,value:n}=e;return"string"==typeof t?t:"string"==typeof n?n:String(e)},hi=W(null);function vi(){const[e,t]=oe(new Map),n=ae(new Set),r=de((function(e){n.current.delete(e),t((t=>{const n=new Map(t);return n.delete(e),n}))}),[]),o=de((function(e,o){let i;return i="function"==typeof e?e(n.current):e,n.current.add(i),t((e=>{const t=new Map(e);return t.set(i,o),t})),{id:i,deregister:()=>r(i)}}),[r]),i=ce((()=>function(e){const t=Array.from(e.keys()).map((t=>({key:t,subitem:e.get(t)})));return t.sort(((e,t)=>{const n=e.subitem.ref.current,r=t.subitem.ref.current;return null===n||null===r||n===r?0:n.compareDocumentPosition(r)&Node.DOCUMENT_POSITION_PRECEDING?1:-1})),new Map(t.map((e=>[e.key,e.subitem])))}(e)),[e]),l=de((function(e){return Array.from(i.keys()).indexOf(e)}),[i]);return{contextValue:ce((()=>({getItemIndex:l,registerItem:o,totalSubitemCount:e.size})),[l,o,e.size]),subitems:i}}function mi(e,t){const{open:n}=e,{context:{selectionMode:r}}=t;if(t.type===Ko.buttonClick){var o;const r=null!=(o=e.selectedValues[0])?o:Zo(null,"start",t.context);return No({},e,{open:!n,highlightedValue:n?null:r})}if(t.type===Ko.browserAutoFill)return Jo(t.item,e,t.context);const i=Qo(e,t);switch(t.type){case Yo.keyDown:if(e.open){if("Escape"===t.event.key)return No({},i,{open:!1})}else{var l,u;if("ArrowDown"===t.event.key)return No({},e,{open:!0,highlightedValue:null!=(l=e.selectedValues[0])?l:Zo(null,"start",t.context)});if("ArrowUp"===t.event.key)return No({},e,{open:!0,highlightedValue:null!=(u=e.selectedValues[0])?u:Zo(null,"end",t.context)})}break;case Yo.itemClick:if("single"===r)return No({},i,{open:!1});break;case Yo.blur:return No({},i,{open:!1});default:return i}return i}function gi(e,t){return function(n={}){const r=No({},n,e(n));return No({},r,t(r))}}function yi(e){return Array.isArray(e)?0===e.length?"":JSON.stringify(e.map((e=>e.value))):null==(null==e?void 0:e.value)?"":"string"==typeof e.value||"number"==typeof e.value?e.value:JSON.stringify(e.value)}function bi(e){const{areOptionsEqual:t,buttonRef:n,defaultOpen:r=!1,defaultValue:o,disabled:i=!1,listboxId:l,listboxRef:u,multiple:a=!1,name:s,required:c,onChange:d,onHighlightChange:f,onOpenChange:p,open:_,options:h,getOptionAsString:v=_i,getSerializedValue:m=yi,value:g,componentName:b="useSelect"}=e,S=ae(null),w=Ro(n,S),x=ae(null),C=Vo(l);let k;void 0===g&&void 0===o?k=[]:void 0!==o&&(k=a?o:null==o?[]:[o]);const E=ce((()=>{if(void 0!==g)return a?g:null==g?[]:[g]}),[g,a]),{subitems:I,contextValue:P}=vi(),A=ce((()=>null!=h?new Map(h.map(((e,t)=>[e.value,{value:e.value,label:e.label,disabled:e.disabled,ref:y(),id:`${C}_${t}`}]))):I),[h,I,C]),N=Ro(u,x),{getRootProps:R,active:O,focusVisible:D,rootRef:V}=qo({disabled:i,rootRef:w}),T=ce((()=>Array.from(A.keys())),[A]),M=de((e=>{if(void 0!==t){const n=T.find((n=>t(n,e)));return A.get(n)}return A.get(e)}),[A,t,T]),$=de((e=>{var t;const n=M(e);return null!=(t=null==n?void 0:n.disabled)&&t}),[M]),L=de((e=>{const t=M(e);return t?v(t):""}),[M,v]),F=ce((()=>({selectedValues:E,open:_})),[E,_]),j=de((e=>{var t;return null==(t=A.get(e))?void 0:t.id}),[A]),H=de(((e,t)=>{var n;a?null==d||d(e,t):null==d||d(e,null!=(n=t[0])?n:null)}),[a,d]),U=de(((e,t)=>{null==f||f(e,null!=t?t:null)}),[f]),B=de(((e,t,n)=>{var r;"open"===t&&(null==p||p(n),!1===n&&"blur"!==(null==e?void 0:e.type)&&(null==(r=S.current)||r.focus()))}),[p]),W={getInitialState:()=>{var e;return{highlightedValue:null,selectedValues:null!=(e=k)?e:[],open:r}},getItemId:j,controlledProps:F,focusManagement:"DOM",getItemDomElement:de((e=>{var t,n;return null==e?null:null!=(t=null==(n=I.get(e))?void 0:n.ref.current)?t:null}),[I]),itemComparer:t,isItemDisabled:$,rootRef:N,onChange:H,onHighlightChange:U,onStateChange:B,reducerActionContext:ce((()=>({multiple:a})),[a]),items:T,getItemAsString:L,selectionMode:a?"multiple":"single",stateReducer:mi,componentName:b},{dispatch:z,getRootProps:G,contextValue:q,state:{open:K,highlightedValue:Y,selectedValues:Z},rootRef:J}=pi(W),X=ae(K);To((()=>{if(K&&null!==Y){var e;const t=null==(e=M(Y))?void 0:e.ref;if(!x.current||null==t||!t.current)return;X.current||t.current.focus({preventScroll:!0});const n=x.current.getBoundingClientRect(),r=t.current.getBoundingClientRect();r.topn.bottom&&(x.current.scrollTop+=r.bottom-n.bottom)}}),[K,Y,M]);const Q=de((e=>M(e)),[M]),ee=e=>t=>{var n;null==(n=e.onKeyDown)||n.call(e,t),t.defaultMuiPrevented||"ArrowDown"!==t.key&&"ArrowUp"!==t.key||(t.preventDefault(),z({type:Yo.keyDown,key:t.key,event:t}))},te=(e={})=>No({},e,((e={})=>{return{onClick:(t=e,e=>{var n;if(null==t||null==(n=t.onClick)||n.call(t,e),!e.defaultMuiPrevented){const t={type:Ko.buttonClick,event:e};z(t)}}),onKeyDown:ee(e)};var t})(e),{role:"combobox","aria-expanded":K,"aria-controls":C}),ne=e=>t=>{var n,r;null==(n=e.onBlur)||n.call(e,t),t.defaultMuiPrevented||(null!=(r=x.current)&&r.contains(t.relatedTarget)||t.relatedTarget===S.current)&&(t.defaultMuiPrevented=!0)},re=(e={})=>({onBlur:ne(e)});pe({selectedOptions:Z,highlightedOption:Y,open:K});const oe=ce((()=>No({},q,P)),[q,P]);let ie,le;var ue;(ie=e.multiple?Z:Z.length>0?Z[0]:null,a)?le=ie.map((e=>Q(e))).filter((e=>void 0!==e)):le=null!=(ue=Q(ie))?ue:null;const se=e=>t=>{var n;if(null==e||null==(n=e.onChange)||n.call(e,t),t.defaultMuiPrevented)return;const r=A.get(t.target.value);""===t.target.value?z({type:Yo.clearSelection}):void 0!==r&&z({type:Ko.browserAutoFill,item:r.value,event:t})};return{buttonActive:O,buttonFocusVisible:D,buttonRef:V,contextValue:oe,disabled:i,dispatch:z,getButtonProps:(e={})=>{const t=Go(e);return No({},e,gi(R,te)(t))},getHiddenInputProps:(e={})=>{const t=Go(e);return No({name:s,tabIndex:-1,"aria-hidden":!0,required:!!c||void 0,value:m(le),style:Mo},e,{onChange:se(t)})},getListboxProps:(e={})=>{const t=Go(e),n=gi(re,G);return No({id:C,role:"listbox","aria-multiselectable":a?"true":void 0},e,n(t))},getOptionMetadata:Q,listboxRef:J,open:K,options:T,value:ie,highlightedOption:Y}}hi.displayName="CompoundComponentContext";const Si=W(null);var wi=0;Array.isArray;function xi(e,t,n,r,i,l){var u,a,s={};for(a in t)"ref"==a?u=t[a]:s[a]=t[a];var c={type:e,props:s,key:n,ref:u,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:--wi,__i:-1,__u:0,__source:i,__self:l};if("function"==typeof e&&(u=e.defaultProps))for(a in u)void 0===s[a]&&(s[a]=u[a]);return o.vnode&&o.vnode(c),c}function Ci(e){const{value:t,children:n}=e,{dispatch:r,getItemIndex:o,getItemState:i,registerItem:l,totalSubitemCount:u}=t,a=ce((()=>({dispatch:r,getItemState:i,getItemIndex:o})),[r,o,i]),s=ce((()=>({getItemIndex:o,registerItem:l,totalSubitemCount:u})),[l,o,u]);return xi(hi.Provider,{value:s,children:xi(Si.Provider,{value:a,children:n})})}function ki(e){const{value:t,label:n,disabled:r,rootRef:o,id:i}=e,{getRootProps:l,highlighted:u,selected:a}=function(e){const{handlePointerOverEvents:t=!1,item:n}=e,r=fe(Si);if(!r)throw new Error("useListItem must be used within a ListProvider");const{dispatch:o,getItemState:i}=r,{highlighted:l,selected:u,focusable:a}=i(n),s=de((e=>t=>{var r;null==(r=e.onClick)||r.call(e,t),t.defaultPrevented||o({type:Yo.itemClick,item:n,event:t})}),[o,n]),c=de((e=>t=>{var r;null==(r=e.onMouseOver)||r.call(e,t),t.defaultPrevented||o({type:Yo.itemHover,item:n,event:t})}),[o,n]);let d;return a&&(d=l?0:-1),{getRootProps:(e={})=>{const n=Go(e);return No({},e,{onClick:s(n),onPointerOver:t?c(n):void 0,tabIndex:d})},highlighted:l,selected:u}}({item:t}),{getRootProps:s,rootRef:c}=qo({disabled:r,focusableWhenDisabled:!0}),d=Vo(i),f=ae(null),p=ce((()=>({disabled:r,label:n,value:t,ref:f,id:d})),[r,n,t,d]),{index:_}=function(e,t){const n=fe(hi);if(null===n)throw new Error("useCompoundItem must be used within a useCompoundParent");const{registerItem:r}=n,[o,i]=oe("function"==typeof e?void 0:e);return To((()=>{const{id:n,deregister:o}=r(e,t);return i(n),o}),[r,t,e]),{id:o,index:void 0!==o?n.getItemIndex(o):-1,totalItemCount:n.totalSubitemCount}}(t,p),h=Ro(o,f,c),v=e=>t=>{var n;null==(n=e.onKeyDown)||n.call(e,t),t.defaultMuiPrevented||[" ","Enter"].includes(t.key)&&(t.defaultMuiPrevented=!0)},m=(e={})=>({onKeyDown:v(e)});return{getRootProps:(e={})=>{const t=Go(e);return No({},e,t,gi(l,gi(s,m))(t),{id:d,ref:h,role:"option","aria-selected":a})},highlighted:u,index:_,selected:a,rootRef:h}}const Ei=Ae((function({title:e,titleId:t,...n},r){return m("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:r,"aria-labelledby":t},n),e?m("title",{id:t},e):null,m("path",{fillRule:"evenodd",d:"M5.22 8.22a.75.75 0 0 1 1.06 0L10 11.94l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L5.22 9.28a.75.75 0 0 1 0-1.06Z",clipRule:"evenodd"}))})),Ii=e=>{const t=ae(!1),n=ae(!1),r=n=>{!t.current&&e&&e(n),t.current=!1},o=t=>{!n.current&&e&&e(t),n.current=!1};return le((()=>(document.addEventListener("mousedown",r),document.addEventListener("focusin",o),document.addEventListener("touchstart",r),()=>{document.removeEventListener("mousedown",r),document.removeEventListener("focusin",o),document.removeEventListener("touchstart",r)})),[]),{onMouseDown:()=>t.current=!0,onFocus:()=>n.current=!0,onTouchStart:()=>t.current=!0}},Pi=Ao.span` +!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var r in n)("object"==typeof exports?exports:e)[r]=n[r]}}(self,(()=>(()=>{var e={72:e=>{e.exports=function(e,t,n,r){var o=n?n.call(r,e,t):void 0;if(void 0!==o)return!!o;if(e===t)return!0;if("object"!=typeof e||!e||"object"!=typeof t||!t)return!1;var i=Object.keys(e),l=Object.keys(t);if(i.length!==l.length)return!1;for(var u=Object.prototype.hasOwnProperty.bind(t),a=0;a{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nc=void 0;var r={};return(()=>{"use strict";n.r(r);var e={};n.r(e),n.d(e,{Children:()=>Re,Component:()=>S,Fragment:()=>b,PureComponent:()=>ke,StrictMode:()=>mt,Suspense:()=>Me,SuspenseList:()=>Fe,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:()=>ut,cloneElement:()=>ft,createContext:()=>W,createElement:()=>m,createFactory:()=>st,createPortal:()=>Be,createRef:()=>y,default:()=>kt,findDOMNode:()=>_t,flushSync:()=>vt,forwardRef:()=>Ae,hydrate:()=>Je,isElement:()=>wt,isFragment:()=>dt,isValidElement:()=>ct,lazy:()=>$e,memo:()=>Ee,render:()=>Ze,startTransition:()=>gt,unmountComponentAtNode:()=>pt,unstable_batchedUpdates:()=>ht,useCallback:()=>de,useContext:()=>fe,useDebugValue:()=>pe,useDeferredValue:()=>yt,useEffect:()=>le,useErrorBoundary:()=>_e,useId:()=>he,useImperativeHandle:()=>se,useInsertionEffect:()=>St,useLayoutEffect:()=>ue,useMemo:()=>ce,useReducer:()=>ie,useRef:()=>ae,useState:()=>oe,useSyncExternalStore:()=>xt,useTransition:()=>bt,version:()=>at});var t,o,i,l,u,a,s,c,d={},f=[],p=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,_=Array.isArray;function h(e,t){for(var n in t)e[n]=t[n];return e}function v(e){var t=e.parentNode;t&&t.removeChild(e)}function m(e,n,r){var o,i,l,u={};for(l in n)"key"==l?o=n[l]:"ref"==l?i=n[l]:u[l]=n[l];if(arguments.length>2&&(u.children=arguments.length>3?t.call(arguments,2):r),"function"==typeof e&&null!=e.defaultProps)for(l in e.defaultProps)void 0===u[l]&&(u[l]=e.defaultProps[l]);return g(e,u,o,i,null)}function g(e,t,n,r,l){var u={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:null==l?++i:l,__i:-1,__u:0};return null==l&&null!=o.vnode&&o.vnode(u),u}function y(){return{current:null}}function b(e){return e.children}function S(e,t){this.props=e,this.context=t}function w(e,t){if(null==t)return e.__?w(e.__,e.__i+1):null;for(var n;tt&&l.sort(s));k.__r=0}function E(e,t,n,r,o,i,l,u,a,s,c){var p,_,h,v,m,g=r&&r.__k||f,y=t.length;for(n.__d=a,I(n,t,g),a=n.__d,p=0;p0?g(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):o)?(o.__=e,o.__b=e.__b+1,u=N(o,n,l=r+d,c),o.__i=u,i=null,-1!==u&&(c--,(i=n[u])&&(i.__u|=131072)),null==i||null===i.__v?(-1==u&&d--,"function"!=typeof o.type&&(o.__u|=65536)):u!==l&&(u===l+1?d++:u>l?c>a-l?d+=u-l:d--:d=u(null!=a&&0==(131072&a.__u)?1:0))for(;l>=0||u=0){if((a=t[l])&&0==(131072&a.__u)&&o==a.key&&i===a.type)return l;l--}if(u2&&(a.children=arguments.length>3?t.call(arguments,2):r),g(e.type,a,o||e.key,i||e.ref,null)}function W(e,t){var n={__c:t="__cC"+c++,__:e,Consumer:function(e,t){return e.children(t)},Provider:function(e){var n,r;return this.getChildContext||(n=[],(r={})[t]=this,this.getChildContext=function(){return r},this.shouldComponentUpdate=function(e){this.props.value!==e.value&&n.some((function(e){e.__e=!0,C(e)}))},this.sub=function(e){n.push(e);var t=e.componentWillUnmount;e.componentWillUnmount=function(){n.splice(n.indexOf(e),1),t&&t.call(e)}}),e.children}};return n.Provider.__=n.Consumer.contextType=n}t=f.slice,o={__e:function(e,t,n,r){for(var o,i,l;t=t.__;)if((o=t.__c)&&!o.__)try{if((i=o.constructor)&&null!=i.getDerivedStateFromError&&(o.setState(i.getDerivedStateFromError(e)),l=o.__d),null!=o.componentDidCatch&&(o.componentDidCatch(e,r||{}),l=o.__d),l)return o.__E=o}catch(t){e=t}throw e}},i=0,S.prototype.setState=function(e,t){var n;n=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=h({},this.state),"function"==typeof e&&(e=e(h({},n),this.props)),e&&h(n,e),null!=e&&this.__v&&(t&&this._sb.push(t),C(this))},S.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),C(this))},S.prototype.render=b,l=[],a="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,s=function(e,t){return e.__v.__b-t.__v.__b},k.__r=0,c=0;var z,G,q,K,Y=0,Z=[],J=[],X=o.__b,Q=o.__r,ee=o.diffed,te=o.__c,ne=o.unmount;function re(e,t){o.__h&&o.__h(G,e,Y||t),Y=0;var n=G.__H||(G.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({__V:J}),n.__[e]}function oe(e){return Y=1,ie(we,e)}function ie(e,t,n){var r=re(z++,2);if(r.t=e,!r.__c&&(r.__=[n?n(t):we(void 0,t),function(e){var t=r.__N?r.__N[0]:r.__[0],n=r.t(t,e);t!==n&&(r.__N=[n,r.__[1]],r.__c.setState({}))}],r.__c=G,!G.u)){var o=function(e,t,n){if(!r.__c.__H)return!0;var o=r.__c.__H.__.filter((function(e){return e.__c}));if(o.every((function(e){return!e.__N})))return!i||i.call(this,e,t,n);var l=!1;return o.forEach((function(e){if(e.__N){var t=e.__[0];e.__=e.__N,e.__N=void 0,t!==e.__[0]&&(l=!0)}})),!(!l&&r.__c.props===e)&&(!i||i.call(this,e,t,n))};G.u=!0;var i=G.shouldComponentUpdate,l=G.componentWillUpdate;G.componentWillUpdate=function(e,t,n){if(this.__e){var r=i;i=void 0,o(e,t,n),i=r}l&&l.call(this,e,t,n)},G.shouldComponentUpdate=o}return r.__N||r.__}function le(e,t){var n=re(z++,3);!o.__s&&Se(n.__H,t)&&(n.__=e,n.i=t,G.__H.__h.push(n))}function ue(e,t){var n=re(z++,4);!o.__s&&Se(n.__H,t)&&(n.__=e,n.i=t,G.__h.push(n))}function ae(e){return Y=5,ce((function(){return{current:e}}),[])}function se(e,t,n){Y=6,ue((function(){return"function"==typeof e?(e(t()),function(){return e(null)}):e?(e.current=t(),function(){return e.current=null}):void 0}),null==n?n:n.concat(e))}function ce(e,t){var n=re(z++,7);return Se(n.__H,t)?(n.__V=e(),n.i=t,n.__h=e,n.__V):n.__}function de(e,t){return Y=8,ce((function(){return e}),t)}function fe(e){var t=G.context[e.__c],n=re(z++,9);return n.c=e,t?(null==n.__&&(n.__=!0,t.sub(G)),t.props.value):e.__}function pe(e,t){o.useDebugValue&&o.useDebugValue(t?t(e):e)}function _e(e){var t=re(z++,10),n=oe();return t.__=e,G.componentDidCatch||(G.componentDidCatch=function(e,r){t.__&&t.__(e,r),n[1](e)}),[n[0],function(){n[1](void 0)}]}function he(){var e=re(z++,11);if(!e.__){for(var t=G.__v;null!==t&&!t.__m&&null!==t.__;)t=t.__;var n=t.__m||(t.__m=[0,0]);e.__="P"+n[0]+"-"+n[1]++}return e.__}function ve(){for(var e;e=Z.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(ye),e.__H.__h.forEach(be),e.__H.__h=[]}catch(t){e.__H.__h=[],o.__e(t,e.__v)}}o.__b=function(e){G=null,X&&X(e)},o.__r=function(e){Q&&Q(e),z=0;var t=(G=e.__c).__H;t&&(q===G?(t.__h=[],G.__h=[],t.__.forEach((function(e){e.__N&&(e.__=e.__N),e.__V=J,e.__N=e.i=void 0}))):(t.__h.forEach(ye),t.__h.forEach(be),t.__h=[],z=0)),q=G},o.diffed=function(e){ee&&ee(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(1!==Z.push(t)&&K===o.requestAnimationFrame||((K=o.requestAnimationFrame)||ge)(ve)),t.__H.__.forEach((function(e){e.i&&(e.__H=e.i),e.__V!==J&&(e.__=e.__V),e.i=void 0,e.__V=J}))),q=G=null},o.__c=function(e,t){t.some((function(e){try{e.__h.forEach(ye),e.__h=e.__h.filter((function(e){return!e.__||be(e)}))}catch(n){t.some((function(e){e.__h&&(e.__h=[])})),t=[],o.__e(n,e.__v)}})),te&&te(e,t)},o.unmount=function(e){ne&&ne(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach((function(e){try{ye(e)}catch(e){t=e}})),n.__H=void 0,t&&o.__e(t,n.__v))};var me="function"==typeof requestAnimationFrame;function ge(e){var t,n=function(){clearTimeout(r),me&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,100);me&&(t=requestAnimationFrame(n))}function ye(e){var t=G,n=e.__c;"function"==typeof n&&(e.__c=void 0,n()),G=t}function be(e){var t=G;e.__c=e.__(),G=t}function Se(e,t){return!e||e.length!==t.length||t.some((function(t,n){return t!==e[n]}))}function we(e,t){return"function"==typeof t?t(e):t}function xe(e,t){for(var n in t)e[n]=t[n];return e}function Ce(e,t){for(var n in e)if("__source"!==n&&!(n in t))return!0;for(var r in t)if("__source"!==r&&e[r]!==t[r])return!0;return!1}function ke(e){this.props=e}function Ee(e,t){function n(e){var n=this.props.ref,r=n==e.ref;return!r&&n&&(n.call?n(null):n.current=null),t?!t(this.props,e)||!r:Ce(this.props,e)}function r(t){return this.shouldComponentUpdate=n,m(e,t)}return r.displayName="Memo("+(e.displayName||e.name)+")",r.prototype.isReactComponent=!0,r.__f=!0,r}(ke.prototype=new S).isPureReactComponent=!0,ke.prototype.shouldComponentUpdate=function(e,t){return Ce(this.props,e)||Ce(this.state,t)};var Ie=o.__b;o.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),Ie&&Ie(e)};var Pe="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function Ae(e){function t(t){var n=xe({},t);return delete n.ref,e(n,t.ref||null)}return t.$$typeof=Pe,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(e.displayName||e.name)+")",t}var Ne=function(e,t){return null==e?null:A(A(e).map(t))},Re={map:Ne,forEach:Ne,count:function(e){return e?A(e).length:0},only:function(e){var t=A(e);if(1!==t.length)throw"Children.only";return t[0]},toArray:A},Oe=o.__e;o.__e=function(e,t,n,r){if(e.then)for(var o,i=t;i=i.__;)if((o=i.__c)&&o.__c)return null==t.__e&&(t.__e=n.__e,t.__k=n.__k),o.__c(e,t);Oe(e,t,n,r)};var De=o.unmount;function Ve(e,t,n){return e&&(e.__c&&e.__c.__H&&(e.__c.__H.__.forEach((function(e){"function"==typeof e.__c&&e.__c()})),e.__c.__H=null),null!=(e=xe({},e)).__c&&(e.__c.__P===n&&(e.__c.__P=t),e.__c=null),e.__k=e.__k&&e.__k.map((function(e){return Ve(e,t,n)}))),e}function Te(e,t,n){return e&&n&&(e.__v=null,e.__k=e.__k&&e.__k.map((function(e){return Te(e,t,n)})),e.__c&&e.__c.__P===t&&(e.__e&&n.appendChild(e.__e),e.__c.__e=!0,e.__c.__P=n)),e}function Me(){this.__u=0,this.t=null,this.__b=null}function Le(e){var t=e.__.__c;return t&&t.__a&&t.__a(e)}function $e(e){var t,n,r;function o(o){if(t||(t=e()).then((function(e){n=e.default||e}),(function(e){r=e})),r)throw r;if(!n)throw t;return m(n,o)}return o.displayName="Lazy",o.__f=!0,o}function Fe(){this.u=null,this.o=null}o.unmount=function(e){var t=e.__c;t&&t.__R&&t.__R(),t&&32&e.__u&&(e.type=null),De&&De(e)},(Me.prototype=new S).__c=function(e,t){var n=t.__c,r=this;null==r.t&&(r.t=[]),r.t.push(n);var o=Le(r.__v),i=!1,l=function(){i||(i=!0,n.__R=null,o?o(u):u())};n.__R=l;var u=function(){if(! --r.__u){if(r.state.__a){var e=r.state.__a;r.__v.__k[0]=Te(e,e.__c.__P,e.__c.__O)}var t;for(r.setState({__a:r.__b=null});t=r.t.pop();)t.forceUpdate()}};r.__u++||32&t.__u||r.setState({__a:r.__b=r.__v.__k[0]}),e.then(l,l)},Me.prototype.componentWillUnmount=function(){this.t=[]},Me.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement("div"),r=this.__v.__k[0].__c;this.__v.__k[0]=Ve(this.__b,n,r.__O=r.__P)}this.__b=null}var o=t.__a&&m(b,null,e.fallback);return o&&(o.__u&=-33),[m(b,null,t.__a?null:e.children),o]};var je=function(e,t,n){if(++n[1]===n[0]&&e.o.delete(t),e.props.revealOrder&&("t"!==e.props.revealOrder[0]||!e.o.size))for(n=e.u;n;){for(;n.length>3;)n.pop()();if(n[1]>>1,1),t.i.removeChild(e)}}),H(m(He,{context:t.context},e.__v),t.l)}function Be(e,t){var n=m(Ue,{__v:e,i:t});return n.containerInfo=t,n}(Fe.prototype=new S).__a=function(e){var t=this,n=Le(t.__v),r=t.o.get(e);return r[0]++,function(o){var i=function(){t.props.revealOrder?(r.push(o),je(t,e,r)):o()};n?n(i):i()}},Fe.prototype.render=function(e){this.u=null,this.o=new Map;var t=A(e.children);e.revealOrder&&"b"===e.revealOrder[0]&&t.reverse();for(var n=t.length;n--;)this.o.set(t[n],this.u=[1,0,this.u]);return e.children},Fe.prototype.componentDidUpdate=Fe.prototype.componentDidMount=function(){var e=this;this.o.forEach((function(t,n){je(e,n,t)}))};var We="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,ze=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,Ge=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,qe=/[A-Z0-9]/g,Ke="undefined"!=typeof document,Ye=function(e){return("undefined"!=typeof Symbol&&"symbol"==typeof Symbol()?/fil|che|rad/:/fil|che|ra/).test(e)};function Ze(e,t,n){return null==t.__k&&(t.textContent=""),H(e,t),"function"==typeof n&&n(),e?e.__c:null}function Je(e,t,n){return U(e,t),"function"==typeof n&&n(),e?e.__c:null}S.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach((function(e){Object.defineProperty(S.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})}));var Xe=o.event;function Qe(){}function et(){return this.cancelBubble}function tt(){return this.defaultPrevented}o.event=function(e){return Xe&&(e=Xe(e)),e.persist=Qe,e.isPropagationStopped=et,e.isDefaultPrevented=tt,e.nativeEvent=e};var nt,rt={enumerable:!1,configurable:!0,get:function(){return this.class}},ot=o.vnode;o.vnode=function(e){"string"==typeof e.type&&function(e){var t=e.props,n=e.type,r={};for(var o in t){var i=t[o];if(!("value"===o&&"defaultValue"in t&&null==i||Ke&&"children"===o&&"noscript"===n||"class"===o||"className"===o)){var l=o.toLowerCase();"defaultValue"===o&&"value"in t&&null==t.value?o="value":"download"===o&&!0===i?i="":"ondoubleclick"===l?o="ondblclick":"onchange"!==l||"input"!==n&&"textarea"!==n||Ye(t.type)?"onfocus"===l?o="onfocusin":"onblur"===l?o="onfocusout":Ge.test(o)?o=l:-1===n.indexOf("-")&&ze.test(o)?o=o.replace(qe,"-$&").toLowerCase():null===i&&(i=void 0):l=o="oninput","oninput"===l&&r[o=l]&&(o="oninputCapture"),r[o]=i}}"select"==n&&r.multiple&&Array.isArray(r.value)&&(r.value=A(t.children).forEach((function(e){e.props.selected=-1!=r.value.indexOf(e.props.value)}))),"select"==n&&null!=r.defaultValue&&(r.value=A(t.children).forEach((function(e){e.props.selected=r.multiple?-1!=r.defaultValue.indexOf(e.props.value):r.defaultValue==e.props.value}))),t.class&&!t.className?(r.class=t.class,Object.defineProperty(r,"className",rt)):(t.className&&!t.class||t.class&&t.className)&&(r.class=r.className=t.className),e.props=r}(e),e.$$typeof=We,ot&&ot(e)};var it=o.__r;o.__r=function(e){it&&it(e),nt=e.__c};var lt=o.diffed;o.diffed=function(e){lt&<(e);var t=e.props,n=e.__e;null!=n&&"textarea"===e.type&&"value"in t&&t.value!==n.value&&(n.value=null==t.value?"":t.value),nt=null};var ut={ReactCurrentDispatcher:{current:{readContext:function(e){return nt.__n[e.__c].props.value}}}},at="17.0.2";function st(e){return m.bind(null,e)}function ct(e){return!!e&&e.$$typeof===We}function dt(e){return ct(e)&&e.type===b}function ft(e){return ct(e)?B.apply(null,arguments):e}function pt(e){return!!e.__k&&(H(null,e),!0)}function _t(e){return e&&(e.base||1===e.nodeType&&e)||null}var ht=function(e,t){return e(t)},vt=function(e,t){return e(t)},mt=b;function gt(e){e()}function yt(e){return e}function bt(){return[!1,gt]}var St=ue,wt=ct;function xt(e,t){var n=t(),r=oe({h:{__:n,v:t}}),o=r[0].h,i=r[1];return ue((function(){o.__=n,o.v=t,Ct(o)&&i({h:o})}),[e,n,t]),le((function(){return Ct(o)&&i({h:o}),e((function(){Ct(o)&&i({h:o})}))}),[e]),n}function Ct(e){var t,n,r=e.v,o=e.__;try{var i=r();return!((t=o)===(n=i)&&(0!==t||1/t==1/n)||t!=t&&n!=n)}catch(e){return!0}}var kt={useState:oe,useId:he,useReducer:ie,useEffect:le,useLayoutEffect:ue,useInsertionEffect:St,useTransition:bt,useDeferredValue:yt,useSyncExternalStore:xt,startTransition:gt,useRef:ae,useImperativeHandle:se,useMemo:ce,useCallback:de,useContext:fe,useDebugValue:pe,version:"17.0.2",Children:Re,render:Ze,hydrate:Je,unmountComponentAtNode:pt,createPortal:Be,createElement:m,createContext:W,createFactory:st,cloneElement:ft,createRef:y,Fragment:b,isValidElement:ct,isElement:wt,isFragment:dt,findDOMNode:_t,Component:S,PureComponent:ke,memo:Ee,forwardRef:Ae,flushSync:vt,unstable_batchedUpdates:ht,StrictMode:mt,Suspense:Me,SuspenseList:Fe,lazy:$e,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:ut};function Et(){return Et=Object.assign||function(e){for(var t=1;te instanceof ShadowRoot,Pt=e=>{const t=e.getRootNode()instanceof ShadowRoot?e.getRootNode().host:e,{dataset:n}=t,r={};for(var o in n){if(!1===n.hasOwnProperty(o))return;const e=`${(i=o.split(/(props?)/).pop()||"").charAt(0).toLowerCase()}${i.slice(1)}`;e&&(r[e]=n[o])}var i;return r},At=e=>["text/props","application/json"].includes(e.getAttribute("type")||""),Nt=e=>It(e)?[]:Array.from(e.getElementsByTagName("script")).filter(At),Rt=e=>Array.from(document.querySelectorAll(e)).filter(At),Ot=e=>{let t={};return e.forEach((e=>{try{t=Et({},t,JSON.parse(e.innerHTML))}catch(e){}})),t},Dt=(e,t,n={},r)=>{const o=Pt(t),i=e._executedScript?Pt(e._executedScript):{},l=Ot(Nt(t));return Et({},n,o,i,r?Ot(Rt(r)):{},l)};function Vt(e,t){var n=(t=[].concat(t))[t.length-1].nextSibling;function r(t,r){e.insertBefore(t,r||n)}return e.__k={nodeType:1,parentNode:e,firstChild:t[0],childNodes:t,insertBefore:r,appendChild:r,removeChild:function(t){e.removeChild(t)}}}const Tt=({island:e,widget:t,rootFragment:n,props:r})=>{e.props=r,H(m(t,r),n)},Mt=(e,t)=>{if(null==customElements.get(e)){class t extends HTMLElement{constructor(){super(),this.attachShadow({mode:"open"})}}customElements.define(e,t)}const n=(e=>{const t={_rootsToObservers:new WeakMap,_roots:[],_executedScript:document.currentScript,props:{},render:({selector:n,clean:r=!1,replace:o=!1,inline:i=!1,initialProps:l={},propsSelector:u,elementName:a})=>{let s=!1;const c=()=>{if(!0===s)return;const c=(({selector:e,inline:t,elementName:n})=>{const r=document.currentScript;if(t&&null!=r&&r.parentNode)return[r.parentNode];const o=null==r?void 0:r.dataset.mountIn;return o?Array.from(document.querySelectorAll(o)).map((e=>{if(null!=n){const t=document.createElement(n),r=e.appendChild(t);return null!=r.shadowRoot?r.shadowRoot:r}return e})):e?Array.from(document.querySelectorAll(e)).map((e=>null!=e.shadowRoot?e.shadowRoot:e)):[]})({selector:n,inline:i,elementName:a});if(0===c.length)return;const{rootFragments:d}=(({island:e,widget:t,hostElements:n,clean:r,replace:o,initialProps:i,propsSelector:l})=>{const u=[];return n.forEach((n=>{const a=Dt(e,n,i,l);let s;if(r&&n.replaceChildren(),o)s=Vt(n.parentElement||document.body,n);else{const e=document.createElement("div");n.appendChild(e),s=Vt(n,e)}u.push(s),Tt({island:e,widget:t,rootFragment:s,props:a});const c=(({island:e,hostElement:t,initialProps:n,onNewProps:r,propsSelector:o})=>{const i=new MutationObserver((function(i){i.forEach((function(){r(Dt(e,t,n,o))}))})),l={attributes:!0,childList:!0,characterData:!0};return e._executedScript&&i.observe(e._executedScript,l),Nt(t).forEach((e=>{i.observe(e,Et({},l,{subtree:!0}))})),o&&Rt(o).forEach((e=>{i.observe(e,Et({},l,{subtree:!0}))})),i.observe(It(t)?t.host:t,l),i})({island:e,hostElement:n,initialProps:i,onNewProps:n=>{Tt({island:e,widget:t,rootFragment:s,props:n})},propsSelector:l});e._rootsToObservers.set(s,c)})),{rootFragments:u}})({island:t,widget:e,clean:r,hostElements:c,replace:o,initialProps:l,propsSelector:u});t._roots=t._roots.concat(d),s=!0};c(),document.addEventListener("DOMContentLoaded",c),document.addEventListener("load",c)},rerender:n=>{t._roots.forEach((r=>{Tt({island:t,widget:e,rootFragment:r,props:Et({},t.props,n)})}))},destroy:()=>{t._roots.forEach((e=>{var n;null==(n=t._rootsToObservers.get(e))||n.disconnect(),H(null,e)}))}};return t})(t);return Et({},n,{render:t=>n.render(Et({elementName:e},t)),injectStyles:e=>{n._roots.forEach((t=>{const n=document.createElement("style");n.innerHTML=e,t.parentNode.prepend(n)}))}})};var Lt=function(){return Lt=Object.assign||function(e){for(var t,n=1,r=arguments.length;n0?rn(hn,--pn):0,dn--,10===_n&&(dn=1,cn--),_n}function bn(){return _n=pn2||Cn(_n)>3?"":" "}function An(e,t){for(;--t&&bn()&&!(_n<48||_n>102||_n>57&&_n<65||_n>70&&_n<97););return xn(e,wn()+(t<6&&32==Sn()&&32==bn()))}function Nn(e){for(;bn();)switch(_n){case e:return pn;case 34:case 39:34!==e&&39!==e&&Nn(_n);break;case 40:41===e&&Nn(e);break;case 92:bn()}return pn}function Rn(e,t){for(;bn()&&e+_n!==57&&(e+_n!==84||47!==Sn()););return"/*"+xn(t,pn-1)+"*"+Jt(47===e?e:bn())}function On(e){for(;!Cn(Sn());)bn();return xn(e,pn)}function Dn(e,t){for(var n="",r=0;r6)switch(rn(e,t+1)){case 109:if(45!==rn(e,t+4))break;case 102:return tn(e,/(.+:)(.+)-([^]+)/,"$1"+Bt+"$2-$3$1"+Ut+(108==rn(e,t+3)?"$3":"$2-$3"))+e;case 115:return~nn(e,"stretch",0)?Tn(tn(e,"stretch","fill-available"),t,n)+e:e}break;case 5152:case 5920:return tn(e,/(.+?):(\d+)(\s*\/\s*(span)?\s*(\d+))?(.*)/,(function(t,n,r,o,i,l,u){return Ht+n+":"+r+u+(o?Ht+n+"-span:"+(i?l:+l-+r)+u:"")+e}));case 4949:if(121===rn(e,t+6))return tn(e,":",":"+Bt)+e;break;case 6444:switch(rn(e,45===rn(e,14)?18:11)){case 120:return tn(e,/(.+:)([^;\s!]+)(;|(\s+)?!.+)?/,"$1"+Bt+(45===rn(e,14)?"inline-":"")+"box$3$1"+Bt+"$2$3$1"+Ht+"$2box$3")+e;case 100:return tn(e,":",":"+Ht)+e}break;case 5719:case 2647:case 2135:case 3927:case 2391:return tn(e,"scroll-","scroll-snap-")+e}return e}function Mn(e,t,n,r){if(e.length>-1&&!e.return)switch(e.type){case Gt:return void(e.return=Tn(e.value,e.length,n));case Kt:return Dn([mn(e,{value:tn(e.value,"@","@"+Bt)})],r);case zt:if(e.length)return function(e,t){return e.map(t).join("")}(n=e.props,(function(t){switch(en(t,r=/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":gn(mn(e,{props:[tn(t,/:(read-\w+)/,":"+Ut+"$1")]})),gn(mn(e,{props:[t]})),Xt(e,{props:sn(n,r)});break;case"::placeholder":gn(mn(e,{props:[tn(t,/:(plac\w+)/,":"+Bt+"input-$1")]})),gn(mn(e,{props:[tn(t,/:(plac\w+)/,":"+Ut+"$1")]})),gn(mn(e,{props:[tn(t,/:(plac\w+)/,Ht+"input-$1")]})),gn(mn(e,{props:[t]})),Xt(e,{props:sn(n,r)})}return""}))}}function Ln(e){return En($n("",null,null,null,[""],e=kn(e),0,[0],e))}function $n(e,t,n,r,o,i,l,u,a){for(var s=0,c=0,d=l,f=0,p=0,_=0,h=1,v=1,m=1,g=0,y="",b=o,S=i,w=r,x=y;v;)switch(_=g,g=bn()){case 40:if(108!=_&&58==rn(x,d-1)){-1!=nn(x+=tn(In(g),"&","&\f"),"&\f",Zt(s?u[s-1]:0))&&(m=-1);break}case 34:case 39:case 91:x+=In(g);break;case 9:case 10:case 13:case 32:x+=Pn(_);break;case 92:x+=An(wn()-1,7);continue;case 47:switch(Sn()){case 42:case 47:an(jn(Rn(bn(),wn()),t,n,a),a);break;default:x+="/"}break;case 123*h:u[s++]=ln(x)*m;case 125*h:case 59:case 0:switch(g){case 0:case 125:v=0;case 59+c:-1==m&&(x=tn(x,/\f/g,"")),p>0&&ln(x)-d&&an(p>32?Hn(x+";",r,n,d-1,a):Hn(tn(x," ","")+";",r,n,d-2,a),a);break;case 59:x+=";";default:if(an(w=Fn(x,t,n,s,c,o,u,y,b=[],S=[],d,i),i),123===g)if(0===c)$n(x,t,w,w,b,i,d,u,S);else switch(99===f&&110===rn(x,3)?100:f){case 100:case 108:case 109:case 115:$n(e,w,w,r&&an(Fn(e,w,w,0,0,o,u,y,o,b=[],d,S),S),o,S,d,u,r?b:S);break;default:$n(x,w,w,w,[""],S,0,u,S)}}s=c=p=0,h=m=1,y=x="",d=l;break;case 58:d=1+ln(x),p=_;default:if(h<1)if(123==g)--h;else if(125==g&&0==h++&&125==yn())continue;switch(x+=Jt(g),g*h){case 38:m=c>0?1:(x+="\f",-1);break;case 44:u[s++]=(ln(x)-1)*m,m=1;break;case 64:45===Sn()&&(x+=In(bn())),f=Sn(),c=d=ln(y=x+=On(wn())),g++;break;case 45:45===_&&2==ln(x)&&(h=0)}}return i}function Fn(e,t,n,r,o,i,l,u,a,s,c,d){for(var f=o-1,p=0===o?i:[""],_=un(p),h=0,v=0,m=0;h0?p[g]+" "+y:tn(y,/&\f/g,p[g])))&&(a[m++]=b);return vn(e,t,n,0===o?zt:u,a,s,c,d)}function jn(e,t,n,r){return vn(e,t,n,Wt,Jt(_n),on(e,2,-2),0,r)}function Hn(e,t,n,r,o){return vn(e,t,n,Gt,on(e,0,r),on(e,r+1,-1),r,o)}const Un={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1};var Bn="undefined"!=typeof process&&("MISSING_ENV_VAR".REACT_APP_SC_ATTR||"MISSING_ENV_VAR".SC_ATTR)||"data-styled",Wn="active",zn="data-styled-version",Gn="6.1.8",qn="/*!sc*/\n",Kn="undefined"!=typeof window&&"HTMLElement"in window,Yn=Boolean("boolean"==typeof SC_DISABLE_SPEEDY?SC_DISABLE_SPEEDY:"undefined"!=typeof process&&void 0!=="MISSING_ENV_VAR".REACT_APP_SC_DISABLE_SPEEDY&&""!=="MISSING_ENV_VAR".REACT_APP_SC_DISABLE_SPEEDY?"false"!=="MISSING_ENV_VAR".REACT_APP_SC_DISABLE_SPEEDY&&"MISSING_ENV_VAR".REACT_APP_SC_DISABLE_SPEEDY:"undefined"!=typeof process&&void 0!=="MISSING_ENV_VAR".SC_DISABLE_SPEEDY&&""!=="MISSING_ENV_VAR".SC_DISABLE_SPEEDY&&("false"!=="MISSING_ENV_VAR".SC_DISABLE_SPEEDY&&"MISSING_ENV_VAR".SC_DISABLE_SPEEDY)),Zn=(new Set,Object.freeze([])),Jn=Object.freeze({});function Xn(e,t,n){return void 0===n&&(n=Jn),e.theme!==n.theme&&e.theme||t||n.theme}var Qn=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track","u","ul","use","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"]),er=/[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~-]+/g,tr=/(^-|-$)/g;function nr(e){return e.replace(er,"-").replace(tr,"")}var rr=/(a)(d)/gi,or=52,ir=function(e){return String.fromCharCode(e+(e>25?39:97))};function lr(e){var t,n="";for(t=Math.abs(e);t>or;t=t/or|0)n=ir(t%or)+n;return(ir(t%or)+n).replace(rr,"$1-$2")}var ur,ar=5381,sr=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},cr=function(e){return sr(ar,e)};function dr(e){return lr(cr(e)>>>0)}function fr(e){return e.displayName||e.name||"Component"}function pr(e){return"string"==typeof e&&!0}var _r="function"==typeof Symbol&&Symbol.for,hr=_r?Symbol.for("react.memo"):60115,vr=_r?Symbol.for("react.forward_ref"):60112,mr={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},gr={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},yr={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},br=((ur={})[vr]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},ur[hr]=yr,ur);function Sr(e){return("type"in(t=e)&&t.type.$$typeof)===hr?yr:"$$typeof"in e?br[e.$$typeof]:mr;var t}var wr=Object.defineProperty,xr=Object.getOwnPropertyNames,Cr=Object.getOwnPropertySymbols,kr=Object.getOwnPropertyDescriptor,Er=Object.getPrototypeOf,Ir=Object.prototype;function Pr(e,t,n){if("string"!=typeof t){if(Ir){var r=Er(t);r&&r!==Ir&&Pr(e,r,n)}var o=xr(t);Cr&&(o=o.concat(Cr(t)));for(var i=Sr(e),l=Sr(t),u=0;u0?" Args: ".concat(t.join(", ")):""))}var Lr=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}return e.prototype.indexOfGroup=function(e){for(var t=0,n=0;n=this.groupSizes.length){for(var n=this.groupSizes,r=n.length,o=r;e>=o;)if((o<<=1)<0)throw Mr(16,"".concat(e));this.groupSizes=new Uint32Array(o),this.groupSizes.set(n),this.length=o;for(var i=r;i=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],r=this.indexOfGroup(e),o=r+n,i=r;i=0){var n=document.createTextNode(t);return this.element.insertBefore(n,this.nodes[e]||null),this.length++,!0}return!1},e.prototype.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},e.prototype.getRule=function(e){return e0&&(a+="".concat(e,","))})),r+="".concat(l).concat(u,'{content:"').concat(a,'"}').concat(qn)},i=0;i0?".".concat(t):e},c=a.slice();c.push((function(e){e.type===zt&&e.value.includes("&")&&(e.props[0]=e.props[0].replace(to,n).replace(r,s))})),l.prefix&&c.push(Mn),c.push(Vn);var d=function(e,o,i,u){void 0===o&&(o=""),void 0===i&&(i=""),void 0===u&&(u="&"),t=u,n=o,r=new RegExp("\\".concat(n,"\\b"),"g");var a=e.replace(no,""),s=Ln(i||o?"".concat(i," ").concat(o," { ").concat(a," }"):a);l.namespace&&(s=ro(s,l.namespace));var d,f,p,_=[];return Dn(s,(d=c.concat((p=function(e){return _.push(e)},function(e){e.root||(e=e.return)&&p(e)})),f=un(d),function(e,t,n,r){for(var o="",i=0;i="A"&&e<="Z"};function _o(e){for(var t="",n=0;n>>0);if(!t.hasNameForId(this.componentId,i)){var l=n(o,".".concat(i),void 0,this.componentId);t.insertRules(this.componentId,i,l)}r=Rr(r,i),this.staticRulesId=i}else{for(var u=sr(this.baseHash,n.hash),a="",s=0;s>>0);t.hasNameForId(this.componentId,f)||t.insertRules(this.componentId,f,n(a,".".concat(f),void 0,this.componentId)),r=Rr(r,f)}}return r},e}(),So=kt.createContext(void 0);So.Consumer;var wo={};new Set;function xo(e,t,n){var r=Nr(e),o=e,i=!pr(e),l=t.attrs,u=void 0===l?Zn:l,a=t.componentId,s=void 0===a?function(e,t){var n="string"!=typeof e?"sc":nr(e);wo[n]=(wo[n]||0)+1;var r="".concat(n,"-").concat(dr(Gn+n+wo[n]));return t?"".concat(t,"-").concat(r):r}(t.displayName,t.parentComponentId):a,c=t.displayName,d=void 0===c?function(e){return pr(e)?"styled.".concat(e):"Styled(".concat(fr(e),")")}(e):c,f=t.displayName&&t.componentId?"".concat(nr(t.displayName),"-").concat(t.componentId):t.componentId||s,p=r&&o.attrs?o.attrs.concat(u).filter(Boolean):u,_=t.shouldForwardProp;if(r&&o.shouldForwardProp){var h=o.shouldForwardProp;if(t.shouldForwardProp){var v=t.shouldForwardProp;_=function(e,t){return h(e,t)&&v(e,t)}}else _=h}var g=new bo(n,f,r?o.componentStyle:void 0);function y(e,t){return function(e,t,n){var r=e.attrs,o=e.componentStyle,i=e.defaultProps,l=e.foldedComponentIds,u=e.styledComponentId,a=e.target,s=kt.useContext(So),c=so(),d=e.shouldForwardProp||c.shouldForwardProp,f=Xn(t,s,i)||Jn,p=function(e,t,n){for(var r,o=Lt(Lt({},t),{className:void 0,theme:n}),i=0;i2&&eo.registerId(this.componentId+e),this.removeStyles(e,n),this.createStyles(e,t,n,r)}}();(function(){function e(){var e=this;this._emitSheetCSS=function(){var t=e.instance.toString(),n=qr(),r=Or([n&&'nonce="'.concat(n,'"'),"".concat(Bn,'="true"'),"".concat(zn,'="').concat(Gn,'"')].filter(Boolean)," ");return"")},this.getStyleTags=function(){if(e.sealed)throw Mr(2);return e._emitSheetCSS()},this.getStyleElement=function(){var t;if(e.sealed)throw Mr(2);var n=((t={})[Bn]="",t[zn]=Gn,t.dangerouslySetInnerHTML={__html:e.instance.toString()},t),r=qr();return r&&(n.nonce=r),[kt.createElement("style",Lt({},n,{key:"sc-0-0"}))]},this.seal=function(){e.sealed=!0},this.instance=new eo({isServer:!0}),this.sealed=!1}e.prototype.collectStyles=function(e){if(this.sealed)throw Mr(2);return kt.createElement(co,{sheet:this.instance},e)},e.prototype.interleaveWithNodeStream=function(e){throw Mr(3)}})(),"__sc-".concat(Bn,"__");function No(){return No=Object.assign?Object.assign.bind():function(e){for(var t=1;te.every((e=>null==e))?null:t=>{e.forEach((e=>{!function(e,t){"function"==typeof e?e(t):e&&(e.current=t)}(e,t)}))}),e)}let Oo=0;const Do=e["useId".toString()];function Vo(e){if(void 0!==Do){const t=Do();return null!=e?e:t}return function(e){const[t,n]=oe(e),r=e||t;return le((()=>{null==t&&(Oo+=1,n(`mui-${Oo}`))}),[t]),r}(e)}const To="undefined"!=typeof window?ue:le,Mo={border:0,clip:"rect(0 0 0 0)",height:"1px",margin:-1,overflow:"hidden",padding:0,position:"absolute",whiteSpace:"nowrap",width:"1px"};class Lo{constructor(){this.currentId=0,this.clear=()=>{0!==this.currentId&&(clearTimeout(this.currentId),this.currentId=0)},this.disposeEffect=()=>this.clear}static create(){return new Lo}start(e,t){this.clear(),this.currentId=setTimeout((()=>{this.currentId=0,t()}),e)}}let $o=!0,Fo=!1;const jo=new Lo,Ho={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function Uo(e){e.metaKey||e.altKey||e.ctrlKey||($o=!0)}function Bo(){$o=!1}function Wo(){"hidden"===this.visibilityState&&Fo&&($o=!0)}function zo(e){const{target:t}=e;try{return t.matches(":focus-visible")}catch(e){}return $o||function(e){const{type:t,tagName:n}=e;return!("INPUT"!==n||!Ho[t]||e.readOnly)||"TEXTAREA"===n&&!e.readOnly||!!e.isContentEditable}(t)}function Go(){const e=de((e=>{var t;null!=e&&((t=e.ownerDocument).addEventListener("keydown",Uo,!0),t.addEventListener("mousedown",Bo,!0),t.addEventListener("pointerdown",Bo,!0),t.addEventListener("touchstart",Bo,!0),t.addEventListener("visibilitychange",Wo,!0))}),[]),t=ae(!1);return{isFocusVisibleRef:t,onFocus:function(e){return!!zo(e)&&(t.current=!0,!0)},onBlur:function(){return!!t.current&&(Fo=!0,jo.start(100,(()=>{Fo=!1})),t.current=!1,!0)},ref:e}}function qo(e,t=[]){if(void 0===e)return{};const n={};return Object.keys(e).filter((n=>n.match(/^on[A-Z]/)&&"function"==typeof e[n]&&!t.includes(n))).forEach((t=>{n[t]=e[t]})),n}function Ko(e={}){const{disabled:t=!1,focusableWhenDisabled:n,href:r,rootRef:o,tabIndex:i,to:l,type:u}=e,a=ae(),[s,c]=oe(!1),{isFocusVisibleRef:d,onFocus:f,onBlur:p,ref:_}=Go(),[h,v]=oe(!1);t&&!n&&h&&v(!1),le((()=>{d.current=h}),[h,d]);const[m,g]=oe(""),y=e=>t=>{var n;h&&t.preventDefault(),null==(n=e.onMouseLeave)||n.call(e,t)},b=e=>t=>{var n,r;(a.current||(a.current=t.currentTarget),f(t),!0===d.current)&&(v(!0),null==(r=e.onFocusVisible)||r.call(e,t));null==(n=e.onFocus)||n.call(e,t)},S=()=>{const e=a.current;return"BUTTON"===m||"INPUT"===m&&["button","submit","reset"].includes(null==e?void 0:e.type)||"A"===m&&(null==e?void 0:e.href)},w=e=>n=>{var r;t||(null==(r=e.onClick)||r.call(e,n))},x=e=>n=>{var r;t||(c(!0),document.addEventListener("mouseup",(()=>{c(!1)}),{once:!0})),null==(r=e.onMouseDown)||r.call(e,n)},C=e=>n=>{var r,o;(null==(r=e.onKeyDown)||r.call(e,n),n.defaultMuiPrevented)||(n.target!==n.currentTarget||S()||" "!==n.key||n.preventDefault(),n.target!==n.currentTarget||" "!==n.key||t||c(!0),n.target!==n.currentTarget||S()||"Enter"!==n.key||t||(null==(o=e.onClick)||o.call(e,n),n.preventDefault()))},k=e=>n=>{var r,o;(n.target===n.currentTarget&&c(!1),null==(r=e.onKeyUp)||r.call(e,n),n.target!==n.currentTarget||S()||t||" "!==n.key||n.defaultMuiPrevented)||(null==(o=e.onClick)||o.call(e,n))},E=Ro(de((e=>{var t;g(null!=(t=null==e?void 0:e.tagName)?t:"")}),[]),o,_,a),I={};void 0!==i&&(I.tabIndex=i),"BUTTON"===m?(I.type=null!=u?u:"button",n?I["aria-disabled"]=t:I.disabled=t):""!==m&&(r||l||(I.role="button",I.tabIndex=null!=i?i:0),t&&(I["aria-disabled"]=t,I.tabIndex=n?null!=i?i:0:-1));return{getRootProps:(t={})=>{const n=No({},qo(e),qo(t)),r=No({type:u},n,I,t,{onBlur:(o=n,e=>{var t;p(e),!1===d.current&&v(!1),null==(t=o.onBlur)||t.call(o,e)}),onClick:w(n),onFocus:b(n),onKeyDown:C(n),onKeyUp:k(n),onMouseDown:x(n),onMouseLeave:y(n),ref:E});var o;return delete r.onFocusVisible,r},focusVisible:h,setFocusVisible:v,active:s,rootRef:E}}const Yo={buttonClick:"buttonClick",browserAutoFill:"browserAutoFill"},Zo={blur:"list:blur",focus:"list:focus",itemClick:"list:itemClick",itemHover:"list:itemHover",itemsChange:"list:itemsChange",keyDown:"list:keyDown",resetHighlight:"list:resetHighlight",highlightLast:"list:highlightLast",textNavigation:"list:textNavigation",clearSelection:"list:clearSelection"};function Jo(e,t,n){var r;const{items:o,isItemDisabled:i,disableListWrap:l,disabledItemsFocusable:u,itemComparer:a,focusManagement:s}=n,c="DOM"===s?0:-1,d=o.length-1,f=null==e?-1:o.findIndex((t=>a(t,e)));let p,_,h=!l;switch(t){case"reset":if(-1===c)return null;p=0,_="next",h=!1;break;case"start":p=0,_="next",h=!1;break;case"end":p=d,_="previous",h=!1;break;default:{const e=f+t;e<0?!h&&-1!==f||Math.abs(t)>1?(p=0,_="next"):(p=d,_="previous"):e>d?!h||Math.abs(t)>1?(p=d,_="previous"):(p=0,_="next"):(p=e,_=t>=0?"next":"previous")}}const v=function(e,t,n,r,o,i){if(0===n.length||!r&&n.every(((e,t)=>o(e,t))))return-1;let l=e;for(;;){if(!i&&"next"===t&&l===n.length||!i&&"previous"===t&&-1===l)return-1;if(r||!o(n[l],l))return l;l+="next"===t?1:-1,i&&(l=(l+n.length)%n.length)}}(p,_,o,u,i,h);return-1!==v||null===e||i(e,f)?null!=(r=o[v])?r:null:e}function Xo(e,t,n){const{itemComparer:r,isItemDisabled:o,selectionMode:i,items:l}=n,{selectedValues:u}=t,a=l.findIndex((t=>r(e,t)));if(o(e,a))return t;const s=function(e,t,n,r){return"none"===n?[]:"single"===n?r(t[0],e)?t:[e]:t.some((t=>r(t,e)))?t.filter((t=>!r(t,e))):[...t,e]}(e,u,i,r);return No({},t,{selectedValues:s,highlightedValue:e})}function Qo(e,t,n){var r;const o=null==(r=n(e))?void 0:r.trim().toLowerCase();return!(!o||0===o.length)&&0===o.indexOf(t)}function ei(e,t){const{type:n,context:r}=t;switch(n){case Zo.keyDown:return function(e,t,n){const r=t.highlightedValue,{orientation:o,pageSize:i}=n;switch(e){case"Home":return No({},t,{highlightedValue:Jo(r,"start",n)});case"End":return No({},t,{highlightedValue:Jo(r,"end",n)});case"PageUp":return No({},t,{highlightedValue:Jo(r,-i,n)});case"PageDown":return No({},t,{highlightedValue:Jo(r,i,n)});case"ArrowUp":if("vertical"!==o)break;return No({},t,{highlightedValue:Jo(r,-1,n)});case"ArrowDown":if("vertical"!==o)break;return No({},t,{highlightedValue:Jo(r,1,n)});case"ArrowLeft":if("vertical"===o)break;return No({},t,{highlightedValue:Jo(r,"horizontal-ltr"===o?-1:1,n)});case"ArrowRight":if("vertical"===o)break;return No({},t,{highlightedValue:Jo(r,"horizontal-ltr"===o?1:-1,n)});case"Enter":case" ":return null===t.highlightedValue?t:Xo(t.highlightedValue,t,n)}return t}(t.key,e,r);case Zo.itemClick:return Xo(t.item,e,r);case Zo.blur:return function(e,t){return"DOM"===t.focusManagement?e:No({},e,{highlightedValue:null})}(e,r);case Zo.textNavigation:return function(e,t,n){const{items:r,isItemDisabled:o,disabledItemsFocusable:i,getItemAsString:l}=n,u=t.length>1;let a=u?e.highlightedValue:Jo(e.highlightedValue,1,n);for(let s=0;si(e,n.highlightedValue))))?a:null:"DOM"===l&&0===t.length&&(u=Jo(null,"reset",r));const s=(null!=(o=n.selectedValues)?o:[]).filter((t=>e.some((e=>i(e,t)))));return No({},n,{highlightedValue:u,selectedValues:s})}(t.items,t.previousItems,e,r);case Zo.resetHighlight:return function(e,t){return No({},e,{highlightedValue:Jo(null,"reset",t)})}(e,r);case Zo.highlightLast:return function(e,t){return No({},e,{highlightedValue:Jo(null,"end",t)})}(e,r);case Zo.clearSelection:return function(e,t){return No({},e,{selectedValues:[],highlightedValue:Jo(null,"reset",t)})}(e,r);default:return e}}function ti(e,t){return e===t}const ni={},ri=()=>{};function oi(e,t){const n=No({},e);return Object.keys(t).forEach((e=>{void 0!==t[e]&&(n[e]=t[e])})),n}function ii(e){const t=ae(null),{reducer:n,initialState:r,controlledProps:o=ni,stateComparers:i=ni,onStateChange:l=ri,actionContext:u,componentName:a=""}=e;ae(o);const s=de(((e,r)=>{t.current=r;const i=oi(e,o);return n(i,r)}),[o,n]),[c,d]=ie(s,r),f=de((e=>{d(No({},e,{context:u}))}),[u]);return function(e){const{nextState:t,initialState:n,stateComparers:r,onStateChange:o,controlledProps:i,lastActionRef:l}=e,u=ae(n);le((()=>{if(null===l.current)return;const e=oi(u.current,i);Object.keys(t).forEach((n=>{var i;const u=null!=(i=r[n])?i:ti,a=t[n],s=e[n];var c,d;(null==s&&null!=a||null!=s&&null==a||null!=s&&null!=a&&!u(a,s))&&(null==o||o(null!=(c=l.current.event)?c:null,n,a,null!=(d=l.current.type)?d:"",t))})),u.current=t,l.current=null}),[u,t,l,o,r,i])}({nextState:c,initialState:r,stateComparers:null!=i?i:ni,onStateChange:null!=l?l:ri,controlledProps:o,lastActionRef:t}),[oi(c,o),f]}function li(e,t,n=((e,t)=>e===t)){return e.length===t.length&&e.every(((e,r)=>n(e,t[r])))}const ui=500;const ai={},si=()=>{},ci=(e,t)=>e===t,di=()=>!1,fi=e=>"string"==typeof e?e:String(e),pi=()=>({highlightedValue:null,selectedValues:[]});function _i(e){const{controlledProps:t=ai,disabledItemsFocusable:n=!1,disableListWrap:r=!1,focusManagement:o="activeDescendant",getInitialState:i=pi,getItemDomElement:l,getItemId:u,isItemDisabled:a=di,rootRef:s,onStateChange:c=si,items:d,itemComparer:f=ci,getItemAsString:p=fi,onChange:_,onHighlightChange:h,onItemsChange:v,orientation:m="vertical",pageSize:g=5,reducerActionContext:y=ai,selectionMode:b="single",stateReducer:S,componentName:w="useList"}=e;const x=ae(null),C=Ro(s,x),k=de(((e,t,n)=>{var r;(null==h||h(e,t,n),"DOM"!==o||null==t||n!==Zo.itemClick&&n!==Zo.keyDown&&n!==Zo.textNavigation)||(null==l||null==(r=l(t))||r.focus())}),[l,h,o]),E=ce((()=>({highlightedValue:f,selectedValues:(e,t)=>li(e,t,f)})),[f]),I=de(((e,t,n,r,o)=>{switch(null==c||c(e,t,n,r,o),t){case"highlightedValue":k(e,n,r);break;case"selectedValues":null==_||_(e,n,r)}}),[k,_,c]),P=ce((()=>({disabledItemsFocusable:n,disableListWrap:r,focusManagement:o,isItemDisabled:a,itemComparer:f,items:d,getItemAsString:p,onHighlightChange:k,orientation:m,pageSize:g,selectionMode:b,stateComparers:E})),[n,r,o,a,f,d,p,k,m,g,b,E]),A=i(),N=null!=S?S:ei,R=ce((()=>No({},y,P)),[y,P]),[O,D]=ii({reducer:N,actionContext:R,initialState:A,controlledProps:t,stateComparers:E,onStateChange:I,componentName:w}),{highlightedValue:V,selectedValues:T}=O,M=function(e){const t=ae({searchString:"",lastTime:null});return de((n=>{if(1===n.key.length&&" "!==n.key){const r=t.current,o=n.key.toLowerCase(),i=performance.now();r.searchString.length>0&&r.lastTime&&i-r.lastTime>ui?r.searchString=o:1===r.searchString.length&&o===r.searchString||(r.searchString+=o),r.lastTime=i,e(r.searchString,n)}}),[e])}(((e,t)=>D({type:Zo.textNavigation,event:t,searchString:e}))),L=ae([]);le((()=>{li(L.current,d,f)||(D({type:Zo.itemsChange,event:null,items:d,previousItems:L.current}),L.current=d,null==v||v(d))}),[d,f,D,v]);const $=e=>t=>{var n;if(null==(n=e.onKeyDown)||n.call(e,t),t.defaultMuiPrevented)return;const r=["Home","End","PageUp","PageDown"];"vertical"===m?r.push("ArrowUp","ArrowDown"):r.push("ArrowLeft","ArrowRight"),"activeDescendant"===o&&r.push(" ","Enter"),r.includes(t.key)&&t.preventDefault(),D({type:Zo.keyDown,key:t.key,event:t}),M(t)},F=de((e=>{const t=(null!=T?T:[]).some((t=>null!=t&&f(e,t))),n=null!=V&&f(e,V);return{focusable:"DOM"===o,highlighted:n,selected:t}}),[f,T,V,o]),j=ce((()=>({dispatch:D,getItemState:F})),[D,F]);return pe({state:O}),{contextValue:j,dispatch:D,getRootProps:(e={})=>{const t=qo(e);return No({},e,{"aria-activedescendant":"activeDescendant"===o&&null!=V?u(V):void 0,tabIndex:"DOM"===o?-1:0,ref:C},t,{onBlur:(n=t,e=>{var t,r;null==(t=n.onBlur)||t.call(n,e),e.defaultMuiPrevented||null!=(r=x.current)&&r.contains(e.relatedTarget)||D({type:Zo.blur,event:e})}),onKeyDown:$(t)});var n},rootRef:C,state:O}}const hi=e=>{const{label:t,value:n}=e;return"string"==typeof t?t:"string"==typeof n?n:String(e)},vi=W(null);function mi(){const[e,t]=oe(new Map),n=ae(new Set),r=de((function(e){n.current.delete(e),t((t=>{const n=new Map(t);return n.delete(e),n}))}),[]),o=de((function(e,o){let i;return i="function"==typeof e?e(n.current):e,n.current.add(i),t((e=>{const t=new Map(e);return t.set(i,o),t})),{id:i,deregister:()=>r(i)}}),[r]),i=ce((()=>function(e){const t=Array.from(e.keys()).map((t=>({key:t,subitem:e.get(t)})));return t.sort(((e,t)=>{const n=e.subitem.ref.current,r=t.subitem.ref.current;return null===n||null===r||n===r?0:n.compareDocumentPosition(r)&Node.DOCUMENT_POSITION_PRECEDING?1:-1})),new Map(t.map((e=>[e.key,e.subitem])))}(e)),[e]),l=de((function(e){return Array.from(i.keys()).indexOf(e)}),[i]);return{contextValue:ce((()=>({getItemIndex:l,registerItem:o,totalSubitemCount:e.size})),[l,o,e.size]),subitems:i}}function gi(e,t){const{open:n}=e,{context:{selectionMode:r}}=t;if(t.type===Yo.buttonClick){var o;const r=null!=(o=e.selectedValues[0])?o:Jo(null,"start",t.context);return No({},e,{open:!n,highlightedValue:n?null:r})}if(t.type===Yo.browserAutoFill)return Xo(t.item,e,t.context);const i=ei(e,t);switch(t.type){case Zo.keyDown:if(e.open){if("Escape"===t.event.key)return No({},i,{open:!1})}else{var l,u;if("ArrowDown"===t.event.key)return No({},e,{open:!0,highlightedValue:null!=(l=e.selectedValues[0])?l:Jo(null,"start",t.context)});if("ArrowUp"===t.event.key)return No({},e,{open:!0,highlightedValue:null!=(u=e.selectedValues[0])?u:Jo(null,"end",t.context)})}break;case Zo.itemClick:if("single"===r)return No({},i,{open:!1});break;case Zo.blur:return No({},i,{open:!1});default:return i}return i}function yi(e,t){return function(n={}){const r=No({},n,e(n));return No({},r,t(r))}}function bi(e){return Array.isArray(e)?0===e.length?"":JSON.stringify(e.map((e=>e.value))):null==(null==e?void 0:e.value)?"":"string"==typeof e.value||"number"==typeof e.value?e.value:JSON.stringify(e.value)}function Si(e){const{areOptionsEqual:t,buttonRef:n,defaultOpen:r=!1,defaultValue:o,disabled:i=!1,listboxId:l,listboxRef:u,multiple:a=!1,name:s,required:c,onChange:d,onHighlightChange:f,onOpenChange:p,open:_,options:h,getOptionAsString:v=hi,getSerializedValue:m=bi,value:g,componentName:b="useSelect"}=e,S=ae(null),w=Ro(n,S),x=ae(null),C=Vo(l);let k;void 0===g&&void 0===o?k=[]:void 0!==o&&(k=a?o:null==o?[]:[o]);const E=ce((()=>{if(void 0!==g)return a?g:null==g?[]:[g]}),[g,a]),{subitems:I,contextValue:P}=mi(),A=ce((()=>null!=h?new Map(h.map(((e,t)=>[e.value,{value:e.value,label:e.label,disabled:e.disabled,ref:y(),id:`${C}_${t}`}]))):I),[h,I,C]),N=Ro(u,x),{getRootProps:R,active:O,focusVisible:D,rootRef:V}=Ko({disabled:i,rootRef:w}),T=ce((()=>Array.from(A.keys())),[A]),M=de((e=>{if(void 0!==t){const n=T.find((n=>t(n,e)));return A.get(n)}return A.get(e)}),[A,t,T]),L=de((e=>{var t;const n=M(e);return null!=(t=null==n?void 0:n.disabled)&&t}),[M]),$=de((e=>{const t=M(e);return t?v(t):""}),[M,v]),F=ce((()=>({selectedValues:E,open:_})),[E,_]),j=de((e=>{var t;return null==(t=A.get(e))?void 0:t.id}),[A]),H=de(((e,t)=>{var n;a?null==d||d(e,t):null==d||d(e,null!=(n=t[0])?n:null)}),[a,d]),U=de(((e,t)=>{null==f||f(e,null!=t?t:null)}),[f]),B=de(((e,t,n)=>{var r;"open"===t&&(null==p||p(n),!1===n&&"blur"!==(null==e?void 0:e.type)&&(null==(r=S.current)||r.focus()))}),[p]),W={getInitialState:()=>{var e;return{highlightedValue:null,selectedValues:null!=(e=k)?e:[],open:r}},getItemId:j,controlledProps:F,focusManagement:"DOM",getItemDomElement:de((e=>{var t,n;return null==e?null:null!=(t=null==(n=I.get(e))?void 0:n.ref.current)?t:null}),[I]),itemComparer:t,isItemDisabled:L,rootRef:N,onChange:H,onHighlightChange:U,onStateChange:B,reducerActionContext:ce((()=>({multiple:a})),[a]),items:T,getItemAsString:$,selectionMode:a?"multiple":"single",stateReducer:gi,componentName:b},{dispatch:z,getRootProps:G,contextValue:q,state:{open:K,highlightedValue:Y,selectedValues:Z},rootRef:J}=_i(W),X=ae(K);To((()=>{if(K&&null!==Y){var e;const t=null==(e=M(Y))?void 0:e.ref;if(!x.current||null==t||!t.current)return;X.current||t.current.focus({preventScroll:!0});const n=x.current.getBoundingClientRect(),r=t.current.getBoundingClientRect();r.topn.bottom&&(x.current.scrollTop+=r.bottom-n.bottom)}}),[K,Y,M]);const Q=de((e=>M(e)),[M]),ee=e=>t=>{var n;null==(n=e.onKeyDown)||n.call(e,t),t.defaultMuiPrevented||"ArrowDown"!==t.key&&"ArrowUp"!==t.key||(t.preventDefault(),z({type:Zo.keyDown,key:t.key,event:t}))},te=(e={})=>No({},e,((e={})=>{return{onClick:(t=e,e=>{var n;if(null==t||null==(n=t.onClick)||n.call(t,e),!e.defaultMuiPrevented){const t={type:Yo.buttonClick,event:e};z(t)}}),onKeyDown:ee(e)};var t})(e),{role:"combobox","aria-expanded":K,"aria-controls":C}),ne=e=>t=>{var n,r;null==(n=e.onBlur)||n.call(e,t),t.defaultMuiPrevented||(null!=(r=x.current)&&r.contains(t.relatedTarget)||t.relatedTarget===S.current)&&(t.defaultMuiPrevented=!0)},re=(e={})=>({onBlur:ne(e)});pe({selectedOptions:Z,highlightedOption:Y,open:K});const oe=ce((()=>No({},q,P)),[q,P]);let ie,le;var ue;(ie=e.multiple?Z:Z.length>0?Z[0]:null,a)?le=ie.map((e=>Q(e))).filter((e=>void 0!==e)):le=null!=(ue=Q(ie))?ue:null;const se=e=>t=>{var n;if(null==e||null==(n=e.onChange)||n.call(e,t),t.defaultMuiPrevented)return;const r=A.get(t.target.value);""===t.target.value?z({type:Zo.clearSelection}):void 0!==r&&z({type:Yo.browserAutoFill,item:r.value,event:t})};return{buttonActive:O,buttonFocusVisible:D,buttonRef:V,contextValue:oe,disabled:i,dispatch:z,getButtonProps:(e={})=>{const t=qo(e);return No({},e,yi(te,R)(t))},getHiddenInputProps:(e={})=>{const t=qo(e);return No({name:s,tabIndex:-1,"aria-hidden":!0,required:!!c||void 0,value:m(le),style:Mo},e,{onChange:se(t)})},getListboxProps:(e={})=>{const t=qo(e),n=yi(re,G);return No({id:C,role:"listbox","aria-multiselectable":a?"true":void 0},e,n(t))},getOptionMetadata:Q,listboxRef:J,open:K,options:T,value:ie,highlightedOption:Y}}vi.displayName="CompoundComponentContext";const wi=W(null);var xi=0;Array.isArray;function Ci(e,t,n,r,i,l){var u,a,s={};for(a in t)"ref"==a?u=t[a]:s[a]=t[a];var c={type:e,props:s,key:n,ref:u,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:--xi,__i:-1,__u:0,__source:i,__self:l};if("function"==typeof e&&(u=e.defaultProps))for(a in u)void 0===s[a]&&(s[a]=u[a]);return o.vnode&&o.vnode(c),c}function ki(e){const{value:t,children:n}=e,{dispatch:r,getItemIndex:o,getItemState:i,registerItem:l,totalSubitemCount:u}=t,a=ce((()=>({dispatch:r,getItemState:i,getItemIndex:o})),[r,o,i]),s=ce((()=>({getItemIndex:o,registerItem:l,totalSubitemCount:u})),[l,o,u]);return Ci(vi.Provider,{value:s,children:Ci(wi.Provider,{value:a,children:n})})}function Ei(e){const{value:t,label:n,disabled:r,rootRef:o,id:i}=e,{getRootProps:l,highlighted:u,selected:a}=function(e){const{handlePointerOverEvents:t=!1,item:n}=e,r=fe(wi);if(!r)throw new Error("useListItem must be used within a ListProvider");const{dispatch:o,getItemState:i}=r,{highlighted:l,selected:u,focusable:a}=i(n),s=de((e=>t=>{var r;null==(r=e.onClick)||r.call(e,t),t.defaultPrevented||o({type:Zo.itemClick,item:n,event:t})}),[o,n]),c=de((e=>t=>{var r;null==(r=e.onMouseOver)||r.call(e,t),t.defaultPrevented||o({type:Zo.itemHover,item:n,event:t})}),[o,n]);let d;return a&&(d=l?0:-1),{getRootProps:(e={})=>{const n=qo(e);return No({},e,{onClick:s(n),onPointerOver:t?c(n):void 0,tabIndex:d})},highlighted:l,selected:u}}({item:t}),{getRootProps:s,rootRef:c}=Ko({disabled:r,focusableWhenDisabled:!0}),d=Vo(i),f=ae(null),p=ce((()=>({disabled:r,label:n,value:t,ref:f,id:d})),[r,n,t,d]),{index:_}=function(e,t){const n=fe(vi);if(null===n)throw new Error("useCompoundItem must be used within a useCompoundParent");const{registerItem:r}=n,[o,i]=oe("function"==typeof e?void 0:e);return To((()=>{const{id:n,deregister:o}=r(e,t);return i(n),o}),[r,t,e]),{id:o,index:void 0!==o?n.getItemIndex(o):-1,totalItemCount:n.totalSubitemCount}}(t,p),h=Ro(o,f,c),v=e=>t=>{var n;null==(n=e.onKeyDown)||n.call(e,t),t.defaultMuiPrevented||[" ","Enter"].includes(t.key)&&(t.defaultMuiPrevented=!0)},m=(e={})=>({onKeyDown:v(e)});return{getRootProps:(e={})=>{const t=qo(e);return No({},e,t,yi(l,yi(s,m))(t),{id:d,ref:h,role:"option","aria-selected":a})},highlighted:u,index:_,selected:a,rootRef:h}}const Ii=Ae((function({title:e,titleId:t,...n},r){return m("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor","aria-hidden":"true","data-slot":"icon",ref:r,"aria-labelledby":t},n),e?m("title",{id:t},e):null,m("path",{fillRule:"evenodd",d:"M5.22 8.22a.75.75 0 0 1 1.06 0L10 11.94l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L5.22 9.28a.75.75 0 0 1 0-1.06Z",clipRule:"evenodd"}))})),Pi=e=>{const t=ae(!1),n=ae(!1),r=n=>{!t.current&&e&&e(n),t.current=!1},o=t=>{!n.current&&e&&e(t),n.current=!1};return le((()=>(document.addEventListener("mousedown",r),document.addEventListener("focusin",o),document.addEventListener("touchstart",r),()=>{document.removeEventListener("mousedown",r),document.removeEventListener("focusin",o),document.removeEventListener("touchstart",r)})),[]),{onMouseDown:()=>t.current=!0,onFocus:()=>n.current=!0,onTouchStart:()=>t.current=!0}},Ai=Ao.span` border: 1px solid #b6b1a9; padding: 4px 8px; margin-right: 5px; border-radius: 4px; white-space: nowrap; -`,Ai=(e,t)=>{if(Array.isArray(e))return e.map((e=>xi(Pi,{children:Ai(e,t)},e)));const n=t.find((t=>t.value===e));return n?n.label:null},Ni=Ao.li` +`,Ni=(e,t)=>{if(Array.isArray(e))return e.map((e=>Ci(Ai,{children:Ni(e,t)},e)));const n=t.find((t=>t.value===e));return n?n.label:null},Ri=Ao.li` cursor: pointer; overflow: hidden; margin: 0 !important; @@ -22,4 +22,4 @@ &:before { display: none !important; } -`;function Ri(e){const{children:t,value:n,rootRef:r,id:o,disabled:i=!1}=e,{getRootProps:l,highlighted:u,selected:a}=ki({rootRef:r,value:n,disabled:i,label:t,id:o}),{...s}=l();return le((()=>{var e;if(u&&o&&null!=r&&null!==(e=r.current)&&void 0!==e&&e.parentElement){const e=document.getElementById(o);if(e){const t=null==e?void 0:e.offsetTop,n=null==e?void 0:e.offsetHeight,o=r.current.parentElement.scrollTop,i=r.current.parentElement.offsetHeight;to+i&&(r.current.parentElement.scrollTop=t-i+n)}}}),[r,o]),"1111"===n&&(console.log("selected",a),console.log("highlighted",u),console.log("disabled",i)),xi(Ni,{...s,id:o,selected:a,highlighted:u,disabled:i,children:t})}const Oi=({options:e=[],label:t,multiple:n,ariaLabelledby:r,required:o,defaultValue:i,name:l,emptyValue:u,emptyLabel:a="- None -",...s})=>{const c=l,d=r??c,f=ae(null),p=ae(null),[_,h]=oe(!1),v=Ii((()=>h(!1))),{getButtonProps:m,getListboxProps:g,contextValue:y,value:b}=bi({listboxRef:p,listboxId:`${l}-preact-listbox`,onOpenChange:h,open:_,defaultValue:i,multiple:n,...s});le((()=>{var e;_&&(null===(e=p.current)||void 0===e||e.focus())}),[_]),ue((()=>{var e;const t=null===(e=p.current)||void 0===e||null===(e=e.parentElement)||void 0===e?void 0:e.getBoundingClientRect();var n;t&&(t.bottom>window.innerHeight||t.top<0)&&(null===(n=p.current)||void 0===n||null===(n=n.parentElement)||void 0===n||n.scrollIntoView({behavior:"smooth",block:"end",inline:"nearest"}))}),[_,b]);const S=n&&b?b.length>0:!!b;return xi("div",{...v,style:{position:"relative",width:"100%",minWidth:"250px"},children:[t&&xi("div",{id:c,style:{padding:"6px",fontWeight:"600"},children:t}),xi("button",{...m(),"aria-labelledby":d,style:{background:"#fff",color:"#000",width:"100%",border:s.disabled?"1px solid #ABABA9":"1px solid #000",borderRadius:"5px",textAlign:"left",minHeight:"40px"},children:xi("span",{style:{display:"flex",justifyContent:"space-between",flexWrap:"wrap"},children:[S&&xi("span",{style:{overflow:"hidden",maxWidth:"calc(100% - 30px)",padding:"8px 5px 8px 0"},children:Ai(b,e)}),!S&&n&&xi("span",{style:{padding:"8px 5px 8px 0",color:"#4c4740"},children:"Choose one or more from dropdown"}),xi(Ei,{width:20,style:{flexShrink:"0",marginLeft:"auto",color:s.disabled?"#ABABA9":"#000"}})]})}),xi("div",{style:{position:"absolute",zIndex:"10",background:"#fff",maxHeight:"300px",overflowY:"scroll",width:"100%",border:"1px solid #D5D5D4",boxShadow:"rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.1) 0px 4px 6px -4px",display:_?"block":"none"},children:xi("ul",{...g(),"aria-hidden":!_,"aria-labelledby":d,style:{listStyle:"none",margin:0,padding:0},children:xi(Ci,{value:y,children:[!o&&!n&&xi(Ri,{value:u??"",rootRef:p,id:`${l}-empty`,children:a}),e.map((e=>(console.log(e),xi(Ri,{value:e.value,disabled:e.disabled,rootRef:p,id:`${l}-${e.value.replace(/\W+/g,"-")}`,children:e.label},e.value))))]})})}),l&&xi("input",{ref:f,name:l,type:"hidden",value:b??""})]})},Di=({focus:e=!1})=>{var t;const n=ae(),[r,o]=oe(null),[i,l]=oe("");le((()=>{o(n.current.parentNode.querySelector("select")),l(n.current.parentNode.querySelector("label").textContent);const e=n.current.parentNode.querySelector("select");e.setAttribute("aria-hidden","true"),e.style.visibility="hidden",e.style.height="0",e.style.position="absolute";const t=n.current.parentNode.querySelector("label");t.style.visibility="hidden",t.style.height="0",t.style.position="absolute"}),[]);const u=r&&(e=>{const t=[],n=e.children;for(let e=0;e"All"!==e.value)),label:i,multiple:"multiple"===r.getAttribute("multiple"),onChange:(e,t)=>{if(!r.getAttribute("multiple"))return r.value=t;for(let e of r.children)t.includes(e.getAttribute("value"))?e.setAttribute("selected","selected"):e.removeAttribute("selected")},defaultValue:(()=>{let e=[];for(let t of null==r?void 0:r.children)if(t.getAttribute("selected")){if(!r.getAttribute("multiple"))return t.getAttribute("value");e.push(t.getAttribute("value"))}return e})(),emptyLabel:null===(t=u.find((e=>"All"===e.value)))||void 0===t?void 0:t.label})})};Drupal.behaviors.selectPreact={attach:function(e){let t="";try{t="."+e.getAttribute("class").replace(/ /g,".")}catch(e){}Mt("combobox-select-list",Di).render({selector:`${t} .select-preact`,initialProps:{focus:t.indexOf("js-view-dom-id")>=0}})}}})(),r})())); \ No newline at end of file +`;function Oi(e){const{children:t,value:n,rootRef:r,id:o,disabled:i=!1}=e,{getRootProps:l,highlighted:u,selected:a}=Ei({rootRef:r,value:n,disabled:i,label:t,id:o}),{...s}=l();return le((()=>{var e;if(u&&o&&null!=r&&null!==(e=r.current)&&void 0!==e&&e.parentElement){const e=document.getElementById(o);if(e){const t=null==e?void 0:e.offsetTop,n=null==e?void 0:e.offsetHeight,o=r.current.parentElement.scrollTop,i=r.current.parentElement.offsetHeight;to+i&&(r.current.parentElement.scrollTop=t-i+n)}}}),[r,o]),Ci(Ri,{...s,id:o,selected:a,highlighted:u,disabled:i,children:t})}const Di=({options:e=[],label:t,multiple:n,ariaLabelledby:r,required:o,defaultValue:i,name:l,emptyValue:u,emptyLabel:a="- None -",...s})=>{const c=l,d=r??c,f=ae(null),p=ae(null),[_,h]=oe(!1),v=Pi((()=>h(!1))),{getButtonProps:m,getListboxProps:g,contextValue:y,value:b}=Si({listboxRef:p,listboxId:`${l}-preact-listbox`,onOpenChange:h,open:_,defaultValue:i,multiple:n,...s});le((()=>{var e;_&&(null===(e=p.current)||void 0===e||e.focus())}),[_]),ue((()=>{var e;const t=null===(e=p.current)||void 0===e||null===(e=e.parentElement)||void 0===e?void 0:e.getBoundingClientRect();var n;t&&(t.bottom>window.innerHeight||t.top<0)&&(null===(n=p.current)||void 0===n||null===(n=n.parentElement)||void 0===n||n.scrollIntoView({behavior:"smooth",block:"end",inline:"nearest"}))}),[_,b]);const S=n&&b?b.length>0:!!b;return Ci("div",{...v,style:{position:"relative",width:"100%",minWidth:"250px"},children:[t&&Ci("div",{id:c,style:{padding:"6px",fontWeight:"600"},children:t}),Ci("button",{...m(),"aria-labelledby":d,style:{background:"#fff",color:"#000",width:"100%",border:s.disabled?"1px solid #ABABA9":"1px solid #000",borderRadius:"5px",textAlign:"left",minHeight:"40px"},children:Ci("span",{style:{display:"flex",justifyContent:"space-between",flexWrap:"wrap"},children:[S&&Ci("span",{style:{overflow:"hidden",maxWidth:"calc(100% - 30px)",padding:"8px 5px 8px 0"},children:Ni(b,e)}),!S&&!n&&Ci("span",{style:{padding:"8px 5px 8px 0",color:"#4c4740"},children:a}),!S&&n&&Ci("span",{style:{padding:"8px 5px 8px 0",color:"#4c4740"},children:"Choose one or more from dropdown"}),Ci(Ii,{width:20,style:{flexShrink:"0",marginLeft:"auto",color:s.disabled?"#ABABA9":"#000"}})]})}),Ci("div",{style:{position:"absolute",zIndex:"10",background:"#fff",maxHeight:"300px",overflowY:"scroll",width:"100%",border:"1px solid #D5D5D4",boxShadow:"rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.1) 0px 4px 6px -4px",display:_?"block":"none"},children:Ci("ul",{...g(),"aria-hidden":!_,"aria-labelledby":d,style:{listStyle:"none",margin:0,padding:0},children:Ci(ki,{value:y,children:[!o&&!n&&Ci(Oi,{value:u??"",rootRef:p,id:`${l}-empty`,children:a}),e.map((e=>Ci(Oi,{value:e.value,disabled:e.disabled,rootRef:p,id:`${l}-${e.value.replace(/\W+/g,"-")}`,children:e.label},e.value)))]})})}),l&&Ci("input",{ref:f,name:l,type:"hidden",value:b??""})]})},Vi=({focus:e=!1})=>{var t;const n=ae(),[r,o]=oe(null),[i,l]=oe("");le((()=>{o(n.current.parentNode.querySelector("select")),l(n.current.parentNode.querySelector("label").textContent);const e=n.current.parentNode.querySelector("select");e.setAttribute("aria-hidden","true"),e.style.visibility="hidden",e.style.height="0",e.style.position="absolute";const t=n.current.parentNode.querySelector("label");t.style.visibility="hidden",t.style.height="0",t.style.position="absolute"}),[]);const u=r&&(e=>{const t=[],n=e.children;for(let e=0;e"All"!==e.value)),label:i,multiple:"multiple"===r.getAttribute("multiple"),onChange:(e,t)=>{if(!r.getAttribute("multiple"))return r.value=t;for(let e of r.children)t.includes(e.getAttribute("value"))?e.setAttribute("selected","selected"):e.removeAttribute("selected")},defaultValue:(()=>{let e=[];for(let t of null==r?void 0:r.children)if(t.getAttribute("selected")){if(!r.getAttribute("multiple"))return t.getAttribute("value");e.push(t.getAttribute("value"))}return e})(),emptyLabel:null===(t=u.find((e=>"All"===e.value)))||void 0===t?void 0:t.label})})};Drupal.behaviors.selectPreact={attach:function(e){let t="";try{t="."+e.getAttribute("class").replace(/ /g,".")}catch(e){}Mt("combobox-select-list",Vi).render({selector:`${t} .select-preact`,initialProps:{focus:t.indexOf("js-view-dom-id")>=0}})}}})(),r})())); \ No newline at end of file diff --git a/docroot/profiles/humsci/su_humsci_profile/js/select-lists/package.json b/docroot/profiles/humsci/su_humsci_profile/js/select-lists/package.json index 027914dd64..4533e0e125 100644 --- a/docroot/profiles/humsci/su_humsci_profile/js/select-lists/package.json +++ b/docroot/profiles/humsci/su_humsci_profile/js/select-lists/package.json @@ -16,23 +16,23 @@ }, "dependencies": { "@heroicons/react": "^2.1.1", - "@mui/base": "^5.0.0-beta.32", + "@mui/base": "^5.0.0-beta.34", "preact": "^10.19.3", "styled-components": "^6.1.8" }, "devDependencies": { - "@babel/core": "^7.23.0", - "@babel/preset-env": "^7.23.8", + "@babel/core": "^7.23.9", + "@babel/preset-env": "^7.23.9", "@babel/preset-react": "^7.23.3", "@babel/preset-typescript": "^7.23.3", "@types/webpack": "^5.28.5", "babel-loader": "^9.1.3", - "css-loader": "^6.9.1", + "css-loader": "^6.10.0", "dotenv-webpack": "^8.0.1", "html-webpack-plugin": "^5.6.0", "preact-island": "^1.1.2", "terser-webpack-plugin": "^5.3.10", - "webpack": "^5.89.0", + "webpack": "^5.90.1", "webpack-cli": "^5.1.4", "webpack-dev-server": "^4.15.1" }, diff --git a/docroot/profiles/humsci/su_humsci_profile/js/select-lists/src/select-list.tsx b/docroot/profiles/humsci/su_humsci_profile/js/select-lists/src/select-list.tsx index 0758d0b320..132f5b6e2f 100644 --- a/docroot/profiles/humsci/su_humsci_profile/js/select-lists/src/select-list.tsx +++ b/docroot/profiles/humsci/su_humsci_profile/js/select-lists/src/select-list.tsx @@ -87,11 +87,6 @@ function CustomOption(props: OptionProps) { } }, [rootRef, id]) - if (value === '1111') { - console.log('selected', selected); - console.log('highlighted', highlighted); - console.log('disabled', disabled); - } return ( } + {(!optionChosen && !multiple) && + + {emptyLabel} + + } {(!optionChosen && multiple) && Choose one or more from dropdown @@ -234,7 +234,6 @@ const SelectList = ({options = [], label, multiple, ariaLabelledby, required, de } {options.map(option => { - console.log(option); return ( {option.label} diff --git a/docroot/profiles/humsci/su_humsci_profile/js/select-lists/yarn.lock b/docroot/profiles/humsci/su_humsci_profile/js/select-lists/yarn.lock index 712698c63d..5ab0c31683 100644 --- a/docroot/profiles/humsci/su_humsci_profile/js/select-lists/yarn.lock +++ b/docroot/profiles/humsci/su_humsci_profile/js/select-lists/yarn.lock @@ -25,6 +25,16 @@ __metadata: languageName: node linkType: hard +"@babel/code-frame@npm:^7.23.5": + version: 7.23.5 + resolution: "@babel/code-frame@npm:7.23.5" + dependencies: + "@babel/highlight": "npm:^7.23.4" + chalk: "npm:^2.4.2" + checksum: a10e843595ddd9f97faa99917414813c06214f4d9205294013e20c70fbdf4f943760da37dec1d998bf3e6fc20fa2918a47c0e987a7e458663feb7698063ad7c6 + languageName: node + linkType: hard + "@babel/compat-data@npm:^7.22.6, @babel/compat-data@npm:^7.22.9, @babel/compat-data@npm:^7.23.3": version: 7.23.3 resolution: "@babel/compat-data@npm:7.23.3" @@ -39,38 +49,38 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.23.0": - version: 7.23.3 - resolution: "@babel/core@npm:7.23.3" +"@babel/core@npm:^7.23.9": + version: 7.23.9 + resolution: "@babel/core@npm:7.23.9" dependencies: "@ampproject/remapping": "npm:^2.2.0" - "@babel/code-frame": "npm:^7.22.13" - "@babel/generator": "npm:^7.23.3" - "@babel/helper-compilation-targets": "npm:^7.22.15" + "@babel/code-frame": "npm:^7.23.5" + "@babel/generator": "npm:^7.23.6" + "@babel/helper-compilation-targets": "npm:^7.23.6" "@babel/helper-module-transforms": "npm:^7.23.3" - "@babel/helpers": "npm:^7.23.2" - "@babel/parser": "npm:^7.23.3" - "@babel/template": "npm:^7.22.15" - "@babel/traverse": "npm:^7.23.3" - "@babel/types": "npm:^7.23.3" + "@babel/helpers": "npm:^7.23.9" + "@babel/parser": "npm:^7.23.9" + "@babel/template": "npm:^7.23.9" + "@babel/traverse": "npm:^7.23.9" + "@babel/types": "npm:^7.23.9" convert-source-map: "npm:^2.0.0" debug: "npm:^4.1.0" gensync: "npm:^1.0.0-beta.2" json5: "npm:^2.2.3" semver: "npm:^6.3.1" - checksum: 08d43b749e24052d12713a7fb1f0c0d1275d4fb056d00846faeb8da79ecf6d0ba91a11b6afec407b8b0f9388d00e2c2f485f282bef0ade4d6d0a17de191a4287 + checksum: 03883300bf1252ab4c9ba5b52f161232dd52873dbe5cde9289bb2bb26e935c42682493acbac9194a59a3b6cbd17f4c4c84030db8d6d482588afe64531532ff9b languageName: node linkType: hard -"@babel/generator@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/generator@npm:7.23.3" +"@babel/generator@npm:^7.23.6": + version: 7.23.6 + resolution: "@babel/generator@npm:7.23.6" dependencies: - "@babel/types": "npm:^7.23.3" + "@babel/types": "npm:^7.23.6" "@jridgewell/gen-mapping": "npm:^0.3.2" "@jridgewell/trace-mapping": "npm:^0.3.17" jsesc: "npm:^2.5.1" - checksum: d5fff1417eecfada040e01a7c77a4968e81c436aeb35815ce85b4e80cd01e731423613d61033044a6cb5563bb8449ee260e3379b63eb50b38ec0a9ea9c00abfd + checksum: 53540e905cd10db05d9aee0a5304e36927f455ce66f95d1253bb8a179f286b88fa7062ea0db354c566fe27f8bb96567566084ffd259f8feaae1de5eccc8afbda languageName: node linkType: hard @@ -150,21 +160,6 @@ __metadata: languageName: node linkType: hard -"@babel/helper-define-polyfill-provider@npm:^0.4.4": - version: 0.4.4 - resolution: "@babel/helper-define-polyfill-provider@npm:0.4.4" - dependencies: - "@babel/helper-compilation-targets": "npm:^7.22.6" - "@babel/helper-plugin-utils": "npm:^7.22.5" - debug: "npm:^4.1.1" - lodash.debounce: "npm:^4.0.8" - resolve: "npm:^1.14.2" - peerDependencies: - "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 60126f5f719b9e2114df62e3bf3ac0797b71d8dc733db60192eb169b004fde72ee309fa5848c5fdfe98b8e8863c46f55e16da5aa8a4e420b4d2670cd0c5dd708 - languageName: node - linkType: hard - "@babel/helper-define-polyfill-provider@npm:^0.5.0": version: 0.5.0 resolution: "@babel/helper-define-polyfill-provider@npm:0.5.0" @@ -354,14 +349,14 @@ __metadata: languageName: node linkType: hard -"@babel/helpers@npm:^7.23.2": - version: 7.23.2 - resolution: "@babel/helpers@npm:7.23.2" +"@babel/helpers@npm:^7.23.9": + version: 7.23.9 + resolution: "@babel/helpers@npm:7.23.9" dependencies: - "@babel/template": "npm:^7.22.15" - "@babel/traverse": "npm:^7.23.2" - "@babel/types": "npm:^7.23.0" - checksum: 3a6a939c5277a27486e7c626812f0643b35d1c053ac2eb66911f5ae6c0a4e4bcdd40750eba36b766b0ee8a753484287f50ae56232a5f8f2947116723e44b9e35 + "@babel/template": "npm:^7.23.9" + "@babel/traverse": "npm:^7.23.9" + "@babel/types": "npm:^7.23.9" + checksum: f69fd0aca96a6fb8bd6dd044cd8a5c0f1851072d4ce23355345b9493c4032e76d1217f86b70df795e127553cf7f3fcd1587ede9d1b03b95e8b62681ca2165b87 languageName: node linkType: hard @@ -376,7 +371,18 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.22.15, @babel/parser@npm:^7.23.3": +"@babel/highlight@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/highlight@npm:7.23.4" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.22.20" + chalk: "npm:^2.4.2" + js-tokens: "npm:^4.0.0" + checksum: fbff9fcb2f5539289c3c097d130e852afd10d89a3a08ac0b5ebebbc055cc84a4bcc3dcfed463d488cde12dd0902ef1858279e31d7349b2e8cee43913744bda33 + languageName: node + linkType: hard + +"@babel/parser@npm:^7.22.15": version: 7.23.3 resolution: "@babel/parser@npm:7.23.3" bin: @@ -385,6 +391,15 @@ __metadata: languageName: node linkType: hard +"@babel/parser@npm:^7.23.9": + version: 7.23.9 + resolution: "@babel/parser@npm:7.23.9" + bin: + parser: ./bin/babel-parser.js + checksum: 7df97386431366d4810538db4b9ec538f4377096f720c0591c7587a16f6810e62747e9fbbfa1ff99257fd4330035e4fb1b5b77c7bd3b97ce0d2e3780a6618975 + languageName: node + linkType: hard + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.23.3": version: 7.23.3 resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.23.3" @@ -662,9 +677,9 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-async-generator-functions@npm:^7.23.7": - version: 7.23.7 - resolution: "@babel/plugin-transform-async-generator-functions@npm:7.23.7" +"@babel/plugin-transform-async-generator-functions@npm:^7.23.9": + version: 7.23.9 + resolution: "@babel/plugin-transform-async-generator-functions@npm:7.23.9" dependencies: "@babel/helper-environment-visitor": "npm:^7.22.20" "@babel/helper-plugin-utils": "npm:^7.22.5" @@ -672,7 +687,7 @@ __metadata: "@babel/plugin-syntax-async-generators": "npm:^7.8.4" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 63d314edc9fbeaf2700745ca0e19bf9840e87f2d7d1f6c5638e06d2aec3e7418d0d7493ed09087e2fe369cc15e9d96c113fb2cd367cb5e3ff922e3712c27b7d4 + checksum: 4ff75f9ce500e1de8c0236fa5122e6475a477d19cb9a4c2ae8651e78e717ebb2e2cecfeca69d420def779deaec78b945843b9ffd15f02ecd7de5072030b4469b languageName: node linkType: hard @@ -932,9 +947,9 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-modules-systemjs@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/plugin-transform-modules-systemjs@npm:7.23.3" +"@babel/plugin-transform-modules-systemjs@npm:^7.23.9": + version: 7.23.9 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.23.9" dependencies: "@babel/helper-hoist-variables": "npm:^7.22.5" "@babel/helper-module-transforms": "npm:^7.23.3" @@ -942,7 +957,7 @@ __metadata: "@babel/helper-validator-identifier": "npm:^7.22.20" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 0d55280a276510222c8896bf4e581acb84824aa5b14c824f7102242ad6bc5104aaffe5ab22fe4d27518f4ae2811bd59c36d0c0bfa695157f9cfce33f0517a069 + checksum: 1926631fe9d87c0c53427a3420ad49da62d53320d0016b6afab64e5417a672aa5bdff3ea1d24746ffa1e43319c28a80f5d8cef0ad214760d399c293b5850500f languageName: node linkType: hard @@ -1307,9 +1322,9 @@ __metadata: languageName: node linkType: hard -"@babel/preset-env@npm:^7.23.8": - version: 7.23.8 - resolution: "@babel/preset-env@npm:7.23.8" +"@babel/preset-env@npm:^7.23.9": + version: 7.23.9 + resolution: "@babel/preset-env@npm:7.23.9" dependencies: "@babel/compat-data": "npm:^7.23.5" "@babel/helper-compilation-targets": "npm:^7.23.6" @@ -1338,7 +1353,7 @@ __metadata: "@babel/plugin-syntax-top-level-await": "npm:^7.14.5" "@babel/plugin-syntax-unicode-sets-regex": "npm:^7.18.6" "@babel/plugin-transform-arrow-functions": "npm:^7.23.3" - "@babel/plugin-transform-async-generator-functions": "npm:^7.23.7" + "@babel/plugin-transform-async-generator-functions": "npm:^7.23.9" "@babel/plugin-transform-async-to-generator": "npm:^7.23.3" "@babel/plugin-transform-block-scoped-functions": "npm:^7.23.3" "@babel/plugin-transform-block-scoping": "npm:^7.23.4" @@ -1360,7 +1375,7 @@ __metadata: "@babel/plugin-transform-member-expression-literals": "npm:^7.23.3" "@babel/plugin-transform-modules-amd": "npm:^7.23.3" "@babel/plugin-transform-modules-commonjs": "npm:^7.23.3" - "@babel/plugin-transform-modules-systemjs": "npm:^7.23.3" + "@babel/plugin-transform-modules-systemjs": "npm:^7.23.9" "@babel/plugin-transform-modules-umd": "npm:^7.23.3" "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.22.5" "@babel/plugin-transform-new-target": "npm:^7.23.3" @@ -1386,14 +1401,14 @@ __metadata: "@babel/plugin-transform-unicode-regex": "npm:^7.23.3" "@babel/plugin-transform-unicode-sets-regex": "npm:^7.23.3" "@babel/preset-modules": "npm:0.1.6-no-external-plugins" - babel-plugin-polyfill-corejs2: "npm:^0.4.7" - babel-plugin-polyfill-corejs3: "npm:^0.8.7" - babel-plugin-polyfill-regenerator: "npm:^0.5.4" + babel-plugin-polyfill-corejs2: "npm:^0.4.8" + babel-plugin-polyfill-corejs3: "npm:^0.9.0" + babel-plugin-polyfill-regenerator: "npm:^0.5.5" core-js-compat: "npm:^3.31.0" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: e602ad954645f1a509644e3d2c72b3c63bdc2273c377e7a83b78f076eca215887ea3624ffc36aaad03deb9ac8acd89e247fd4562b96e0f2b679485e20d8ff25f + checksum: 2837a42089180e51bfd6864b6d197e01fc0abec1920422e71c0513c2fc8fb5f3bfe694ed778cc4e45856c546964945bc53bf8105e4b26f3580ce3685fa50cc0f languageName: node linkType: hard @@ -1448,12 +1463,12 @@ __metadata: languageName: node linkType: hard -"@babel/runtime@npm:^7.23.8": - version: 7.23.8 - resolution: "@babel/runtime@npm:7.23.8" +"@babel/runtime@npm:^7.23.9": + version: 7.23.9 + resolution: "@babel/runtime@npm:7.23.9" dependencies: regenerator-runtime: "npm:^0.14.0" - checksum: ba5e8fbb32ef04f6cab5e89c54a0497c2fde7b730595cc1af93496270314f13ff2c6a9360fdb2f0bdd4d6b376752ce3cf85642bd6b876969a6a62954934c2df8 + checksum: e71205fdd7082b2656512cc98e647d9ea7e222e4fe5c36e9e5adc026446fcc3ba7b3cdff8b0b694a0b78bb85db83e7b1e3d4c56ef90726682b74f13249cf952d languageName: node linkType: hard @@ -1477,25 +1492,36 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.23.2, @babel/traverse@npm:^7.23.3": - version: 7.23.3 - resolution: "@babel/traverse@npm:7.23.3" +"@babel/template@npm:^7.23.9": + version: 7.23.9 + resolution: "@babel/template@npm:7.23.9" dependencies: - "@babel/code-frame": "npm:^7.22.13" - "@babel/generator": "npm:^7.23.3" + "@babel/code-frame": "npm:^7.23.5" + "@babel/parser": "npm:^7.23.9" + "@babel/types": "npm:^7.23.9" + checksum: 0e8b60119433787742bc08ae762bbd8d6755611c4cabbcb7627b292ec901a55af65d93d1c88572326069efb64136ef151ec91ffb74b2df7689bbab237030833a + languageName: node + linkType: hard + +"@babel/traverse@npm:^7.23.9": + version: 7.23.9 + resolution: "@babel/traverse@npm:7.23.9" + dependencies: + "@babel/code-frame": "npm:^7.23.5" + "@babel/generator": "npm:^7.23.6" "@babel/helper-environment-visitor": "npm:^7.22.20" "@babel/helper-function-name": "npm:^7.23.0" "@babel/helper-hoist-variables": "npm:^7.22.5" "@babel/helper-split-export-declaration": "npm:^7.22.6" - "@babel/parser": "npm:^7.23.3" - "@babel/types": "npm:^7.23.3" - debug: "npm:^4.1.0" + "@babel/parser": "npm:^7.23.9" + "@babel/types": "npm:^7.23.9" + debug: "npm:^4.3.1" globals: "npm:^11.1.0" - checksum: 3c2784f4765185126d64fd5eebce0413b7aee6d54f779998594a343a7f973a9693a441ba27533df84e7ab7ce22f1239c6837f35e903132a1b25f7fc7a67bc30f + checksum: d1615d1d02f04d47111a7ea4446a1a6275668ca39082f31d51f08380de9502e19862be434eaa34b022ce9a17dbb8f9e2b73a746c654d9575f3a680a7ffdf5630 languageName: node linkType: hard -"@babel/types@npm:^7.22.15, @babel/types@npm:^7.22.19, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.23.3, @babel/types@npm:^7.4.4": +"@babel/types@npm:^7.22.15, @babel/types@npm:^7.22.19, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.4.4": version: 7.23.3 resolution: "@babel/types@npm:7.23.3" dependencies: @@ -1506,6 +1532,17 @@ __metadata: languageName: node linkType: hard +"@babel/types@npm:^7.23.6, @babel/types@npm:^7.23.9": + version: 7.23.9 + resolution: "@babel/types@npm:7.23.9" + dependencies: + "@babel/helper-string-parser": "npm:^7.23.4" + "@babel/helper-validator-identifier": "npm:^7.22.20" + to-fast-properties: "npm:^2.0.0" + checksum: edc7bb180ce7e4d2aea10c6972fb10474341ac39ba8fdc4a27ffb328368dfdfbf40fca18e441bbe7c483774500d5c05e222cec276c242e952853dcaf4eb884f7 + languageName: node + linkType: hard + "@babel/types@npm:^7.8.3": version: 7.23.6 resolution: "@babel/types@npm:7.23.6" @@ -1547,38 +1584,38 @@ __metadata: languageName: node linkType: hard -"@floating-ui/core@npm:^1.5.3": - version: 1.5.3 - resolution: "@floating-ui/core@npm:1.5.3" +"@floating-ui/core@npm:^1.6.0": + version: 1.6.0 + resolution: "@floating-ui/core@npm:1.6.0" dependencies: - "@floating-ui/utils": "npm:^0.2.0" - checksum: 5fc8fa0d6f99ac91ae42bdfc06c4dea60ae0a979d8f7c74ebc8e9e9770d3c88a0afa6efce459fcdc0c3922176763477d13bc27b93d3838c8b81851e753193976 + "@floating-ui/utils": "npm:^0.2.1" + checksum: 667a68036f7dd5ed19442c7792a6002ca02d1799221c4396691bbe0b6008b48f6ccad581225e81fa266bb91232f6c66838a5f825f554217e1ec886178b93381b languageName: node linkType: hard -"@floating-ui/dom@npm:^1.5.4": - version: 1.5.4 - resolution: "@floating-ui/dom@npm:1.5.4" +"@floating-ui/dom@npm:^1.6.1": + version: 1.6.1 + resolution: "@floating-ui/dom@npm:1.6.1" dependencies: - "@floating-ui/core": "npm:^1.5.3" - "@floating-ui/utils": "npm:^0.2.0" - checksum: 8a47ac5b8cf90214d73011d436d66821ccb7f4b9a29170e23117df2cc6008845834db7f59e73d998add19807f62f09e5e6a84516eed81cebbf25770dea595a84 + "@floating-ui/core": "npm:^1.6.0" + "@floating-ui/utils": "npm:^0.2.1" + checksum: f810ab62280e86f5f9199cf7f6123b1dd2a7b44b3b273caa7d3a23cf70ad12c3fb689053e6d3db7acf4f724dbd6d43693e2fc538e5d30d805dcabb9647f8f494 languageName: node linkType: hard -"@floating-ui/react-dom@npm:^2.0.5": - version: 2.0.6 - resolution: "@floating-ui/react-dom@npm:2.0.6" +"@floating-ui/react-dom@npm:^2.0.8": + version: 2.0.8 + resolution: "@floating-ui/react-dom@npm:2.0.8" dependencies: - "@floating-ui/dom": "npm:^1.5.4" + "@floating-ui/dom": "npm:^1.6.1" peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" - checksum: 33bdeb70487837a4b21b537c4c10874d7c86d661f7748eedee877a45bd65f61a59dc3cf10a30a193c913fb758feaaf33ddb7f2df9d898f96506dfe22eaa8e4fb + checksum: 4d87451e2dcc54b4753a0d81181036e47821cfd0d4c23f7e9c31590c7c91fb15fb0a5a458969a5ddabd61601eca5875ebd4e40bff37cee31f373b8f1ccc64518 languageName: node linkType: hard -"@floating-ui/utils@npm:^0.2.0": +"@floating-ui/utils@npm:^0.2.1": version: 0.2.1 resolution: "@floating-ui/utils@npm:0.2.1" checksum: ee77756712cf5b000c6bacf11992ffb364f3ea2d0d51cc45197a7e646a17aeb86ea4b192c0b42f3fbb29487aee918a565e84f710b8c3645827767f406a6b4cc9 @@ -1677,14 +1714,14 @@ __metadata: languageName: node linkType: hard -"@mui/base@npm:^5.0.0-beta.32": - version: 5.0.0-beta.32 - resolution: "@mui/base@npm:5.0.0-beta.32" +"@mui/base@npm:^5.0.0-beta.34": + version: 5.0.0-beta.34 + resolution: "@mui/base@npm:5.0.0-beta.34" dependencies: - "@babel/runtime": "npm:^7.23.8" - "@floating-ui/react-dom": "npm:^2.0.5" + "@babel/runtime": "npm:^7.23.9" + "@floating-ui/react-dom": "npm:^2.0.8" "@mui/types": "npm:^7.2.13" - "@mui/utils": "npm:^5.15.5" + "@mui/utils": "npm:^5.15.7" "@popperjs/core": "npm:^2.11.8" clsx: "npm:^2.1.0" prop-types: "npm:^15.8.1" @@ -1695,7 +1732,7 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: ebe64cab7e8251da26c8235b7dccb00c8b61668bd8cbf805474bddc5b84c039a284efddf67b6c54d860e3c280ac4ebc3647fe4371436b99a542b446283ceb7cf + checksum: 11140f6c49373714b3f3019931aa46542c986d33916e17636f6eeaae85ececb12e2cba58503a367ce0516a7b4e99a009988ca7ef85ae73c8aa05986cb9f56d11 languageName: node linkType: hard @@ -1711,11 +1748,11 @@ __metadata: languageName: node linkType: hard -"@mui/utils@npm:^5.15.5": - version: 5.15.5 - resolution: "@mui/utils@npm:5.15.5" +"@mui/utils@npm:^5.15.7": + version: 5.15.7 + resolution: "@mui/utils@npm:5.15.7" dependencies: - "@babel/runtime": "npm:^7.23.8" + "@babel/runtime": "npm:^7.23.9" "@types/prop-types": "npm:^15.7.11" prop-types: "npm:^15.8.1" react-is: "npm:^18.2.0" @@ -1725,7 +1762,7 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 9204433e0dfb0a73b86e7ac66a19c4aaf9bb5422cae99a97436ff6451afaf2a9a976b8241e4fb9d17cd74b99ecc01e0dd259a822152854322893b06301c45598 + checksum: dfc121d7635d50782375360d6464bef79426ae0c5d0ba6462b46ef860255a23965e2494970ce46a56bdc2c6edb491f1fc5f683367c75db0d565dd12859e61750 languageName: node linkType: hard @@ -1823,7 +1860,7 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:*, @types/estree@npm:^1.0.0": +"@types/estree@npm:*, @types/estree@npm:^1.0.0, @types/estree@npm:^1.0.5": version: 1.0.5 resolution: "@types/estree@npm:1.0.5" checksum: b3b0e334288ddb407c7b3357ca67dbee75ee22db242ca7c56fe27db4e1a31989cb8af48a84dd401deb787fe10cc6b2ab1ee82dc4783be87ededbe3d53c79c70d @@ -2405,7 +2442,7 @@ __metadata: languageName: node linkType: hard -"babel-plugin-polyfill-corejs2@npm:^0.4.7": +"babel-plugin-polyfill-corejs2@npm:^0.4.8": version: 0.4.8 resolution: "babel-plugin-polyfill-corejs2@npm:0.4.8" dependencies: @@ -2418,19 +2455,19 @@ __metadata: languageName: node linkType: hard -"babel-plugin-polyfill-corejs3@npm:^0.8.7": - version: 0.8.7 - resolution: "babel-plugin-polyfill-corejs3@npm:0.8.7" +"babel-plugin-polyfill-corejs3@npm:^0.9.0": + version: 0.9.0 + resolution: "babel-plugin-polyfill-corejs3@npm:0.9.0" dependencies: - "@babel/helper-define-polyfill-provider": "npm:^0.4.4" - core-js-compat: "npm:^3.33.1" + "@babel/helper-define-polyfill-provider": "npm:^0.5.0" + core-js-compat: "npm:^3.34.0" peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 094e40f4ab9f131408202063964d63740609fd4fdb70a5b6332b371761921b540ffbcee7a434c0199b8317dfb2ba4675eef674867215fd3b85e24054607c1501 + checksum: b857010736c5e42e20b683973dae862448a42082fcc95b3ef188305a6864a4f94b5cbd568e49e4cd7172c6b2eace7bc403c3ba0984fbe5479474ade01126d559 languageName: node linkType: hard -"babel-plugin-polyfill-regenerator@npm:^0.5.4": +"babel-plugin-polyfill-regenerator@npm:^0.5.5": version: 0.5.5 resolution: "babel-plugin-polyfill-regenerator@npm:0.5.5" dependencies: @@ -2543,6 +2580,20 @@ __metadata: languageName: node linkType: hard +"browserslist@npm:^4.21.10": + version: 4.22.3 + resolution: "browserslist@npm:4.22.3" + dependencies: + caniuse-lite: "npm:^1.0.30001580" + electron-to-chromium: "npm:^1.4.648" + node-releases: "npm:^2.0.14" + update-browserslist-db: "npm:^1.0.13" + bin: + browserslist: cli.js + checksum: 5a1f673ce0d6e61a68369835a6b66e199669bde02c3bed5ec51e77598d8daafd91719dba55b15af2021b9ad0bbaa94951fd702eb71087449eb28be8002815ece + languageName: node + linkType: hard + "browserslist@npm:^4.22.2": version: 4.22.2 resolution: "browserslist@npm:4.22.2" @@ -2640,6 +2691,13 @@ __metadata: languageName: node linkType: hard +"caniuse-lite@npm:^1.0.30001580": + version: 1.0.30001584 + resolution: "caniuse-lite@npm:1.0.30001584" + checksum: 9f353d7b14ea218bf90f9aa908947be1119f3744bb4080aeef59dd2fbca2ca663a6eecad29deba41f7d02ef9f516240353809f31208396a1ec9824b515467d87 + languageName: node + linkType: hard + "chalk@npm:^2.4.2": version: 2.4.2 resolution: "chalk@npm:2.4.2" @@ -2860,7 +2918,7 @@ __metadata: languageName: node linkType: hard -"core-js-compat@npm:^3.31.0, core-js-compat@npm:^3.33.1": +"core-js-compat@npm:^3.31.0": version: 3.33.2 resolution: "core-js-compat@npm:3.33.2" dependencies: @@ -2869,6 +2927,15 @@ __metadata: languageName: node linkType: hard +"core-js-compat@npm:^3.34.0": + version: 3.35.1 + resolution: "core-js-compat@npm:3.35.1" + dependencies: + browserslist: "npm:^4.22.2" + checksum: c3b872e1f9703aa9554cce816207d85730da4703f1776c540b4da11bbbef6d9a1e6041625b5c1f58d2ada3d05f4a2b92897b7de5315c5ecd5d33d50dec86cca7 + languageName: node + linkType: hard + "core-util-is@npm:~1.0.0": version: 1.0.3 resolution: "core-util-is@npm:1.0.3" @@ -2894,9 +2961,9 @@ __metadata: languageName: node linkType: hard -"css-loader@npm:^6.9.1": - version: 6.9.1 - resolution: "css-loader@npm:6.9.1" +"css-loader@npm:^6.10.0": + version: 6.10.0 + resolution: "css-loader@npm:6.10.0" dependencies: icss-utils: "npm:^5.1.0" postcss: "npm:^8.4.33" @@ -2907,8 +2974,14 @@ __metadata: postcss-value-parser: "npm:^4.2.0" semver: "npm:^7.5.4" peerDependencies: + "@rspack/core": 0.x || 1.x webpack: ^5.0.0 - checksum: 3dfff7d4372a1d8f2b1606a8376f2f5e484e59d7ffdc373ea3b04aa2b54ecd052aaf72c090a97148b0eb8a164cdc1f9dcb7a68686b2d5d190d69367c30f76132 + peerDependenciesMeta: + "@rspack/core": + optional: true + webpack: + optional: true + checksum: acadd2a93f505bf8a8d1c6912a476ef953585f195412b6aa1f2581053bcce8563b833f2a6666c1e1521f4b35fb315176563495a38933becc89e3143cfa7dce45 languageName: node linkType: hard @@ -2968,7 +3041,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.4": +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.4": version: 4.3.4 resolution: "debug@npm:4.3.4" dependencies: @@ -3163,6 +3236,13 @@ __metadata: languageName: node linkType: hard +"electron-to-chromium@npm:^1.4.648": + version: 1.4.658 + resolution: "electron-to-chromium@npm:1.4.658" + checksum: 1c19024a3ff96610ea4788b2ddd3d2371de4553663dced76186ba689c2da22a9876ae485017f1c31e24ce5e14a7c89295cbed918b11b983bf6479dbe58651fa5 + languageName: node + linkType: hard + "emoji-regex@npm:^8.0.0": version: 8.0.0 resolution: "emoji-regex@npm:8.0.0" @@ -4991,22 +5071,22 @@ __metadata: version: 0.0.0-use.local resolution: "preact-island-examples@workspace:." dependencies: - "@babel/core": "npm:^7.23.0" - "@babel/preset-env": "npm:^7.23.8" + "@babel/core": "npm:^7.23.9" + "@babel/preset-env": "npm:^7.23.9" "@babel/preset-react": "npm:^7.23.3" "@babel/preset-typescript": "npm:^7.23.3" "@heroicons/react": "npm:^2.1.1" - "@mui/base": "npm:^5.0.0-beta.32" + "@mui/base": "npm:^5.0.0-beta.34" "@types/webpack": "npm:^5.28.5" babel-loader: "npm:^9.1.3" - css-loader: "npm:^6.9.1" + css-loader: "npm:^6.10.0" dotenv-webpack: "npm:^8.0.1" html-webpack-plugin: "npm:^5.6.0" preact: "npm:^10.19.3" preact-island: "npm:^1.1.2" styled-components: "npm:^6.1.8" terser-webpack-plugin: "npm:^5.3.10" - webpack: "npm:^5.89.0" + webpack: "npm:^5.90.1" webpack-cli: "npm:^5.1.4" webpack-dev-server: "npm:^4.15.1" languageName: unknown @@ -6202,7 +6282,7 @@ __metadata: languageName: node linkType: hard -"webpack@npm:^5, webpack@npm:^5.89.0": +"webpack@npm:^5": version: 5.89.0 resolution: "webpack@npm:5.89.0" dependencies: @@ -6239,6 +6319,43 @@ __metadata: languageName: node linkType: hard +"webpack@npm:^5.90.1": + version: 5.90.1 + resolution: "webpack@npm:5.90.1" + dependencies: + "@types/eslint-scope": "npm:^3.7.3" + "@types/estree": "npm:^1.0.5" + "@webassemblyjs/ast": "npm:^1.11.5" + "@webassemblyjs/wasm-edit": "npm:^1.11.5" + "@webassemblyjs/wasm-parser": "npm:^1.11.5" + acorn: "npm:^8.7.1" + acorn-import-assertions: "npm:^1.9.0" + browserslist: "npm:^4.21.10" + chrome-trace-event: "npm:^1.0.2" + enhanced-resolve: "npm:^5.15.0" + es-module-lexer: "npm:^1.2.1" + eslint-scope: "npm:5.1.1" + events: "npm:^3.2.0" + glob-to-regexp: "npm:^0.4.1" + graceful-fs: "npm:^4.2.9" + json-parse-even-better-errors: "npm:^2.3.1" + loader-runner: "npm:^4.2.0" + mime-types: "npm:^2.1.27" + neo-async: "npm:^2.6.2" + schema-utils: "npm:^3.2.0" + tapable: "npm:^2.1.1" + terser-webpack-plugin: "npm:^5.3.10" + watchpack: "npm:^2.4.0" + webpack-sources: "npm:^3.2.3" + peerDependenciesMeta: + webpack-cli: + optional: true + bin: + webpack: bin/webpack.js + checksum: c36b86e5aa42f07c865cc5221d88b84bc62267ca2e60edaf69e8fccebe284c8199d352701697546a0fa6599d648a05ea427607e854c61ccc269b9c230fb25efa + languageName: node + linkType: hard + "websocket-driver@npm:>=0.5.1, websocket-driver@npm:^0.7.4": version: 0.7.4 resolution: "websocket-driver@npm:0.7.4"