/* ========================================================================== 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); }