dowel-ui 0.28.0 → 0.29.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.
package/dist/theme.css CHANGED
@@ -671,6 +671,60 @@
671
671
  * below, which grows the hit area without growing the glyph.
672
672
  */
673
673
  --size-target: 24px;
674
+
675
+ /*
676
+ * The window's own chrome: the strip at the top, the rail at the left, and
677
+ * the buttons that close the window.
678
+ *
679
+ * Four products of the line draw their own title bar - the trade is that a
680
+ * system bar over an application bar costs a strip of every laptop screen
681
+ * for nothing - and by the time the fourth one did it, the strip was 40px
682
+ * in one and 2.4rem in another. Neither number is wrong; having two is. A
683
+ * window's chrome is the part of a product that is supposed to look like
684
+ * the operating system rather than like the product, so it is the last
685
+ * place where two of them should differ.
686
+ *
687
+ * 40px is not a taste either. The window buttons have to clear the pointer
688
+ * target floor with room for the hover fill to read as a button, and the
689
+ * strip has to hold a mark, a trail and a search box at one line of text
690
+ * without the trail wrapping. 40 is where both stop being tight.
691
+ *
692
+ * `--spacing-window-button` is 46px because that is what Windows draws, and
693
+ * a bar whose buttons are narrower than the system's has a gap the pointer
694
+ * falls into on the way to the corner. It is deliberately wider than it is
695
+ * tall: the close button is the one that must be hit without aiming, and on
696
+ * a maximised window it is the screen's corner.
697
+ *
698
+ * These are in the spacing namespace rather than beside `--size-target`,
699
+ * and the reason is mechanical rather than tidy. `--size-*` yields exactly
700
+ * one utility, `size-*`, which sets both axes - so `w-window-button` off a
701
+ * `--size-` token compiles to NOTHING, and a button written that way loses
702
+ * its width with no error anywhere. Every measurement here is one axis: the
703
+ * bar has a height, the rail a width, the button a width unequal to its
704
+ * height. `--spacing-*` is the namespace that feeds `w-`, `h-`, `min-h-`
705
+ * and the padding utilities, so it is the one that can say so. Caught by
706
+ * compiling the utility rather than by reading the stylesheet, which is
707
+ * what `tailwind.test.ts` exists for.
708
+ */
709
+ --spacing-titlebar: 40px;
710
+ --spacing-rail: 216px;
711
+ --spacing-window-button: 46px;
712
+
713
+ /*
714
+ * How much of a frameless window's edge can be grabbed to resize it.
715
+ *
716
+ * The system used to own this and gave about 4 pixels plus whatever the
717
+ * border was; a frameless window has no border, so the whole of it has to
718
+ * be put back by hand. Five is the smallest that can be hit reliably with a
719
+ * mouse and the largest that does not steal a click meant for the first
720
+ * line of text - the strips sit above everything, so anything they cover
721
+ * they cover completely.
722
+ *
723
+ * The corner is double, because a corner is aimed at less precisely than an
724
+ * edge and is the one that resizes both axes at once.
725
+ */
726
+ --spacing-resize-edge: 5px;
727
+ --spacing-resize-corner: 10px;
674
728
  }
675
729
 
676
730
  /*
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dowel-ui",
3
- "version": "0.28.0",
3
+ "version": "0.29.0",
4
4
  "description": "The lacodda line design system: theme tokens and React primitives, distributed as a shadcn-compatible registry.",
5
5
  "license": "MIT",
6
6
  "type": "module",