@lets-ship/brand-dna 2.0.0 → 3.0.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 (102) hide show
  1. package/catalog/fonts/bricolage-grotesque-latin-700-normal.woff2 +0 -0
  2. package/catalog/fonts/figtree-latin-400-normal.woff2 +0 -0
  3. package/catalog/fonts/figtree-latin-600-normal.woff2 +0 -0
  4. package/catalog/fonts/gabarito-latin-700-normal.woff2 +0 -0
  5. package/catalog/fonts/gloock-latin-400-normal.woff2 +0 -0
  6. package/catalog/fonts/hanken-grotesk-latin-400-normal.woff2 +0 -0
  7. package/catalog/fonts/hanken-grotesk-latin-600-normal.woff2 +0 -0
  8. package/catalog/fonts/mulish-latin-400-normal.woff2 +0 -0
  9. package/catalog/fonts/mulish-latin-600-normal.woff2 +0 -0
  10. package/catalog/fonts/schibsted-grotesk-latin-400-normal.woff2 +0 -0
  11. package/catalog/fonts/schibsted-grotesk-latin-600-normal.woff2 +0 -0
  12. package/catalog/fonts/schibsted-grotesk-latin-700-normal.woff2 +0 -0
  13. package/catalog/fonts/source-sans-3-latin-400-normal.woff2 +0 -0
  14. package/catalog/fonts/source-sans-3-latin-600-normal.woff2 +0 -0
  15. package/catalog/fonts/young-serif-latin-400-normal.woff2 +0 -0
  16. package/catalog/fonts.lock.json +165 -0
  17. package/dist/core/color/pairs.d.ts.map +1 -1
  18. package/dist/core/color/pairs.js +5 -0
  19. package/dist/core/color/pairs.js.map +1 -1
  20. package/dist/core/compile/design-language.d.ts +10 -0
  21. package/dist/core/compile/design-language.d.ts.map +1 -0
  22. package/dist/core/compile/design-language.js +74 -0
  23. package/dist/core/compile/design-language.js.map +1 -0
  24. package/dist/core/compile/design-md.d.ts.map +1 -1
  25. package/dist/core/compile/design-md.js +8 -2
  26. package/dist/core/compile/design-md.js.map +1 -1
  27. package/dist/core/compile/patterns.d.ts +8 -0
  28. package/dist/core/compile/patterns.d.ts.map +1 -1
  29. package/dist/core/compile/patterns.js +14 -3
  30. package/dist/core/compile/patterns.js.map +1 -1
  31. package/dist/core/compile/site-design.d.ts +32 -0
  32. package/dist/core/compile/site-design.d.ts.map +1 -0
  33. package/dist/core/compile/site-design.js +243 -0
  34. package/dist/core/compile/site-design.js.map +1 -0
  35. package/dist/core/compile/site-emphasis.d.ts +46 -0
  36. package/dist/core/compile/site-emphasis.d.ts.map +1 -0
  37. package/dist/core/compile/site-emphasis.js +64 -0
  38. package/dist/core/compile/site-emphasis.js.map +1 -0
  39. package/dist/core/compile/site-theme-rules.d.ts +9 -2
  40. package/dist/core/compile/site-theme-rules.d.ts.map +1 -1
  41. package/dist/core/compile/site-theme-rules.js +83 -2
  42. package/dist/core/compile/site-theme-rules.js.map +1 -1
  43. package/dist/core/compile/site-theme-values.d.ts +11 -1
  44. package/dist/core/compile/site-theme-values.d.ts.map +1 -1
  45. package/dist/core/compile/site-theme-values.js +39 -5
  46. package/dist/core/compile/site-theme-values.js.map +1 -1
  47. package/dist/core/compile/site-theme.d.ts.map +1 -1
  48. package/dist/core/compile/site-theme.js +16 -4
  49. package/dist/core/compile/site-theme.js.map +1 -1
  50. package/dist/core/compile/skill.d.ts.map +1 -1
  51. package/dist/core/compile/skill.js +8 -0
  52. package/dist/core/compile/skill.js.map +1 -1
  53. package/dist/core/lint/catalog.d.ts +1 -1
  54. package/dist/core/lint/catalog.d.ts.map +1 -1
  55. package/dist/core/lint/catalog.js +13 -1
  56. package/dist/core/lint/catalog.js.map +1 -1
  57. package/dist/core/lint/rules/design.d.ts +27 -0
  58. package/dist/core/lint/rules/design.d.ts.map +1 -0
  59. package/dist/core/lint/rules/design.js +234 -0
  60. package/dist/core/lint/rules/design.js.map +1 -0
  61. package/dist/core/lint/rules/refs.d.ts.map +1 -1
  62. package/dist/core/lint/rules/refs.js +3 -0
  63. package/dist/core/lint/rules/refs.js.map +1 -1
  64. package/dist/core/lint/rules/type.js +1 -1
  65. package/dist/core/lint/rules/type.js.map +1 -1
  66. package/dist/core/presets/base.dna.json +307 -21
  67. package/dist/core/presets/design.d.ts +16 -0
  68. package/dist/core/presets/design.d.ts.map +1 -0
  69. package/dist/core/presets/design.js +86 -0
  70. package/dist/core/presets/design.js.map +1 -0
  71. package/dist/core/presets/presets.d.ts +1 -1
  72. package/dist/core/presets/presets.d.ts.map +1 -1
  73. package/dist/core/presets/presets.js +18 -11
  74. package/dist/core/presets/presets.js.map +1 -1
  75. package/dist/core/presets/specs.d.ts +330 -16
  76. package/dist/core/presets/specs.d.ts.map +1 -1
  77. package/dist/core/presets/specs.js +162 -12
  78. package/dist/core/presets/specs.js.map +1 -1
  79. package/dist/core/site/colours.d.ts +3 -3
  80. package/dist/core/site/colours.d.ts.map +1 -1
  81. package/dist/core/site/colours.js +13 -5
  82. package/dist/core/site/colours.js.map +1 -1
  83. package/dist/schema/channel-spec.d.ts +5 -5
  84. package/dist/schema/design.d.ts +258 -0
  85. package/dist/schema/design.d.ts.map +1 -0
  86. package/dist/schema/design.js +132 -0
  87. package/dist/schema/design.js.map +1 -0
  88. package/dist/schema/dna.d.ts +324 -4
  89. package/dist/schema/dna.d.ts.map +1 -1
  90. package/dist/schema/dna.js +16 -0
  91. package/dist/schema/dna.js.map +1 -1
  92. package/dist/schema/gen.d.ts +6 -1
  93. package/dist/schema/gen.d.ts.map +1 -1
  94. package/dist/schema/pattern.d.ts +80 -0
  95. package/dist/schema/pattern.d.ts.map +1 -1
  96. package/dist/schema/skeleton.d.ts +81 -8
  97. package/dist/schema/skeleton.d.ts.map +1 -1
  98. package/dist/schema/tokens.d.ts +45 -2
  99. package/dist/schema/tokens.d.ts.map +1 -1
  100. package/dist/schema/tokens.js +16 -0
  101. package/dist/schema/tokens.js.map +1 -1
  102. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  import { COLOR_ROLES } from "../../schema/tokens.js";
