@jsenv/navi 0.29.112 → 0.29.115

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.
@@ -564,6 +564,32 @@ const css = /* css */`
564
564
  --navi-typo-xl: 1.25rem; /* 20px at 16px base */
565
565
  --navi-typo-xxl: 1.5rem; /* 24px at 16px base */
566
566
 
567
+ /* The line every text is written on, controls included. A number
568
+ rather than "normal", because of the emoji: its box is taller than a
569
+ letter's, so under "normal" the one line carrying one stands taller
570
+ than the lines around it, and under a tighter line its top is cut.
571
+ 1.25 is where neither happens — 1 clips the glyph, 1.5 spaces the rows
572
+ out more than reading them asks for — which also makes it the floor
573
+ for an app that displays what people typed.
574
+ The document is written on it; the components that come with a line of
575
+ their own from the browser (Button, Input, Textarea, Select) are handed
576
+ it by name. One number everywhere is what keeps a value on the same
577
+ line whether it is typed in a field or drawn in the page.
578
+ See docs/typography.md. */
579
+ --navi-line-height: 1.25;
580
+ line-height: var(--navi-line-height);
581
+ /* The same line for a control, snapped to the pixel. The browser lays a
582
+ line out at its exact height but paints the glyph on a pixel row: at
583
+ the default control size (13.333px) the line is 16.666px, and the
584
+ two-thirds that do not fit go entirely under the glyph, which then
585
+ sits a pixel above the middle of its field. A whole number of pixels
586
+ has no remainder to put anywhere. Written with em so it resolves on
587
+ the control that uses it, at that control's own size. */
588
+ --navi-control-line-height: round(
589
+ calc(var(--navi-line-height) * 1em),
590
+ 1px
591
+ );
592
+
567
593
  /* Color keywords.
568
594
  primary: the ink of the paper, at full strength. An absolute
569
595
  rather than currentColor: it is what brings a run back
@@ -583,6 +609,17 @@ const css = /* css */`
583
609
  --navi-color-emphasis: color-mix(in srgb, currentColor 50%, black);
584
610
  --navi-color-discrete: color-mix(in srgb, currentColor 60%, transparent);
585
611
  --navi-color-hint: color-mix(in srgb, currentColor 25%, transparent);
612
+
613
+ /* What a control shows while it holds nothing: the ::placeholder of an
614
+ input, the empty value slot of a picker. One place for the whole app:
615
+
616
+ :root {
617
+ --navi-placeholder-color: #8a94a6;
618
+ --navi-placeholder-font-style: italic;
619
+ }
620
+ */
621
+ --navi-placeholder-color: var(--navi-color-discrete);
622
+ --navi-placeholder-font-style: normal;
586
623
  }
587
624
 
588
625
  /* A popup is a new paper (see --navi-popup-color): primary is the ink it