Skip to content
Snippets Groups Projects
Verified Commit 299f4c8e authored by Théodore Biadala's avatar Théodore Biadala
Browse files

Issue #3441124 by mherchel, nod_, smustgrave, xjm: Views UI action buttons...

Issue #3441124 by mherchel, nod_, smustgrave, xjm: Views UI action buttons create janky layout shift on page load
parent 3f7d2866
No related branches found
No related tags found
26 merge requests!11131[10.4.x-only-DO-NOT-MERGE]: Issue ##2842525 Ajax attached to Views exposed filter form does not trigger callbacks,!9470[10.3.x-only-DO-NOT-MERGE]: #3331771 Fix file_get_contents(): Passing null to parameter,!8540Issue #3457061: Bootstrap Modal dialog Not closing after 10.3.0 Update,!8528Issue #3456871 by Tim Bozeman: Support NULL services,!8373Issue #3427374 by danflanagan8, Vighneshh: taxonomy_tid ViewsArgumentDefault...,!3878Removed unused condition head title for views,!3818Issue #2140179: $entity->original gets stale between updates,!3742Issue #3328429: Create item list field formatter for displaying ordered and unordered lists,!3731Claro: role=button on status report items,!3651Issue #3347736: Create new SDC component for Olivero (header-search),!3531Issue #3336994: StringFormatter always displays links to entity even if the user in context does not have access,!3355Issue #3209129: Scrolling problems when adding a block via layout builder,!3154Fixes #2987987 - CSRF token validation broken on routes with optional parameters.,!3133core/modules/system/css/components/hidden.module.css,!2964Issue #2865710 : Dependencies from only one instance of a widget are used in display modes,!2812Issue #3312049: [Followup] Fix Drupal.Commenting.FunctionComment.MissingReturnType returns for NULL,!2378Issue #2875033: Optimize joins and table selection in SQL entity query implementation,!2062Issue #3246454: Add weekly granularity to views date sort,!1105Issue #3025039: New non translatable field on translatable content throws error,!1073issue #3191727: Focus states on mobile second level navigation items fixed,!10223132456: Fix issue where views instances are emptied before an ajax request is complete,!877Issue #2708101: Default value for link text is not saved,!617Issue #3043725: Provide a Entity Handler for user cancelation,!579Issue #2230909: Simple decimals fail to pass validation,!560Move callback classRemove outside of the loop,!555Issue #3202493
Pipeline #159991 passed
Pipeline: drupal

#159994

    ...@@ -206,3 +206,30 @@ html.js span.js-only { ...@@ -206,3 +206,30 @@ html.js span.js-only {
    .js .views-edit-view .dropbutton-wrapper { .js .views-edit-view .dropbutton-wrapper {
    width: auto; width: auto;
    } }
    /* JS moves Views action buttons under a secondary tabs container, which causes
    a large layout shift. We mitigate this by using animations to temporarily hide
    the buttons, but they will appear after a set amount of time just in case the JS
    is loaded but does not properly run. */
    @media (scripting: enabled) {
    .views-tabs__action-list-button:not(.views-tabs--secondary *) {
    animation-name: appear;
    animation-duration: 0.1s;
    /* Buttons will be hidden for the amount of time in the animation-delay if
    not moved. Note this is the approximate time to download the views
    aggregate CSS with slow 3G. */
    animation-delay: 5s;
    animation-iteration-count: 1;
    animation-fill-mode: backwards;
    }
    }
    @keyframes appear {
    from {
    display: none;
    }
    to {
    display: unset;
    }
    }
    ...@@ -406,6 +406,34 @@ details.fieldset-no-legend { ...@@ -406,6 +406,34 @@ details.fieldset-no-legend {
    font-weight: normal; font-weight: normal;
    } }
    /* JS moves Views action buttons under a secondary tabs container, which causes
    a large layout shift. We mitigate this by using animations to temporarily hide
    the buttons, but they will appear after a set amount of time just in case the JS
    is loaded but does not properly run. */
    @media (scripting: enabled) {
    .views-tabs__action-list-button:not(.views-tabs--secondary *) {
    animation-name: appear;
    animation-duration: 0.1s;
    /* Buttons will be hidden for the amount of time in the animation-delay if
    not moved. Note this is the approximate time to download the views
    aggregate CSS with slow 3G. */
    animation-delay: 5s;
    animation-iteration-count: 1;
    animation-fill-mode: backwards;
    }
    }
    @keyframes appear {
    from {
    display: none;
    }
    to {
    display: unset;
    }
    }
    /* RTL required for precedence over core's styles. */ /* RTL required for precedence over core's styles. */
    [dir="rtl"] .views-tabs__action-list-button { [dir="rtl"] .views-tabs__action-list-button {
    ......
    ...@@ -350,6 +350,34 @@ details.fieldset-no-legend { ...@@ -350,6 +350,34 @@ details.fieldset-no-legend {
    background: none repeat scroll 0 0 transparent; background: none repeat scroll 0 0 transparent;
    font-weight: normal; font-weight: normal;
    } }
    /* JS moves Views action buttons under a secondary tabs container, which causes
    a large layout shift. We mitigate this by using animations to temporarily hide
    the buttons, but they will appear after a set amount of time just in case the JS
    is loaded but does not properly run. */
    @media (scripting: enabled) {
    .views-tabs__action-list-button:not(.views-tabs--secondary *) {
    animation-name: appear;
    animation-duration: 0.1s;
    /* Buttons will be hidden for the amount of time in the animation-delay if
    not moved. Note this is the approximate time to download the views
    aggregate CSS with slow 3G. */
    animation-delay: 5s;
    animation-iteration-count: 1;
    animation-fill-mode: backwards;
    }
    }
    @keyframes appear {
    from {
    display: none;
    }
    to {
    display: unset;
    }
    }
    /* RTL required for precedence over core's styles. */ /* RTL required for precedence over core's styles. */
    [dir="rtl"] .views-tabs__action-list-button { [dir="rtl"] .views-tabs__action-list-button {
    margin: 0; margin: 0;
    ......
    0% Loading or .
    You are about to add 0 people to the discussion. Proceed with caution.
    Please register or to comment