2025-01-12 04:36:52 +08:00

66 lines
2.0 KiB
SCSS

// Dropped in BS5, but this seems pretty fundamental?
$form-group-margin-bottom: 1rem !default;
.form-group {
margin-bottom: $form-group-margin-bottom;
}
// The @extends here add a lot of bloat to version=4 (& it's not entirely correct)
// Instead of fixing, consider this deprecated, and for BS5, we'll modify
// their selectors directly to accomodate shiny
@if $bootstrap-version == 4 {
.shiny-input-checkboxgroup, .shiny-input-radiogroup {
// TODO: this is pretty expensive!
.checkbox, .radio {
@extend .form-check;
label {
@extend .form-check-label;
}
label > input {
@extend .form-check-input;
}
}
// Since these inline classes don't have a proper div container
// (they're labels), we borrow just the styling we need from
// .form-check-inline
// https://github.com/rstudio/bs4/blob/7aadd19/inst/node_modules/bootstrap/scss/_forms.scss#L227-L240
.checkbox-inline, .radio-inline {
padding-left: 0;
margin-right: $form-check-inline-margin-x;
label > input {
margin-top: 0;
margin-right: $form-check-inline-input-margin-x;
margin-bottom: 0;
}
}
}
}
.input-daterange .input-group-addon.input-group-prepend.input-group-append {
padding: inherit;
line-height: inherit;
text-shadow: inherit;
border-width: 0;
.input-group-text {
border-radius: 0;
}
}
.shiny-input-checkboxgroup .checkbox-inline,
.shiny-input-radiogroup .radio-inline {
cursor: pointer;
}
// Fix the position of checkbox and radio group labels to match other inputs
// labels, see https://github.com/rstudio/shiny/blob/6fc06281/inst/www/shared/shiny_scss/shiny.scss#L344-L356
// TODO: Consider removing if we add `input_checkbox()` and `input_radio()`
@if $bootstrap-version == 5 {
.shiny-input-checkboxgroup,
.shiny-input-radiogroup {
label ~ .shiny-options-group {
margin-top: calc(#{-($line-height-base - $form-check-input-width) * .5} - #{$input-btn-border-width});
}
}
}