Files
x-editable-bs5/dist/bootstrap5-editable/css/editable-form.css
Micha 6ea537cd55 Fix datepicker workflow to match legacy behavior
- Implement proper button hiding/showing workflow for datepicker inputs
- Buttons now hidden initially when datepicker opens
- Buttons appear only after date selection, not immediately
- Datepicker closes automatically after date selection
- Enhanced CSS specificity for reliable button control
- Robust fallback methods for datepicker closing
- Update to version 25.0.5
2025-07-27 16:40:58 +02:00

238 lines
5.8 KiB
CSS

.editableform {
margin-bottom: 0; /* overwrites bootstrap margin */
}
.editableform .control-group {
margin-bottom: 0; /* overwrites bootstrap margin */
white-space: nowrap; /* prevent wrapping buttons on new line */
line-height: 20px; /* overwriting bootstrap line-height. See #133 */
}
/*
BS3 fix: stop css from breaking when the form is inside a popup and inside a form with the class .form-horizontal
See: https://github.com/vitalets/x-editable/issues/682
*/
.form-horizontal .editable-popup .editableform .form-group {
margin-left:0;
margin-right:0;
}
/*
BS3 width:1005 for inputs breaks editable form in popup
See: https://github.com/vitalets/x-editable/issues/393
*/
.editableform .form-control {
width: auto;
}
.editable-buttons {
display: inline-block; /* should be inline to take effect of parent's white-space: nowrap */
vertical-align: top;
margin-left: 7px;
/* inline-block emulation for IE7*/
zoom: 1;
*display: inline;
}
.editable-buttons.editable-buttons-bottom {
display: block;
margin-top: 7px;
margin-left: 0;
}
.editable-input {
vertical-align: top;
display: inline-block; /* should be inline to take effect of parent's white-space: nowrap */
width: auto; /* bootstrap-responsive has width: 100% that breakes layout */
white-space: normal; /* reset white-space decalred in parent*/
/* display-inline emulation for IE7*/
zoom: 1;
*display: inline;
}
.editable-buttons .editable-cancel {
margin-left: 7px;
}
/*for jquery-ui buttons need set height to look more pretty*/
.editable-buttons button.ui-button-icon-only {
height: 24px;
width: 30px;
}
.editableform-loading {
background: url('../img/loading.gif') center center no-repeat;
height: 25px;
width: auto;
min-width: 25px;
}
.editable-inline .editableform-loading {
background-position: left 5px;
}
.editable-error-block {
max-width: 300px;
margin: 5px 0 0 0;
width: auto;
white-space: normal;
}
/*add padding for jquery ui*/
.editable-error-block.ui-state-error {
padding: 3px;
}
.editable-error {
color: red;
}
/* ---- For specific types ---- */
.editableform .editable-date {
padding: 0;
margin: 0;
float: left;
}
/* move datepicker icon to center of add-on button. See https://github.com/vitalets/x-editable/issues/183 */
.editable-inline .add-on .icon-th {
margin-top: 3px;
margin-left: 1px;
}
/* checklist vertical alignment */
.editable-checklist label input[type="checkbox"],
.editable-checklist label span {
vertical-align: middle;
margin: 0;
}
.editable-checklist label {
white-space: nowrap;
}
/* set exact width of textarea to fit buttons toolbar */
.editable-wysihtml5 {
width: 566px;
height: 250px;
}
/* clear button shown as link in date inputs */
.editable-clear {
clear: both;
font-size: 0.9em;
text-decoration: none;
text-align: right;
}
/* IOS-style clear button for text inputs */
.editable-clear-x {
background: url('../img/clear.png') center center no-repeat;
display: block;
width: 13px;
height: 13px;
position: absolute;
opacity: 0.6;
z-index: 100;
top: 50%;
right: 6px;
margin-top: -6px;
}
.editable-clear-x:hover {
opacity: 1;
}
.editable-pre-wrapped {
white-space: pre-wrap;
}
/* Position datepicker above input for datepicker-above class */
.datepicker-above .datepicker-inline {
position: absolute;
bottom: 100%;
left: 0;
right: 0;
z-index: 1000;
margin-bottom: 5px;
background: white;
border: 1px solid #dee2e6;
border-radius: 0.375rem;
box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
}
/* Bootstrap 5 inline editing fixes */
.editable-inline .editableform {
display: inline-flex !important;
flex-direction: row !important;
align-items: center !important;
gap: 0.5rem !important;
flex-wrap: nowrap !important;
}
.editable-inline .editable-input {
flex-shrink: 1 !important;
min-width: 0 !important;
max-width: 200px !important; /* Prevent overly wide selects */
display: inline-block !important;
vertical-align: middle !important;
}
.editable-inline .editable-input select {
max-width: 100% !important;
min-width: 120px !important;
}
.editable-inline .editable-buttons {
flex-shrink: 0 !important;
margin-left: 0.5rem !important;
margin-top: 0 !important;
display: inline-flex !important;
align-items: center !important;
gap: 0.25rem !important;
vertical-align: middle !important;
}
.editable-inline .control-group {
white-space: nowrap !important;
display: inline-flex !important;
align-items: center !important;
}
/* Improve button styling for Bootstrap 5 */
.editable-buttons .btn {
padding: 0.25rem 0.5rem;
line-height: 1.2;
border-radius: 0.25rem;
}
.editable-buttons .btn-sm {
padding: 0.125rem 0.25rem;
font-size: 0.875rem;
}
/* Hide buttons initially for datepicker inputs - using discovered DOM structure */
/* Buttons are siblings to editable-input that contains datepicker */
.editable-input:has(.input-group.date) + .editable-buttons,
.editable-input:has(.input-group.datepicker-above) + .editable-buttons,
/* Buttons might be in same container as editable-input */
*:has(.editable-input .input-group.date) .editable-buttons,
*:has(.editable-input .input-group.datepicker-above) .editable-buttons {
display: none !important;
visibility: hidden !important;
}
/* Show buttons when they have the show-buttons class */
.editable-input:has(.input-group.date) + .editable-buttons.show-buttons,
.editable-input:has(.input-group.datepicker-above) + .editable-buttons.show-buttons,
*:has(.editable-input .input-group.date) .editable-buttons.show-buttons,
*:has(.editable-input .input-group.datepicker-above) .editable-buttons.show-buttons {
display: inline-flex !important;
visibility: visible !important;
}