@signal9/era-ui 4.3.1 → 4.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -186,6 +186,27 @@
186
186
  font-size: var(--era-text);
187
187
  line-height: 1.6;
188
188
  color: var(--color-fg);
189
+
190
+ /*
191
+ * The first line's half-leading is not padding, but it reads as padding.
192
+ *
193
+ * line-height 1.6 puts ~8px of empty box above the first glyph's cap, on
194
+ * top of the container's 8px inset — so the document opened 16px from the
195
+ * top and 8px from the left, an asymmetry that grows with the first
196
+ * block's font size (a note starting with a heading was the worst case).
197
+ *
198
+ * Trimming the block-start to the cap edge makes the ink itself sit on the
199
+ * container's inset, so the first thing you read has the same space above
200
+ * it as beside it, whatever block it happens to be. This is the block half
201
+ * of what era-text-trim does for single-line controls; only the START is
202
+ * trimmed, because the editor scrolls and trimming the end would put the
203
+ * last line's descenders past the scrollable area.
204
+ *
205
+ * Firefox has no text-box yet and keeps the untrimmed leading — the same
206
+ * graceful degradation era-text-trim already ships with.
207
+ */
208
+ text-box-trim: trim-start;
209
+ text-box-edge: cap alphabetic;
189
210
  }
190
211
 
191
212
  /* Placeholder, via @tiptap/extension-placeholder */
@@ -151,24 +151,22 @@
151
151
  >
152
152
  <!-- Sidebar: filter + note list -->
153
153
  <div class="flex w-56 shrink-0 flex-col border-r border-divider-faded">
154
- <!-- md, not the default lg: this is a compact toolbar of xxs controls, and
155
- at lg the filter field towered over the 24px rows beneath it. The
156
- filter is chromeless the bar IS its container, so a second well
157
- inside it just draws a box around a box. -->
158
- <Bar
159
- size="md"
160
- class="shrink-0 gap-(--era-xxs-inset-md) rounded-none border-b border-divider-faded px-(--era-xxs-inset-md)"
161
- >
154
+ <!-- Default lg bar holding md controls, which is the pairing Bar documents:
155
+ (32-24)/2 lands on the bar's own xs-inset-sm padding, so the field sits
156
+ concentric. This was md with a chromeless field — compact, but it made
157
+ the filter the ONLY input in the library without a field fill. At md a
158
+ real field is the same height as the bar and overflows it by the
159
+ border. -->
160
+ <Bar class="shrink-0 rounded-none border-b border-divider-faded">
162
161
  <Input
163
162
  icon={Search}
164
- bare
165
163
  class="min-w-0 flex-1"
166
164
  type="text"
167
165
  placeholder="Filter…"
168
166
  aria-label="Filter notes"
169
167
  bind:value={query}
170
168
  />
171
- <Button icon size="xxs" aria-label="New note" title="New note" onclick={createNote}>
169
+ <Button icon aria-label="New note" title="New note" onclick={createNote}>
172
170
  <Plus />
173
171
  </Button>
174
172
  </Bar>
@@ -307,15 +305,11 @@
307
305
  <!-- Document pane -->
308
306
  <div class="flex min-w-0 flex-1 flex-col">
309
307
  {#if selected}
310
- <!-- md and xxs-padded, exactly like the sidebar's filter bar: the two
311
- headers sit side by side across the top of the app, so an lg bar
312
- here left the document header 8px taller than the list header. -->
313
- <Bar
314
- size="md"
315
- class="shrink-0 gap-(--era-xxs-inset-md) rounded-none border-b border-divider-faded px-(--era-xxs-inset-md)"
316
- >
308
+ <!-- Matches the sidebar's filter bar exactly — the two headers sit side by
309
+ side across the top of the app, so they must be the same tier. -->
310
+ <Bar class="shrink-0 rounded-none border-b border-divider-faded">
317
311
  <Popover.Root bind:open={iconPickerOpen}>
318
- <Popover.Trigger icon size="xxs" aria-label="Change icon" title="Change icon">
312
+ <Popover.Trigger icon aria-label="Change icon" title="Change icon">
319
313
  {#if selected.icon}
320
314
  <span aria-hidden="true">{selected.icon}</span>
321
315
  {:else}
@@ -359,7 +353,7 @@
359
353
  </Popover.Root>
360
354
 
361
355
  <Input
362
- bare
356
+ reveal
363
357
  class="min-w-0 flex-1"
364
358
  aria-label="Note title"
365
359
  placeholder="Untitled"