Files
waypoint/styles.css
T
olivier 7a5be506e0 feat: drag onto file bookmark creates parent note + fix calendar layout
Drag-and-drop:
- Dropping a bookmark onto a file bookmark (middle zone) creates a new
  parent note group containing both items
- Dropping onto a group still moves into the group as before
- All file/group bookmarks now accept drops (3-zone behavior)

Calendar:
- Fixed broken table layout caused by display:flex on td elements
- Uses vertical-align:middle instead for cell content centering
- Calendar cells still have configurable height via CSS variable
2026-06-12 13:18:25 -04:00

393 lines
8.1 KiB
CSS

/* ── Waypoint Base ── */
.waypoint-view {
padding: 8px;
display: flex;
flex-direction: column;
height: 100%;
overflow-y: auto;
}
.waypoint-view .waypoint-section {
margin-bottom: 16px;
flex-shrink: 0;
}
.waypoint-view .waypoint-section:last-child {
margin-top: auto;
margin-bottom: 0;
}
.waypoint-view .waypoint-section-header {
font-size: var(--font-ui-small);
font-weight: var(--font-semibold);
color: var(--text-muted);
text-transform: uppercase;
letter-spacing: 0.05em;
margin-bottom: 4px;
padding-bottom: 4px;
border-bottom: 1px solid var(--background-modifier-border);
display: flex;
align-items: center;
gap: 6px;
}
.waypoint-header-more {
margin-left: auto;
background: none;
border: none;
cursor: var(--cursor);
color: var(--text-faint);
padding: 2px 4px;
border-radius: 4px;
display: flex;
align-items: center;
justify-content: center;
transition: color 80ms, background 80ms;
box-shadow: none;
opacity: 0.6;
}
.waypoint-header-more:hover {
color: var(--text-normal);
background: none;
opacity: 1;
}
/* ── Calendar ── */
.waypoint-calendar {
font-size: var(--font-ui-small);
}
.waypoint-calendar-top {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: 10px;
}
.waypoint-calendar-breadcrumb {
display: flex;
align-items: center;
gap: 6px;
font-size: var(--font-ui-medium);
font-weight: var(--font-semibold);
padding: 4px 0;
}
.waypoint-calendar-breadcrumb .waypoint-clickable {
color: var(--text-muted);
cursor: var(--cursor);
padding: 1px 4px;
border-radius: 4px;
}
.waypoint-calendar-breadcrumb .waypoint-clickable:hover {
color: var(--text-accent);
background-color: var(--background-modifier-active-hover);
}
.waypoint-calendar .waypoint-separator {
color: var(--text-faint);
margin: 0 2px;
}
.waypoint-calendar-today-group {
display: flex;
align-items: center;
gap: 2px;
}
.waypoint-calendar-today-group button {
background: none;
border: none;
cursor: var(--cursor);
padding: 2px 6px;
border-radius: 4px;
color: var(--text-muted);
font-size: var(--font-ui-small);
}
.waypoint-calendar-today-group button:hover {
color: var(--text-accent);
background-color: var(--background-modifier-active-hover);
}
.waypoint-calendar-today-group .waypoint-calendar-today-btn {
font-weight: var(--font-medium);
}
.waypoint-calendar table {
table-layout: fixed;
width: 100%;
border-collapse: collapse;
}
.waypoint-calendar th,
.waypoint-calendar td {
text-align: center;
padding: 4px 2px;
font-size: var(--font-ui-small);
line-height: 1.6;
}
.waypoint-calendar th {
font-weight: var(--font-medium);
color: var(--text-faint);
font-size: calc(var(--font-ui-small) * 0.85);
}
.waypoint-calendar .waypoint-weeknum {
font-size: calc(var(--font-ui-small) * 0.75);
color: var(--text-faint);
font-weight: var(--font-light);
cursor: var(--cursor);
padding: 2px 0;
border-radius: 4px;
}
.waypoint-calendar .waypoint-weeknum:hover {
color: var(--text-accent);
background-color: var(--background-modifier-active-hover);
}
.waypoint-calendar .waypoint-day {
cursor: var(--cursor);
min-height: var(--wp-cal-cell-size, 32px);
padding: 2px 0;
border-radius: 6px;
position: relative;
width: 100%;
vertical-align: middle;
}
.waypoint-calendar .waypoint-day:hover {
background-color: var(--background-modifier-active-hover);
}
.waypoint-calendar .waypoint-day.other-month {
opacity: 0.35;
}
.waypoint-calendar .waypoint-day.today {
color: var(--text-accent);
border: 1px solid var(--text-accent);
font-weight: var(--font-semibold);
}
.waypoint-calendar .waypoint-day.has-note::after {
content: '';
display: block;
width: 4px;
height: 4px;
border-radius: 50%;
background-color: var(--text-faint);
margin: 0 auto;
}
.waypoint-calendar .waypoint-day.today.has-note::after {
background-color: var(--text-accent);
}
/* ── Recent Files ── */
.waypoint-recent-filter {
display: flex;
flex-wrap: wrap;
gap: 4px;
margin-bottom: 6px;
}
.waypoint-recent-pill {
font-size: var(--font-ui-smaller);
color: var(--text-muted);
background: var(--background-modifier-hover);
padding: 1px 6px;
border-radius: 10px;
cursor: var(--cursor);
transition: color 80ms, background 80ms;
user-select: none;
}
.waypoint-recent-pill:hover {
color: var(--text-normal);
background: var(--background-modifier-active-hover);
}
.waypoint-recent-pill.is-active {
color: var(--text-on-accent);
background: var(--interactive-accent);
}
.waypoint-recent-files .nav-file {
padding: 2px 0;
}
.waypoint-recent-files .nav-file-title {
padding: 2px 28px 2px 4px;
font-size: var(--font-ui-small);
position: relative;
}
.waypoint-recent-files .waypoint-recent-remove {
position: absolute;
right: 4px;
top: 50%;
transform: translateY(-50%);
opacity: 0;
cursor: var(--cursor);
color: var(--text-faint);
display: flex;
align-items: center;
justify-content: center;
pointer-events: none;
transition: opacity 100ms;
}
.waypoint-recent-files .nav-file-title:hover .waypoint-recent-remove {
opacity: 1;
pointer-events: auto;
}
.waypoint-recent-files .waypoint-recent-remove:hover {
color: var(--text-accent);
}
/* ── Favorites ── */
.waypoint-favorites .waypoint-bookmark-item {
display: flex;
align-items: center;
gap: var(--wp-row-spacing, 4px);
padding: 2px 8px 2px 4px;
font-size: var(--wp-font-size, 13px);
min-height: var(--wp-row-size, 26px);
cursor: var(--cursor);
border-radius: 4px;
user-select: none;
position: relative;
}
.waypoint-favorites .waypoint-bookmark-item:hover {
background-color: var(--background-modifier-active-hover);
}
.waypoint-favorites .waypoint-bookmark-item .waypoint-bm-icon {
display: flex;
align-items: center;
flex-shrink: 0;
width: var(--wp-icon-size, 16px);
height: var(--wp-icon-size, 16px);
}
.waypoint-favorites .waypoint-bookmark-item .waypoint-bm-label {
flex: 1;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.waypoint-favorites .waypoint-bookmark-group {
font-weight: var(--font-medium);
}
.waypoint-favorites .waypoint-bookmark-group .waypoint-bm-chevron {
display: flex;
align-items: center;
transition: transform 150ms;
}
.waypoint-favorites .waypoint-bookmark-group.collapsed .waypoint-bm-chevron {
transform: rotate(-90deg);
}
.waypoint-favorites .waypoint-bookmark-children {
padding-left: var(--wp-indent-size, 16px);
}
.waypoint-favorites .waypoint-bookmark-children.collapsed {
display: none;
}
/* ── Drag-and-drop ── */
.waypoint-bm-dragging {
opacity: 0.3;
}
.waypoint-favorites .waypoint-bm-drop-line {
border-top: 3px solid var(--text-accent) !important;
}
.waypoint-favorites .waypoint-bm-drop-line.waypoint-bm-drop-below {
border-top: none !important;
border-bottom: 3px solid var(--text-accent) !important;
}
.waypoint-favorites .waypoint-bm-drop-into {
background-color: var(--background-modifier-active-hover) !important;
border-radius: 4px;
}
/* ── Separator & Spacer ── */
.waypoint-favorites .waypoint-bookmark-item.waypoint-bookmark-separator {
padding: 0;
min-height: auto;
height: auto;
border: none;
cursor: grab;
}
.waypoint-favorites .waypoint-bookmark-item.waypoint-bookmark-separator::after {
content: '';
display: block;
height: 1px;
margin: 6px 8px;
background: var(--background-modifier-border);
pointer-events: none;
}
.waypoint-favorites .waypoint-bookmark-item.waypoint-bookmark-spacer {
padding: 0;
min-height: auto;
height: 14px;
border: none;
cursor: grab;
background: transparent;
}
/* ── Settings Tabs ── */
.waypoint-settings-tabs {
display: flex;
gap: 4px;
margin-bottom: 20px;
border-bottom: 1px solid var(--background-modifier-border);
padding-bottom: 8px;
}
.waypoint-settings-tab {
background: none;
border: none;
cursor: var(--cursor);
color: var(--text-muted);
padding: 6px 14px;
border-radius: 6px 6px 0 0;
font-size: var(--font-ui-small);
font-weight: var(--font-medium);
transition: color 100ms, background 100ms;
}
.waypoint-settings-tab:hover {
color: var(--text-normal);
background: var(--background-modifier-hover);
}
.waypoint-settings-tab.is-active {
color: var(--text-accent);
background: var(--background-modifier-active-hover);
border-bottom: 2px solid var(--text-accent);
margin-bottom: -9px;
}