Commit 2e503e13 authored by Sergey Shadrin's avatar Sergey Shadrin

[#124455] Updated bootstrap theme

parent 74e6f9a1
......@@ -20,7 +20,7 @@
"drupal/admin_toolbar": "^3.3",
"drupal/bartik": "^1.0",
"drupal/blazy": "^2.14",
"drupal/bootstrap": "^3.28",
"drupal/bootstrap": "^3.30",
"drupal/ckeditor_font": "^1.4",
"drupal/classy": "^1.0",
"drupal/color": "^1.0",
......
......@@ -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": "13fee55859c8f93ced23cd80514a2a43",
"content-hash": "cc5c8ab515762c32966ece0775ff5f33",
"packages": [
{
"name": "asm89/stack-cors",
......@@ -1653,17 +1653,17 @@
},
{
"name": "drupal/bootstrap",
"version": "3.28.0",
"version": "3.30.0",
"source": {
"type": "git",
"url": "https://git.drupalcode.org/project/bootstrap.git",
"reference": "8.x-3.28"
"reference": "8.x-3.30"
},
"dist": {
"type": "zip",
"url": "https://ftp.drupal.org/files/projects/bootstrap-8.x-3.28.zip",
"reference": "8.x-3.28",
"shasum": "a38475b0a6896da85185d98af6de33dd456f33c2"
"url": "https://ftp.drupal.org/files/projects/bootstrap-8.x-3.30.zip",
"reference": "8.x-3.30",
"shasum": "37a44a677163d2e82f1a8b55bd5feddb88918ad2"
},
"require": {
"drupal/core": "^9.5 || ^10",
......@@ -1672,14 +1672,19 @@
"type": "drupal-theme",
"extra": {
"drupal": {
"version": "8.x-3.28",
"datestamp": "1680536061",
"version": "8.x-3.30",
"datestamp": "1707842525",
"security-coverage": {
"status": "covered",
"message": "Covered by Drupal's security advisory policy"
}
}
},
"autoload": {
"psr-4": {
"Drupal\\bootstrap\\": "src"
}
},
"notification-url": "https://packages.drupal.org/8/downloads",
"license": [
"GPL-2.0-or-later"
......@@ -9866,6 +9871,7 @@
"minimum-stability": "dev",
"stability-flags": {
"drupal/config_split": 5,
"drupal/entity_embed": 20,
"drupal/linkit": 5,
"drupal/media_entity_browser": 15,
"drupal/rabbit_hole": 10,
......@@ -9877,5 +9883,5 @@
"prefer-lowest": false,
"platform": [],
"platform-dev": [],
"plugin-api-version": "2.3.0"
"plugin-api-version": "2.6.0"
}
......@@ -78,7 +78,7 @@ libraries-override:
theme:
css/node.preview.css: false
# Information added by Drupal.org packaging script on 2023-04-03
version: '8.x-3.28'
# Information added by Drupal.org packaging script on 2024-02-13
version: '8.x-3.30'
project: 'bootstrap'
datestamp: 1680536064
datestamp: 1707842528
......@@ -35,5 +35,10 @@
"require": {
"drupal/core": "^9.5 || ^10",
"php": ">=8.1.0"
},
"autoload": {
"psr-4": {
"Drupal\\bootstrap\\": "src"
}
}
}
......@@ -100,7 +100,7 @@
}
// If element is an input DOM element type (not :input), append after.
if ($element.is('input')) {
if ($element.is('input') || $element.is('select')) {
$element.after(this.progress.element);
}
// Otherwise append the throbber inside the element.
......@@ -120,15 +120,6 @@
Drupal.Ajax.prototype.success = function (response, status) {
if (this.progress.element) {
// Stop a glyphicon throbber.
if (this.progress.glyphicon) {
this.glyphiconStop(this.progress.element);
}
// Remove the progress element.
else {
this.progress.element.remove();
}
// Remove any message set.
this.progress.element.parent().find('.message').remove();
}
......
......@@ -185,8 +185,6 @@
'data-toggle': 'tooltip'
}));
self.$toggleWeightButton = $('[data-drupal-selector="tabledrag-toggle-weight"]');
self.$toggleWeightButton
.on('click', $.proxy(function (e) {
e.preventDefault();
......
......@@ -39,6 +39,14 @@
var $modal = $(e.target);
var modal = $modal.data('bs.modal');
// Check if there are any CKEditor 5 instances
var $ckeditor = $modal.find('[data-ckeditor5-id]');
if ($ckeditor.length) {
// Move the overlay wrapper inside the modal so it can be interacted with
$('.ck-body-wrapper').appendTo($modal);
}
// Focus the first input element found.
if (modal && modal.options.focusInput) {
var $focusable = Bootstrap.modalFindFocusableElement(modal);
......
......@@ -59,6 +59,9 @@ class LibraryInfo extends PluginBase implements AlterInterface {
// Remove core's dialog.jquery-ui.js.
unset($libraries['drupal.dialog']['js']['misc/dialog/dialog.jquery-ui.js']);
// Remove CKEditor dialog fix as it assumes jquery ui dialogs are used
unset($libraries['drupal.dialog']['js']['modules/ckeditor5/js/ckeditor5.dialog.fix.js']);
// Add the Modal jQuery UI Bridge.
$libraries['drupal.dialog']['dependencies'][] = 'bootstrap/dialog';
$libraries['drupal.dialog']['dependencies'][] = 'bootstrap/modal.jquery.ui.bridge';
......
......@@ -28,9 +28,13 @@ class FieldMultipleValueForm extends PreprocessBase implements PreprocessInterfa
foreach ($variables['table']['#header'] as &$header_row) {
if (is_array($header_row) && isset($header_row['data'])) {
$header_row['data'] = is_array($header_row['data']) ? ($prefixes + $header_row['data']) : ($prefixes + ['#markup' => $header_row['data']]);
} else {
}
elseif (is_string($header_row)) {
$header_row = ['data' => $prefixes + ['#markup' => $header_row]];
}
else {
$header_row = ['data' => $prefixes];
}
}
}
}
......
......@@ -18,6 +18,11 @@ class Input extends PreprocessBase implements PreprocessInterface {
* {@inheritdoc}
*/
public function preprocessElement(Element $element, Variables $variables) {
// Remove name attribute if empty, for W3C compliance.
// @see template_preprocess_input().
if (isset($element['#attributes']['name']) && empty((string) $element['#attributes']['name'])) {
unset($element['#attributes']['name']);
}
// Autocomplete.
if ($route = $element->getProperty('autocomplete_route_name')) {
$variables['autocomplete'] = TRUE;
......
......@@ -33,7 +33,7 @@ class Menu extends PreprocessBase implements PreprocessInterface {
foreach ($items as &$item) {
$wrapperAttributes = new Attributes();
$linkAttributes = new Attributes();
if ($item['attributes'] instanceof Attribute || $item['attributes'] instanceof Attributes) {
if (isset($item['attributes']) && ($item['attributes'] instanceof Attribute || $item['attributes'] instanceof Attributes)) {
$wrapperAttributes->setAttributes($item['attributes']->getIterator()->getArrayCopy());
}
if ($item['url'] instanceof Url) {
......
......@@ -68,11 +68,16 @@ class DrupalBootstrapStyles extends JsDelivr {
}
$files = array_filter(isset($data['files']) ? $data['files'] : [], function ($file) use ($library, $version) {
if (strpos($file['name'], '/dist/' . $version . '/' . Bootstrap::PROJECT_BRANCH . '/') !== 0) {
if (isset($file['name'])) {
if (str_contains($file['name'], '/dist/' . $version . '/' . Bootstrap::PROJECT_BRANCH . '/')) {
return FALSE;
}
$theme = !!preg_match("`drupal-bootstrap-([\w]+)(\.min)?\.css$`", $file['name']);
return ($library === 'bootstrap' && !$theme) || ($library === 'bootswatch' && $theme);
}
else {
return FALSE;
}
});
foreach ($files as $file) {
......
......@@ -649,8 +649,7 @@ class ProviderBase extends PluginBase implements ProviderInterface {
$fileSystem->prepareDirectory($provider_path, $options);
}
else {
// @noRector
file_prepare_directory($provider_path, $options);
\Drupal::service('file_system')->prepareDirectory($provider_path, $options);
}
// Use manually imported API data, if it exists.
......
......@@ -61,6 +61,7 @@ return array(
'Egulias\\EmailValidator\\' => array($vendorDir . '/egulias/email-validator/src'),
'EasyRdf\\' => array($vendorDir . '/easyrdf/easyrdf/lib'),
'Drush\\' => array($vendorDir . '/drush/drush/src'),
'Drupal\\bootstrap\\' => array($baseDir . '/docroot/themes/contrib/bootstrap/src'),
'Drupal\\Core\\' => array($baseDir . '/docroot/core/lib/Drupal/Core'),
'Drupal\\Composer\\Plugin\\Scaffold\\' => array($vendorDir . '/drupal/core-composer-scaffold'),
'Drupal\\Composer\\Plugin\\ProjectMessage\\' => array($vendorDir . '/drupal/core-project-message'),
......
......@@ -114,6 +114,7 @@ class ComposerStaticInitf0f582019f07c0277b8f10a3454e8339
'D' =>
array (
'Drush\\' => 6,
'Drupal\\bootstrap\\' => 17,
'Drupal\\Core\\' => 12,
'Drupal\\Composer\\Plugin\\Scaffold\\' => 32,
'Drupal\\Composer\\Plugin\\ProjectMessage\\' => 38,
......@@ -365,6 +366,10 @@ class ComposerStaticInitf0f582019f07c0277b8f10a3454e8339
array (
0 => __DIR__ . '/..' . '/drush/drush/src',
),
'Drupal\\bootstrap\\' =>
array (
0 => __DIR__ . '/../..' . '/docroot/themes/contrib/bootstrap/src',
),
'Drupal\\Core\\' =>
array (
0 => __DIR__ . '/../..' . '/docroot/core/lib/Drupal/Core',
......
......@@ -1719,18 +1719,18 @@
},
{
"name": "drupal/bootstrap",
"version": "3.28.0",
"version_normalized": "3.28.0.0",
"version": "3.30.0",
"version_normalized": "3.30.0.0",
"source": {
"type": "git",
"url": "https://git.drupalcode.org/project/bootstrap.git",
"reference": "8.x-3.28"
"reference": "8.x-3.30"
},
"dist": {
"type": "zip",
"url": "https://ftp.drupal.org/files/projects/bootstrap-8.x-3.28.zip",
"reference": "8.x-3.28",
"shasum": "a38475b0a6896da85185d98af6de33dd456f33c2"
"url": "https://ftp.drupal.org/files/projects/bootstrap-8.x-3.30.zip",
"reference": "8.x-3.30",
"shasum": "37a44a677163d2e82f1a8b55bd5feddb88918ad2"
},
"require": {
"drupal/core": "^9.5 || ^10",
......@@ -1739,8 +1739,8 @@
"type": "drupal-theme",
"extra": {
"drupal": {
"version": "8.x-3.28",
"datestamp": "1680536061",
"version": "8.x-3.30",
"datestamp": "1707842525",
"security-coverage": {
"status": "covered",
"message": "Covered by Drupal's security advisory policy"
......@@ -1748,6 +1748,11 @@
}
},
"installation-source": "dist",
"autoload": {
"psr-4": {
"Drupal\\bootstrap\\": "src"
}
},
"notification-url": "https://packages.drupal.org/8/downloads",
"license": [
"GPL-2.0-or-later"
......
<?php return array(
'root' => array(
'name' => 'drupal/recommended-project',
'pretty_version' => '10.x-dev',
'version' => '10.9999999.9999999.9999999-dev',
'reference' => 'bd5952199a304fcc01d72ee13c36db7995088eb9',
'pretty_version' => '1.0.0+no-version-set',
'version' => '1.0.0.0',
'reference' => null,
'type' => 'project',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),
......@@ -227,9 +227,9 @@
'dev_requirement' => false,
),
'drupal/bootstrap' => array(
'pretty_version' => '3.28.0',
'version' => '3.28.0.0',
'reference' => '8.x-3.28',
'pretty_version' => '3.30.0',
'version' => '3.30.0.0',
'reference' => '8.x-3.30',
'type' => 'drupal-theme',
'install_path' => __DIR__ . '/../../docroot/themes/contrib/bootstrap',
'aliases' => array(),
......@@ -769,9 +769,9 @@
'dev_requirement' => false,
),
'drupal/recommended-project' => array(
'pretty_version' => '10.x-dev',
'version' => '10.9999999.9999999.9999999-dev',
'reference' => 'bd5952199a304fcc01d72ee13c36db7995088eb9',
'pretty_version' => '1.0.0+no-version-set',
'version' => '1.0.0.0',
'reference' => null,
'type' => 'project',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment