@hanzo/ui 8.27.49 → 8.27.51

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.
@@ -341,7 +341,7 @@ const RING = { dark: 'rgb(255 255 255 / .40)', light: 'rgb(0 0 0 / .5)' };
341
341
  const ALIASES = [
342
342
  'sunken', 'panel', 'hover', 'edge', 'raised', 'rim',
343
343
  'bound', 'dim', 'faint', 'soft', 'quiet', 'ink',
344
- 'bad', 'good',
344
+ 'bad', 'good', 'accentHover',
345
345
  ];
346
346
  /** The two state colours design publishes, so an error or a success is a rung. */
347
347
  const STATE = { bad: 'var(--state-error, #ef4444)', good: 'var(--state-success, #22c55e)' };
@@ -394,6 +394,14 @@ const SURFACE = {
394
394
  * referenced `--primary` at all.
395
395
  */
396
396
  const GROUND = { dark: '#0a0a0a', light: '#f7f7f7' };
397
+ /**
398
+ * The loud control under the cursor. design publishes `--accent-hover` beside
399
+ * the pair, and `@hanzo/design`'s `vars()` restates it whenever a person or an
400
+ * org picks an accent — so a blue control deepens blue on hover instead of
401
+ * turning the grey it used to be. The literal is design's own (`--secondary-hover`,
402
+ * which the monochrome accent shares), for a host that mounts no token layer.
403
+ */
404
+ const ACCENT_HOVER = { dark: '#333333', light: '#e0e0e0' };
397
405
  const MUTED = { dark: 'rgb(255 255 255 / .55)', light: 'rgb(10 10 10 / .55)' };
398
406
  const LOUD = { dark: '#fafafa', light: '#0a0a0a' };
399
407
  const LOUD_LABEL = { dark: '#0a0a0a', light: '#fafafa' };
@@ -524,6 +532,7 @@ const themes = Object.fromEntries(Object.entries(v5_1.defaultConfig.themes).map(
524
532
  // the mismatch never showed: setting either name moved zero pixels.
525
533
  accentBackground: `var(--accent, ${SURFACE[s].raised})`,
526
534
  accentColor: `var(--accent-foreground, ${LABEL[s]})`,
535
+ accentHover: `var(--accent-hover, ${ACCENT_HOVER[s]})`,
527
536
  }
528
537
  : ringed,
529
538
  ];
@@ -30,7 +30,7 @@ import { createGui } from '@hanzo/gui';
30
30
  * The names the ramp answers to. One list, so the VALUES below and the TYPE the
31
31
  * config is cast to cannot disagree — they are generated from this.
32
32
  */
33
- declare const ALIASES: readonly ['sunken', 'panel', 'hover', 'edge', 'raised', 'rim', 'bound', 'dim', 'faint', 'soft', 'quiet', 'ink', 'bad', 'good'];
33
+ declare const ALIASES: readonly ['sunken', 'panel', 'hover', 'edge', 'raised', 'rim', 'bound', 'dim', 'faint', 'soft', 'quiet', 'ink', 'bad', 'good', 'accentHover'];
34
34
  type Alias = Record<(typeof ALIASES)[number], string>;
35
35
  declare const animations: import("@hanzogui/web").AnimationDriver<{
36
36
  default: string;
@@ -1852,7 +1852,7 @@ export type Conf = typeof config;
1852
1852
  * `mono` font and the twelve ramp names, and a new addition belongs beside them.
1853
1853
  */
1854
1854
  type Base = ReturnType<typeof createGui<typeof defaultConfig>>;
1855
- type Ramp = Record<'sunken' | 'panel' | 'hover' | 'edge' | 'raised' | 'rim' | 'bound' | 'dim' | 'faint' | 'soft' | 'quiet' | 'ink' | 'bad' | 'good', Base['themes']['dark']['color12']>;
1855
+ type Ramp = Record<'sunken' | 'panel' | 'hover' | 'edge' | 'raised' | 'rim' | 'bound' | 'dim' | 'faint' | 'soft' | 'quiet' | 'ink' | 'bad' | 'good' | 'accentHover', Base['themes']['dark']['color12']>;
1856
1856
  type Registered = Omit<Base, 'fonts' | 'themes' | 'animations'> & {
1857
1857
  animations: typeof animations;
1858
1858
  fonts: Base['fonts'] & {
@@ -1 +1 @@
1
- {"version":3,"file":"gui-config.d.ts","sourceRoot":"","sources":["../src/gui-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gui-config.d.ts","sourceRoot":"","sources":["../src/gui-config.ts"],"names":[],"mappings":"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"}
@@ -337,7 +337,7 @@ const RING = { dark: 'rgb(255 255 255 / .40)', light: 'rgb(0 0 0 / .5)' };
337
337
  const ALIASES = [
338
338
  'sunken', 'panel', 'hover', 'edge', 'raised', 'rim',
339
339
  'bound', 'dim', 'faint', 'soft', 'quiet', 'ink',
340
- 'bad', 'good',
340
+ 'bad', 'good', 'accentHover',
341
341
  ];
342
342
  /** The two state colours design publishes, so an error or a success is a rung. */
343
343
  const STATE = { bad: 'var(--state-error, #ef4444)', good: 'var(--state-success, #22c55e)' };
@@ -390,6 +390,14 @@ const SURFACE = {
390
390
  * referenced `--primary` at all.
391
391
  */
392
392
  const GROUND = { dark: '#0a0a0a', light: '#f7f7f7' };
393
+ /**
394
+ * The loud control under the cursor. design publishes `--accent-hover` beside
395
+ * the pair, and `@hanzo/design`'s `vars()` restates it whenever a person or an
396
+ * org picks an accent — so a blue control deepens blue on hover instead of
397
+ * turning the grey it used to be. The literal is design's own (`--secondary-hover`,
398
+ * which the monochrome accent shares), for a host that mounts no token layer.
399
+ */
400
+ const ACCENT_HOVER = { dark: '#333333', light: '#e0e0e0' };
393
401
  const MUTED = { dark: 'rgb(255 255 255 / .55)', light: 'rgb(10 10 10 / .55)' };
394
402
  const LOUD = { dark: '#fafafa', light: '#0a0a0a' };
395
403
  const LOUD_LABEL = { dark: '#0a0a0a', light: '#fafafa' };
@@ -520,6 +528,7 @@ const themes = Object.fromEntries(Object.entries(defaultConfig.themes).map(([nam
520
528
  // the mismatch never showed: setting either name moved zero pixels.
521
529
  accentBackground: `var(--accent, ${SURFACE[s].raised})`,
522
530
  accentColor: `var(--accent-foreground, ${LABEL[s]})`,
531
+ accentHover: `var(--accent-hover, ${ACCENT_HOVER[s]})`,
523
532
  }
524
533
  : ringed,
525
534
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"gui-config.js","sourceRoot":"","sources":["../src/gui-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gui-config.js","sourceRoot":"","sources":["../src/gui-config.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAuB,MAAM,YAAY,CAAA;AAE3D,gFAAgF;AAChF,6EAA6E;AAC7E,EAAE;AACF,iFAAiF;AACjF,mFAAmF;AACnF,iFAAiF;AACjF,6DAA6D;AAC7D,EAAE;AACF,0EAA0E;AAC1E,6EAA6E;AAC7E,+EAA+E;AAC/E,2EAA2E;AAC3E,gFAAgF;AAChF,6CAA6C;AAC7C,EAAE;AACF,6EAA6E;AAC7E,+EAA+E;AAC/E,oEAAoE;AACpE,gFAAgF;AAChF,gFAAgF;AAChF,4EAA4E;AAC5E,EAAE;AACF,+EAA+E;AAC/E,2EAA2E;AAC3E,4EAA4E;AAC5E,oEAAoE;AACpE,2EAA2E;AAC3E,8EAA8E;AAC9E,+EAA+E;AAC/E,6DAA6D;AAC7D,gFAAgF;AAEhF,MAAM,IAAI,GAAG,+DAA+D,CAAA;AAE5E;;;mBAGmB;AACnB,MAAM,IAAI,GAAG,wFAAwF,CAAA;AAErG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4EAoC4E;AAC5E,MAAM,SAAS,GAAG;IAChB,CAAC,EAAE,sBAAsB;IACzB,CAAC,EAAE,sBAAsB;IACzB,CAAC,EAAE,wBAAwB;IAC3B,CAAC,EAAE,sBAAsB;IACzB,CAAC,EAAE,sBAAsB;IACzB,CAAC,EAAE,sBAAsB;IACzB,CAAC,EAAE,uBAAuB;IAC1B,CAAC,EAAE,uBAAuB;IAC1B,CAAC,EAAE,uBAAuB;IAC1B,EAAE,EAAE,uBAAuB;IAC3B,EAAE,EAAE,uBAAuB;IAC3B,EAAE,EAAE,mFAAmF;IACvF,EAAE,EAAE,uFAAuF;IAC3F,EAAE,EAAE,uBAAuB;IAC3B,EAAE,EAAE,uFAAuF;IAC3F,EAAE,EAAE,wFAAwF;IAC5F,IAAI,EAAE,wBAAwB;CACtB,CAAA;AAEV;;;;kFAIkF;AAClF,MAAM,WAAW,GAAG;IAClB,CAAC,EAAE,mCAAmC;IACtC,CAAC,EAAE,mCAAmC;IACtC,CAAC,EAAE,mCAAmC;IACtC,CAAC,EAAE,mCAAmC;IACtC,CAAC,EAAE,mCAAmC;IACtC,CAAC,EAAE,mCAAmC;IACtC,wEAAwE;IACxE,sEAAsE;IACtE,+EAA+E;IAC/E,6EAA6E;IAC7E,4EAA4E;IAC5E,4CAA4C;IAC5C,EAAE;IACF,+EAA+E;IAC/E,4EAA4E;IAC5E,CAAC,EAAE,mCAAmC;IACtC,CAAC,EAAE,mCAAmC;IACtC,CAAC,EAAE,mCAAmC;IACtC,EAAE,EAAE,mCAAmC;IACvC,EAAE,EAAE,mCAAmC;IACvC,EAAE,EAAE,mCAAmC;IACvC,EAAE,EAAE,mCAAmC;IACvC,EAAE,EAAE,mCAAmC;IACvC,EAAE,EAAE,mCAAmC;IACvC,EAAE,EAAE,mCAAmC;IACvC,IAAI,EAAE,mCAAmC;CACjC,CAAA;AAEV;;;;;;;;;;;;;GAaG;AACH,MAAM,QAAQ,GAAG;IACf,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,UAAU;IACb,CAAC,EAAE,UAAU;IACb,CAAC,EAAE,UAAU;IACb,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,UAAU;IACd,EAAE,EAAE,UAAU;IACd,IAAI,EAAE,CAAC;CACC,CAAA;AAEV;;;0EAG0E;AAC1E,MAAM,MAAM,GAAG;IACb,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,CAAC;CACC,CAAA;AAEV;;;iDAGiD;AACjD,MAAM,IAAI,GAA2B;IACnC,GAAG,EAAE,CAAC;IACN,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,CAAC;IACT,GAAG,EAAE,CAAC;IACN,KAAK,EAAE,CAAC;IACR,GAAG,EAAE,CAAC;IACN,KAAK,EAAE,EAAE;IACT,GAAG,EAAE,EAAE;IACP,KAAK,EAAE,EAAE;IACT,GAAG,EAAE,EAAE;IACP,KAAK,EAAE,EAAE;IACT,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;IACP,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,EAAE;IACR,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;IACT,IAAI,EAAE,GAAG;CACV,CAAA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,IAAI,GAAG,CAAC,EAAU,EAAmB,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAA;AAElG;;;;;;;;;;;;GAYG;AACH,MAAM,KAAK,GAAG,CAAC,EAAU,EAAmB,EAAE,CAC5C,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,8BAA8B,CAAA;AAExE,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAChC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAC1B,CAAA;AAE7B,MAAM,KAAK,GAAoC,EAAE,CAAA;AACjD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;IAC1C,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;IACxB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;AAC3B,CAAC;AACD,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAC7B,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAEjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,kBAAkB,EAAW,CAAA;AACnF,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAW,CAAA;AAC5D,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,iBAAiB,EAAW,CAAA;AAElF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH;;;GAGG;AACH,MAAM,OAAO,GAAG;IACd,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK;IACnD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK;IAC/C,KAAK,EAAE,MAAM,EAAE,aAAa;CACpB,CAAA;AACV,kFAAkF;AAClF,MAAM,KAAK,GAAG,EAAE,GAAG,EAAE,6BAA6B,EAAE,IAAI,EAAE,+BAA+B,EAAW,CAAA;AAIpG,MAAM,OAAO,GAAG;IACd,IAAI,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,wBAAwB,EAAE,MAAM,EAAE,wBAAwB,EAAE;IAC3G,KAAK,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,kBAAkB,EAAE;CAClF,CAAA;AAEV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAW,CAAA;AAC7D;;;;;;GAMG;AACH,MAAM,YAAY,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAW,CAAA;AACnE,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,qBAAqB,EAAW,CAAA;AACvF,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAW,CAAA;AAC3D,MAAM,UAAU,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAW,CAAA;AAEjE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,GAAG,CAAC,IAAY,EAAoB,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;AAEhG;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,MAAM,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,QAAQ,IAAI,KAAK,CAAA;AAEnD,8EAA8E;AAC9E,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAE1E,MAAM,IAAI,GAAG,CAAC,IAAY,EAAU,EAAE;IACpC,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,IAAyC,CAE/D,CAAA;IACb,IAAI,CAAC,KAAK,IAAI,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC;QAAE,OAAO,iBAAiB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAA;IAClF,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;AAC1E,CAAC,CAAA;AAED,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAC/B,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;IACzD,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;IACtB,MAAM,MAAM,GAAG;QACb,GAAG,KAAK;QACR,YAAY,EAAE,eAAe,IAAI,CAAC,CAAC,CAAC,GAAG;QACvC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;KACtD,CAAA;IACD,OAAO;QACL,IAAI;QACJ,IAAI,KAAK,CAAC;YACR,CAAC,CAAC;gBACE,GAAG,MAAM;gBACT,MAAM,EAAE,oBAAoB,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG;gBAC9C,MAAM,EAAE,oBAAoB,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;gBAC/C,MAAM,EAAE,iBAAiB,IAAI,CAAC,CAAC,CAAC,GAAG;gBACnC,MAAM,EAAE,oBAAoB,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG;gBAChD,WAAW,EAAE,iBAAiB,IAAI,CAAC,CAAC,CAAC,GAAG;gBACxC,OAAO,EAAE,qBAAqB,KAAK,CAAC,CAAC,CAAC,GAAG;gBAEzC,4DAA4D;gBAC5D,EAAE;gBACF,oEAAoE;gBACpE,oEAAoE;gBACpE,oEAAoE;gBACpE,kEAAkE;gBAClE,oEAAoE;gBACpE,+DAA+D;gBAC/D,oEAAoE;gBACpE,yBAAyB;gBACzB,EAAE;gBACF,qEAAqE;gBACrE,oEAAoE;gBACpE,iEAAiE;gBACjE,qEAAqE;gBACrE,iEAAiE;gBACjE,+DAA+D;gBAC/D,kEAAkE;gBAClE,EAAE;gBACF,qEAAqE;gBACrE,qEAAqE;gBACrE,sBAAsB;gBACtB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;gBAC5B,KAAK,EAAE,oBAAoB,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG;gBAC7C,KAAK,EAAE,oBAAoB,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;gBAC9C,IAAI,EAAE,iBAAiB,IAAI,CAAC,CAAC,CAAC,GAAG;gBACjC,MAAM,EAAE,oBAAoB,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG;gBAChD,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;gBACzB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;gBAC3B,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;gBACzB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;gBAC3B,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;gBAC3B,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;gBAC5B,GAAG,EAAE,qBAAqB,KAAK,CAAC,CAAC,CAAC,GAAG;gBACrC,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;gBACrB,KAAK,EAAE,qBAAqB,KAAK,CAAC,CAAC,CAAC,GAAG;gBACvC,gBAAgB,EAAE,wBAAwB,KAAK,CAAC,CAAC,CAAC,GAAG;gBACrD,oEAAoE;gBACpE,0DAA0D;gBAC1D,mEAAmE;gBACnE,qEAAqE;gBACrE,oEAAoE;gBACpE,+DAA+D;gBAC/D,kEAAkE;gBAClE,EAAE;gBACF,kEAAkE;gBAClE,oEAAoE;gBACpE,gBAAgB,EAAE,iBAAiB,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG;gBACvD,WAAW,EAAE,4BAA4B,KAAK,CAAC,CAAC,CAAC,GAAG;gBACpD,WAAW,EAAE,uBAAuB,YAAY,CAAC,CAAC,CAAC,GAAG;aACvD;YACH,CAAC,CAAC,MAAM;KACX,CAAA;AACH,CAAC,CAAC,CAUuF,CAAA;AAE3F,4EAA4E;AAC5E,6EAA6E;AAC7E;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,GAAG,CAAK,CAAI,EAAE,EAAE,CAAC,CAAoD,CAAA;AAElF;;;;;;;;;;;;;;;;;GAiBG;AACH;;;;;;;GAOG;AACH,MAAM,IAAI,GAAG,sDAAsD,CAAA;AACnE,MAAM,UAAU,GAAG,gBAAgB,CAAC;IAClC,2EAA2E;IAC3E,OAAO,EAAE,GAAG,IAAI,8BAA8B;IAC9C,MAAM,EAAE,GAAG,IAAI,OAAO;IACtB,OAAO,EAAE,GAAG,IAAI,QAAQ;IACxB,OAAO,EAAE,GAAG,IAAI,QAAQ;IACxB,QAAQ,EAAE,GAAG,IAAI,8BAA8B;IAC/C,OAAO,EAAE,GAAG,IAAI,8BAA8B;IAC9C,KAAK,EAAE,GAAG,IAAI,8BAA8B;IAC5C,MAAM,EAAE,GAAG,IAAI,QAAQ;IACvB,IAAI,EAAE,GAAG,IAAI,QAAQ;IACrB,MAAM,EAAE,GAAG,IAAI,QAAQ;IACvB,IAAI,EAAE,GAAG,IAAI,SAAS;IACtB,OAAO,EAAE,GAAG,IAAI,QAAQ;CACzB,CAAC,CAAA;AAEF,MAAM,IAAI,GAAG;IACX,wEAAwE;IACxE,2EAA2E;IAC3E,sEAAsE;IACtE,UAAU,EAAE,UAAqD;IACjE,GAAG,aAAa;IAChB,QAAQ,EAAE,EAAE,GAAG,aAAa,CAAC,QAAQ,EAAE,2BAA2B,EAAE,KAAK,EAAE;IAC3E,MAAM,EAAE;QACN,GAAG,aAAa,CAAC,MAAM;QACvB,MAAM,EAAE,OAAO;QACf,KAAK;KACN;IACD,KAAK,EAAE;QACL,GAAG,aAAa,CAAC,KAAK;QACtB,IAAI,EAAE;YACJ,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI;YAC3B,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC;YACxB,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC;YAChC,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC;SACjC;QACD,OAAO,EAAE;YACP,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO;YAC9B,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC;YACxB,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC;YAChC,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC;SACjC;QACD,2EAA2E;QAC3E,0EAA0E;QAC1E,4EAA4E;QAC5E,4EAA4E;QAC5E,+CAA+C;QAC/C,IAAI,EAAE,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE;KAChH;CACF,CAAA;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;AAEpD,eAAe,MAAM,CAAA;AAErB;;;;;;;GAOG;AACH,MAAM,KAAK,GAAG,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;AAE9C;;0EAE0E;AAC1E,MAAM,UAAU,GAAG,4BAA4B,CAAA;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,GAAG,CAAC,IAAI,GAAyB,MAAM;IACrD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;IAC5B,IAAI,GAAG,GAAG,EAAE,CAAA;IACZ,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;QACnC,IAAI,IAAI,KAAK,CAAC,CAAC,EAAE,CAAC;YAAC,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAC,MAAK;QAAC,CAAC;QAClD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACvC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YAAC,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAC,MAAK;QAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;QACtC,IAAI,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,KAAK,CAAC,CAAA;QACxC,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;YAC/D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,cAAc,IAAI,eAAe,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAA;YAC/E,CAAC;QACH,CAAC;QACD,GAAG,IAAI,QAAQ,GAAG,GAAG,GAAG,IAAI,GAAG,GAAG,CAAA;QAClC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAA;IACf,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;AAE9F,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;AAEvF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,CAAC;IAClC,GAAG,IAAI;IACP,MAAM,EAAE,MAAM,CAAC,WAAW,CACxB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAC3C;CACnB,CAAC,CAAA"}
@@ -16,10 +16,8 @@ const jsx_runtime_1 = require("react/jsx-runtime");
16
16
  // adding `icon`/`iconAfter` to the canonical Button, which is a new public API
17
17
  // on the component every surface depends on, and it wants its own change.
18
18
  const gui_1 = require("@hanzo/gui");
19
- const accent_1 = require("./accent.cjs");
20
19
  const instrument_1 = require("./instrument.cjs");
21
20
  function PrimaryButton({ onPress, ...rest }) {
22
- const { accent, contrast } = (0, accent_1.useAccent)();
23
21
  const track = (0, instrument_1.useEmit)();
24
22
  // DESTRUCTURE the caller's handler out first. Wrapping it while still reading it
25
23
  // off a rebound `props` makes the wrapper call ITSELF — an unbounded recursion
@@ -34,10 +32,5 @@ function PrimaryButton({ onPress, ...rest }) {
34
32
  onPress?.(e);
35
33
  };
36
34
  const handler = press;
37
- // Accent set → a filled accent button (bg + readable text, via inline style Tamagui
38
- // forwards to the DOM). No accent → the default monochrome white (theme="light").
39
- if (accent) {
40
- return (0, jsx_runtime_1.jsx)(gui_1.Button, { style: { backgroundColor: accent, color: contrast, borderColor: accent }, onPress: handler, ...rest });
41
- }
42
- return (0, jsx_runtime_1.jsx)(gui_1.Button, { theme: "light", onPress: handler, ...rest });
35
+ return ((0, jsx_runtime_1.jsx)(gui_1.Button, { bg: "var(--primary)", color: "var(--primary-foreground)", borderColor: "var(--primary)", hoverStyle: { bg: 'var(--primary-hover)', borderColor: 'var(--primary-hover)' }, pressStyle: { bg: 'var(--primary-hover)', borderColor: 'var(--primary-hover)' }, onPress: handler, ...rest }));
43
36
  }
@@ -1,16 +1,17 @@
1
1
  /**
2
- * Primary button — the one white, high-emphasis action for the console.
2
+ * Primary button — the one high-emphasis action in a view (sign in, save, get
3
+ * started). Secondary and destructive actions use the default neutral `Button`.
3
4
  *
4
- * Monochrome brand: `theme="light"` flips the button to the light theme inside
5
- * the dark console, giving a white fill with a near-black label and icon — no
6
- * hue accent. Use it for the single primary action in a view (sign in, save,
7
- * get started). Secondary and destructive actions use the default neutral
8
- * `Button`.
5
+ * It wears design's `--primary` family: the white slab on the dark ground, the
6
+ * black one on the light, and — when a person or an org picks an accent — that
7
+ * accent, with the ink that reads on it and the hover that deepens it. All three
8
+ * come from `@hanzo/design`'s `vars()` through the cascade, so a person's accent
9
+ * (written by `@hanzo/appearance`) and an org's (written by `setOrgAccent`) both
10
+ * reach it with nothing to subscribe to. It used to read the org's accent from a
11
+ * JS store, which a person's choice never entered, so the one primary action in
12
+ * a view was the one control that ignored the person's accent.
9
13
  *
10
- * When an org enables a custom brand color, this — the console's one primary
11
- * action — recolors to the org accent (inline bg + the color prop the label/icon
12
- * inherit), reading the live accent from `useAccent()`; with no custom theme it
13
- * stays the default white. A caller's own `style`/`color` still win (spread last).
14
+ * A caller's own `style`/`color` still win (spread last).
14
15
  */
15
16
  import type { ComponentProps } from 'react';
16
17
  import { Button } from '@hanzo/gui';
@@ -1 +1 @@
1
- {"version":3,"file":"PrimaryButton.d.ts","sourceRoot":"","sources":["../../src/product/PrimaryButton.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAa3C,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAKnC,wBAAgB,aAAa,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,cAAc,CAAC,OAAO,MAAM,CAAC,+BAsBhF"}
1
+ {"version":3,"file":"PrimaryButton.d.ts","sourceRoot":"","sources":["../../src/product/PrimaryButton.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAa3C,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAInC,wBAAgB,aAAa,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,cAAc,CAAC,OAAO,MAAM,CAAC,+BA0BhF"}
@@ -13,10 +13,8 @@ import { jsx as _jsx } from "react/jsx-runtime";
13
13
  // adding `icon`/`iconAfter` to the canonical Button, which is a new public API
14
14
  // on the component every surface depends on, and it wants its own change.
15
15
  import { Button } from '@hanzo/gui';
16
- import { useAccent } from './accent.js';
17
16
  import { labelOf, useEmit } from './instrument.js';
18
17
  export function PrimaryButton({ onPress, ...rest }) {
19
- const { accent, contrast } = useAccent();
20
18
  const track = useEmit();
21
19
  // DESTRUCTURE the caller's handler out first. Wrapping it while still reading it
22
20
  // off a rebound `props` makes the wrapper call ITSELF — an unbounded recursion
@@ -31,11 +29,6 @@ export function PrimaryButton({ onPress, ...rest }) {
31
29
  onPress?.(e);
32
30
  };
33
31
  const handler = press;
34
- // Accent set → a filled accent button (bg + readable text, via inline style Tamagui
35
- // forwards to the DOM). No accent → the default monochrome white (theme="light").
36
- if (accent) {
37
- return _jsx(Button, { style: { backgroundColor: accent, color: contrast, borderColor: accent }, onPress: handler, ...rest });
38
- }
39
- return _jsx(Button, { theme: "light", onPress: handler, ...rest });
32
+ return (_jsx(Button, { bg: "var(--primary)", color: "var(--primary-foreground)", borderColor: "var(--primary)", hoverStyle: { bg: 'var(--primary-hover)', borderColor: 'var(--primary-hover)' }, pressStyle: { bg: 'var(--primary-hover)', borderColor: 'var(--primary-hover)' }, onPress: handler, ...rest }));
40
33
  }
41
34
  //# sourceMappingURL=PrimaryButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PrimaryButton.js","sourceRoot":"","sources":["../../src/product/PrimaryButton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAiBZ,8EAA8E;AAC9E,4EAA4E;AAC5E,iFAAiF;AACjF,8EAA8E;AAC9E,SAAS;AACT,EAAE;AACF,6EAA6E;AAC7E,gFAAgF;AAChF,+EAA+E;AAC/E,2EAA2E;AAC3E,+EAA+E;AAC/E,0EAA0E;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAEnC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAE/C,MAAM,UAAU,aAAa,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,EAAiC;IAC/E,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,CAAA;IACxC,MAAM,KAAK,GAAG,OAAO,EAAE,CAAA;IACvB,iFAAiF;IACjF,+EAA+E;IAC/E,2EAA2E;IAC3E,MAAM,KAAK,GAAG,CAAC,CAAU,EAAE,EAAE;QAC3B,yEAAyE;QACzE,KAAK,CAAC;YACJ,SAAS,EAAE,eAAe;YAC1B,MAAM,EAAE,OAAO;YACf,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;SACjD,CAAC,CACD;QAAC,OAA8C,EAAE,CAAC,CAAC,CAAC,CAAA;IACvD,CAAC,CAAA;IACD,MAAM,OAAO,GAAG,KAAiD,CAAA;IACjE,oFAAoF;IACpF,kFAAkF;IAClF,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,KAAC,MAAM,IAAC,KAAK,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,KAAM,IAAI,GAAI,CAAA;IACzH,CAAC;IACD,OAAO,KAAC,MAAM,IAAC,KAAK,EAAC,OAAO,EAAC,OAAO,EAAE,OAAO,KAAM,IAAI,GAAI,CAAA;AAC7D,CAAC"}
1
+ {"version":3,"file":"PrimaryButton.js","sourceRoot":"","sources":["../../src/product/PrimaryButton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAkBZ,8EAA8E;AAC9E,4EAA4E;AAC5E,iFAAiF;AACjF,8EAA8E;AAC9E,SAAS;AACT,EAAE;AACF,6EAA6E;AAC7E,gFAAgF;AAChF,+EAA+E;AAC/E,2EAA2E;AAC3E,+EAA+E;AAC/E,0EAA0E;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAEnC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAE/C,MAAM,UAAU,aAAa,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,EAAiC;IAC/E,MAAM,KAAK,GAAG,OAAO,EAAE,CAAA;IACvB,iFAAiF;IACjF,+EAA+E;IAC/E,2EAA2E;IAC3E,MAAM,KAAK,GAAG,CAAC,CAAU,EAAE,EAAE;QAC3B,yEAAyE;QACzE,KAAK,CAAC;YACJ,SAAS,EAAE,eAAe;YAC1B,MAAM,EAAE,OAAO;YACf,EAAE,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC;SACjD,CAAC,CACD;QAAC,OAA8C,EAAE,CAAC,CAAC,CAAC,CAAA;IACvD,CAAC,CAAA;IACD,MAAM,OAAO,GAAG,KAAiD,CAAA;IACjE,OAAO,CACL,KAAC,MAAM,IACL,EAAE,EAAC,gBAAgB,EACnB,KAAK,EAAC,2BAA2B,EACjC,WAAW,EAAC,gBAAgB,EAC5B,UAAU,EAAE,EAAE,EAAE,EAAE,sBAAsB,EAAE,WAAW,EAAE,sBAAsB,EAAE,EAC/E,UAAU,EAAE,EAAE,EAAE,EAAE,sBAAsB,EAAE,WAAW,EAAE,sBAAsB,EAAE,EAC/E,OAAO,EAAE,OAAO,KACZ,IAAI,GACR,CACH,CAAA;AACH,CAAC"}
package/dist/root.cjs CHANGED
@@ -39,8 +39,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
39
39
  */
40
40
  const gui_1 = require("@hanzo/gui");
41
41
  const telemetry_1 = require("@hanzogui/telemetry");
42
- const react_1 = require("react");
43
- const state_1 = require("@hanzo/appearance/state");
42
+ const appearance_1 = require("@hanzo/appearance");
44
43
  const gui_config_1 = require("./gui-config.cjs");
45
44
  require("./styles.css");
46
45
  /** A stylesheet that did not reach the document is invisible until someone opens
@@ -63,28 +62,27 @@ const assertStylesheet = () => {
63
62
  return;
64
63
  console.error("@hanzo/ui: styles.css did not reach the document. Import it directly: import '@hanzo/ui/styles.css'.");
65
64
  };
66
- const Hanzo = ({ children, theme = 'dark', analytics }) => {
65
+ const Hanzo = ({ children, theme, analytics, config = gui_config_1.config, appearance }) => {
67
66
  if (process.env.NODE_ENV !== 'production')
68
67
  assertStylesheet();
69
- // A person's stored type size, density and accent, put on the document.
68
+ // A person's appearance, put on the document and kept there.
70
69
  //
71
70
  // Unconditional, unlike `analytics`, and the difference is the whole reason
72
71
  // that one is a prop. Analytics starts a conversation with a server the app
73
- // did not ask for; this reads a preference the PERSON already set on this
74
- // device and honours it. An app that has to opt in is an app that forgets to,
75
- // and then the setting silently does nothing on that surface — which is worse
76
- // than not offering it.
72
+ // did not ask for; this honours a preference the PERSON already set. An app
73
+ // that has to opt in is an app that forgets to, and then the setting silently
74
+ // does nothing on that surface — measured on hanzo.ai, where a stored accent
75
+ // reached no page until someone opened the panel that sets it.
77
76
  //
78
77
  // Costs nothing when unused: an axis nobody set is absent rather than
79
78
  // neutral, so `apply()` removes the property instead of stamping a `1` that
80
- // would outrank a brand's own scale.
79
+ // would outrank a brand's own scale, and leaves a theme nobody chose alone.
81
80
  //
82
81
  // This is the MOUNT half only. First paint still wants `bootScript()` in
83
82
  // <head>, because no component can run before the document exists.
84
- (0, react_1.useEffect)(() => {
85
- (0, state_1.apply)((0, state_1.read)());
86
- }, []);
87
- const tree = ((0, jsx_runtime_1.jsx)(gui_1.GuiProvider, { config: gui_config_1.config, defaultTheme: theme, disableInjectCSS: true, children: children }));
83
+ (0, appearance_1.useAppearance)(appearance);
84
+ const scheme = (0, appearance_1.useScheme)();
85
+ const tree = ((0, jsx_runtime_1.jsx)(gui_1.GuiProvider, { config: config, defaultTheme: theme ?? scheme, disableInjectCSS: true, children: children }));
88
86
  // OUTSIDE the gui provider: capture is delegated at the document, so it does
89
87
  // not need to be inside the styled tree, and an app that renders its own
90
88
  // `<TelemetryProvider/>` above `<Hanzo>` then nests two providers of the same
package/dist/root.d.ts CHANGED
@@ -1,10 +1,34 @@
1
1
  import { type TelemetryConfig } from '@hanzogui/telemetry';
2
- import { type ReactNode } from 'react';
2
+ import type { ReactNode } from 'react';
3
+ import { type Account, type Preference } from '@hanzo/appearance';
4
+ import { type Conf } from './gui-config.js';
3
5
  import './styles.css';
4
6
  export type HanzoProps = {
5
7
  children?: ReactNode;
6
- /** Dark-first Hanzo identity. `light` retunes it. */
8
+ /**
9
+ * Pin the theme. Omitted, it is whatever the document shows — the person's
10
+ * choice through `@hanzo/appearance`, painted as the `light` / `t_light`
11
+ * classes before first paint — and it follows that choice when it changes.
12
+ */
7
13
  theme?: 'dark' | 'light';
14
+ /**
15
+ * The gui config. `@hanzo/ui/gui-config` exports two from one scale: `config`
16
+ * (the default) and `monochrome`, the same table without the chromatic
17
+ * sub-themes, for a surface that renders no hue.
18
+ */
19
+ config?: Conf;
20
+ /**
21
+ * Whose appearance this is. The person's own layers come off the device and,
22
+ * given `account`, off IAM — so a choice made on another Hanzo origin arrives
23
+ * here without the settings panel ever being opened. `org` / `orgPref` are the
24
+ * org's layer, `install` the surface's own defaults.
25
+ */
26
+ appearance?: {
27
+ org?: string;
28
+ orgPref?: Preference;
29
+ install?: Preference;
30
+ account?: Account;
31
+ };
8
32
  /**
9
33
  * Interaction analytics for everything inside — OFF unless you ask.
10
34
  *
@@ -30,6 +54,6 @@ export type HanzoProps = {
30
54
  */
31
55
  analytics?: boolean | TelemetryConfig;
32
56
  };
33
- export declare const Hanzo: ({ children, theme, analytics }: HanzoProps) => import("react").JSX.Element;
57
+ export declare const Hanzo: ({ children, theme, analytics, config, appearance }: HanzoProps) => import("react").JSX.Element;
34
58
  export default Hanzo;
35
59
  //# sourceMappingURL=root.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../src/root.tsx"],"names":[],"mappings":"AAqCA,OAAO,EAAqB,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC7E,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAKjD,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IACxB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,eAAe,CAAA;CACtC,CAAA;AAuBD,eAAO,MAAM,KAAK,mCAA6C,UAAU,gCA+BxE,CAAA;eAEc,KAAK"}
1
+ {"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../src/root.tsx"],"names":[],"mappings":"AAqCA,OAAO,EAAqB,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,EAA4B,KAAK,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAE3F,OAAO,EAAkB,KAAK,IAAI,EAAE,MAAM,cAAc,CAAA;AACxD,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IACxB;;;;OAIG;IACH,MAAM,CAAC,EAAE,IAAI,CAAA;IACb;;;;;OAKG;IACH,UAAU,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,UAAU,CAAC;QAAC,OAAO,CAAC,EAAE,UAAU,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;IAC5F;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,eAAe,CAAA;CACtC,CAAA;AAuBD,eAAO,MAAM,KAAK,uDAA+D,UAAU,gCA8B1F,CAAA;eAEc,KAAK"}
package/dist/root.js CHANGED
@@ -36,9 +36,8 @@ import { jsx as _jsx } from "react/jsx-runtime";
36
36
  */
37
37
  import { GuiProvider } from '@hanzo/gui';
38
38
  import { TelemetryProvider } from '@hanzogui/telemetry';
39
- import { useEffect } from 'react';
40
- import { apply, read } from '@hanzo/appearance/state';
41
- import { config } from './gui-config.js';
39
+ import { useAppearance, useScheme } from '@hanzo/appearance';
40
+ import { config as full } from './gui-config.js';
42
41
  import './styles.css';
43
42
  /** A stylesheet that did not reach the document is invisible until someone opens
44
43
  * production. `styles.css` declares `--hanzo-ui-styles`, so the check is one
@@ -60,28 +59,27 @@ const assertStylesheet = () => {
60
59
  return;
61
60
  console.error("@hanzo/ui: styles.css did not reach the document. Import it directly: import '@hanzo/ui/styles.css'.");
62
61
  };
63
- export const Hanzo = ({ children, theme = 'dark', analytics }) => {
62
+ export const Hanzo = ({ children, theme, analytics, config = full, appearance }) => {
64
63
  if (process.env.NODE_ENV !== 'production')
65
64
  assertStylesheet();
66
- // A person's stored type size, density and accent, put on the document.
65
+ // A person's appearance, put on the document and kept there.
67
66
  //
68
67
  // Unconditional, unlike `analytics`, and the difference is the whole reason
69
68
  // that one is a prop. Analytics starts a conversation with a server the app
70
- // did not ask for; this reads a preference the PERSON already set on this
71
- // device and honours it. An app that has to opt in is an app that forgets to,
72
- // and then the setting silently does nothing on that surface — which is worse
73
- // than not offering it.
69
+ // did not ask for; this honours a preference the PERSON already set. An app
70
+ // that has to opt in is an app that forgets to, and then the setting silently
71
+ // does nothing on that surface — measured on hanzo.ai, where a stored accent
72
+ // reached no page until someone opened the panel that sets it.
74
73
  //
75
74
  // Costs nothing when unused: an axis nobody set is absent rather than
76
75
  // neutral, so `apply()` removes the property instead of stamping a `1` that
77
- // would outrank a brand's own scale.
76
+ // would outrank a brand's own scale, and leaves a theme nobody chose alone.
78
77
  //
79
78
  // This is the MOUNT half only. First paint still wants `bootScript()` in
80
79
  // <head>, because no component can run before the document exists.
81
- useEffect(() => {
82
- apply(read());
83
- }, []);
84
- const tree = (_jsx(GuiProvider, { config: config, defaultTheme: theme, disableInjectCSS: true, children: children }));
80
+ useAppearance(appearance);
81
+ const scheme = useScheme();
82
+ const tree = (_jsx(GuiProvider, { config: config, defaultTheme: theme ?? scheme, disableInjectCSS: true, children: children }));
85
83
  // OUTSIDE the gui provider: capture is delegated at the document, so it does
86
84
  // not need to be inside the styled tree, and an app that renders its own
87
85
  // `<TelemetryProvider/>` above `<Hanzo>` then nests two providers of the same
package/dist/root.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"root.js","sourceRoot":"","sources":["../src/root.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,iBAAiB,EAAwB,MAAM,qBAAqB,CAAA;AAC7E,OAAO,EAAE,SAAS,EAAkB,MAAM,OAAO,CAAA;AAEjD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAA;AAErD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,cAAc,CAAA;AAgCrB;;;;;;;;;;wEAUwE;AACxE,IAAI,OAAO,GAAG,KAAK,CAAA;AACnB,MAAM,gBAAgB,GAAG,GAAG,EAAE;IAC5B,IAAI,OAAO,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAM;IACtD,OAAO,GAAG,IAAI,CAAA;IACd,IAAI,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC,IAAI,EAAE;QAAE,OAAM;IACnG,OAAO,CAAC,KAAK,CACX,sGAAsG,CACvG,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAAE,QAAQ,EAAE,KAAK,GAAG,MAAM,EAAE,SAAS,EAAc,EAAE,EAAE;IAC3E,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;QAAE,gBAAgB,EAAE,CAAA;IAC7D,wEAAwE;IACxE,EAAE;IACF,4EAA4E;IAC5E,4EAA4E;IAC5E,0EAA0E;IAC1E,8EAA8E;IAC9E,8EAA8E;IAC9E,wBAAwB;IACxB,EAAE;IACF,sEAAsE;IACtE,4EAA4E;IAC5E,qCAAqC;IACrC,EAAE;IACF,yEAAyE;IACzE,mEAAmE;IACnE,SAAS,CAAC,GAAG,EAAE;QACb,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;IACf,CAAC,EAAE,EAAE,CAAC,CAAA;IACN,MAAM,IAAI,GAAG,CACX,KAAC,WAAW,IAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,gBAAgB,kBAC/D,QAAQ,GACG,CACf,CAAA;IACD,6EAA6E;IAC7E,yEAAyE;IACzE,8EAA8E;IAC9E,qDAAqD;IACrD,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAA;IAC3B,OAAO,KAAC,iBAAiB,OAAK,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,YAAG,IAAI,GAAqB,CAAA;AACjG,CAAC,CAAA;AAED,eAAe,KAAK,CAAA"}
1
+ {"version":3,"file":"root.js","sourceRoot":"","sources":["../src/root.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,OAAO,EAAE,iBAAiB,EAAwB,MAAM,qBAAqB,CAAA;AAG7E,OAAO,EAAE,aAAa,EAAE,SAAS,EAAiC,MAAM,mBAAmB,CAAA;AAE3F,OAAO,EAAE,MAAM,IAAI,IAAI,EAAa,MAAM,cAAc,CAAA;AACxD,OAAO,cAAc,CAAA;AAiDrB;;;;;;;;;;wEAUwE;AACxE,IAAI,OAAO,GAAG,KAAK,CAAA;AACnB,MAAM,gBAAgB,GAAG,GAAG,EAAE;IAC5B,IAAI,OAAO,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAM;IACtD,OAAO,GAAG,IAAI,CAAA;IACd,IAAI,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,CAAC,IAAI,EAAE;QAAE,OAAM;IACnG,OAAO,CAAC,KAAK,CACX,sGAAsG,CACvG,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,UAAU,EAAc,EAAE,EAAE;IAC7F,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY;QAAE,gBAAgB,EAAE,CAAA;IAC7D,6DAA6D;IAC7D,EAAE;IACF,4EAA4E;IAC5E,4EAA4E;IAC5E,4EAA4E;IAC5E,8EAA8E;IAC9E,6EAA6E;IAC7E,+DAA+D;IAC/D,EAAE;IACF,sEAAsE;IACtE,4EAA4E;IAC5E,4EAA4E;IAC5E,EAAE;IACF,yEAAyE;IACzE,mEAAmE;IACnE,aAAa,CAAC,UAAU,CAAC,CAAA;IACzB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;IAC1B,MAAM,IAAI,GAAG,CACX,KAAC,WAAW,IAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,IAAI,MAAM,EAAE,gBAAgB,kBACzE,QAAQ,GACG,CACf,CAAA;IACD,6EAA6E;IAC7E,yEAAyE;IACzE,8EAA8E;IAC9E,qDAAqD;IACrD,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAA;IAC3B,OAAO,KAAC,iBAAiB,OAAK,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,YAAG,IAAI,GAAqB,CAAA;AACjG,CAAC,CAAA;AAED,eAAe,KAAK,CAAA"}
@@ -39,8 +39,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
39
39
  */
40
40
  const gui_1 = require("@hanzo/gui");
41
41
  const telemetry_1 = require("@hanzogui/telemetry");
42
- const react_1 = require("react");
43
- const state_1 = require("@hanzo/appearance/state");
42
+ const appearance_1 = require("@hanzo/appearance");
44
43
  const gui_config_1 = require("./gui-config.cjs");
45
44
  // styles.css is omitted from the node entry: node cannot load a stylesheet.
46
45
  /** A stylesheet that did not reach the document is invisible until someone opens
@@ -63,28 +62,27 @@ const assertStylesheet = () => {
63
62
  return;
64
63
  console.error("@hanzo/ui: styles.css did not reach the document. Import it directly: import '@hanzo/ui/styles.css'.");
65
64
  };
66
- const Hanzo = ({ children, theme = 'dark', analytics }) => {
65
+ const Hanzo = ({ children, theme, analytics, config = gui_config_1.config, appearance }) => {
67
66
  if (process.env.NODE_ENV !== 'production')
68
67
  assertStylesheet();
69
- // A person's stored type size, density and accent, put on the document.
68
+ // A person's appearance, put on the document and kept there.
70
69
  //
71
70
  // Unconditional, unlike `analytics`, and the difference is the whole reason
72
71
  // that one is a prop. Analytics starts a conversation with a server the app
73
- // did not ask for; this reads a preference the PERSON already set on this
74
- // device and honours it. An app that has to opt in is an app that forgets to,
75
- // and then the setting silently does nothing on that surface — which is worse
76
- // than not offering it.
72
+ // did not ask for; this honours a preference the PERSON already set. An app
73
+ // that has to opt in is an app that forgets to, and then the setting silently
74
+ // does nothing on that surface — measured on hanzo.ai, where a stored accent
75
+ // reached no page until someone opened the panel that sets it.
77
76
  //
78
77
  // Costs nothing when unused: an axis nobody set is absent rather than
79
78
  // neutral, so `apply()` removes the property instead of stamping a `1` that
80
- // would outrank a brand's own scale.
79
+ // would outrank a brand's own scale, and leaves a theme nobody chose alone.
81
80
  //
82
81
  // This is the MOUNT half only. First paint still wants `bootScript()` in
83
82
  // <head>, because no component can run before the document exists.
84
- (0, react_1.useEffect)(() => {
85
- (0, state_1.apply)((0, state_1.read)());
86
- }, []);
87
- const tree = ((0, jsx_runtime_1.jsx)(gui_1.GuiProvider, { config: gui_config_1.config, defaultTheme: theme, disableInjectCSS: true, children: children }));
83
+ (0, appearance_1.useAppearance)(appearance);
84
+ const scheme = (0, appearance_1.useScheme)();
85
+ const tree = ((0, jsx_runtime_1.jsx)(gui_1.GuiProvider, { config: config, defaultTheme: theme ?? scheme, disableInjectCSS: true, children: children }));
88
86
  // OUTSIDE the gui provider: capture is delegated at the document, so it does
89
87
  // not need to be inside the styled tree, and an app that renders its own
90
88
  // `<TelemetryProvider/>` above `<Hanzo>` then nests two providers of the same
package/dist/root.node.js CHANGED
@@ -36,9 +36,8 @@ import { jsx as _jsx } from "react/jsx-runtime";
36
36
  */
37
37
  import { GuiProvider } from '@hanzo/gui';
38
38
  import { TelemetryProvider } from '@hanzogui/telemetry';
39
- import { useEffect } from 'react';
40
- import { apply, read } from '@hanzo/appearance/state';
41
- import { config } from './gui-config.js';
39
+ import { useAppearance, useScheme } from '@hanzo/appearance';
40
+ import { config as full } from './gui-config.js';
42
41
  // styles.css is omitted from the node entry: node cannot load a stylesheet.
43
42
  /** A stylesheet that did not reach the document is invisible until someone opens
44
43
  * production. `styles.css` declares `--hanzo-ui-styles`, so the check is one
@@ -60,28 +59,27 @@ const assertStylesheet = () => {
60
59
  return;
61
60
  console.error("@hanzo/ui: styles.css did not reach the document. Import it directly: import '@hanzo/ui/styles.css'.");
62
61
  };
63
- export const Hanzo = ({ children, theme = 'dark', analytics }) => {
62
+ export const Hanzo = ({ children, theme, analytics, config = full, appearance }) => {
64
63
  if (process.env.NODE_ENV !== 'production')
65
64
  assertStylesheet();
66
- // A person's stored type size, density and accent, put on the document.
65
+ // A person's appearance, put on the document and kept there.
67
66
  //
68
67
  // Unconditional, unlike `analytics`, and the difference is the whole reason
69
68
  // that one is a prop. Analytics starts a conversation with a server the app
70
- // did not ask for; this reads a preference the PERSON already set on this
71
- // device and honours it. An app that has to opt in is an app that forgets to,
72
- // and then the setting silently does nothing on that surface — which is worse
73
- // than not offering it.
69
+ // did not ask for; this honours a preference the PERSON already set. An app
70
+ // that has to opt in is an app that forgets to, and then the setting silently
71
+ // does nothing on that surface — measured on hanzo.ai, where a stored accent
72
+ // reached no page until someone opened the panel that sets it.
74
73
  //
75
74
  // Costs nothing when unused: an axis nobody set is absent rather than
76
75
  // neutral, so `apply()` removes the property instead of stamping a `1` that
77
- // would outrank a brand's own scale.
76
+ // would outrank a brand's own scale, and leaves a theme nobody chose alone.
78
77
  //
79
78
  // This is the MOUNT half only. First paint still wants `bootScript()` in
80
79
  // <head>, because no component can run before the document exists.
81
- useEffect(() => {
82
- apply(read());
83
- }, []);
84
- const tree = (_jsx(GuiProvider, { config: config, defaultTheme: theme, disableInjectCSS: true, children: children }));
80
+ useAppearance(appearance);
81
+ const scheme = useScheme();
82
+ const tree = (_jsx(GuiProvider, { config: config, defaultTheme: theme ?? scheme, disableInjectCSS: true, children: children }));
85
83
  // OUTSIDE the gui provider: capture is delegated at the document, so it does
86
84
  // not need to be inside the styled tree, and an app that renders its own
87
85
  // `<TelemetryProvider/>` above `<Hanzo>` then nests two providers of the same