dowel-ui 0.31.0 → 0.33.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.
Files changed (43) hide show
  1. package/README.md +2 -2
  2. package/dist/cli/index.d.ts.map +1 -1
  3. package/dist/cli/index.js +55 -19
  4. package/dist/cli/index.js.map +1 -1
  5. package/dist/eslint/index.d.ts +2 -0
  6. package/dist/eslint/index.d.ts.map +1 -1
  7. package/dist/eslint/index.js +24 -4
  8. package/dist/eslint/index.js.map +1 -1
  9. package/dist/eslint/no-arbitrary-scale.d.ts +20 -0
  10. package/dist/eslint/no-arbitrary-scale.d.ts.map +1 -0
  11. package/dist/eslint/no-arbitrary-scale.js +261 -0
  12. package/dist/eslint/no-arbitrary-scale.js.map +1 -0
  13. package/dist/eslint/no-raw-button.d.ts +3 -0
  14. package/dist/eslint/no-raw-button.d.ts.map +1 -0
  15. package/dist/eslint/no-raw-button.js +51 -0
  16. package/dist/eslint/no-raw-button.js.map +1 -0
  17. package/dist/index.d.ts +6 -5
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +5 -2
  20. package/dist/index.js.map +1 -1
  21. package/dist/palettes/atlas.json +1 -1
  22. package/dist/palettes/austeris.json +1 -1
  23. package/dist/palettes/dowel.json +1 -1
  24. package/dist/palettes/efema.json +1 -1
  25. package/dist/palettes/furca.json +1 -1
  26. package/dist/palettes/hilvan.json +1 -1
  27. package/dist/palettes/kasl-server.json +1 -1
  28. package/dist/palettes/kasl.json +1 -1
  29. package/dist/palettes/kilna.json +1 -1
  30. package/dist/palettes/lyrid.json +1 -1
  31. package/dist/palettes/lyrn.json +1 -1
  32. package/dist/palettes/midda.json +1 -1
  33. package/dist/palettes/nitid.json +1 -1
  34. package/dist/palettes/nooma.json +1 -1
  35. package/dist/palettes/rhapsod.json +1 -1
  36. package/dist/palettes/rigger.json +1 -1
  37. package/dist/palettes/scheda.json +1 -1
  38. package/dist/palettes/sefy.json +1 -1
  39. package/dist/palettes/turnout.json +1 -1
  40. package/dist/registry.json +262 -144
  41. package/dist/theme.css +68 -0
  42. package/dist/tokens.json +7 -0
  43. package/package.json +1 -1
package/dist/theme.css CHANGED
@@ -710,6 +710,15 @@
710
710
  --spacing-rail: 216px;
711
711
  --spacing-window-button: 46px;
712
712
 
713
+ /*
714
+ * The rail with only its icons: `NavRail collapsed`. 56 is a 36px entry -
715
+ * the size of an icon button in the bar above it - with 10px of air on each
716
+ * side, which is the same inset the wide rail gives its entries. Narrower,
717
+ * and the active entry's tint touches the rail's border; wider, and the
718
+ * column reads as a sidebar that forgot its words.
719
+ */
720
+ --spacing-rail-compact: 56px;
721
+
713
722
  /*
714
723
  * How much of a frameless window's edge can be grabbed to resize it.
715
724
  *
@@ -749,6 +758,26 @@
749
758
  * would need a compensating negative margin. This changes nothing about
750
759
  * layout.
751
760
  */
761
+ /*
762
+ * `caption` - the small uppercase label: a field's name, a panel's section, a
763
+ * group of menu items, a rail's group.
764
+ *
765
+ * One role, and the set wrote it seven ways: with and without `font-medium`,
766
+ * with and without a weight at all, so a Field's label and the SectionLabel
767
+ * above it were two weights of the same thing. kilna's screens added
768
+ * thirty-one more by hand. The weight is 600, the mockup's `.lbl` - at 10px
769
+ * a caption lighter than that reads as a smudge rather than a word.
770
+ *
771
+ * A utility rather than a component because it is a role text plays inside
772
+ * things that are already components: a `<legend>`, a `<th>`, a `<label>`.
773
+ * Its colour is `faint` - verified against the grounds at body size; at 10px
774
+ * it is below AA in the light theme, which is a finding about `faint` at every
775
+ * small size and is owned by the contrast work, not by this recipe.
776
+ */
777
+ @utility caption {
778
+ @apply text-2xs font-semibold uppercase tracking-caption text-faint;
779
+ }
780
+
752
781
  @utility target-min {
753
782
  position: relative;
754
783
 
@@ -901,9 +930,48 @@ body {
901
930
  background-color: var(--bg);
902
931
  color: var(--text);
903
932
  font-family: var(--font-sans);
933
+ /* The base step, so text nobody gave a class reads at the scale's own body
934
+ * size. Without it that text inherited the browser's 16px - an empty
935
+ * state's heading and a card's name came out a step and a half above the
936
+ * 12px beside them, in every product of the line.
937
+ *
938
+ * The line height is the base step's own 20 over 14, written as a ratio
939
+ * rather than read from `--text-base--line-height`, and that is deliberate.
940
+ * A length is inherited as a length: with 20px here, every element that
941
+ * sets a size of its own without a line height - a 10px chart label -
942
+ * inherited 20px and stood five pixels taller, found in the pictures of
943
+ * the stand. A ratio is inherited as a ratio. The theme test holds the two
944
+ * numbers to the tokens. */
945
+ font-size: var(--text-base);
946
+ line-height: calc(20 / 14);
904
947
  -webkit-font-smoothing: antialiased;
905
948
  }
906
949
 
950
+ /*
951
+ * How heavy an icon's line is.
952
+ *
953
+ * lucide draws at 2 by default, which is tuned for its own 24px; at the 14 and
954
+ * 16 the line actually uses, a 2px stroke reads heavier than the text beside
955
+ * it. 1.75 is the owner's call for the whole line (24.09), made here once
956
+ * rather than as a `strokeWidth` at every one of a few hundred call sites.
957
+ *
958
+ * Only an icon still on lucide's default is changed. `[stroke-width='2']` is
959
+ * how lucide writes the default, and an icon given another width - by a call
960
+ * site, or by `absoluteStrokeWidth`, which computes one - keeps it. In
961
+ * `@layer base` so a `stroke-*` utility on the icon wins too. A product that
962
+ * draws with some other icon set is untouched: the rule keys off lucide's own
963
+ * class.
964
+ */
965
+ :root {
966
+ --icon-stroke: 1.75;
967
+ }
968
+
969
+ @layer base {
970
+ svg.lucide[stroke-width='2'] {
971
+ stroke-width: var(--icon-stroke);
972
+ }
973
+ }
974
+
907
975
  /*
908
976
  * In `@layer base`, so a component can turn it off.
909
977
  *
package/dist/tokens.json CHANGED
@@ -393,6 +393,13 @@
393
393
  "$value": 600
394
394
  }
395
395
  },
396
+ "icon": {
397
+ "$type": "number",
398
+ "$description": "The weight of an icon's line, in the icon's own units (lucide draws on a 24-unit grid). Lighter than lucide's default 2, because the line draws its icons at 14 and 16px, where 2 reads heavier than the text beside it.",
399
+ "stroke": {
400
+ "$value": 1.75
401
+ }
402
+ },
396
403
  "duration": {
397
404
  "$type": "duration",
398
405
  "$description": "Motion. Cut to nothing under `prefers-reduced-motion`.",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dowel-ui",
3
- "version": "0.31.0",
3
+ "version": "0.33.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",