@senx/discovery-widgets
Version:
Discovery Widgets Elements
481 lines • 14.7 kB
CSS
/*!
* Copyright 2025 SenX S.A.S.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*!
* Copyright 2022-2024 SenX S.A.S.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
:host {
display: block;
width: 100%;
height: 100%;
/**
* @author: Alumuko https://github.com/alumuko/alumuko
* @copyright: Copyright (c) 2021 Alumuko. All rights reserved.
* @license: Licensed under the MIT license. See http://www.opensource.org/licenses/mit-license.php
* @website: https://github.com/alumuko/vanilla-datetimerange-picker
*
* Special thanks to Dan Grossman.
* This program is base on Dan Grossman's bootstrap-daterangepicker (version 3.1)
* I just changed the code a bit to not need jquery.
*/
}
:host .wrapper {
display: flex;
flex-direction: row;
align-items: stretch;
justify-content: stretch;
}
:host input.discovery-input {
margin: 0.25rem 0;
display: inline-block;
position: relative;
font-size: var(--warp-view-input-font-size, 1rem);
border-radius: 0;
border: none;
border-top: 1px solid var(--warp-view-input-border-color, #c0c0c0);
border-bottom: 1px solid var(--warp-view-input-border-color, #c0c0c0);
color: var(--warp-view-input-label-color, #404040);
background-color: var(--warp-view-input-bg-color, #ffffff);
vertical-align: middle;
width: calc(100% - 0.75rem);
height: 34px;
padding: 1px 5px;
}
:host input.discovery-input[disabled] {
background-color: var(--warp-view-input-disabled-bg-color, #c0c0c0);
color: var(--warp-view-input-disabled-label-color, #404040);
border: 1px solid var(--warp-view-input-disabled-border-color, #c0c0c0);
}
:host input.discovery-input:focus {
outline: 0;
box-shadow: 0 0 0 0.25rem var(--warp-view-input-focus-outline-color, rgba(13, 110, 253, 0.25));
}
:host button.discovery-btn {
margin: 0.25rem 0.125rem;
display: inline-block;
font-weight: 400;
line-height: 1.5em;
text-align: center;
text-decoration: none;
vertical-align: middle;
cursor: pointer;
font-size: var(--warp-view-button-font-size, 1rem);
border: 1px solid var(--warp-view-button-border-color, #004eff);
padding: var(--warp-view-button-padding, 0.375rem 0.75rem);
color: var(--warp-view-button-label-color, #ffffff);
background-color: var(--warp-view-button-bg-color, #004eff);
width: var(--warp-view-button-width, auto);
border-radius: var(--warp-view-button-border-radius, 0.25rem);
max-width: 100%;
}
:host button.discovery-btn.secondary {
border: 1px solid var(--warp-view-button-secondary-border-color, #a0a0a0);
background-color: var(--warp-view-button-secondary-bg-color, #a0a0a0);
color: var(--warp-view-button-secondary-label-color, #ffffff);
}
:host button.discovery-btn.prev {
margin: 0.25rem 0;
border: 1px solid var(--warp-view-input-border-color, #c0c0c0);
color: var(--warp-view-input-label-color, #404040);
background-color: var(--warp-view-input-bg-color, #ffffff);
border-radius: var(--warp-view-button-border-radius, 0.25rem);
border-top-right-radius: 0;
border-bottom-right-radius: 0;
width: auto ;
}
:host button.discovery-btn.prev:hover {
background-color: var(--warp-view-button-secondary-bg-color, #c0c0c0);
}
:host button.discovery-btn.next {
margin: 0.25rem 0;
border: 1px solid var(--warp-view-input-border-color, #c0c0c0);
color: var(--warp-view-input-label-color, #404040);
background-color: var(--warp-view-input-bg-color, #ffffff);
border-radius: var(--warp-view-button-border-radius, 0.25rem);
border-top-left-radius: 0;
border-bottom-left-radius: 0;
width: auto ;
}
:host button.discovery-btn.next:hover {
background-color: var(--warp-view-button-secondary-bg-color, #c0c0c0);
}
:host button:disabled {
background-color: var(--warp-view-button-disabled-bg-color, #c0c0c0) ;
color: var(--warp-view-button-disabled-label-color, #404040) ;
border: 1px solid var(--warp-view-button-disabled-border-color, #c0c0c0) ;
}
:host .daterangepicker {
position: absolute;
color: var(--warp-view-tooltip-label-color, #404040);
background-color: var(--warp-view-tooltip-bg-color, #ffffff);
border-radius: 4px;
border: 1px solid var(--warp-view-tooltip-border-color, #c0c0c0);
width: 528px;
max-width: none;
padding: 0;
margin-top: 7px;
top: 100px;
left: 20px;
z-index: 3001;
display: none;
font-size: 15px;
line-height: 1em;
}
:host .daterangepicker .ranges {
display: none;
}
:host .daterangepicker.with-range {
width: 669px;
}
:host .daterangepicker.with-range .ranges {
display: block;
}
:host .daterangepicker.sm {
width: 278px;
}
:host .daterangepicker .dp-wrapper {
display: flex;
flex-direction: row;
flex-wrap: wrap;
}
:host .daterangepicker:before, :host .daterangepicker:after {
position: absolute;
display: inline-block;
border-bottom-color: var(--warp-view-tooltip-border-color, #c0c0c0);
content: "";
}
:host .daterangepicker:before {
top: -7px;
border-right: 7px solid transparent;
border-left: 7px solid transparent;
border-bottom: 7px solid var(--warp-view-tooltip-border-color, #c0c0c0);
}
:host .daterangepicker:after {
top: -6px;
border-right: 6px solid transparent;
border-bottom: 6px solid var(--warp-view-tooltip-bg-color, #ffffff);
border-left: 6px solid transparent;
}
:host .daterangepicker.opensleft:before {
right: var(--pos, 9px);
}
:host .daterangepicker.opensleft:after {
right: calc(var(--pos, 9px) + 1);
}
:host .daterangepicker.openscenter:before {
left: 0;
right: 0;
width: 0;
margin-left: auto;
margin-right: auto;
}
:host .daterangepicker.openscenter:after {
left: 0;
right: 0;
width: 0;
margin-left: auto;
margin-right: auto;
}
:host .daterangepicker.opensright:before {
left: var(--pos, 9px);
}
:host .daterangepicker.opensright:after {
left: calc(var(--pos, 9px) + 1px);
}
:host .daterangepicker.drop-up {
margin-top: -7px;
}
:host .daterangepicker.drop-up:before {
top: initial;
bottom: -7px;
border-bottom: initial;
border-top: 7px solid var(--warp-view-tooltip-border-color, #c0c0c0);
}
:host .daterangepicker.drop-up:after {
top: initial;
bottom: -6px;
border-bottom: initial;
border-top: 6px solid var(--warp-view-tooltip-bg-color, #ffffff);
}
:host .daterangepicker.single .daterangepicker .ranges, :host .daterangepicker.single .drp-calendar {
float: none;
}
:host .daterangepicker.single .drp-selected {
display: none;
}
:host .daterangepicker.show-calendar .drp-calendar {
display: block;
}
:host .daterangepicker.show-calendar .drp-buttons {
display: block;
}
:host .daterangepicker.auto-apply .drp-buttons {
display: none;
}
:host .daterangepicker .drp-calendar {
display: none;
max-width: 270px;
}
:host .daterangepicker .drp-calendar.left {
padding: 8px 0 8px 8px;
}
:host .daterangepicker .drp-calendar.right {
padding: 8px;
}
:host .daterangepicker .drp-calendar.single .calendar-table {
border: none;
}
:host .daterangepicker .calendar-table .next span, :host .daterangepicker .calendar-table .prev span {
color: var(--warp-view-tooltip-bg-color, #ffffff);
border: solid var(--warp-view-font-color, #404040);
border-width: 0 2px 2px 0;
border-radius: 0;
display: inline-block;
padding: 3px;
}
:host .daterangepicker .calendar-table .next span {
transform: rotate(-45deg);
-webkit-transform: rotate(-45deg);
}
:host .daterangepicker .calendar-table .prev span {
transform: rotate(135deg);
-webkit-transform: rotate(135deg);
}
:host .daterangepicker .calendar-table th, :host .daterangepicker .calendar-table td {
white-space: nowrap;
text-align: center;
vertical-align: middle;
min-width: 32px;
width: 32px;
height: 24px;
line-height: 24px;
font-size: 12px;
border-radius: 4px;
border: 1px solid transparent;
cursor: pointer;
}
:host .daterangepicker .calendar-table {
border: 1px solid var(--warp-view-tooltip-bg-color, #ffffff);
border-radius: 4px;
background-color: var(--warp-view-tooltip-bg-color, #ffffff);
}
:host .daterangepicker .calendar-table table {
width: 100%;
margin: 0;
border-spacing: 0;
border-collapse: collapse;
}
:host .daterangepicker td.available:hover, :host .daterangepicker th.available:hover {
background-color: var(--warp-view-pagination-hover-bg-color, #c0c0c0);
border-color: transparent;
color: inherit;
}
:host .daterangepicker td.week, :host .daterangepicker th.week {
font-size: 80%;
color: var(--warp-view-pagination-hover-color, #c0c0c0);
}
:host .daterangepicker td.off, :host .daterangepicker td.off.in-range, :host .daterangepicker td.off.start-date, :host .daterangepicker td.off.end-date {
background-color: var(--warp-view-tooltip-bg-color, #ffffff);
border-color: transparent;
color: var(--warp-view-pagination-hover-color, #404040);
}
:host .daterangepicker td.in-range {
background-color: var(--warp-view-pagination-hover-bg-color, #c0c0c0);
border-color: transparent;
color: var(--warp-view-pagination-hover-color, #404040);
border-radius: 0;
}
:host .daterangepicker td.start-date {
border-radius: 4px 0 0 4px;
}
:host .daterangepicker td.end-date {
border-radius: 0 4px 4px 0;
}
:host .daterangepicker td.start-date.end-date {
border-radius: 4px;
}
:host .daterangepicker td.active, :host .daterangepicker td.active:hover {
background-color: var(--warp-view-button-bg-color, #004eff);
border-color: transparent;
color: var(--warp-view-button-label-color, #ffffff);
}
:host .daterangepicker th.month {
width: auto;
}
:host .daterangepicker td.disabled, :host .daterangepicker option.disabled {
color: var(--warp-view-button-secondary-label-color, #404040);
cursor: not-allowed;
text-decoration: line-through;
}
:host .daterangepicker select.monthselect, :host .daterangepicker select.yearselect {
font-size: 12px;
padding: 1px;
height: auto;
margin: 0;
cursor: default;
}
:host .daterangepicker select.monthselect {
margin-right: 2%;
width: 56%;
}
:host .daterangepicker select.yearselect {
width: 40%;
}
:host .daterangepicker select.hourselect, :host .daterangepicker select.minuteselect, :host .daterangepicker select.secondselect, :host .daterangepicker select.ampmselect {
width: 50px;
margin: 0 auto;
background: var(--warp-view-input-bg-color, #ffffff);
border: 1px solid var(--warp-view-input-border-color, #c0c0c0);
color: var(--warp-view-input-label-color, #404040);
padding: 2px;
outline: 0;
font-size: 12px;
}
:host .daterangepicker .calendar-time {
text-align: center;
margin: 4px auto 0 auto;
line-height: 30px;
position: relative;
}
:host .daterangepicker .calendar-time select.disabled {
color: var(--warp-view-button-secondary-border-color, #c0c0c0);
cursor: not-allowed;
}
:host .daterangepicker .drp-buttons {
clear: both;
text-align: right;
padding: 8px;
border-top: 1px solid var(--warp-view-tooltip-border-color, #c0c0c0);
display: none;
line-height: 12px;
vertical-align: middle;
}
:host .daterangepicker .drp-selected {
display: inline-block;
font-size: 12px;
padding-right: 8px;
}
:host .daterangepicker .drp-buttons .btn {
margin-left: 8px;
font-size: 12px;
font-weight: bold;
padding: 4px 8px;
}
:host .daterangepicker.show-ranges.single.rtl .drp-calendar.left {
border-right: 1px solid var(--warp-view-tooltip-border-color, #c0c0c0);
}
:host .daterangepicker.show-ranges.single.ltr .drp-calendar.left {
border-left: 1px solid var(--warp-view-tooltip-border-color, #c0c0c0);
}
:host .daterangepicker.show-ranges.rtl .drp-calendar.right {
border-right: 1px solid var(--warp-view-tooltip-border-color, #c0c0c0);
}
:host .daterangepicker.show-ranges.ltr .drp-calendar.left {
border-left: 1px solid var(--warp-view-tooltip-border-color, #c0c0c0);
}
:host .daterangepicker .ranges {
float: none;
text-align: left;
margin: 0;
flex-grow: 1;
}
:host .daterangepicker .ranges ul {
width: 100%;
}
:host .daterangepicker.show-calendar .ranges {
margin-top: 8px;
}
:host .daterangepicker .ranges ul {
list-style: none;
margin: 0 auto;
padding: 0;
width: 100%;
}
:host .daterangepicker .ranges li {
font-size: 12px;
padding: 8px 12px;
cursor: pointer;
}
:host .daterangepicker .ranges li:hover {
background-color: var(--warp-view-pagination-hover-bg-color, #c0c0c0);
}
:host .daterangepicker .ranges li.active {
background-color: var(--warp-view-button-bg-color, #004eff);
color: var(--warp-view-button-label-color, #ffffff);
}
@media (min-width: 564px) {
:host .daterangepicker.single .ranges ul {
width: 100%;
}
:host .daterangepicker.single .drp-calendar.left {
clear: none;
}
:host .daterangepicker.single .ranges, :host .daterangepicker.single .drp-calendar {
float: left;
}
:host .daterangepicker {
direction: ltr;
text-align: left;
}
:host .daterangepicker .drp-calendar.left {
clear: left;
margin-right: 0;
}
:host .daterangepicker .drp-calendar.left .calendar-table {
border-right: none;
border-top-right-radius: 0;
border-bottom-right-radius: 0;
}
:host .daterangepicker .drp-calendar.right {
margin-left: 0;
}
:host .daterangepicker .drp-calendar.right .calendar-table {
border-left: none;
border-top-left-radius: 0;
border-bottom-left-radius: 0;
}
:host .daterangepicker .drp-calendar.left .calendar-table {
padding-right: 8px;
}
:host .daterangepicker .ranges, :host .daterangepicker .drp-calendar {
float: left;
}
}
@media (min-width: 730px) {
:host .daterangepicker .ranges {
width: auto;
}
:host .daterangepicker .ranges {
float: left;
}
:host .daterangepicker.rtl .ranges {
float: right;
}
:host .daterangepicker .drp-calendar.left {
clear: none ;
}
}