601 lines
12 KiB
CSS
601 lines
12 KiB
CSS
/*
|
|
|
|
This CSS file will be included with your plugin, and
|
|
available in the app when your plugin is enabled.
|
|
|
|
If your plugin does not need CSS, delete this file.
|
|
|
|
*/
|
|
|
|
.taskido {
|
|
cursor: default;
|
|
user-select: none;
|
|
margin-bottom: 15%;
|
|
--taskido-color-warning: var(--color-red);
|
|
--taskido-color-focus: var(--interactive-accent);
|
|
--taskido-color-focus-hsl: var(--interactive-accent-hsl);
|
|
--taskido-color-overdue: var(--taskido-color-warning);
|
|
--taskido-color-done: var(--color-green);
|
|
--taskido-color-process: var(--color-orange);
|
|
}
|
|
|
|
.taskido a {
|
|
text-decoration: none !important;
|
|
color: inherit !important;
|
|
}
|
|
|
|
.taskido span {
|
|
display: contents;
|
|
}
|
|
|
|
.taskido .task .internal-link,
|
|
.taskido .task .external-link {
|
|
color: var(--interactive-accent);
|
|
text-decoration: underline !important;
|
|
}
|
|
|
|
.taskido .year {
|
|
font-size: 30px;
|
|
font-weight: bold;
|
|
margin: 20px 0;
|
|
color: var(--text-normal);
|
|
text-align: center;
|
|
}
|
|
|
|
.taskido .details {
|
|
display: flex;
|
|
flex-direction: column;
|
|
flex-wrap: nowrap;
|
|
width: 100%;
|
|
height: auto;
|
|
}
|
|
|
|
.taskido .todayHeader {
|
|
font-size: 24px;
|
|
font-weight: bold;
|
|
text-align: center;
|
|
margin: 10px 5px;
|
|
border-radius: 10px;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.taskido .details.today .date {
|
|
color: var(--taskido-color-focus);
|
|
}
|
|
|
|
.taskido .counters {
|
|
display: flex;
|
|
flex-direction: row;
|
|
flex-wrap: nowrap;
|
|
justify-content: center;
|
|
align-content: center;
|
|
margin: 20px 0;
|
|
}
|
|
|
|
.taskido .counter {
|
|
display: flex;
|
|
flex-direction: column;
|
|
flex-wrap: nowrap;
|
|
color: var(--text-normal);
|
|
border-radius: 10px;
|
|
padding: 5px;
|
|
text-align: center;
|
|
flex: 1 1 0;
|
|
margin: 0 5px;
|
|
min-width: 70px;
|
|
max-width: 150px;
|
|
overflow: hidden;
|
|
background: var(--interactive-normal);
|
|
box-shadow: var(--input-shadow);
|
|
cursor: pointer;
|
|
}
|
|
|
|
.taskido .count {
|
|
font-size: 18px;
|
|
font-weight: normal;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.taskido .counter .label {
|
|
font-size: 12px;
|
|
font-weight: normal;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.taskido .dateLine {
|
|
display: flex;
|
|
flex-direction: row;
|
|
flex-wrap: nowrap;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
margin: 10px 0;
|
|
}
|
|
|
|
.taskido .date {
|
|
color: var(--text-normal);
|
|
font-size: 16px;
|
|
font-weight: bold;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.taskido .weekday {
|
|
color: var(--text-normal);
|
|
font-weight: normal;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
font-size: 16px;
|
|
}
|
|
|
|
.taskido .task {
|
|
display: flex;
|
|
flex-direction: row;
|
|
flex-wrap: nowrap;
|
|
border-radius: 10px;
|
|
padding: 0;
|
|
margin: 0;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.taskido .timeline,
|
|
.taskido .lines {
|
|
display: flex;
|
|
flex-direction: column;
|
|
flex-wrap: nowrap;
|
|
cursor: default;
|
|
}
|
|
|
|
.taskido .timeline {
|
|
width: 50px;
|
|
flex-shrink: 0;
|
|
flex-grow: 0;
|
|
align-items: center;
|
|
}
|
|
|
|
.taskido .lines {
|
|
flex-shrink: 1;
|
|
flex-grow: 1;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.taskido .task .timeline::after {
|
|
content: "";
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
flex-shrink: 1;
|
|
flex-grow: 1;
|
|
position: relative;
|
|
margin-top: 3px;
|
|
margin-bottom: 3px;
|
|
width: 1.2px;
|
|
background: var(--checkbox-border-color);
|
|
}
|
|
|
|
.taskido .task.overdue .timeline::after,
|
|
.taskido .task[data-task='>'] .timeline::after {
|
|
background-color: var(--taskido-color-overdue);
|
|
}
|
|
|
|
.taskido .task.done .timeline::after,
|
|
.taskido .task[data-task='x'] .timeline::after {
|
|
background-color: var(--taskido-color-done);
|
|
}
|
|
|
|
.taskido .task.process .timeline::after,
|
|
.taskido .task.scheduled .timeline::after,
|
|
.taskido .task.start .timeline::after,
|
|
.taskido .task[data-task='<'] .timeline::after {
|
|
background-color: var(--taskido-color-process);
|
|
}
|
|
|
|
.taskido .task.overdue .timeline .icon svg {
|
|
stroke: var(--taskido-color-overdue) !important;
|
|
}
|
|
|
|
.taskido .task.done .timeline .icon svg {
|
|
stroke: var(--taskido-color-done) !important;
|
|
}
|
|
|
|
.taskido .task.process .timeline .icon svg,
|
|
.taskido .task.scheduled .timeline .icon svg,
|
|
.taskido .task.start .timeline .icon svg {
|
|
stroke: var(--taskido-color-process);
|
|
}
|
|
|
|
|
|
.taskido .task.done .info .tag,
|
|
.taskido .task.done .info .repeat,
|
|
.taskido .task.done .info .priority,
|
|
.taskido .task.done .info .relative,
|
|
.taskido .task.done .info .file,
|
|
.taskido .task.cancelled .info .tag,
|
|
.taskido .task.cancelled .info .repeat,
|
|
.taskido .task.cancelled .info .priority,
|
|
.taskido .task.cancelled .info .relative,
|
|
.taskido .task.cancelled .info .file {
|
|
color: var(--text-muted) !important;
|
|
line-height: 0;
|
|
}
|
|
|
|
.taskido .task.done .content,
|
|
.taskido .task.cancelled .content {
|
|
text-decoration: line-through;
|
|
color: var(--text-muted);
|
|
}
|
|
|
|
.taskido .line {
|
|
display: flex;
|
|
flex-direction: row;
|
|
flex-wrap: wrap;
|
|
align-items: center;
|
|
}
|
|
|
|
.taskido .task .timeline input[type='checkbox']:not(.icon) {
|
|
margin-top: calc(11px - var(--checkbox-size) / 2.0);
|
|
margin-left: 0;
|
|
margin-right: 0;
|
|
}
|
|
|
|
.taskido .icon {
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
flex-shrink: 0;
|
|
flex-grow: 0;
|
|
text-align: center;
|
|
}
|
|
|
|
.taskido .timeline icon {
|
|
text-align: center;
|
|
height: 22px;
|
|
padding: 0;
|
|
margin: 0;
|
|
background-position: center;
|
|
}
|
|
|
|
.taskido .timeline input.icon,
|
|
.taskido .timeline input.icon:checked {
|
|
visibility: hidden;
|
|
height: 0;
|
|
}
|
|
|
|
.taskido .timeline .icon svg {
|
|
height: var(--checkbox-size);
|
|
width: var(--checkbox-size);
|
|
stroke-width: 1.75px;
|
|
color: var(--checkbox-border-color);
|
|
scale: 1.2;
|
|
}
|
|
|
|
.taskido .timeline .icon svg:hover {
|
|
color: var(--checkbox-border-color-hover);
|
|
scale: 1.3;
|
|
}
|
|
|
|
.taskido .task .info {
|
|
line-height: 22px;
|
|
padding-bottom: 2px;
|
|
cursor: default;
|
|
}
|
|
|
|
.taskido .task .info:empty {
|
|
display: none;
|
|
}
|
|
|
|
.taskido .task .content {
|
|
display: block;
|
|
white-space: break-word;
|
|
font-size: 15px;
|
|
font-weight: normal;
|
|
color: var(--text-normal);
|
|
line-height: 22px;
|
|
}
|
|
|
|
.taskido .task .info .tag,
|
|
.taskido .task .info .repeat,
|
|
.taskido .task .info .priority,
|
|
.taskido .task .info .relative,
|
|
.taskido .task .info .file {
|
|
display: flex;
|
|
flex-direction: row;
|
|
flex-wrap: nowrap;
|
|
align-items: center;
|
|
width: auto;
|
|
font-size: 9px;
|
|
font-weight: normal;
|
|
margin: 2px 5px 2px 0;
|
|
color: var(--text-muted);
|
|
padding: 0px;
|
|
border: none;
|
|
line-height: 1 !important;
|
|
padding: 0;
|
|
border-radius: 3px !important;
|
|
}
|
|
|
|
.taskido .task .info .file {
|
|
color: var(--task-color);
|
|
}
|
|
|
|
.taskido .task .info .tag {
|
|
color: var(--tag-color) !important;
|
|
background: none !important;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.taskido .info .icon {
|
|
text-align: center;
|
|
height: 15px;
|
|
}
|
|
|
|
.taskido .info .label {
|
|
margin-left: 2px;
|
|
}
|
|
|
|
.taskido .info svg {
|
|
height: 12px;
|
|
width: 12px;
|
|
stroke-width: 1.75px;
|
|
}
|
|
|
|
.taskido .task.overdue .info .relative {
|
|
color: var(--taskido-color-overdue) !important;
|
|
}
|
|
|
|
/* Quick Entry Panel */
|
|
.taskido .quickEntryPanel {
|
|
display: flex;
|
|
flex-direction: row;
|
|
flex-wrap: nowrap;
|
|
background: var(--background-modifier-form-field);
|
|
border: var(--input-border-width) solid var(--background-modifier-border);
|
|
color: var(--text-normal);
|
|
border-radius: 10px;
|
|
box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.1);
|
|
margin: 0 5px 20px 5px;
|
|
overflow: hidden;
|
|
padding: 5px;
|
|
}
|
|
|
|
.taskido .quickEntryPanel .left {
|
|
width: 100%;
|
|
flex-shrink: 1;
|
|
flex-grow: 1;
|
|
overflow: hidden;
|
|
border-radius: 5px;
|
|
padding: 0 5px !important;
|
|
}
|
|
|
|
.taskido .quickEntryPanel .left .actionSelect {
|
|
display: flex;
|
|
flex-direction: row;
|
|
flex-wrap: nowrap;
|
|
align-items: center;
|
|
}
|
|
|
|
.taskido .quickEntryPanel .left .actionSelect .actionName {
|
|
max-width: 20%;
|
|
}
|
|
|
|
.taskido .quickEntryPanel .left .actionSelect .filterSelector {
|
|
max-width: 20%;
|
|
}
|
|
|
|
.taskido .quickEntryPanel .left .dateFilter {
|
|
max-width: fit-content;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.taskido .quickEntryPanel .left .dateFilter input[type=date] {
|
|
width: fit-content;
|
|
}
|
|
|
|
.taskido .quickEntryPanel .MultiSelect {
|
|
display: flex;
|
|
flex-direction: row;
|
|
flex-wrap: wrap;
|
|
justify-content: flex-end;
|
|
align-items: center;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.taskido .quickEntryPanel .right {
|
|
display: block;
|
|
width: auto;
|
|
flex-shrink: 1;
|
|
flex-grow: 1;
|
|
overflow: hidden;
|
|
border-radius: 5px;
|
|
}
|
|
|
|
.taskido .quickEntryPanel select,
|
|
.taskido .quickEntryPanel input,
|
|
.taskido .quickEntryPanel button {
|
|
box-shadow: none !important;
|
|
border: none !important;
|
|
background: none !important;
|
|
border-radius: 0 !important;
|
|
}
|
|
|
|
.taskido .quickEntryPanel select,
|
|
.taskido .quickEntryPanel button {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.taskido .quickEntryPanel input {
|
|
cursor: text;
|
|
}
|
|
|
|
.taskido .quickEntryPanel select {
|
|
height: 15px;
|
|
width: 100%;
|
|
font-size: 11px;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
padding: 0 !important;
|
|
margin: 2.5px 0 !important;
|
|
color: var(--text-muted);
|
|
}
|
|
|
|
.taskido .quickEntryPanel select:hover,
|
|
.taskido .quickEntryPanel button:hover {
|
|
color: var(--text-normal);
|
|
}
|
|
|
|
.taskido .quickEntryPanel select option,
|
|
.taskido .quickEntryPanel select optgroup {
|
|
background: var(--background-primary);
|
|
font-weight: normal;
|
|
color: var(--text-normal);
|
|
}
|
|
|
|
.taskido .quickEntryPanel input {
|
|
height: 20px;
|
|
line-height: 20px;
|
|
width: 100%;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
padding: 0 !important;
|
|
margin: 0 !important;
|
|
font-size: 14px;
|
|
}
|
|
|
|
.taskido .quickEntryPanel button {
|
|
display: flex;
|
|
flex-direction: row;
|
|
flex-wrap: nowrap;
|
|
justify-content: center;
|
|
align-items: center;
|
|
height: 100%;
|
|
width: auto;
|
|
padding: 0 5px !important;
|
|
margin: 0 !important;
|
|
color: var(--text-muted);
|
|
}
|
|
|
|
.taskido .quickEntryPanel svg {
|
|
height: 15px;
|
|
width: 15px;
|
|
stroke-width: 1.75px;
|
|
}
|
|
|
|
.taskido .quickEntryPanel select:active,
|
|
.taskido .quickEntryPanel input:active,
|
|
.taskido .quickEntryPanel button:active {
|
|
border: none !important;
|
|
box-shadow: none !important;
|
|
transition: none !important;
|
|
}
|
|
|
|
/* Classes */
|
|
.taskido.todayFocus .todayHeader {
|
|
color: var(--taskido-color-focus);
|
|
}
|
|
|
|
.taskido.todoFocus .counter#todo,
|
|
.taskido.todoFilter .counter#todo,
|
|
.taskido.overdueFocus .counter#overdue,
|
|
.taskido.overdueFilter .counter#overdue,
|
|
.taskido.unplannedFocus .counter#unplanned,
|
|
.taskido.unplannedFilter .counter#unplanned {
|
|
color: var(--taskido-color-focus);
|
|
background: hsla(var(--taskido-color-focus-hsl), 0.2);
|
|
box-shadow: var(--input-shadow);
|
|
}
|
|
|
|
.taskido.noYear .year,
|
|
.taskido.noRepeat .repeat,
|
|
.taskido.noTag .tag,
|
|
.taskido.noPriority .priority,
|
|
.taskido.noFile .task .file,
|
|
.taskido.noHeader .task .header,
|
|
.taskido.noFile .task .info>.file,
|
|
.taskido.noInfo .task .line:nth-child(2),
|
|
.taskido.noDone .year[data-types="done"],
|
|
.taskido.noDone .details[data-types="done"],
|
|
.taskido.noDone .task.done,
|
|
.taskido.noUnplanned .task.unplanned,
|
|
.taskido.noUnplanned .counter#unplanned,
|
|
.taskido.noUnplanned .year[data-types="unplanned"],
|
|
.taskido.noUnplanned .details[data-types="unplanned"],
|
|
.taskido.noRelative .relative,
|
|
.taskido.noQuickEntry .quickEntryPanel,
|
|
.taskido.noCounters .counters {
|
|
display: none !important;
|
|
}
|
|
|
|
.taskido.noColor .task .file {
|
|
color: var(--text-muted) !important
|
|
}
|
|
|
|
.taskido.noColor .task .info .file {
|
|
color: var(--text-muted) !important
|
|
}
|
|
|
|
/* Focus */
|
|
.taskido.todayFocus .details:not(.today),
|
|
.taskido.todayFocus .year {
|
|
display: none !important;
|
|
}
|
|
|
|
.taskido.todayFocus .details.today {
|
|
padding: 0;
|
|
}
|
|
|
|
.taskido.todoFocus .task.due,
|
|
.taskido.todoFocus .task.scheduled,
|
|
.taskido.todoFocus .task.process,
|
|
.taskido.todoFocus .task.start,
|
|
.taskido.overdueFocus .task.overdue,
|
|
.taskido.unplannedFocus .task.unplanned {
|
|
background: hsla(var(--taskido-color-focus-hsl), 0.2);
|
|
}
|
|
|
|
.taskido .task:hover {
|
|
background: hsla(var(--taskido-color-focus-hsl), 0.2);
|
|
}
|
|
|
|
/* Filter */
|
|
.taskido.todoFilter .year:not([data-types~="due"]):not([data-types~="scheduled"]):not([data-types~="process"]):not([data-types~="start"]) {
|
|
display: none;
|
|
}
|
|
|
|
.taskido.todoFilter .details:not([data-types~="due"]):not([data-types~="scheduled"]):not([data-types~="process"]):not([data-types~="start"]) {
|
|
display: none;
|
|
}
|
|
|
|
.taskido.todoFilter .task:not(.due, .scheduled, .process, .start) {
|
|
display: none;
|
|
}
|
|
|
|
.taskido.overdueFilter .year:not([data-types*="overdue"]) {
|
|
display: none;
|
|
}
|
|
|
|
.taskido.overdueFilter .details:not([data-types*="overdue"]) {
|
|
display: none;
|
|
}
|
|
|
|
.taskido.overdueFilter .task:not(.overdue) {
|
|
display: none;
|
|
}
|
|
|
|
.taskido.unplannedFilter .year:not([data-types*="unplanned"]) {
|
|
display: none;
|
|
}
|
|
|
|
.taskido.unplannedFilter .details:not([data-types*="unplanned"]) {
|
|
display: none;
|
|
}
|
|
|
|
.taskido.unplannedFilter .task:not(.unplanned) {
|
|
display: none;
|
|
} |