at main 231 lines 5.1 kB view raw
1/* Notebook editor form component */ 2 3.notebook-editor { 4 container-type: inline-size; 5 display: flex; 6 flex-direction: column; 7 gap: 1rem; 8} 9 10.notebook-editor-title { 11 margin: 0; 12 font-size: 1.25rem; 13 font-weight: 600; 14} 15 16.notebook-editor-form { 17 display: flex; 18 flex-direction: column; 19 gap: 1rem; 20} 21 22/* Top fields section - two columns when wide */ 23.notebook-editor-top { 24 display: flex; 25 flex-direction: column; 26 gap: 1rem; 27} 28 29@container (min-width: 40rem) { 30 .notebook-editor-top { 31 display: grid; 32 grid-template-columns: 1fr 1fr; 33 gap: 1rem 1.5rem; 34 } 35} 36 37/* Left column: title, path */ 38.notebook-editor-top-left { 39 display: flex; 40 flex-direction: column; 41 gap: 1rem; 42} 43 44/* Right column: publish globally, tags */ 45.notebook-editor-top-right { 46 display: flex; 47 flex-direction: column; 48 gap: 1rem; 49} 50 51.notebook-editor-field { 52 display: flex; 53 flex-direction: column; 54 gap: 0.25rem; 55} 56 57.notebook-editor-field label { 58 font-size: 0.875rem; 59 font-weight: 500; 60} 61 62.notebook-editor-field input[type="text"] { 63 padding: 0.5rem; 64 border: 1px solid var(--color-border); 65 border-radius: 0; 66 background: var(--color-base); 67 color: var(--color-text); 68 font-size: 0.875rem; 69} 70 71.notebook-editor-field input[type="text"]:focus { 72 outline: 2px solid var(--color-primary); 73 outline-offset: -1px; 74} 75 76.notebook-editor-hint { 77 font-size: 0.75rem; 78 color: var(--color-muted); 79} 80 81.notebook-editor-toggle { 82 /* Keep column direction from .notebook-editor-field, just adjust gap */ 83 gap: 0.25rem; 84} 85 86.notebook-editor-toggle label { 87 display: flex; 88 align-items: center; 89 gap: 0.5rem; 90 cursor: pointer; 91} 92 93.notebook-editor-toggle input[type="checkbox"] { 94 appearance: none; 95 width: 1rem; 96 height: 1rem; 97 border: 1px solid var(--color-border); 98 border-radius: 0; 99 background: var(--color-base); 100 cursor: pointer; 101 flex-shrink: 0; 102} 103 104.notebook-editor-toggle input[type="checkbox"]:checked { 105 background: var(--color-primary); 106 border-color: var(--color-primary); 107} 108 109.notebook-editor-toggle input[type="checkbox"]:checked::after { 110 content: "✓"; 111 display: block; 112 color: var(--color-base); 113 font-size: 0.75rem; 114 text-align: center; 115 line-height: 1rem; 116} 117 118.notebook-editor-toggle input[type="checkbox"]:focus { 119 border-color: var(--color-primary); 120} 121 122.notebook-editor-tags { 123 display: flex; 124 flex-wrap: wrap; 125 gap: 0.5rem; 126 padding: 0.5rem; 127 border: 1px solid var(--color-border); 128 border-radius: 0; 129 background: var(--color-base); 130} 131 132.notebook-editor-tag { 133 display: flex; 134 align-items: center; 135 gap: 0.25rem; 136 padding: 0.25rem 0.5rem; 137 background: var(--color-surface); 138 font-size: 0.75rem; 139} 140 141.notebook-editor-tag-remove { 142 background: none; 143 border: none; 144 color: var(--color-muted); 145 cursor: pointer; 146 padding: 0; 147 font-size: 1rem; 148 line-height: 1; 149} 150 151.notebook-editor-tag-remove:hover { 152 color: var(--color-error); 153} 154 155.notebook-editor-tags-input { 156 flex: 1; 157 min-width: 8rem; 158 border: none; 159 background: transparent; 160 font-size: 0.875rem; 161 color: var(--color-text); 162} 163 164.notebook-editor-tags-input:focus { 165 outline: none; 166} 167 168.notebook-editor-error { 169 padding: 0.75rem; 170 background: color-mix(in srgb, var(--color-error) 10%, var(--color-surface)); 171 border: 1px solid var(--color-error); 172 color: var(--color-error); 173 font-size: 0.875rem; 174} 175 176.notebook-editor-actions { 177 display: flex; 178 gap: 0.5rem; 179 justify-content: flex-end; 180 padding-top: 0.5rem; 181} 182 183/* Content settings section */ 184.notebook-editor-content-settings { 185 display: flex; 186 flex-direction: column; 187 gap: 1rem; 188 padding-top: 1rem; 189 border-top: 1px solid var(--color-border); 190} 191 192.notebook-editor-content-settings h4 { 193 margin: 0; 194 font-size: 0.875rem; 195 font-weight: 600; 196 color: var(--color-muted); 197 text-transform: uppercase; 198 letter-spacing: 0.05em; 199} 200 201.notebook-editor-warning { 202 background: color-mix(in srgb, var(--color-warning) 15%, var(--color-surface)); 203 border: 1px solid color-mix(in srgb, var(--color-warning) 40%, transparent); 204} 205 206.notebook-editor-field select { 207 padding: 0.5rem; 208 padding-right: 2rem; 209 border: 1px solid var(--color-border); 210 border-radius: 0; 211 background: var(--color-base); 212 color: var(--color-text); 213 font-size: 0.875rem; 214 font-family: inherit; 215 appearance: none; 216 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239ca3af' d='M6 8L2 4h8z'/%3E%3C/svg%3E"); 217 background-repeat: no-repeat; 218 background-position: right 0.5rem center; 219 cursor: pointer; 220} 221 222.notebook-editor-field select:focus { 223 outline: 2px solid var(--color-primary); 224 outline-offset: -1px; 225} 226 227.notebook-editor-field select option { 228 background: var(--color-surface); 229 color: var(--color-text); 230 padding: 0.5rem; 231}