0
0
mirror of https://github.com/wagtail/wagtail.git synced 2024-11-29 09:33:54 +01:00
wagtail/client/scss/components/forms/_nested-panel.scss

74 lines
2.0 KiB
SCSS
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

$header-icon-size-sm: theme('spacing.5');
$header-button-size-sm: theme('spacing.8');
$header-gap: theme('spacing.1');
$panel-x-offset: calc($header-button-size-sm / 2 + $header-gap);
/**
* Panel styles shared between StreamField and InlinePanel,
* for repeating collapsible panels which can be reordered.
* Top-level and nested panels have guiding borders to show their start and end,
* as well as indentation for nested panels.
*/
// Styles for the top-level panel, and any panel within.
.w-panel--nested {
@include guide-line-active();
.w-panel__divider {
@include guide-line-horizontal();
// Slightly nicer text alignment.
margin-top: 1px;
}
.w-panel__content {
@include guide-line-vertical();
// Center the vertical line.
margin-inline-start: calc(-1 * theme('spacing.3'));
padding-inline-start: theme('spacing.3');
@include media-breakpoint-up(sm) {
margin-inline-start: calc(-1 * $panel-x-offset);
padding-inline-start: $panel-x-offset;
}
}
.w-panel__anchor {
// Mask the overlap with the parent panels guide line.
background-color: $color-white;
}
.w-panel__heading--label {
// Use smaller labels within nested panels in InlinePanel.
@apply w-label-2;
}
}
// Styles for nested panels excluding the top level.
.w-panel--nested .w-panel {
@include guide-line-nested();
// Indentation for nested panels.
margin-inline-start: theme('spacing.7');
margin-bottom: theme('spacing.6');
// Tighter spacing for nested panel headers so their icons align
// with parent panels guiding line.
.w-panel__header {
gap: 0;
transform: translateX(calc(-1 * theme('spacing.5')));
@include media-breakpoint-up(sm) {
transform: translateX(theme('spacing.1'));
}
}
// For nested panels, there is always enough space for the prefix anchor.
.w-panel__anchor--prefix {
display: inline-grid;
}
// Nested panels never need the suffix anchor.
.w-panel__anchor--suffix {
display: none;
}
}