@signal9/era-ui 4.16.1 → 4.16.2

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.
@@ -209,6 +209,17 @@
209
209
  text-box-edge: cap alphabetic;
210
210
  }
211
211
 
212
+ /* The optical half of the trim. cap trimming is EXACT — the cap sits on the
213
+ * container inset to the pixel — but the LEFT side isn't: glyphs start with
214
+ * their side bearing (~0.07em of ink-free space inside the line box), so a
215
+ * geometrically-equal corner read top-tight. The first block gets that same
216
+ * allowance back as margin, in em so a heading's compensation scales with
217
+ * the heading — the corner then MEASURES slightly uneven and finally LOOKS
218
+ * even, which is the order optics always wins in. */
219
+ .era-notes-prose :global(.tiptap > :first-child) {
220
+ margin-top: 0.07em;
221
+ }
222
+
212
223
  /* FALLBACK for engines without text-box (Firefox): the trim above silently
213
224
  * disappears there, and the first line opened ~0.47em too low (measured:
214
225
  * cap 16.4px from the top against 8px from the left, dense/mono) — the
@@ -225,7 +236,9 @@
225
236
  * this block and keep the exact version. */
226
237
  @supports not ((text-box-trim: trim-start) and (text-box-edge: cap alphabetic)) {
227
238
  .era-notes-prose :global(.tiptap > :first-child) {
228
- margin-top: -0.45em;
239
+ /* -0.45em of untrimmed leading, plus the same +0.07em optical
240
+ * allowance the trimmed path adds above. */
241
+ margin-top: -0.38em;
229
242
  }
230
243
  }
231
244
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@signal9/era-ui",
3
- "version": "4.16.1",
3
+ "version": "4.16.2",
4
4
  "scripts": {
5
5
  "dev": "vite dev --host",
6
6
  "build": "vite build && npm run prepack",