@lets-ship/brand-dna 1.1.0 → 2.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.
@@ -1,7 +1,8 @@
1
1
  import { type Dna } from "../../schema/dna.js";
2
2
  import type { FontsLockEntry } from "../../schema/fonts-lock.js";
3
- import { type PresetId } from "./specs.js";
4
- export { BRAND_KIT_IDS, PRESET_IDS, PRESETS, type PresetId } from "./specs.js";
3
+ import { type PresetId, type PresetSpec } from "./specs.js";
4
+ export { MARK_SHAPES, type MarkShape } from "../assets/mark.js";
5
+ export { BRAND_KIT_IDS, PRESET_IDS, PRESETS, type PresetId, type PresetSpec } from "./specs.js";
5
6
  /** A preset request that cannot become a valid DNA. */
6
7
  export declare class PresetError extends Error {
7
8
  constructor(message: string);
@@ -16,4 +17,10 @@ export type PresetResult = {
16
17
  };
17
18
  /** The DNA of one preset look for one brand, with its mark, already derived. */
18
19
  export declare function presetBrand(preset: PresetId, brand: PresetBrand, lock: readonly FontsLockEntry[]): Promise<PresetResult>;
20
+ /**
21
+ * The DNA of a look built from its own spec, for one brand: the same path as a preset, so a
22
+ * custom look in a preview is the DNA a site would get. `origin` names the look in the DNA's
23
+ * source, as `preset://<origin>`.
24
+ */
25
+ export declare function customBrand(spec: PresetSpec, brand: PresetBrand, lock: readonly FontsLockEntry[]): Promise<PresetResult>;
19
26
  //# sourceMappingURL=presets.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../../src/core/presets/presets.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,GAAG,EAAoB,MAAM,qBAAqB,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAMjE,OAAO,EAAuB,KAAK,QAAQ,EAAmB,MAAM,YAAY,CAAC;AAEjF,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAO/E,uDAAuD;AACvD,qBAAa,WAAY,SAAQ,KAAK;gBACzB,OAAO,EAAE,MAAM;CAI3B;AAoDD,MAAM,MAAM,WAAW,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AACzE,MAAM,MAAM,YAAY,GAAG;IAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;CAAE,CAAC;AAEnG,gFAAgF;AAChF,wBAAsB,WAAW,CAChC,MAAM,EAAE,QAAQ,EAChB,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,SAAS,cAAc,EAAE,GAC7B,OAAO,CAAC,YAAY,CAAC,CAiBvB"}
1
+ {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../../src/core/presets/presets.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,GAAG,EAAoB,MAAM,qBAAqB,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAMjE,OAAO,EAAuB,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAEjF,OAAO,EAAE,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAOhG,uDAAuD;AACvD,qBAAa,WAAY,SAAQ,KAAK;gBACzB,OAAO,EAAE,MAAM;CAI3B;AAoDD,MAAM,MAAM,WAAW,GAAG;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AACzE,MAAM,MAAM,YAAY,GAAG;IAAE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;CAAE,CAAC;AAEnG,gFAAgF;AAChF,wBAAsB,WAAW,CAChC,MAAM,EAAE,QAAQ,EAChB,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,SAAS,cAAc,EAAE,GAC7B,OAAO,CAAC,YAAY,CAAC,CAIvB;AAqBD;;;;GAIG;AACH,wBAAsB,WAAW,CAChC,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,SAAS,cAAc,EAAE,GAC7B,OAAO,CAAC,YAAY,CAAC,CAGvB"}
@@ -1,10 +1,11 @@
1
1
  import { Dna as DnaSchema } from "../../schema/dna.js";
2
- import { markSvg } from "../assets/mark.js";
2
+ import { MARK_SHAPES, markSvg } from "../assets/mark.js";
3
3
  import { sha256 } from "../canonical/hash.js";
4
4
  import { parseColor, toDtcg } from "../color/color.js";
5
5
  import { derive } from "../derive/derive.js";
6
6
  import BASE_DNA from "./base.dna.json" with { type: "json" };
7
7
  import { PRESET_IDS, PRESETS } from "./specs.js";
8
+ export { MARK_SHAPES } from "../assets/mark.js";
8
9
  export { BRAND_KIT_IDS, PRESET_IDS, PRESETS } from "./specs.js";
9
10
  const USER = { $extensions: { dna: { provenance: { method: "user" } } } };
10
11
  const ID = /^[a-z0-9][a-z0-9_-]*$/;
@@ -27,8 +28,8 @@ function substitute(node, values) {
27
28
  return Object.fromEntries(Object.entries(node).map(([key, value]) => [key, substitute(value, values)]));
28
29
  return node;
29
30
  }
30
- function fill(template, preset, brand) {
31
- return substitute(template, { ID: brand.id, NAME: brand.name, PRESET: preset });
31
+ function fill(template, origin, brand) {
32
+ return substitute(template, { ID: brand.id, NAME: brand.name, PRESET: origin });
32
33
  }
33
34
  function seed(hex) {
34
35
  return { $type: "color", $value: toDtcg(parseColor(hex)), ...USER };
@@ -70,11 +71,40 @@ export async function presetBrand(preset, brand, lock) {
70
71
  const spec = PRESETS[preset];
71
72
  if (!spec)
72
73
  throw new PresetError(`unknown preset ${String(preset)}; pick one of ${PRESET_IDS.join(", ")}`);
74
+ return specBrand(spec, preset, brand, lock);
75
+ }
76
+ const HEX = /^#[0-9a-f]{6}$/i;
77
+ /** A look that is not one of the six presets: each field checked, so a bad one names itself. */
78
+ function checkSpec(spec, lock) {
79
+ for (const field of ["primary", "accent"]) {
80
+ if (!HEX.test(spec[field]))
81
+ throw new PresetError(`${field} ${spec[field]} is not a #rrggbb colour`);
82
+ }
83
+ const weights = lock.filter((f) => f.family === spec.display.family).map((f) => f.weight);
84
+ if (!weights.includes(spec.display.weight))
85
+ throw new PresetError(`the catalog has no ${spec.display.family} at weight ${spec.display.weight}; it has ${weights.join(", ") || "none"}`);
86
+ for (const [step, px] of Object.entries(spec.radiusPx)) {
87
+ if (!Number.isInteger(px) || px < 0)
88
+ throw new PresetError(`radius ${step} ${px} is not a whole number of px`);
89
+ }
90
+ if (!MARK_SHAPES.includes(spec.mark))
91
+ throw new PresetError(`mark ${spec.mark} is not one of ${MARK_SHAPES.join(", ")}`);
92
+ }
93
+ /**
94
+ * The DNA of a look built from its own spec, for one brand: the same path as a preset, so a
95
+ * custom look in a preview is the DNA a site would get. `origin` names the look in the DNA's
96
+ * source, as `preset://<origin>`.
97
+ */
98
+ export async function customBrand(spec, brand, lock) {
99
+ checkSpec(spec, lock);
100
+ return specBrand(spec, "custom", brand, lock);
101
+ }
102
+ async function specBrand(spec, origin, brand, lock) {
73
103
  if (!ID.test(brand.id))
74
104
  throw new PresetError(`brand id ${brand.id} is not a lowercase id`);
75
105
  if (brand.name.trim() === "")
76
106
  throw new PresetError("the brand name is empty");
77
- const dna = fill(BASE_DNA, preset, brand);
107
+ const dna = fill(BASE_DNA, origin, brand);
78
108
  const palette = dna.tokens.color.palette;
79
109
  if (palette.brand)
80
110
  palette.brand["600"] = seed(spec.primary);
@@ -1 +1 @@
1
- {"version":3,"file":"presets.js","sourceRoot":"","sources":["../../../src/core/presets/presets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"presets.js","sourceRoot":"","sources":["../../../src/core/presets/presets.ts"],"names":[],"mappings":"AAMA,OAAO,EAAY,GAAG,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEjE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,QAAQ,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,OAAO,EAAkC,MAAM,YAAY,CAAC;AAEjF,OAAO,EAAE,WAAW,EAAkB,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAkC,MAAM,YAAY,CAAC;AAGhG,MAAM,IAAI,GAAG,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,EAAW,CAAC;AACnF,MAAM,EAAE,GAAG,uBAAuB,CAAC;AACnC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;AAElC,uDAAuD;AACvD,MAAM,OAAO,WAAY,SAAQ,KAAK;IACrC,YAAY,OAAe;QAC1B,KAAK,CAAC,WAAW,OAAO,EAAE,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,aAAa,CAAC;IAC3B,CAAC;CACD;AAED,MAAM,WAAW,GAAG,uBAAuB,CAAC;AAE5C,0GAA0G;AAC1G,SAAS,UAAU,CAAC,IAAa,EAAE,MAAwC;IAC1E,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,GAAW,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IACvG,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7E,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QACnC,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACzG,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,IAAI,CAAC,QAA2C,EAAE,MAAc,EAAE,KAAkB;IAC5F,OAAO,UAAU,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAa,CAAC;AAC7F,CAAC;AAED,SAAS,IAAI,CAAC,GAAW;IACxB,OAAO,EAAE,KAAK,EAAE,OAAgB,EAAE,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC;AAC9E,CAAC;AAED,SAAS,SAAS,CAAC,MAAc,EAAE,IAA+B;IACjE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IAC9D,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;IAClC,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,WAAW,CAAC,GAAG,MAAM,6BAA6B,CAAC,CAAC;IAC5E,OAAO;QACN,MAAM;QACN,OAAO;QACP,MAAM,EAAE,YAAY;QACpB,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACjG,aAAa,EAAE,IAAI;KACnB,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,GAAa,EAAE,IAAgB;IACjD,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC;IACrB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;IAC7E,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;IAChE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI;QAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;IAC/E,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,EAAE,CAAC;QAC3D,MAAM,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;YAAE,KAAK,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC9F,CAAC;AACF,CAAC;AAED,SAAS,UAAU,CAAC,GAAa,EAAE,IAAgB;IAClD,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,EAAE,CAAC;QAChD,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,KAAK;YAAE,KAAK,CAAC,MAAM,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;IACtE,CAAC;AACF,CAAC;AAKD,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,WAAW,CAChC,MAAgB,EAChB,KAAkB,EAClB,IAA+B;IAE/B,MAAM,IAAI,GAA2B,OAAO,CAAC,MAAM,CAAC,CAAC;IACrD,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,WAAW,CAAC,kBAAkB,MAAM,CAAC,MAAM,CAAC,iBAAiB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3G,OAAO,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,GAAG,GAAG,iBAAiB,CAAC;AAE9B,gGAAgG;AAChG,SAAS,SAAS,CAAC,IAAgB,EAAE,IAA+B;IACnE,KAAK,MAAM,KAAK,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAU,EAAE,CAAC;QACpD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAAE,MAAM,IAAI,WAAW,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IACtG,CAAC;IACD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC1F,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QACzC,MAAM,IAAI,WAAW,CACpB,sBAAsB,IAAI,CAAC,OAAO,CAAC,MAAM,cAAc,IAAI,CAAC,OAAO,CAAC,MAAM,YAAY,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CACpH,CAAC;IACH,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC;YAAE,MAAM,IAAI,WAAW,CAAC,UAAU,IAAI,IAAI,EAAE,8BAA8B,CAAC,CAAC;IAChH,CAAC;IACD,IAAI,CAAE,WAAiC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;QAC1D,MAAM,IAAI,WAAW,CAAC,QAAQ,IAAI,CAAC,IAAI,kBAAkB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACrF,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAChC,IAAgB,EAChB,KAAkB,EAClB,IAA+B;IAE/B,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACtB,OAAO,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAC/C,CAAC;AAED,KAAK,UAAU,SAAS,CACvB,IAAgB,EAChB,MAA2B,EAC3B,KAAkB,EAClB,IAA+B;IAE/B,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAAE,MAAM,IAAI,WAAW,CAAC,YAAY,KAAK,CAAC,EAAE,wBAAwB,CAAC,CAAC;IAC5F,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE;QAAE,MAAM,IAAI,WAAW,CAAC,yBAAyB,CAAC,CAAC;IAC/E,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;IACzC,IAAI,OAAO,CAAC,KAAK;QAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7D,IAAI,OAAO,CAAC,MAAM;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9D,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACrB,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACtB,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IAC/G,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACrC,IAAI,OAAO;QAAE,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IAChC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/E,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lets-ship/brand-dna",
3
- "version": "1.1.0",
3
+ "version": "2.0.0",
4
4
  "type": "module",
5
5
  "description": "Brand DNA schema, derive, lint and compiler: turns a brand.dna.json into themes, tokens and site checks.",
6
6
  "license": "MIT",