mirror of
https://github.com/devonthesofa/obsidian-note-status.git
synced 2026-07-22 05:45:04 +00:00
486 lines
10 KiB
CSS
486 lines
10 KiB
CSS
/* ==========================================================================
|
|
Settings UI Components
|
|
========================================================================== */
|
|
|
|
/* Settings use Obsidian's built-in classes mostly */
|
|
|
|
.note-status-settings__intro {
|
|
background: var(--background-secondary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-m);
|
|
padding: var(--size-4-3);
|
|
margin-bottom: var(--size-4-3);
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-2);
|
|
}
|
|
|
|
.note-status-settings__description {
|
|
margin: 0;
|
|
color: var(--text-normal);
|
|
line-height: 1.5;
|
|
}
|
|
|
|
.note-status-settings__support {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-1);
|
|
margin-top: var(--size-4-1);
|
|
}
|
|
|
|
.note-status-settings__support-link {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-4-2);
|
|
padding: var(--size-2-3) var(--size-4-3);
|
|
background: var(--background-primary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-m);
|
|
color: var(--text-normal);
|
|
font-size: var(--font-ui-small);
|
|
cursor: pointer;
|
|
transition: all var(--anim-duration-fast) ease;
|
|
text-align: left;
|
|
width: 100%;
|
|
}
|
|
|
|
.note-status-settings__support-link img {
|
|
display: block;
|
|
border-radius: var(--radius-s);
|
|
}
|
|
|
|
.note-status-settings__support-link:hover {
|
|
background: var(--background-modifier-hover);
|
|
border-color: var(--interactive-accent);
|
|
transform: translateX(4px);
|
|
}
|
|
|
|
.note-status-settings__support-link .status-icon {
|
|
color: var(--interactive-accent);
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.note-status-settings__support-link-label {
|
|
font-weight: var(--font-medium);
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.note-status-settings__support-link-url {
|
|
font-family: var(--font-monospace);
|
|
font-size: 0.85em;
|
|
color: var(--text-muted);
|
|
margin-left: auto;
|
|
opacity: 0.7;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
.note-status-settings__support-link:hover
|
|
.note-status-settings__support-link-url {
|
|
color: var(--text-accent);
|
|
opacity: 1;
|
|
}
|
|
|
|
.note-status-section {
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-m);
|
|
background: var(--background-primary);
|
|
margin-bottom: var(--size-4-3);
|
|
overflow: hidden;
|
|
}
|
|
|
|
.note-status-section__header {
|
|
height: 100%;
|
|
width: 100%;
|
|
display: flex;
|
|
align-items: flex-start;
|
|
justify-content: space-between;
|
|
gap: var(--size-4-1);
|
|
padding: var(--size-4-2) var(--size-4-3);
|
|
background: var(--background-secondary);
|
|
border: none;
|
|
color: inherit;
|
|
cursor: pointer;
|
|
text-align: left;
|
|
}
|
|
|
|
.note-status-section__header:hover {
|
|
background: var(--background-modifier-hover);
|
|
}
|
|
|
|
.note-status-section__title-block {
|
|
flex: 1;
|
|
min-width: 0;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-2-1);
|
|
}
|
|
|
|
.note-status-section__title-block .setting-item-name,
|
|
.note-status-section__title-block .setting-item-description {
|
|
white-space: normal;
|
|
line-height: 1.4;
|
|
}
|
|
|
|
.note-status-section__title-block .setting-item-description {
|
|
color: var(--text-muted);
|
|
}
|
|
|
|
.note-status-section__chevron {
|
|
font-size: var(--font-ui-medium);
|
|
color: var(--text-muted);
|
|
}
|
|
|
|
.note-status-section__content {
|
|
padding: var(--size-4-3);
|
|
border-top: 1px solid var(--background-modifier-border);
|
|
}
|
|
|
|
.note-status-settings__stack {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-4-3);
|
|
}
|
|
|
|
/* Custom additions for Note Status settings */
|
|
.setting-item-full {
|
|
width: 100%;
|
|
}
|
|
|
|
.setting-item-vertical {
|
|
flex-direction: column;
|
|
align-items: flex-start;
|
|
gap: var(--size-2-2);
|
|
}
|
|
|
|
.ui-settings__no-status-input {
|
|
max-width: 150px;
|
|
}
|
|
|
|
/* Custom Status Item - BEM Methodology */
|
|
.custom-status-item {
|
|
background: var(--background-secondary);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-m);
|
|
padding: var(--size-4-3);
|
|
margin-bottom: var(--size-4-2);
|
|
transition: all var(--anim-duration-fast) ease;
|
|
}
|
|
|
|
.custom-status-item:hover {
|
|
border-color: var(--interactive-hover);
|
|
}
|
|
|
|
.custom-status-item__row {
|
|
display: flex;
|
|
align-items: end;
|
|
gap: var(--size-4-2);
|
|
margin-bottom: var(--size-4-2);
|
|
}
|
|
|
|
.custom-status-item__row--icons {
|
|
align-items: stretch;
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.custom-status-item__field {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-2-1);
|
|
}
|
|
|
|
.custom-status-item__field--icon,
|
|
.custom-status-item__field--lucide {
|
|
flex: 1;
|
|
min-width: 240px;
|
|
}
|
|
|
|
.custom-status-item__field--name {
|
|
flex: 2;
|
|
min-width: 120px;
|
|
}
|
|
|
|
.custom-status-item__field--description {
|
|
flex: 2;
|
|
min-width: 120px;
|
|
}
|
|
|
|
.custom-status-item__field--color {
|
|
flex: 0 0 auto;
|
|
}
|
|
|
|
.custom-status-item__field--reorder {
|
|
flex: 0 0 auto;
|
|
padding-top: var(--size-4-1);
|
|
}
|
|
|
|
.custom-status-item__field--actions {
|
|
flex: 0 0 auto;
|
|
padding-top: var(--size-4-1);
|
|
}
|
|
|
|
.custom-status-item__label {
|
|
font-size: var(--font-ui-smaller);
|
|
font-weight: var(--font-medium);
|
|
color: var(--text-muted);
|
|
margin-bottom: var(--size-2-1);
|
|
}
|
|
|
|
.custom-status-item__label--required {
|
|
color: var(--text-error);
|
|
}
|
|
|
|
.custom-status-item__input {
|
|
/* Base input styles handled by Input component */
|
|
}
|
|
|
|
.custom-status-item__input--icon {
|
|
width: 100% !important;
|
|
text-align: left;
|
|
font-size: 1em;
|
|
}
|
|
|
|
.custom-status-item__hint {
|
|
margin: 0;
|
|
font-size: var(--font-ui-smaller);
|
|
color: var(--text-muted);
|
|
}
|
|
|
|
.custom-status-item__input--name {
|
|
font-weight: var(--font-medium);
|
|
}
|
|
|
|
.custom-status-item__input--name.custom-status-item__input--invalid {
|
|
border-color: var(--text-error) !important;
|
|
background: var(--background-modifier-error) !important;
|
|
}
|
|
|
|
.custom-status-item__input--description {
|
|
color: var(--text-muted);
|
|
}
|
|
|
|
.custom-status-item__input--color {
|
|
width: 40px !important;
|
|
height: 32px !important;
|
|
border-radius: var(--radius-s);
|
|
cursor: pointer;
|
|
border: 2px solid var(--background-modifier-border) !important;
|
|
}
|
|
|
|
.custom-status-item__input--color:hover {
|
|
border-color: var(--interactive-hover) !important;
|
|
}
|
|
|
|
.custom-status-item__remove-btn {
|
|
width: 32px;
|
|
height: 32px;
|
|
border-radius: var(--radius-s);
|
|
background: var(--background-modifier-error);
|
|
color: var(--text-on-accent);
|
|
border: none;
|
|
cursor: pointer;
|
|
font-size: 18px;
|
|
font-weight: bold;
|
|
transition: all var(--anim-duration-fast) ease;
|
|
}
|
|
|
|
.custom-status-item__remove-btn:hover {
|
|
background: var(--text-error);
|
|
transform: scale(1.05);
|
|
}
|
|
|
|
.custom-status-item__reorder-buttons {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 2px;
|
|
}
|
|
|
|
.custom-status-item__reorder-btn {
|
|
width: 24px;
|
|
height: 24px;
|
|
border-radius: var(--radius-s);
|
|
background: var(--background-modifier-border);
|
|
color: var(--text-normal);
|
|
border: none;
|
|
cursor: pointer;
|
|
font-size: 12px;
|
|
font-weight: bold;
|
|
transition: all var(--anim-duration-fast) ease;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
line-height: 1;
|
|
}
|
|
|
|
.custom-status-item__reorder-btn:hover:not(:disabled) {
|
|
background: var(--interactive-hover);
|
|
transform: scale(1.05);
|
|
}
|
|
|
|
.custom-status-item__reorder-btn:disabled {
|
|
opacity: 0.5;
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
.custom-status-item__preview {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-2-2);
|
|
padding: var(--size-2-3) var(--size-4-2);
|
|
background: var(--background-primary-alt);
|
|
border-radius: var(--radius-s);
|
|
border-left: 3px solid var(--background-modifier-border);
|
|
font-size: var(--font-ui-small);
|
|
}
|
|
|
|
.custom-status-item__preview-icon {
|
|
font-size: 1.1em;
|
|
min-width: 20px;
|
|
text-align: center;
|
|
}
|
|
|
|
.custom-status-item__preview-text {
|
|
font-weight: var(--font-medium);
|
|
}
|
|
|
|
.custom-status-item__preview-desc {
|
|
color: var(--text-muted);
|
|
font-style: italic;
|
|
}
|
|
|
|
.custom-status-item__preview-desc::before {
|
|
content: "— ";
|
|
}
|
|
|
|
.custom-status-item__error {
|
|
color: var(--text-error);
|
|
font-size: var(--font-ui-smaller);
|
|
margin-top: var(--size-2-1);
|
|
padding: var(--size-2-1) var(--size-2-2);
|
|
background: var(--background-modifier-error);
|
|
border-radius: var(--radius-s);
|
|
border-left: 3px solid var(--text-error);
|
|
}
|
|
|
|
/* Custom Status List - BEM */
|
|
.custom-status-list {
|
|
/* Container for multiple custom status items */
|
|
}
|
|
|
|
.custom-status-list__empty {
|
|
text-align: center;
|
|
padding: var(--size-4-4) var(--size-4-2);
|
|
color: var(--text-muted);
|
|
font-style: italic;
|
|
border: 2px dashed var(--background-modifier-border);
|
|
border-radius: var(--radius-m);
|
|
background: var(--background-primary-alt);
|
|
}
|
|
|
|
.custom-status-list__empty p {
|
|
margin: 0;
|
|
}
|
|
|
|
/* Status Group for Quick Commands */
|
|
.status-group {
|
|
margin-bottom: var(--size-4-4);
|
|
padding: var(--size-4-3);
|
|
background: var(--background-primary-alt);
|
|
border-radius: var(--radius-m);
|
|
border: 1px solid var(--background-modifier-border);
|
|
}
|
|
|
|
.status-group__header {
|
|
margin-bottom: var(--size-4-2);
|
|
padding-bottom: var(--size-2-2);
|
|
border-bottom: 1px solid var(--background-modifier-border);
|
|
}
|
|
|
|
.status-group__title {
|
|
font-weight: var(--font-semibold);
|
|
color: var(--text-normal);
|
|
font-size: var(--font-ui-medium);
|
|
}
|
|
|
|
.status-group__description {
|
|
font-size: var(--font-ui-smaller);
|
|
color: var(--text-muted);
|
|
margin-top: var(--size-2-1);
|
|
line-height: var(--line-height-tight);
|
|
}
|
|
|
|
.status-group__items {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--size-2-2);
|
|
}
|
|
|
|
/* Status Selector for Quick Commands */
|
|
.status-selector {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
padding: var(--size-2-3) var(--size-4-2);
|
|
border: 1px solid var(--background-modifier-border);
|
|
border-radius: var(--radius-m);
|
|
background: var(--background-primary);
|
|
cursor: pointer;
|
|
transition: all var(--anim-duration-fast) ease;
|
|
position: relative;
|
|
}
|
|
|
|
.status-selector:hover {
|
|
background: var(--background-modifier-hover);
|
|
border-color: var(--background-modifier-border-hover);
|
|
}
|
|
|
|
.status-selector--selected {
|
|
background: var(--background-modifier-success);
|
|
border-color: var(--interactive-success);
|
|
}
|
|
|
|
.status-selector--selected:hover {
|
|
background: var(--background-modifier-success-hover);
|
|
}
|
|
|
|
.status-selector__content {
|
|
flex: 1;
|
|
min-width: 0;
|
|
}
|
|
|
|
.status-selector__status {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--size-2-2);
|
|
margin-bottom: var(--size-2-1);
|
|
}
|
|
|
|
.status-selector__icon {
|
|
font-size: var(--font-ui-medium);
|
|
width: var(--size-4-3);
|
|
text-align: center;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.status-selector__name {
|
|
font-weight: var(--font-medium);
|
|
color: var(--text-normal);
|
|
}
|
|
|
|
.status-selector__description {
|
|
font-size: var(--font-ui-smaller);
|
|
color: var(--text-muted);
|
|
line-height: var(--line-height-tight);
|
|
}
|
|
|
|
.status-selector__checkbox {
|
|
margin-left: var(--size-4-2);
|
|
pointer-events: none;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
/* Quick Commands Container */
|
|
.quick-commands-container {
|
|
margin-top: var(--size-4-2);
|
|
}
|