diff options
32 files changed, 52 insertions, 117 deletions
@@ -30,6 +30,7 @@ phpMyAdmin - ChangeLog - issue #16197 Replace the master/slave terminology - issue #17257 Replace libraries/vendor_config.php constants with an array - issue Add the Bootstrap theme +- issue #17499 Remove stickyfilljs JavaScript dependency 5.1.4 (not yet released) - issue #17287 Fixed sorting the database list with "statistics" enabled on "Data" column creates a PHP type error diff --git a/doc/faq.rst b/doc/faq.rst index 0ec80df530..866a920dab 100644 --- a/doc/faq.rst +++ b/doc/faq.rst @@ -1905,7 +1905,7 @@ to plot' field. Once you have decided over your criteria, click 'Go' to display the plot. After the plot is generated, you can use the -mousewheel to zoom in and out of the plot. In addition, panning +mouse wheel to zoom in and out of the plot. In addition, panning feature is enabled to navigate through the plot. You can zoom-in to a certain level of detail and use panning to locate your area of interest. Clicking on a point opens a dialogue box, displaying field diff --git a/js/src/gis_data_editor.js b/js/src/gis_data_editor.js index 05ee2ec030..e927a32646 100644 --- a/js/src/gis_data_editor.js +++ b/js/src/gis_data_editor.js @@ -96,15 +96,10 @@ function loadJSAndGISEditor (value, field, type, inputName) { var head = document.getElementsByTagName('head')[0]; var script; - // Loads a set of small JS file needed for the GIS editor - var smallScripts = ['js/vendor/jquery/jquery.mousewheel.js', 'js/dist/table/gis_visualization.js']; - - for (var i = 0; i < smallScripts.length; i++) { - script = document.createElement('script'); - script.type = 'text/javascript'; - script.src = smallScripts[i]; - head.appendChild(script); - } + script = document.createElement('script'); + script.type = 'text/javascript'; + script.src = 'js/dist/table/gis_visualization.js'; + head.appendChild(script); // OpenLayers.js is BIG and takes time. So asynchronous loading would not work. // Load the JS and do a callback to load the content for the GIS Editor. diff --git a/js/src/sql.js b/js/src/sql.js index 852a16b2e1..08232947a7 100644 --- a/js/src/sql.js +++ b/js/src/sql.js @@ -7,7 +7,6 @@ * @test-module Sql */ -/* global Stickyfill */ /* global isStorageSupported */ // js/config.js /* global codeMirrorEditor */ // js/functions.js /* global makeGrid */ // js/makegrid.js @@ -1089,9 +1088,3 @@ AJAX.registerOnload('sql.js', function () { Sql.makeProfilingChart(); Sql.initProfilingTables(); }); - -/** - * Polyfill to make table headers sticky. - */ -var elements = $('.sticky'); -Stickyfill.add(elements); diff --git a/js/src/table/gis_visualization.js b/js/src/table/gis_visualization.js index 88ddc833b9..072147b945 100644 --- a/js/src/table/gis_visualization.js +++ b/js/src/table/gis_visualization.js @@ -2,7 +2,6 @@ * @fileoverview functions used for visualizing GIS data * * @requires jquery - * @requires vendor/jquery/jquery.mousewheel.js */ /* global drawOpenLayers */ // templates/table/gis_visualization/gis_visualization.twig @@ -148,6 +147,9 @@ function getRelativeCoords (e) { }; } +/** + * @param {WheelEvent} event + */ function onGisMouseWheel (event) { if (event.deltaY === 0) { return; @@ -169,7 +171,7 @@ function onGisMouseWheel (event) { * * Actions Ajaxified here: * - * Zooming in and zooming out on mousewheel movement. + * Zooming in and zooming out on mouse wheel movement. * Panning the visualization on dragging. * Zooming in on double clicking. * Zooming out on clicking the zoom out button. diff --git a/libraries/classes/Controllers/Database/SearchController.php b/libraries/classes/Controllers/Database/SearchController.php index 99b7ad5546..329437d405 100644 --- a/libraries/classes/Controllers/Database/SearchController.php +++ b/libraries/classes/Controllers/Database/SearchController.php @@ -38,12 +38,7 @@ class SearchController extends AbstractController $GLOBALS['tooltip_aliasname'] = $GLOBALS['tooltip_aliasname'] ?? null; $GLOBALS['pos'] = $GLOBALS['pos'] ?? null; - $this->addScriptFiles([ - 'database/search.js', - 'vendor/stickyfill.min.js', - 'sql.js', - 'makegrid.js', - ]); + $this->addScriptFiles(['database/search.js', 'sql.js', 'makegrid.js']); $this->checkParameters(['db']); diff --git a/libraries/classes/Controllers/Database/SqlController.php b/libraries/classes/Controllers/Database/SqlController.php index dc20b7482f..70965dbb88 100644 --- a/libraries/classes/Controllers/Database/SqlController.php +++ b/libraries/classes/Controllers/Database/SqlController.php @@ -34,12 +34,7 @@ class SqlController extends AbstractController $GLOBALS['back'] = $GLOBALS['back'] ?? null; $GLOBALS['errorUrl'] = $GLOBALS['errorUrl'] ?? null; - $this->addScriptFiles([ - 'makegrid.js', - 'vendor/jquery/jquery.uitablefilter.js', - 'vendor/stickyfill.min.js', - 'sql.js', - ]); + $this->addScriptFiles(['makegrid.js', 'vendor/jquery/jquery.uitablefilter.js', 'sql.js']); $pageSettings = new PageSettings('Sql'); $this->response->addHTML($pageSettings->getErrorHTML()); diff --git a/libraries/classes/Controllers/Server/SqlController.php b/libraries/classes/Controllers/Server/SqlController.php index d4ba5d5719..cfb446cefd 100644 --- a/libraries/classes/Controllers/Server/SqlController.php +++ b/libraries/classes/Controllers/Server/SqlController.php @@ -38,12 +38,7 @@ class SqlController extends AbstractController { $GLOBALS['errorUrl'] = $GLOBALS['errorUrl'] ?? null; - $this->addScriptFiles([ - 'makegrid.js', - 'vendor/jquery/jquery.uitablefilter.js', - 'vendor/stickyfill.min.js', - 'sql.js', - ]); + $this->addScriptFiles(['makegrid.js', 'vendor/jquery/jquery.uitablefilter.js', 'sql.js']); $pageSettings = new PageSettings('Sql'); $this->response->addHTML($pageSettings->getErrorHTML()); diff --git a/libraries/classes/Controllers/Sql/SqlController.php b/libraries/classes/Controllers/Sql/SqlController.php index 791bd2d22a..f04f98e854 100644 --- a/libraries/classes/Controllers/Sql/SqlController.php +++ b/libraries/classes/Controllers/Sql/SqlController.php @@ -77,7 +77,6 @@ class SqlController extends AbstractController 'vendor/jquery/jquery.uitablefilter.js', 'table/change.js', 'indexes.js', - 'vendor/stickyfill.min.js', 'gis_data_editor.js', 'multi_column_sort.js', ]); diff --git a/libraries/classes/Controllers/Table/ChangeController.php b/libraries/classes/Controllers/Table/ChangeController.php index 74d97d08c0..a233df0028 100644 --- a/libraries/classes/Controllers/Table/ChangeController.php +++ b/libraries/classes/Controllers/Table/ChangeController.php @@ -139,7 +139,6 @@ class ChangeController extends AbstractController $this->addScriptFiles([ 'makegrid.js', - 'vendor/stickyfill.min.js', 'sql.js', 'table/change.js', 'vendor/jquery/additional-methods.js', diff --git a/libraries/classes/Controllers/Table/ReplaceController.php b/libraries/classes/Controllers/Table/ReplaceController.php index 77ea0635d8..98d4e19ab8 100644 --- a/libraries/classes/Controllers/Table/ReplaceController.php +++ b/libraries/classes/Controllers/Table/ReplaceController.php @@ -108,13 +108,7 @@ final class ReplaceController extends AbstractController */ $GLOBALS['goto_include'] = false; - $this->addScriptFiles([ - 'makegrid.js', - 'vendor/stickyfill.min.js', - 'sql.js', - 'indexes.js', - 'gis_data_editor.js', - ]); + $this->addScriptFiles(['makegrid.js', 'sql.js', 'indexes.js', 'gis_data_editor.js']); $insertRows = $_POST['insert_rows'] ?? null; if (is_numeric($insertRows) && $insertRows != $GLOBALS['cfg']['InsertRows']) { diff --git a/libraries/classes/Controllers/Table/SearchController.php b/libraries/classes/Controllers/Table/SearchController.php index 3687b1756f..4b044fd647 100644 --- a/libraries/classes/Controllers/Table/SearchController.php +++ b/libraries/classes/Controllers/Table/SearchController.php @@ -181,7 +181,6 @@ class SearchController extends AbstractController $this->addScriptFiles([ 'makegrid.js', - 'vendor/stickyfill.min.js', 'sql.js', 'table/select.js', 'table/change.js', diff --git a/libraries/classes/Controllers/Table/SqlController.php b/libraries/classes/Controllers/Table/SqlController.php index c6d3964a87..6cef2a97fe 100644 --- a/libraries/classes/Controllers/Table/SqlController.php +++ b/libraries/classes/Controllers/Table/SqlController.php @@ -38,12 +38,7 @@ final class SqlController extends AbstractController $GLOBALS['goto'] = $GLOBALS['goto'] ?? null; $GLOBALS['back'] = $GLOBALS['back'] ?? null; - $this->addScriptFiles([ - 'makegrid.js', - 'vendor/jquery/jquery.uitablefilter.js', - 'vendor/stickyfill.min.js', - 'sql.js', - ]); + $this->addScriptFiles(['makegrid.js', 'vendor/jquery/jquery.uitablefilter.js', 'sql.js']); $pageSettings = new PageSettings('Sql'); $this->response->addHTML($pageSettings->getErrorHTML()); diff --git a/libraries/classes/Controllers/Table/ZoomSearchController.php b/libraries/classes/Controllers/Table/ZoomSearchController.php index a61eb1e4d2..7ed63303c9 100644 --- a/libraries/classes/Controllers/Table/ZoomSearchController.php +++ b/libraries/classes/Controllers/Table/ZoomSearchController.php @@ -106,7 +106,6 @@ class ZoomSearchController extends AbstractController DbTableExists::check($GLOBALS['db'], $GLOBALS['table']); $this->addScriptFiles([ - 'vendor/stickyfill.min.js', 'makegrid.js', 'sql.js', 'vendor/jqplot/jquery.jqplot.js', diff --git a/libraries/classes/Display/Results.php b/libraries/classes/Display/Results.php index faeae02716..b04ab44ea2 100644 --- a/libraries/classes/Display/Results.php +++ b/libraries/classes/Display/Results.php @@ -1111,7 +1111,7 @@ class Results $displayParams['emptypre'] = $emptyPreCondition ? 4 : 0; - $buttonHtml .= '<th class="column_action sticky d-print-none"' . $colspan + $buttonHtml .= '<th class="column_action position-sticky d-print-none"' . $colspan . '>' . $fullOrPartialTextLink . '</th>'; } elseif ( $leftOrBoth @@ -1125,7 +1125,7 @@ class Results } elseif ($GLOBALS['cfg']['RowActionLinks'] === self::POSITION_NONE) { // ... elseif display an empty column if the actions links are // disabled to match the rest of the table - $buttonHtml .= '<th class="column_action sticky"></th>'; + $buttonHtml .= '<th class="column_action position-sticky"></th>'; } $this->properties['display_params'] = $displayParams; diff --git a/libraries/classes/Header.php b/libraries/classes/Header.php index 0af3829872..1b04938fc5 100644 --- a/libraries/classes/Header.php +++ b/libraries/classes/Header.php @@ -137,7 +137,6 @@ class Header $this->scripts->addFile('name-conflict-fixes.js'); $this->scripts->addFile('vendor/bootstrap/bootstrap.bundle.min.js'); $this->scripts->addFile('vendor/js.cookie.js'); - $this->scripts->addFile('vendor/jquery/jquery.mousewheel.js'); $this->scripts->addFile('vendor/jquery/jquery.validate.js'); $this->scripts->addFile('vendor/jquery/jquery-ui-timepicker-addon.js'); $this->scripts->addFile('vendor/jquery/jquery.debounce-1.0.6.js'); diff --git a/libraries/classes/Sql.php b/libraries/classes/Sql.php index fe9829215d..e1d5e1dc6f 100644 --- a/libraries/classes/Sql.php +++ b/libraries/classes/Sql.php @@ -1086,7 +1086,6 @@ class Sql if ($profilingResults !== null) { $header = $response->getHeader(); $scripts = $header->getScripts(); - $scripts->addFile('vendor/stickyfill.min.js'); $scripts->addFile('sql.js'); $profiling = $this->getDetailedProfilingStats($profilingResults); @@ -1495,7 +1494,6 @@ class Sql if (! isset($_POST['printview']) || $_POST['printview'] != '1') { $scripts->addFile('makegrid.js'); - $scripts->addFile('vendor/stickyfill.min.js'); $scripts->addFile('sql.js'); unset($GLOBALS['message']); //we don't need to buffer the output in getMessage here. diff --git a/package.json b/package.json index ee937b1a3d..3f3c3a5917 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,6 @@ "jquery": "3.6.0", "jquery-debounce-throttle": "^1.0.6-rc.0", "jquery-migrate": "3.3.2", - "jquery-mousewheel": "3.1.13", "jquery-ui-dist": "1.12.1", "jquery-ui-timepicker-addon": "1.6.3", "jquery-uitablefilter": "^1.0.0", @@ -39,7 +38,6 @@ "rtlcss": "^3.3.0", "sass": "^1.42.1", "sass-loader": "^12.4.0", - "stickyfilljs": "2.1.0", "tablesorter": "^2.31.3", "tracekit": "0.4.6", "u2f-api-polyfill": "0.4.4", diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon index deacc28f42..c12ddd6b76 100644 --- a/phpstan-baseline.neon +++ b/phpstan-baseline.neon @@ -8826,6 +8826,11 @@ parameters: path: test/classes/CommonTest.php - + message: "#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertTrue\\(\\) with null will always evaluate to false\\.$#" + count: 1 + path: test/classes/Config/FormDisplayTest.php + + - message: "#^Cannot access offset 'pma_testform' on mixed\\.$#" count: 1 path: test/classes/Config/FormDisplayTest.php @@ -10221,6 +10226,11 @@ parameters: path: test/classes/Partitioning/TablePartitionDefinitionTest.php - + message: "#^Call to method PHPUnit\\\\Framework\\\\Assert\\:\\:assertSame\\(\\) with 32 and 0 will always evaluate to false\\.$#" + count: 1 + path: test/classes/Plugins/Auth/AuthenticationCookieTest.php + + - message: "#^Method PhpMyAdmin\\\\Tests\\\\Plugins\\\\Auth\\\\AuthenticationCookieTest\\:\\:checkRulesProvider\\(\\) return type has no value type specified in iterable type array\\.$#" count: 1 path: test/classes/Plugins/Auth/AuthenticationCookieTest.php diff --git a/templates/display/results/table_headers_for_columns.twig b/templates/display/results/table_headers_for_columns.twig index 8b2e1dadbb..d030fbf740 100644 --- a/templates/display/results/table_headers_for_columns.twig +++ b/templates/display/results/table_headers_for_columns.twig @@ -1,5 +1,5 @@ {% for column in columns %} - <th class="draggable sticky{{ column.is_column_numeric ? ' text-end' }}{{ column.is_column_hidden ? ' hide' -}} + <th class="draggable position-sticky{{ column.is_column_numeric ? ' text-end' }}{{ column.is_column_hidden ? ' hide' -}} {{- is_sortable ? ' column_heading' }}{{ is_sortable and column.is_browse_marker_enabled ? ' marker' }}{{ is_sortable and column.is_browse_pointer_enabled ? ' pointer' -}} {{- not is_sortable and column.has_condition ? ' condition' }}" data-column="{{ column.column_name }}"> {% if is_sortable %} diff --git a/test/jest/test-env.js b/test/jest/test-env.js index 0baae527f0..3276c5fa93 100644 --- a/test/jest/test-env.js +++ b/test/jest/test-env.js @@ -6,4 +6,3 @@ global.jQuery = $; global.CommonParams = require('phpmyadmin/common'); global.AJAX = require('phpmyadmin/ajax'); global.Functions = require('phpmyadmin/functions'); -global.Stickyfill = require('@vendor/stickyfill.min'); diff --git a/themes/bootstrap/scss/_common.scss b/themes/bootstrap/scss/_common.scss index 6ee2bc2215..9cc1463fec 100644 --- a/themes/bootstrap/scss/_common.scss +++ b/themes/bootstrap/scss/_common.scss @@ -1497,12 +1497,6 @@ input#auto_increment_opt { } } -.sticky { - position: -webkit-sticky; - position: sticky; - top: 60px; -} - .pma_table { td { position: static; @@ -2632,10 +2626,6 @@ body .ui-dialog { overflow-x: auto; } - .sticky { - top: 0; - } - body#loginform div.container { width: 100%; } diff --git a/themes/bootstrap/scss/_tables.scss b/themes/bootstrap/scss/_tables.scss new file mode 100644 index 0000000000..0a618658ea --- /dev/null +++ b/themes/bootstrap/scss/_tables.scss @@ -0,0 +1,5 @@ +@media only screen and (min-width: 768px) { + .table th.position-sticky { + top: 96px; + } +} diff --git a/themes/bootstrap/scss/theme.scss b/themes/bootstrap/scss/theme.scss index 9badaacea5..beffbbfc62 100644 --- a/themes/bootstrap/scss/theme.scss +++ b/themes/bootstrap/scss/theme.scss @@ -9,6 +9,7 @@ @import "jqplot"; @import "icons"; @import "reboot"; +@import "tables"; @import "forms"; @import "breadcrumb"; @import "print"; diff --git a/themes/metro/scss/_common.scss b/themes/metro/scss/_common.scss index 8f2de3f871..33fea69b01 100644 --- a/themes/metro/scss/_common.scss +++ b/themes/metro/scss/_common.scss @@ -1710,12 +1710,6 @@ form.append_fields_form .tblFooters { } } -.sticky { - position: -webkit-sticky; - position: sticky; - top: 60px; -} - .pma_table { td { position: static; @@ -2856,12 +2850,6 @@ body { } } -@media only screen and (max-width: 768px) { - .sticky { - top: 0; - } -} - .resize-vertical { resize: vertical; } diff --git a/themes/metro/scss/_tables.scss b/themes/metro/scss/_tables.scss index 6604e34017..b454150c96 100644 --- a/themes/metro/scss/_tables.scss +++ b/themes/metro/scss/_tables.scss @@ -16,3 +16,9 @@ } } } + +@media only screen and (min-width: 768px) { + .table th.position-sticky { + top: 87px; + } +} diff --git a/themes/original/scss/_common.scss b/themes/original/scss/_common.scss index 2b1c9a928e..d7d12546fc 100644 --- a/themes/original/scss/_common.scss +++ b/themes/original/scss/_common.scss @@ -1508,12 +1508,6 @@ input#auto_increment_opt { } } -.sticky { - position: -webkit-sticky; - position: sticky; - top: 60px; -} - .pma_table { td { position: static; @@ -2616,10 +2610,6 @@ body { overflow-x: auto; } - .sticky { - top: 0; - } - body#loginform div.container { width: 100%; } diff --git a/themes/original/scss/_tables.scss b/themes/original/scss/_tables.scss index 803053739e..a6274f468c 100644 --- a/themes/original/scss/_tables.scss +++ b/themes/original/scss/_tables.scss @@ -32,3 +32,9 @@ --#{$variable-prefix}table-hover-color: #{$table-hover-color}; --#{$variable-prefix}table-hover-bg: #{$table-hover-bg}; } + +@media only screen and (min-width: 768px) { + .table th.position-sticky { + top: 49px; + } +} diff --git a/themes/pmahomme/scss/_common.scss b/themes/pmahomme/scss/_common.scss index 32e5753677..ae51935beb 100644 --- a/themes/pmahomme/scss/_common.scss +++ b/themes/pmahomme/scss/_common.scss @@ -1686,12 +1686,6 @@ input#auto_increment_opt { } } -.sticky { - position: -webkit-sticky; - position: sticky; - top: 60px; -} - .pma_table { td { position: static; @@ -2772,10 +2766,6 @@ body .ui-dialog { overflow-x: auto; } - .sticky { - top: 0; - } - body#loginform div.container { width: 100%; } diff --git a/themes/pmahomme/scss/_tables.scss b/themes/pmahomme/scss/_tables.scss index fdb6b61909..6c202ddeb8 100644 --- a/themes/pmahomme/scss/_tables.scss +++ b/themes/pmahomme/scss/_tables.scss @@ -26,3 +26,9 @@ } } } + +@media only screen and (min-width: 768px) { + .table th.position-sticky { + top: 60px; + } +} diff --git a/webpack.config.js b/webpack.config.js index 1a7add8115..b5c326b1b5 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -132,7 +132,6 @@ module.exports = [ { from: path.resolve(__dirname, 'node_modules/jquery/dist/jquery.min.map'), to: path.resolve(__dirname, 'js/vendor/jquery/jquery.min.map') }, { from: path.resolve(__dirname, 'node_modules/jquery/LICENSE.txt'), to: path.resolve(__dirname, 'js/vendor/jquery/MIT-LICENSE.txt') }, { from: path.resolve(__dirname, 'node_modules/jquery-migrate/dist/jquery-migrate.js'), to: path.resolve(__dirname, 'js/vendor/jquery/jquery-migrate.js') }, - { from: path.resolve(__dirname, 'node_modules/jquery-mousewheel/jquery.mousewheel.js'), to: path.resolve(__dirname, 'js/vendor/jquery/jquery.mousewheel.js') }, { from: path.resolve(__dirname, 'node_modules/jquery-ui-dist/jquery-ui.min.js'), to: path.resolve(__dirname, 'js/vendor/jquery/jquery-ui.min.js') }, { from: path.resolve(__dirname, 'node_modules/jquery-validation/dist/jquery.validate.js'), to: path.resolve(__dirname, 'js/vendor/jquery/jquery.validate.js') }, { from: path.resolve(__dirname, 'node_modules/jquery-validation/dist/additional-methods.js'), to: path.resolve(__dirname, 'js/vendor/jquery/additional-methods.js') }, @@ -143,7 +142,6 @@ module.exports = [ { from: path.resolve(__dirname, 'node_modules/@zxcvbn-ts/core/dist/zxcvbn-ts.js.map'), to: path.resolve(__dirname, 'js/vendor/zxcvbn-ts.js.map') }, { from: path.resolve(__dirname, 'node_modules/tracekit/tracekit.js'), to: path.resolve(__dirname, 'js/vendor/tracekit.js') }, { from: path.resolve(__dirname, 'node_modules/u2f-api-polyfill/u2f-api-polyfill.js'), to: path.resolve(__dirname, 'js/vendor/u2f-api-polyfill.js') }, - { from: path.resolve(__dirname, 'node_modules/stickyfilljs/dist/stickyfill.min.js'), to: path.resolve(__dirname, 'js/vendor/stickyfill.min.js') }, { from: path.resolve(__dirname, 'node_modules/jquery-uitablefilter/jquery.uitablefilter.js'), to: path.resolve(__dirname, 'js/vendor/jquery/jquery.uitablefilter.js') }, { from: path.resolve(__dirname, 'node_modules/tablesorter/dist/js/jquery.tablesorter.js'), to: path.resolve(__dirname, 'js/vendor/jquery/jquery.tablesorter.js') }, { from: path.resolve(__dirname, 'node_modules/jquery-debounce-throttle/index.js'), to: path.resolve(__dirname, 'js/vendor/jquery/jquery.debounce-1.0.6.js') }, @@ -4220,11 +4220,6 @@ jquery-migrate@3.3.2: resolved "https://registry.yarnpkg.com/jquery-migrate/-/jquery-migrate-3.3.2.tgz#7829ee24de3054d0d2f42dd093390d8a7b7af01a" integrity sha512-L3gYhr7yEtLUSAeqXSicVa0vRD4aGwjw/bWY8YzrO2o/qDY1BaMyP3oB3bZf5Auy3Hu9ynliio0CTyDWCBPVDw== -jquery-mousewheel@3.1.13: - version "3.1.13" - resolved "https://registry.yarnpkg.com/jquery-mousewheel/-/jquery-mousewheel-3.1.13.tgz#06f0335f16e353a695e7206bf50503cb523a6ee5" - integrity sha1-BvAzXxbjU6aV5yBr9QUDy1I6buU= - jquery-ui-dist@1.12.1: version "1.12.1" resolved "https://registry.yarnpkg.com/jquery-ui-dist/-/jquery-ui-dist-1.12.1.tgz#5c0815d3cc6f90ff5faaf5b268a6e23b4ca904fa" @@ -6075,11 +6070,6 @@ stack-utils@^2.0.3: dependencies: escape-string-regexp "^2.0.0" -stickyfilljs@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/stickyfilljs/-/stickyfilljs-2.1.0.tgz#46dabb599d8275d185bdb97db597f86a2e3afa7b" - integrity sha512-LkG0BXArL5HbW2O09IAXfnBQfpScgGqJuUDUrI3Ire5YKjRz/EhakIZEJogHwgXeQ4qnTicM9sK9uYfWN11qKg== - string-length@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" |