Files
iTop/css/backoffice/blocks-integrations/panel/_panel-within-main-content.scss
2024-05-06 18:35:31 +02:00

33 lines
1.6 KiB
SCSS

/*
* @copyright Copyright (C) 2010-2024 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0
*/
$ibo-panel-within-main-content--margin-bottom: 200px !default;
$ibo-panel-within-main-content--sticky-sentinel-top--top: -1 * $ibo-main-content--padding-top !default;
$ibo-panel-within-main-content--sticky-sentinel-top--height: $ibo-main-content--padding-top !default;
$ibo-panel-within-main-content--header--top--is-sticky: -1 * $ibo-main-content--padding-top !default;
#ibo-main-content {
/*
* Careful: Here we get all the "descendants" instead of the first closest panel in the main content, which could cause some glitches in the future.
* For now we decided to stay that way for the following reasons, if that changes in the future keep the repercussions on descendants panels in mind.
* - We don't have nested sticky panels (yet)
* - We don't want to hardcode the main content's markup selector if not necessary as it could change in the future (and is already different in read-only vs edition)
* - Unlike in JS, there no easy way to find the closest descendant
*/
.ibo-panel.ibo-has-sticky-header {
margin-bottom: $ibo-panel-within-main-content--margin-bottom; /* Add a margin below the panel so the dropdown lists can open without problem (N°4039) */
/* Stickable header rules */
> .ibo-sticky-sentinel-top {
top: $ibo-panel-within-main-content--sticky-sentinel-top--top;
height: $ibo-panel-within-main-content--sticky-sentinel-top--height;
}
> .ibo-panel--header.ibo-is-sticking {
top: $ibo-panel-within-main-content--header--top--is-sticky;
}
}
}