2
2
  import { aliasTarget, indexTokens, resolveValue } from "../tokens/resolve.js";
3
- import { cssColor, dimensionCss, fontStack, resolvedFamilies, roleCss } from "./shared.js";
4
- import { BORDER_WIDTH_RULES, COMPONENT_RULES, RADIUS_RULES, ROLE_RULES, SHADOW_RULES, ThemeContractError, TYPE_RULES, } from "./site-theme-rules.js";
3
+ import { cssColor, dimensionCss, fontStack, resolvedDimension, resolvedFamilies, roleCss } from "./shared.js";
4
+ import { BORDER_WIDTH_RULES, COMPONENT_RULES, FLUID_RANGE_PX, RADIUS_RULES, ROLE_RULES, SHADOW_RULES, ThemeContractError, TYPE_RULES, } from "./site-theme-rules.js";
5
5
  /** A role's CSS in one mode, after its role rule. A required role that is absent is a contract error. */
6
6
  export function contractRole(index, dna, role, mode) {
7
7
  const chain = Object.hasOwn(ROLE_RULES, role) ? ROLE_RULES[role] : undefined;
@@ -61,17 +61,51 @@ function typeRole(dna, role) {
61
61
  throw new ThemeContractError(`typography.${role}`, `Add the ${role} type role to the DNA.`);
62
62
  return token.$value;
63
63
  }
64
- /** Family, size, weight, line height and tracking for each contract type role. */
64
+ const px = (index, value) => {
65
+ const d = resolvedDimension(index, value);
66
+ return d.unit === "px" ? d.value : d.value * 16;
67
+ };
68
+ /**
69
+ * A role's size: fixed, or with `fontSizeMin` a clamp that grows linearly from the narrow to the
70
+ * wide screen of FLUID_RANGE_PX, so a headline fits a phone and fills a desktop.
71
+ */
72
+ export function sizeCss(index, t) {
73
+ if (t.fontSizeMin === undefined)
74
+ return dimensionCss(index, t.fontSize);
75
+ const min = px(index, t.fontSizeMin);
76
+ const max = px(index, t.fontSize);
77
+ const span = FLUID_RANGE_PX.max - FLUID_RANGE_PX.min;
78
+ const slope = Math.round(((max - min) / span) * 100_000) / 1000;
79
+ return `clamp(${min}px, calc(${min}px + ${slope}vw - ${Math.round((slope * FLUID_RANGE_PX.min) / 10) / 10}px), ${max}px)`;
80
+ }
81
+ /**
82
+ * A role's tracking. A fluid role writes it in em, as a share of the size, so a headline keeps the
83
+ * same tightness on a phone as on a desktop; a fixed size keeps its own unit.
84
+ */
85
+ export function trackingCss(index, t) {
86
+ if (t.letterSpacing === undefined)
87
+ return "normal";
88
+ if (t.fontSizeMin === undefined)
89
+ return dimensionCss(index, t.letterSpacing);
90
+ const em = px(index, t.letterSpacing) / px(index, t.fontSize);
91
+ return `${Math.round(em * 10_000) / 10_000}em`;
92
+ }
93
+ const featuresCss = (t) => {
94
+ const tags = t.fontFeatures ?? [];
95
+ return tags.length === 0 ? "normal" : tags.map((tag) => `"${tag}" 1`).join(", ");
96
+ };
97
+ /** Family, size, weight, line height, tracking and features for each contract type role. */
65
98
  export function typeDecls(index, dna) {
66
99
  return Object.keys(TYPE_RULES).flatMap((role) => {
67
100
  const t = typeRole(dna, role);
68
101
  const name = `--dna-type-${role}`;
69
102
  return [
70
103
  [`${name}-family`, fontStack(resolvedFamilies(index, t.fontFamily))],
71
- [`${name}-size`, dimensionCss(index, t.fontSize)],
104
+ [`${name}-size`, sizeCss(index, t)],
72
105
  [`${name}-weight`, String(t.fontWeight)],
73
106
  [`${name}-line-height`, String(t.lineHeight)],
74
- [`${name}-tracking`, t.letterSpacing === undefined ? "normal" : dimensionCss(index, t.letterSpacing)],
107
+ [`${name}-tracking`, trackingCss(index, t)],
108
+ [`${name}-features`, featuresCss(t)],
75
109
  ];
76
110
  });
77
111
  }
@@ -1 +1 @@
1
- {"version":3,"file":"site-theme-values.js","sourceRoot":"","sources":["../../../src/core/compile/site-theme-values.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAmC,MAAM,wBAAwB,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,WAAW,EAAa,YAAY,EAAmB,MAAM,sBAAsB,CAAC;AAC1G,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3F,OAAO,EACN,kBAAkB,EAClB,eAAe,EAEf,YAAY,EACZ,UAAU,EACV,YAAY,EAEZ,kBAAkB,EAClB,UAAU,GACV,MAAM,uBAAuB,CAAC;AAI/B,yGAAyG;AACzG,MAAM,UAAU,YAAY,CAAC,KAAiB,EAAE,GAAQ,EAAE,IAAe,EAAE,IAAU;IACpF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7E,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,kBAAkB,CAAC,cAAc,IAAI,EAAE,EAAE,kDAAkD,CAAC,CAAC;IACnH,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QACjD,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC;IACrB,CAAC;IACD,MAAM,IAAI,kBAAkB,CAAC,cAAc,IAAI,EAAE,EAAE,2CAA2C,CAAC,CAAC;AACjG,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAiB,EAAE,GAAQ,EAAE,IAAU;IAChE,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAQ,EAAE,CAAC,CAAC,eAAe,IAAI,EAAE,EAAE,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AACvG,CAAC;AAED,SAAS,SAAS,CAAC,KAAa,EAAE,IAAc,EAAE,IAAY,EAAE,KAA+B;IAC9F,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,IAAI,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;IAC1E,IAAI,KAAK;QAAE,OAAO,KAAK,CAAC,GAAG,KAAK,IAAI,KAAK,EAAE,CAAC,CAAC;IAC7C,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC,KAAK,CAAC;IAChD,MAAM,IAAI,kBAAkB,CAAC,GAAG,KAAK,IAAI,IAAI,EAAE,EAAE,SAAS,KAAK,gBAAgB,IAAI,cAAc,CAAC,CAAC;AACpG,CAAC;AAED,SAAS,SAAS,CAAC,KAAiB,EAAE,KAAc;IACnD,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAmC,CAAC;IAC1F,OAAO,MAAM;SACX,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACd,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1G,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC7C,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC;IACpE,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC;AAED,0FAA0F;AAC1F,SAAS,UAAU,CAAC,KAAiB,EAAE,KAAc;IACpD,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACrD,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,MAAM,IAAI,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9E,OAAO,QAAQ,CAAC,QAAQ,CAAC,KAAmB,CAAC,CAAC;AAC/C,CAAC;AAED,kEAAkE;AAClE,MAAM,UAAU,UAAU,CAAC,KAAiB;IAC3C,MAAM,SAAS,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACtG,MAAM,MAAM,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3G,MAAM,MAAM,GAAkF;QAC7F,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC;QACnC,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC;QAChC,CAAC,cAAc,EAAE,kBAAkB,EAAE,SAAS,CAAC;KAC/C,CAAC;IACF,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,CAC/C,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAQ,EAAE,CAAC,CAAC,SAAS,KAAK,IAAI,IAAI,EAAE,EAAE,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAClH,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,GAAQ,EAAE,IAAY;IACvC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,IAA0C,CAAC,CAAC,CAAC;IACtG,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,KAA2C,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrG,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,kBAAkB,CAAC,cAAc,IAAI,EAAE,EAAE,WAAW,IAAI,wBAAwB,CAAC,CAAC;IACxG,OAAO,KAAK,CAAC,MAAiC,CAAC;AAChD,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,SAAS,CAAC,KAAiB,EAAE,GAAQ;IACpD,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAU,EAAE;QACvD,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC9B,MAAM,IAAI,GAAG,cAAc,IAAI,EAAE,CAAC;QAClC,OAAO;YACN,CAAC,GAAG,IAAI,SAAS,EAAE,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YACpE,CAAC,GAAG,IAAI,OAAO,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;YACjD,CAAC,GAAG,IAAI,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YACxC,CAAC,GAAG,IAAI,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC7C,CAAC,GAAG,IAAI,WAAW,EAAE,CAAC,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC;SACrG,CAAC;IACH,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAiB,EAAE,GAAQ,EAAE,KAAa,EAAE,IAAU;IAC7E,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAClC,IAAI,MAAM,EAAE,UAAU,CAAC,aAAa,CAAC;QAAE,OAAO,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAc,EAAE,IAAI,CAAC,CAAC;IAC5G,OAAO,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,kBAAkB,CAC1B,KAAiB,EACjB,KAAa,EACb,KAAa,EACb,KAAkC;IAElC,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAClC,qGAAqG;IACrG,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzF,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO,YAAY,CAAC;IACpD,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,kBAAkB,CAAC,MAAM,EAAE,OAAO,MAAM,wBAAwB,KAAK,GAAG,CAAC,CAAC;IACtH,OAAO,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACnC,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,cAAc,CAAC,KAAiB,EAAE,GAAQ,EAAE,IAAU;IACrE,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACzC,OAAO,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAU,EAAE;QACrE,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC/B,MAAM,CAAC,GAAkB;YACxB,UAAU,EAAE,GAAG,EAAE,UAAU,IAAI,IAAI,CAAC,UAAU;YAC9C,UAAU,EAAE,GAAG,EAAE,UAAU,IAAI,IAAI,CAAC,UAAU;YAC9C,MAAM,EAAE,GAAG,EAAE,MAAM,IAAI,IAAI,CAAC,MAAM;YAClC,MAAM,EAAE,GAAG,EAAE,MAAM,IAAI,IAAI,CAAC,MAAM;YAClC,QAAQ,EAAE,GAAG,EAAE,QAAQ,IAAI,IAAI,CAAC,QAAQ;YACxC,QAAQ,EAAE,GAAG,EAAE,QAAQ,IAAI,IAAI,CAAC,QAAQ;SACxC,CAAC;QACF,MAAM,IAAI,GAAG,mBAAmB,EAAE,EAAE,CAAC;QACrC,MAAM,MAAM,GAAW;YACtB,CAAC,GAAG,IAAI,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAC9D,CAAC,GAAG,IAAI,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YAC9D,CAAC,GAAG,IAAI,SAAS,EAAE,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;SAC9D,CAAC;QACF,IAAI,IAAI,KAAK,MAAM;YAAE,OAAO,MAAM,CAAC;QACnC,OAAO;YACN,GAAG,MAAM;YACT,CAAC,GAAG,IAAI,SAAS,EAAE,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;YACjF,CAAC,GAAG,IAAI,YAAY,EAAE,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;YACtF,CAAC,GAAG,IAAI,YAAY,EAAE,kBAAkB,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;SACtF,CAAC;IACH,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"site-theme-values.js","sourceRoot":"","sources":["../../../src/core/compile/site-theme-values.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"site-theme.d.ts","sourceRoot":"","sources":["../../../src/core/compile/site-theme.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAK/C,OAAO,EAA6C,KAAK,UAAU,EAA+B,MAAM,aAAa,CAAC;AAUtH,OAAO,EACN,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,GACtB,MAAM,uBAAuB,CAAC;AA4B/B,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,CAyBrD"}
1
+ {"version":3,"file":"site-theme.d.ts","sourceRoot":"","sources":["../../../src/core/compile/site-theme.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAK/C,OAAO,EAA6C,KAAK,UAAU,EAA+B,MAAM,aAAa,CAAC;AAWtH,OAAO,EACN,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,GACtB,MAAM,uBAAuB,CAAC;AAsC/B,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,CA2BrD"}
@@ -2,6 +2,7 @@ import { hasDarkMode, indexTokens } from "../tokens/resolve.js";
2
2
  import { fumadocsColors } from "./fumadocs.js";
3
3
  import { compilePatterns } from "./patterns.js";
4
4
  import { block, cssColor, DARK_SELECTOR, fontStack, resolvedFamilies, tokenSlug } from "./shared.js";
5
+ import { concreteDesignDecls } from "./site-design.js";
5
6
  import { DEFAULT_LAYOUT_WIDTH_PX, MONO_FALLBACK, SITE_THEME_PATH, THEME_CONTRACT_MAJOR, THEME_CONTRACT_MINOR, } from "./site-theme-rules.js";
6
7
  import { componentDecls, roleDecls, shapeDecls, typeDecls } from "./site-theme-values.js";
7
8
  export { SITE_THEME_PATH, THEME_CONTRACT_MAJOR, THEME_CONTRACT_MINOR, ThemeContractError, themeContractVariables, } from "./site-theme-rules.js";
@@ -27,20 +28,31 @@ function patternClasses(dna) {
27
28
  const patterns = compilePatterns(dna);
28
29
  return patterns ? patterns.content.split("\n").slice(1).join("\n") : "";
29
30
  }
31
+ /** The dark block: colours, components, and the design values whose colour changes in dark mode. */
32
+ function darkDecls(index, dna, shapes, light) {
33
+ const roles = roleDecls(index, dna, "dark");
34
+ const components = componentDecls(index, dna, "dark");
35
+ const lightComponents = componentDecls(index, dna, "light");
36
+ const base = [...roles, ...shapes, ...lightComponents, ...components];
37
+ const design = concreteDesignDecls(dna, index, base).filter(([name, value]) => light.get(name) !== value);
38
+ return [...fumadocsColors(dna, "dark"), ...roles, ...components, ...design];
39
+ }
30
40
  export function compileSiteTheme(dna) {
31
41
  const index = indexTokens(dna.tokens);
32
42
  const width = dna.layout?.maxWidthPx ?? DEFAULT_LAYOUT_WIDTH_PX;
43
+ const shapes = shapeDecls(index);
44
+ const lightBase = [...roleDecls(index, dna, "light"), ...shapes, ...componentDecls(index, dna, "light")];
45
+ const lightDesign = concreteDesignDecls(dna, index, lightBase);
33
46
  const root = [
34
47
  ...roleDecls(index, dna, "light"),
35
- ...shapeDecls(index),
48
+ ...shapes,
36
49
  ...typeDecls(index, dna),
37
50
  ...componentDecls(index, dna, "light"),
38
51
  ["--fd-layout-width", `${width}px`],
52
+ ...lightDesign,
39
53
  ...paletteDecls(index),
40
54
  ];
41
- const dark = hasDarkMode(dna)
42
- ? [...fumadocsColors(dna, "dark"), ...roleDecls(index, dna, "dark"), ...componentDecls(index, dna, "dark")]
43
- : [];
55
+ const dark = hasDarkMode(dna) ? darkDecls(index, dna, shapes, new Map(lightDesign)) : [];
44
56
  const content = [
45
57
  headerLine(dna),
46
58
  "",
@@ -1 +1 @@
1
- {"version":3,"file":"site-theme.js","sourceRoot":"","sources":["../../../src/core/compile/site-theme.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"site-theme.js","sourceRoot":"","sources":["../../../src/core/compile/site-theme.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../../src/core/compile/skill.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAG/C,OAAO,EAAgB,KAAK,UAAU,EAA6B,MAAM,aAAa,CAAC;AAEvF,eAAO,MAAM,iBAAiB,QAAS,CAAC;AAoJxC,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,EAAE,CAuBnD;AAED,qGAAqG;AACrG,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,CA0BnD"}
1
+ {"version":3,"file":"skill.d.ts","sourceRoot":"","sources":["../../../src/core/compile/skill.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAI/C,OAAO,EAAgB,KAAK,UAAU,EAA6B,MAAM,aAAa,CAAC;AAEvF,eAAO,MAAM,iBAAiB,QAAS,CAAC;AA0JxC,wBAAgB,YAAY,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,EAAE,CAwBnD;AAED,qGAAqG;AACrG,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,UAAU,CA2BnD"}
@@ -1,5 +1,6 @@
1
1
  import { COLOR_ROLES, TYPE_ROLES } from "../../schema/tokens.js";
2
2
  import { hasDarkMode, indexTokens } from "../tokens/resolve.js";
3
+ import { compositionLines, visualLines } from "./design-language.js";
3
4
  import { dimensionCss, resolvedFamilies, roleHex } from "./shared.js";
4
5
  export const LOVABLE_MAX_CHARS = 10_000;
5
6
  const roleRows = (dna, index) => COLOR_ROLES.flatMap((r) => {
@@ -94,6 +95,10 @@ function imageryRef(dna) {
94
95
  const patterns = Object.entries(dna.patterns).map(([id, p]) => `- \`.dna-pattern-${id}\` (${p.layers.map((l) => l.kind).join(" + ")})${p.for.length ? `, default for ${p.for.join(", ")}` : ""}`);
95
96
  return `# ${dna.brand.name} imagery\n\n${lines.join("\n")}${patterns.length ? `\n\n## Background patterns\n\nFrom \`patterns.css\`:\n\n${patterns.join("\n")}` : ""}`;
96
97
  }
98
+ function designRef(dna) {
99
+ const lines = [...visualLines(dna), ...compositionLines(dna)];
100
+ return `# ${dna.brand.name} design language\n\n${lines.map((l) => `- ${l}`).join("\n") || "- No design language recorded: follow the tokens."}`;
101
+ }
97
102
  function rulesRef(dna, index) {
98
103
  const comps = Object.entries(dna.components).map(([id, c]) => `- **${id}:** background ${c.background}, text ${c.foreground}, radius ${dimensionCss(index, c.radius)}, type ${c.typography}`);
99
104
  return `# ${dna.brand.name} rules\n\n${dna.rules.map((r) => `- **${r.kind === "do" ? "Do" : "Don't"}:** ${r.text}${r.check ? ` (checked by \`${r.check}\`)` : ""}`).join("\n")}\n\n## Components\n\n${comps.join("\n") || "- none"}`;
@@ -115,6 +120,7 @@ function essentials(dna, index) {
115
120
  `Headings in ${fam("display")}, body in ${fam("body")}${fam("ui") ? `, buttons and labels in ${fam("ui")}` : ""}.`,
116
121
  `Voice: ${dna.voice.traits.map((t) => `${t.is}, not ${t.isNot}`).join("; ")}. ${dna.voice.mechanics.case} case, emoji ${dna.voice.mechanics.emoji}.`,
117
122
  banLine(dna.voice.lexicon.ban),
123
+ dna.visual ? `Look: ${dna.visual.direction} See the design reference before you compose a page.` : "",
118
124
  `Logo: use the files in \`logo/\` as they are, with ${dna.logo.clearSpace.value} × ${dna.logo.clearSpace.unit} clear space, at least ${dna.logo.minSizePx}px tall, only on the surfaces its variant allows.`,
119
125
  `Colours, fonts and radii come from \`tokens.css\` / \`tailwind.css\`; never type raw values.`,
120
126
  ].filter(Boolean);
@@ -130,6 +136,7 @@ export function compileSkill(dna) {
130
136
  ["voice", voiceRef(dna)],
131
137
  ["messaging", messagingRef(dna)],
132
138
  ["imagery", imageryRef(dna)],
139
+ ["design", designRef(dna)],
133
140
  ["rules", rulesRef(dna, index)],
134
141
  ];
135
142
  const skill = `---\nname: ${name}\ndescription: ${description}\n---\n\n# ${dna.brand.name} brand\n\n${dna.brand.tagline ? `${dna.brand.tagline}. ` : ""}Brand DNA ${dna.brand.id}@${dna.brand.version}; generated, do not edit.\n\n## Every time\n\n${essentials(dna, index)
@@ -152,6 +159,7 @@ export function compileLovable(dna) {
152
159
  logoRef(dna),
153
160
  typeRef(dna, index),
154
161
  messagingRef(dna),
162
+ designRef(dna),
155
163
  rulesRef(dna, index),
156
164
  imageryRef(dna),
157
165
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../../src/core/compile/skill.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill.js","sourceRoot":"","sources":["../../../src/core/compile/skill.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * can still catch typos.
5
5
  */
6
6
  import type { DnaRule, RuleMeta } from "./types.js";
7
- export declare const RULES_VERSION = "1.4.0";
7
+ export declare const RULES_VERSION = "1.6.0";
8
8
  export declare const DNA_RULES: readonly DnaRule[];
9
9
  /** Declared for Phases 4–5 (docs/architecture.md §7); not yet implemented. */
10
10
  export declare const PLANNED_RULES: readonly RuleMeta[];
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../src/core/lint/catalog.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,OAAO,KAAK,EAAE,OAAO,EAAW,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE7D,eAAO,MAAM,aAAa,UAAU,CAAC;AAmCrC,eAAO,MAAM,SAAS,EAAE,SAAS,OAAO,EA+BvC,CAAC;AAMF,8EAA8E;AAC9E,eAAO,MAAM,aAAa,EAAE,SAAS,QAAQ,EAS5C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,QAAQ,EA6C7C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAA0D,CAAC;AAEzG,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,MAAM,CAK3C,CAAC"}
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../src/core/lint/catalog.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,OAAO,KAAK,EAAE,OAAO,EAAW,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE7D,eAAO,MAAM,aAAa,UAAU,CAAC;AAmCrC,eAAO,MAAM,SAAS,EAAE,SAAS,OAAO,EA0CvC,CAAC;AAMF,8EAA8E;AAC9E,eAAO,MAAM,aAAa,EAAE,SAAS,QAAQ,EAS5C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,SAAS,QAAQ,EA6C7C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,MAAM,EAA0D,CAAC;AAEzG,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,MAAM,CAK3C,CAAC"}
@@ -6,11 +6,12 @@
6
6
  import { CHANNEL_RULES } from "../channels/rules.js";
7
7
  import { SKELETON_RULES } from "../skeleton/rules.js";
8
8
  import * as color from "./rules/color.js";
9
+ import * as design from "./rules/design.js";
9
10
  import * as misc from "./rules/misc.js";
10
11
  import * as pattern from "./rules/pattern.js";
11
12
  import * as refs from "./rules/refs.js";
12
13
  import * as type from "./rules/type.js";
13
- export const RULES_VERSION = "1.4.0";
14
+ export const RULES_VERSION = "1.6.0";
14
15
  const checkKnown = {
15
16
  id: "rules/check-known",
16
17
  scope: "dna",
@@ -54,6 +55,17 @@ export const DNA_RULES = [
54
55
  type.scaleOrder,
55
56
  type.minSize,
56
57
  type.filesPresent,
58
+ design.trackingFloor,
59
+ design.displayMax,
60
+ design.fluidOrder,
61
+ design.measure,
62
+ design.splitOrder,
63
+ design.tonesBase,
64
+ design.designRoles,
65
+ design.accentPolicy,
66
+ design.mediaRefs,
67
+ design.colourStrategy,
68
+ design.texture,
57
69
  misc.derivedStale,
58
70
  misc.provenanceMissing,
59
71
  misc.llmUnlocked,
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/core/lint/catalog.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAC;AAC1C,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AAGxC,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC;AAErC,MAAM,UAAU,GAAY;IAC3B,EAAE,EAAE,mBAAmB;IACvB,KAAK,EAAE,KAAK;IACZ,QAAQ,EAAE,OAAO;IACjB,WAAW,EAAE,yDAAyD;IACtE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAChB,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAa,EAAE,CACrC,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;QAClD,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,qBAAqB,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;QAC1E,CAAC,CAAC,EAAE,CACL;CACF,CAAC;AAEF,MAAM,YAAY,GAAY;IAC7B,EAAE,EAAE,qBAAqB;IACzB,KAAK,EAAE,KAAK;IACZ,QAAQ,EAAE,MAAM;IAChB,WAAW,EAAE,2EAA2E;IACxF,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;QAChB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnE,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAa,EAAE,CAC5C,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;YAC5C,CAAC,CAAC;gBACA;oBACC,IAAI,EAAE,SAAS,CAAC,SAAS;oBACzB,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,gBAAgB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,2BAA2B;iBAClF;aACD;YACF,CAAC,CAAC,EAAE,CACL,CAAC;IACH,CAAC;CACD,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAuB;IAC5C,IAAI,CAAC,aAAa;IAClB,IAAI,CAAC,aAAa;IAClB,KAAK,CAAC,aAAa;IACnB,KAAK,CAAC,WAAW;IACjB,KAAK,CAAC,UAAU;IAChB,KAAK,CAAC,cAAc;IACpB,KAAK,CAAC,aAAa;IACnB,KAAK,CAAC,SAAS;IACf,KAAK,CAAC,YAAY;IAClB,KAAK,CAAC,SAAS;IACf,IAAI,CAAC,YAAY;IACjB,IAAI,CAAC,cAAc;IACnB,IAAI,CAAC,eAAe;IACpB,IAAI,CAAC,UAAU;IACf,IAAI,CAAC,OAAO;IACZ,IAAI,CAAC,YAAY;IACjB,IAAI,CAAC,YAAY;IACjB,IAAI,CAAC,iBAAiB;IACtB,IAAI,CAAC,WAAW;IAChB,IAAI,CAAC,gBAAgB;IACrB,IAAI,CAAC,WAAW;IAChB,IAAI,CAAC,YAAY;IACjB,IAAI,CAAC,cAAc;IACnB,IAAI,CAAC,UAAU;IACf,IAAI,CAAC,YAAY;IACjB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,qBAAqB;IAC7B,OAAO,CAAC,YAAY;IACpB,UAAU;IACV,YAAY;CACZ,CAAC;AAEF,MAAM,OAAO,GACZ,CAAC,KAAwB,EAAE,QAA8B,EAAE,EAAE,CAC7D,CAAC,EAAU,EAAE,WAAmB,EAAY,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;AAEvF,8EAA8E;AAC9E,MAAM,CAAC,MAAM,aAAa,GAAwB;IACjD,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,sBAAsB,EAAE,iDAAiD,CAAC;IACvG,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,eAAe,EAAE,kCAAkC,CAAC;IACjF,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,0BAA0B,EAAE,+BAA+B,CAAC;IACzF,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,2BAA2B,EAAE,4BAA4B,CAAC;IACnF,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,qBAAqB,EAAE,wCAAwC,CAAC;IAC3F,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,uBAAuB,EAAE,mCAAmC,CAAC;IACxF,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,4BAA4B,EAAE,8CAA8C,CAAC;IACtG,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,gBAAgB,EAAE,kCAAkC,CAAC;CACrF,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAwB;IAClD,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;QAChE,EAAE;QACF,KAAK;QACL,QAAQ;QACR,WAAW,EAAE,GAAG,WAAW,2BAA2B;KACtD,CAAC,CAAC;IACH,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CACvB,gBAAgB,EAChB,+FAA+F,CAC/F;IACD,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CACvB,qBAAqB,EACrB,+EAA+E,CAC/E;IACD,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,mBAAmB,EAAE,kEAAkE,CAAC;IACjH,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CACvB,kBAAkB,EAClB,4HAA4H,CAC5H;IACD,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CACvB,uBAAuB,EACvB,iFAAiF,CACjF;IACD,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CACvB,qBAAqB,EACrB,yEAAyE,CACzE;IACD,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,cAAc,EAAE,2EAA2E,CAAC;IACrH,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CACvB,qBAAqB,EACrB,iFAAiF,CACjF;IACD,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,CAC7B,gBAAgB,EAChB,gFAAgF,CAChF;IACD,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,CAC7B,wBAAwB,EACxB,6DAA6D,CAC7D;IACD,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC,CAC/B,mBAAmB,EACnB,kFAAkF,CAClF;CACD,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAsB,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAC;AAEzG,MAAM,CAAC,MAAM,YAAY,GAAwB,IAAI,GAAG,CAAC;IACxD,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7B,GAAG,gBAAgB;IACnB,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACjC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;CAClC,CAAC,CAAC"}
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/core/lint/catalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import type { DnaRule } from "../types.js";
2
+ /** Tracking tighter than this, as a share of the size, makes letters touch. */
3
+ export declare const TRACKING_FLOOR_EM = -0.04;
4
+ export declare const DISPLAY_MAX_PX = 96;
5
+ export declare const MEASURE_PX: {
6
+ readonly min: 45;
7
+ readonly max: 80;
8
+ };
9
+ export declare const trackingFloor: DnaRule;
10
+ export declare const displayMax: DnaRule;
11
+ export declare const fluidOrder: DnaRule;
12
+ export declare const measure: DnaRule;
13
+ export declare const splitOrder: DnaRule;
14
+ export declare const tonesBase: DnaRule;
15
+ export declare const designRoles: DnaRule;
16
+ export declare const accentPolicy: DnaRule;
17
+ export declare const mediaRefs: DnaRule;
18
+ /** The share of a page the brand roles cover in `colorPolicy.usage`, in percent. */
19
+ export declare function brandShare(usage: ReadonlyArray<{
20
+ role: string;
21
+ percent: number;
22
+ }>): number;
23
+ export declare const colourStrategy: DnaRule;
24
+ /** Below this ornament level a brand is plain, so a texture on its bands contradicts it. */
25
+ export declare const TEXTURE_MIN_ORNAMENT = 3;
26
+ export declare const texture: DnaRule;
27
+ //# sourceMappingURL=design.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"design.d.ts","sourceRoot":"","sources":["../../../../src/core/lint/rules/design.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAW,MAAM,aAAa,CAAC;AAOpD,+EAA+E;AAC/E,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AACvC,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,UAAU;;;CAAgC,CAAC;AAExD,eAAO,MAAM,aAAa,EAAE,OAsB3B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,OAkBxB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,OAexB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,OAkBrB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,OAgBxB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,OASvB,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,OAczB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,OAkB1B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,OAmBvB,CAAC;AAEF,oFAAoF;AACpF,wBAAgB,UAAU,CAAC,KAAK,EAAE,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,MAAM,CAG1F;AAED,eAAO,MAAM,cAAc,EAAE,OAoB5B,CAAC;AAEF,4FAA4F;AAC5F,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC,eAAO,MAAM,OAAO,EAAE,OA2BrB,CAAC"}
@@ -0,0 +1,234 @@
1
+ /**
2
+ * Lint for the design language (schema/design.ts) and the type limits that the design skills
3
+ * agree on: tracking no tighter than -0.04em, a display size no larger than 96px, a body measure
4
+ * between 45 and 80 characters, and an accent that appears only where the policy allows it.
5
+ */
6
+ import { BRAND_COLOUR_ROLES, COLOUR_STRATEGIES, STRATEGY_MAX_PERCENT } from "../../../schema/design.js";
7
+ import { textureLayers } from "../../compile/patterns.js";
8
+ import { dimensionToPx, resolveValue } from "../../tokens/resolve.js";
9
+ const px = (index, value) => {
10
+ const r = resolveValue(index, value, "dimension");
11
+ return r.ok ? dimensionToPx(r.value) : undefined;
12
+ };
13
+ /** Tracking tighter than this, as a share of the size, makes letters touch. */
14
+ export const TRACKING_FLOOR_EM = -0.04;
15
+ export const DISPLAY_MAX_PX = 96;
16
+ export const MEASURE_PX = { min: 45, max: 80 };
17
+ export const trackingFloor = {
18
+ id: "type/tracking-floor",
19
+ scope: "dna",
20
+ severity: "warning",
21
+ description: "Letter spacing is never tighter than -0.04em",
22
+ run: ({ dna, index }) => Object.entries(dna.tokens.typography).flatMap(([role, token]) => {
23
+ const t = token?.$value;
24
+ if (!t?.letterSpacing)
25
+ return [];
26
+ const size = px(index, t.fontSize);
27
+ const spacing = px(index, t.letterSpacing);
28
+ if (size === undefined || spacing === undefined)
29
+ return [];
30
+ const em = Math.round((spacing / size) * 1000) / 1000;
31
+ return em < TRACKING_FLOOR_EM
32
+ ? [
33
+ {
34
+ path: `tokens.typography.${role}`,
35
+ message: `Tracking is ${em}em; keep it at ${TRACKING_FLOOR_EM}em or looser`,
36
+ },
37
+ ]
38
+ : [];
39
+ }),
40
+ };
41
+ export const displayMax = {
42
+ id: "type/display-max",
43
+ scope: "dna",
44
+ severity: "warning",
45
+ description: "A display size is at most 96px",
46
+ run: ({ dna, index }) => ["display-xl", "display"].flatMap((role) => {
47
+ const t = dna.tokens.typography[role]?.$value;
48
+ const size = t ? px(index, t.fontSize) : undefined;
49
+ return size !== undefined && size > DISPLAY_MAX_PX
50
+ ? [
51
+ {
52
+ path: `tokens.typography.${role}`,
53
+ message: `${role} is ${size}px; keep it at ${DISPLAY_MAX_PX}px or less`,
54
+ },
55
+ ]
56
+ : [];
57
+ }),
58
+ };
59
+ export const fluidOrder = {
60
+ id: "type/fluid-order",
61
+ scope: "dna",
62
+ severity: "error",
63
+ description: "A fluid size grows: fontSizeMin is smaller than fontSize",
64
+ run: ({ dna, index }) => Object.entries(dna.tokens.typography).flatMap(([role, token]) => {
65
+ const t = token?.$value;
66
+ if (!t?.fontSizeMin)
67
+ return [];
68
+ const min = px(index, t.fontSizeMin);
69
+ const max = px(index, t.fontSize);
70
+ return min !== undefined && max !== undefined && min >= max
71
+ ? [{ path: `tokens.typography.${role}`, message: `fontSizeMin ${min}px is not smaller than fontSize ${max}px` }]
72
+ : [];
73
+ }),
74
+ };
75
+ export const measure = {
76
+ id: "layout/measure",
77
+ scope: "dna",
78
+ severity: "warning",
79
+ description: "Running text is 45 to 80 characters wide, and a lead is narrower than the body",
80
+ run: ({ dna }) => {
81
+ const m = dna.composition?.measure;
82
+ if (!m)
83
+ return [];
84
+ const hits = [];
85
+ if (m.body < MEASURE_PX.min || m.body > MEASURE_PX.max)
86
+ hits.push({
87
+ path: "composition.measure.body",
88
+ message: `${m.body} characters; keep running text between ${MEASURE_PX.min} and ${MEASURE_PX.max}`,
89
+ });
90
+ if (m.lead > m.body)
91
+ hits.push({ path: "composition.measure.lead", message: "A lead is wider than the body; make it narrower" });
92
+ return hits;
93
+ },
94
+ };
95
+ export const splitOrder = {
96
+ id: "layout/split-order",
97
+ scope: "dna",
98
+ severity: "error",
99
+ description: "A split names the wider side first",
100
+ run: ({ dna }) => {
101
+ const split = dna.composition?.split;
102
+ return split && split[0] < split[1]
103
+ ? [
104
+ {
105
+ path: "composition.split",
106
+ message: `${split[0]}:${split[1]} names the narrow side first; write it wide first`,
107
+ },
108
+ ]
109
+ : [];
110
+ },
111
+ };
112
+ export const tonesBase = {
113
+ id: "layout/tones-base",
114
+ scope: "dna",
115
+ severity: "error",
116
+ description: "The section tones a page may use include the page's own tone, base",
117
+ run: ({ dna }) => dna.composition && !dna.composition.tones.allowed.includes("base")
118
+ ? [{ path: "composition.tones.allowed", message: "Add base: every page needs its own tone" }]
119
+ : [],
120
+ };
121
+ export const designRoles = {
122
+ id: "design/role-defined",
123
+ scope: "dna",
124
+ severity: "error",
125
+ description: "The emphasis and the focus ring name colour roles the DNA defines",
126
+ run: ({ dna }) => {
127
+ const named = [
128
+ ["emphasis.role", dna.emphasis?.role],
129
+ ["controls.focus.role", dna.controls?.focus.role],
130
+ ];
131
+ return named
132
+ .filter(([, role]) => role !== undefined && !dna.tokens.color.role[role])
133
+ .map(([path, role]) => ({ path, message: `Role ${role} is not defined` }));
134
+ },
135
+ };
136
+ export const accentPolicy = {
137
+ id: "color/accent-policy",
138
+ scope: "dna",
139
+ severity: "error",
140
+ description: "An emphasis in the accent is one of the places the accent policy allows",
141
+ run: ({ dna }) => {
142
+ const e = dna.emphasis;
143
+ const uses = dna.colorPolicy?.accent?.uses;
144
+ if (!e || !uses || e.role !== "accent" || e.style === "none")
145
+ return [];
146
+ return uses.includes("marker")
147
+ ? []
148
+ : [
149
+ {
150
+ path: "emphasis.role",
151
+ message: "Headline emphasis uses the accent; add marker to colorPolicy.accent.uses",
152
+ },
153
+ ];
154
+ },
155
+ };
156
+ export const mediaRefs = {
157
+ id: "imagery/media-ref",
158
+ scope: "dna",
159
+ severity: "error",
160
+ description: "The media radius and the duotone colours resolve to tokens",
161
+ run: ({ dna, index }) => {
162
+ const m = dna.imagery.media;
163
+ if (!m)
164
+ return [];
165
+ const refs = [["imagery.media.radius", m.radius, "dimension"]];
166
+ if (m.duotone)
167
+ refs.push(["imagery.media.duotone.shadow", m.duotone.shadow, "color"], ["imagery.media.duotone.highlight", m.duotone.highlight, "color"]);
168
+ return refs.flatMap(([path, value, type]) => {
169
+ const r = resolveValue(index, value, type);
170
+ return r.ok ? [] : [{ path, message: r.error }];
171
+ });
172
+ },
173
+ };
174
+ /** The share of a page the brand roles cover in `colorPolicy.usage`, in percent. */
175
+ export function brandShare(usage) {
176
+ const brand = new Set(BRAND_COLOUR_ROLES);
177
+ return usage.filter((u) => brand.has(u.role)).reduce((sum, u) => sum + u.percent, 0);
178
+ }
179
+ export const colourStrategy = {
180
+ id: "color/strategy",
181
+ scope: "dna",
182
+ severity: "error",
183
+ description: "The brand colours cover as much of a page as the colour strategy says",
184
+ run: ({ dna }) => {
185
+ const policy = dna.colorPolicy;
186
+ if (!policy?.strategy)
187
+ return [];
188
+ const share = brandShare(policy.usage);
189
+ const max = STRATEGY_MAX_PERCENT[policy.strategy];
190
+ const below = COLOUR_STRATEGIES[COLOUR_STRATEGIES.indexOf(policy.strategy) - 1];
191
+ const min = below ? STRATEGY_MAX_PERCENT[below] : 0;
192
+ if (share <= max && (share > min || min === 0))
193
+ return [];
194
+ return [
195
+ {
196
+ path: "colorPolicy.strategy",
197
+ message: `The brand colours (${BRAND_COLOUR_ROLES.join(", ")}) cover ${share}% in usage; a ${policy.strategy} strategy covers more than ${min}% and at most ${max}%`,
198
+ },
199
+ ];
200
+ },
201
+ };
202
+ /** Below this ornament level a brand is plain, so a texture on its bands contradicts it. */
203
+ export const TEXTURE_MIN_ORNAMENT = 3;
204
+ export const texture = {
205
+ id: "composition/texture",
206
+ scope: "dna",
207
+ severity: "error",
208
+ description: "A band texture names a pattern the site can draw, on tones the page may use",
209
+ run: ({ dna }) => {
210
+ const t = dna.composition?.texture;
211
+ if (!t)
212
+ return [];
213
+ const pattern = dna.patterns[t.pattern];
214
+ if (!pattern)
215
+ return [{ path: "composition.texture.pattern", message: `There is no pattern ${t.pattern}` }];
216
+ const hits = [];
217
+ if (textureLayers(pattern.layers, "currentColor") === "none")
218
+ hits.push({
219
+ path: "composition.texture.pattern",
220
+ message: `Pattern ${t.pattern} has only layers a renderer draws (a mark, dashed lines); a site cannot draw it`,
221
+ });
222
+ const allowed = new Set(dna.composition?.tones.allowed ?? []);
223
+ for (const tone of t.tones.filter((x) => !allowed.has(x)))
224
+ hits.push({ path: "composition.texture.tones", message: `Tone ${tone} is not in composition.tones.allowed` });
225
+ const ornament = dna.visual?.tone.ornament;
226
+ if (ornament !== undefined && ornament < TEXTURE_MIN_ORNAMENT)
227
+ hits.push({
228
+ path: "composition.texture",
229
+ message: `Visual ornament is ${ornament}; a texture needs ${TEXTURE_MIN_ORNAMENT} or more`,
230
+ });
231
+ return hits;
232
+ },
233
+ };
234
+ //# sourceMappingURL=design.js.map