@hanzo/ui 8.29.11 → 8.29.12

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.
@@ -15,11 +15,12 @@ const jsx_runtime_1 = require("react/jsx-runtime");
15
15
  * A small `?` sits at the bottom START corner of the window (bottom-left in a
16
16
  * left-to-right page, bottom-right in a right-to-left one), clear of the notch
17
17
  * and the home indicator. Pressing it opens one card that opens toward the
18
- * inside: the host's help links first, then Theme, Language and Currency. The
19
- * three settings a visitor is most likely to want are where they look when they
20
- * want the page to explain itself, on every surface, in the same place.
18
+ * inside: the host's help links first, then Theme, Language, Font (and Arabic
19
+ * font, on a page in Arabic script) and Currency. The settings a visitor is most
20
+ * likely to want are where they look when they want the page to explain itself,
21
+ * on every surface, in the same place.
21
22
  *
22
- * Theme is the library's own: `@hanzo/appearance`, written through `<Hanzo>`'s
23
+ * Theme and the faces are the library's own: `@hanzo/appearance`, written through `<Hanzo>`'s
23
24
  * resolved stack when there is one (`Look`), so it is stored, painted before
24
25
  * first paint and carried across origins exactly as the settings panel does.
25
26
  * Language and currency are the HOST's — this package depends on no i18n or
@@ -50,6 +51,8 @@ const Filters_1 = require("../product/Filters.cjs");
50
51
  const instrument_1 = require("../product/instrument.cjs");
51
52
  const look_1 = require("../look.cjs");
52
53
  const logic_1 = require("./logic.cjs");
54
+ /** The rows that open a list, in the order the card draws them. */
55
+ const LISTS = ['language', 'font', 'arabic', 'currency'];
53
56
  /**
54
57
  * The trigger's distance from the window's foot and its start edge: 10px, or the
55
58
  * device's inset and 4px where that is wider. A right-to-left page puts the
@@ -70,29 +73,30 @@ const MOVES = new Set(['ArrowDown', 'ArrowUp', 'Home', 'End', 'PageDown', 'PageU
70
73
  /** Everything in the card the arrow keys step through, in document order. */
71
74
  const STOPS = '[data-corner-stop], [data-slot="segmented-item"][data-state="checked"]';
72
75
  /**
73
- * The theme, as the person chose it, and the one way to change it.
76
+ * One appearance axis — theme, face or Arabic face — as the person chose it,
77
+ * and the one way to change it.
74
78
  *
75
79
  * Under `<Hanzo>` it writes through the root's `useAppearance` (its org,
76
80
  * install and account layers). Under a host's own gui provider it writes the
77
81
  * device's layer and repaints the resolved stack, which is what `useAppearance`
78
- * would do there. Nobody chose yet: the row marks what the document shows.
82
+ * would do there. Nobody chose yet: undefined, and the row says what the
83
+ * document shows.
79
84
  */
80
- function useTheme() {
85
+ function useAxis(axis) {
81
86
  const look = (0, react_1.useContext)(look_1.Look);
82
- const ground = (0, appearance_1.useScheme)();
83
87
  const [own, setOwn] = (0, react_1.useState)(undefined);
84
88
  (0, react_1.useEffect)(() => {
85
89
  if (!look)
86
- setOwn((0, appearance_1.read)().theme);
87
- }, [look]);
88
- const set = (0, react_1.useCallback)((theme) => {
90
+ setOwn((0, appearance_1.read)()[axis]);
91
+ }, [look, axis]);
92
+ const set = (0, react_1.useCallback)((value) => {
89
93
  if (look)
90
- return look.set({ theme });
91
- (0, appearance_1.write)({ ...(0, appearance_1.read)(), theme });
94
+ return look.set({ [axis]: value });
95
+ (0, appearance_1.write)({ ...(0, appearance_1.read)(), [axis]: value });
92
96
  (0, appearance_1.apply)((0, appearance_1.current)().pref);
93
- setOwn(theme);
94
- }, [look]);
95
- return [(look ? look.pref.theme : own) ?? ground, set];
97
+ setOwn(value);
98
+ }, [look, axis]);
99
+ return [look ? look.pref[axis] : own, set];
96
100
  }
97
101
  function Corner({ help = [], language, currency, words }) {
98
102
  const w = { ...logic_1.WORDS, ...words };
@@ -101,11 +105,31 @@ function Corner({ help = [], language, currency, words }) {
101
105
  // Which row opened a list, so going back puts focus where it was.
102
106
  const [from, setFrom] = (0, react_1.useState)('main');
103
107
  const [rtl, setRtl] = (0, react_1.useState)(false);
104
- const [theme, setTheme] = useTheme();
108
+ const ground = (0, appearance_1.useScheme)();
109
+ const [scheme, setTheme] = useAxis('theme');
110
+ const theme = scheme ?? ground;
111
+ const [face, setFace] = useAxis('font');
112
+ const [arabicFace, setArabic] = useAxis('arabic');
105
113
  const emit = (0, instrument_1.useEmit)();
106
114
  const trigger = (0, react_1.useRef)(null);
107
115
  const panel = (0, react_1.useRef)(null);
108
- const settings = { language, currency };
116
+ // The faces are the library's own, like the theme, and drawn the way the
117
+ // host's lists are. The Arabic row only for a page in Arabic script: anywhere
118
+ // else it is a choice about letters the reader cannot see.
119
+ const font = {
120
+ value: face ?? 'default',
121
+ options: ['default', 'system', 'serif', 'mono'].map((code) => ({ code, label: w[code === 'default' ? 'sans' : code] })),
122
+ onChange: (code) => setFace(code),
123
+ };
124
+ const lang = language?.value ?? (typeof document !== 'undefined' ? document.documentElement.lang : '');
125
+ const script = (0, logic_1.arabic)(lang)
126
+ ? {
127
+ value: arabicFace && arabicFace !== 'default' ? arabicFace : ((0, appearance_1.companion)() ?? ''),
128
+ options: appearance_1.COMPANIONS.map((code) => ({ code, label: w[code] })),
129
+ onChange: (code) => setArabic(code),
130
+ }
131
+ : undefined;
132
+ const settings = { language, currency, font, arabic: script };
109
133
  // Focus follows the view: a list puts it on its search or its options, the
110
134
  // card on the row the list was opened from.
111
135
  (0, react_1.useEffect)(() => {
@@ -183,7 +207,7 @@ function Corner({ help = [], language, currency, words }) {
183
207
  { value: 'system', label: w.auto },
184
208
  { value: 'light', label: '', 'aria-label': w.light, icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Sun, { size: 14, color: "$ink", "aria-hidden": true }) },
185
209
  { value: 'dark', label: '', 'aria-label': w.dark, icon: (0, jsx_runtime_1.jsx)(lucide_icons_2_1.Moon, { size: 14, color: "$ink", "aria-hidden": true }) },
186
- ] })] }), ['language', 'currency'].map((kind) => {
210
+ ] })] }), LISTS.map((kind) => {
187
211
  const s = settings[kind];
188
212
  if (!s)
189
213
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"Corner.d.ts","sourceRoot":"","sources":["../../src/corner/Corner.tsx"],"names":[],"mappings":"AAsCA,OAAO,EAAgF,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAWpH,OAAO,EAAyC,KAAK,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,SAAS,CAAA;AAEzF,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAErD,iHAAiH;AACjH,MAAM,MAAM,IAAI,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,CAAA;CAAE,CAAA;AAEpE,MAAM,MAAM,WAAW,GAAG;IACxB,iGAAiG;IACjG,IAAI,CAAC,EAAE,SAAS,IAAI,EAAE,CAAA;IACtB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,oFAAoF;IACpF,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,sEAAsE;IACtE,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;CACvB,CAAA;AAuDD,wBAAgB,MAAM,CAAC,EAAE,IAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,WAAW,+BA0O3E"}
1
+ {"version":3,"file":"Corner.d.ts","sourceRoot":"","sources":["../../src/corner/Corner.tsx"],"names":[],"mappings":"AAuCA,OAAO,EAAgF,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAWpH,OAAO,EAAiD,KAAK,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,SAAS,CAAA;AAEjG,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAErD,iHAAiH;AACjH,MAAM,MAAM,IAAI,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,SAAS,CAAA;CAAE,CAAA;AAEpE,MAAM,MAAM,WAAW,GAAG;IACxB,iGAAiG;IACjG,IAAI,CAAC,EAAE,SAAS,IAAI,EAAE,CAAA;IACtB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,oFAAoF;IACpF,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,sEAAsE;IACtE,KAAK,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;CACvB,CAAA;AA2DD,wBAAgB,MAAM,CAAC,EAAE,IAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,WAAW,+BA8P3E"}
@@ -12,11 +12,12 @@ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-run
12
12
  * A small `?` sits at the bottom START corner of the window (bottom-left in a
13
13
  * left-to-right page, bottom-right in a right-to-left one), clear of the notch
14
14
  * and the home indicator. Pressing it opens one card that opens toward the
15
- * inside: the host's help links first, then Theme, Language and Currency. The
16
- * three settings a visitor is most likely to want are where they look when they
17
- * want the page to explain itself, on every surface, in the same place.
15
+ * inside: the host's help links first, then Theme, Language, Font (and Arabic
16
+ * font, on a page in Arabic script) and Currency. The settings a visitor is most
17
+ * likely to want are where they look when they want the page to explain itself,
18
+ * on every surface, in the same place.
18
19
  *
19
- * Theme is the library's own: `@hanzo/appearance`, written through `<Hanzo>`'s
20
+ * Theme and the faces are the library's own: `@hanzo/appearance`, written through `<Hanzo>`'s
20
21
  * resolved stack when there is one (`Look`), so it is stored, painted before
21
22
  * first paint and carried across origins exactly as the settings panel does.
22
23
  * Language and currency are the HOST's — this package depends on no i18n or
@@ -35,7 +36,7 @@ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-run
35
36
  */
36
37
  import { Anchor, Input as GuiInput, SizableText, XStack, YStack, usePopperContextSlow } from '@hanzo/gui';
37
38
  import { Check, ChevronLeft, ChevronRight, CircleHelp, ExternalLink, Moon, Search, Sun, X } from '@hanzogui/lucide-icons-2';
38
- import { apply, current, read, useScheme, write } from '@hanzo/appearance';
39
+ import { COMPANIONS, apply, companion, current, read, useScheme, write } from '@hanzo/appearance';
39
40
  import { useCallback, useContext, useEffect, useId, useLayoutEffect, useRef, useState } from 'react';
40
41
  import { Popover, PopoverContent, PopoverTrigger } from '../backends/gui/popover.js';
41
42
  import { touch } from '../backends/gui/gesture.js';
@@ -46,7 +47,9 @@ import { move } from '../product/chipSelect.logic.js';
46
47
  import { Segmented } from '../product/Filters.js';
47
48
  import { useEmit } from '../product/instrument.js';
48
49
  import { Look } from '../look.js';
49
- import { LONG, WORDS, find, shown } from './logic.js';
50
+ import { LONG, WORDS, arabic, find, shown } from './logic.js';
51
+ /** The rows that open a list, in the order the card draws them. */
52
+ const LISTS = ['language', 'font', 'arabic', 'currency'];
50
53
  /**
51
54
  * The trigger's distance from the window's foot and its start edge: 10px, or the
52
55
  * device's inset and 4px where that is wider. A right-to-left page puts the
@@ -67,29 +70,30 @@ const MOVES = new Set(['ArrowDown', 'ArrowUp', 'Home', 'End', 'PageDown', 'PageU
67
70
  /** Everything in the card the arrow keys step through, in document order. */
68
71
  const STOPS = '[data-corner-stop], [data-slot="segmented-item"][data-state="checked"]';
69
72
  /**
70
- * The theme, as the person chose it, and the one way to change it.
73
+ * One appearance axis — theme, face or Arabic face — as the person chose it,
74
+ * and the one way to change it.
71
75
  *
72
76
  * Under `<Hanzo>` it writes through the root's `useAppearance` (its org,
73
77
  * install and account layers). Under a host's own gui provider it writes the
74
78
  * device's layer and repaints the resolved stack, which is what `useAppearance`
75
- * would do there. Nobody chose yet: the row marks what the document shows.
79
+ * would do there. Nobody chose yet: undefined, and the row says what the
80
+ * document shows.
76
81
  */
77
- function useTheme() {
82
+ function useAxis(axis) {
78
83
  const look = useContext(Look);
79
- const ground = useScheme();
80
84
  const [own, setOwn] = useState(undefined);
81
85
  useEffect(() => {
82
86
  if (!look)
83
- setOwn(read().theme);
84
- }, [look]);
85
- const set = useCallback((theme) => {
87
+ setOwn(read()[axis]);
88
+ }, [look, axis]);
89
+ const set = useCallback((value) => {
86
90
  if (look)
87
- return look.set({ theme });
88
- write({ ...read(), theme });
91
+ return look.set({ [axis]: value });
92
+ write({ ...read(), [axis]: value });
89
93
  apply(current().pref);
90
- setOwn(theme);
91
- }, [look]);
92
- return [(look ? look.pref.theme : own) ?? ground, set];
94
+ setOwn(value);
95
+ }, [look, axis]);
96
+ return [look ? look.pref[axis] : own, set];
93
97
  }
94
98
  export function Corner({ help = [], language, currency, words }) {
95
99
  const w = { ...WORDS, ...words };
@@ -98,11 +102,31 @@ export function Corner({ help = [], language, currency, words }) {
98
102
  // Which row opened a list, so going back puts focus where it was.
99
103
  const [from, setFrom] = useState('main');
100
104
  const [rtl, setRtl] = useState(false);
101
- const [theme, setTheme] = useTheme();
105
+ const ground = useScheme();
106
+ const [scheme, setTheme] = useAxis('theme');
107
+ const theme = scheme ?? ground;
108
+ const [face, setFace] = useAxis('font');
109
+ const [arabicFace, setArabic] = useAxis('arabic');
102
110
  const emit = useEmit();
103
111
  const trigger = useRef(null);
104
112
  const panel = useRef(null);
105
- const settings = { language, currency };
113
+ // The faces are the library's own, like the theme, and drawn the way the
114
+ // host's lists are. The Arabic row only for a page in Arabic script: anywhere
115
+ // else it is a choice about letters the reader cannot see.
116
+ const font = {
117
+ value: face ?? 'default',
118
+ options: ['default', 'system', 'serif', 'mono'].map((code) => ({ code, label: w[code === 'default' ? 'sans' : code] })),
119
+ onChange: (code) => setFace(code),
120
+ };
121
+ const lang = language?.value ?? (typeof document !== 'undefined' ? document.documentElement.lang : '');
122
+ const script = arabic(lang)
123
+ ? {
124
+ value: arabicFace && arabicFace !== 'default' ? arabicFace : (companion() ?? ''),
125
+ options: COMPANIONS.map((code) => ({ code, label: w[code] })),
126
+ onChange: (code) => setArabic(code),
127
+ }
128
+ : undefined;
129
+ const settings = { language, currency, font, arabic: script };
106
130
  // Focus follows the view: a list puts it on its search or its options, the
107
131
  // card on the row the list was opened from.
108
132
  useEffect(() => {
@@ -180,7 +204,7 @@ export function Corner({ help = [], language, currency, words }) {
180
204
  { value: 'system', label: w.auto },
181
205
  { value: 'light', label: '', 'aria-label': w.light, icon: _jsx(Sun, { size: 14, color: "$ink", "aria-hidden": true }) },
182
206
  { value: 'dark', label: '', 'aria-label': w.dark, icon: _jsx(Moon, { size: 14, color: "$ink", "aria-hidden": true }) },
183
- ] })] }), ['language', 'currency'].map((kind) => {
207
+ ] })] }), LISTS.map((kind) => {
184
208
  const s = settings[kind];
185
209
  if (!s)
186
210
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"Corner.js","sourceRoot":"","sources":["../../src/corner/Corner.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Corner.js","sourceRoot":"","sources":["../../src/corner/Corner.tsx"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.shown = exports.fold = exports.LONG = exports.WORDS = void 0;
9
9
  exports.find = find;
10
+ exports.arabic = arabic;
10
11
  exports.WORDS = {
11
12
  open: 'Help and preferences',
12
13
  help: 'Help',
@@ -17,6 +18,13 @@ exports.WORDS = {
17
18
  dark: 'Dark',
18
19
  language: 'Language',
19
20
  currency: 'Currency',
21
+ font: 'Font',
22
+ sans: 'Sans',
23
+ system: 'System',
24
+ serif: 'Serif',
25
+ mono: 'Mono',
26
+ arabic: 'Arabic font',
27
+ kufi: 'Kufi',
20
28
  search: 'Search',
21
29
  back: 'Back',
22
30
  close: 'Close',
@@ -42,6 +50,21 @@ function find(options, q) {
42
50
  return options.slice();
43
51
  return options.filter((o) => (0, exports.fold)(o.label).includes(needle) || (0, exports.fold)(o.hint ?? '').includes(needle) || (0, exports.fold)(o.code).includes(needle));
44
52
  }
53
+ /**
54
+ * Whether a language is written in Arabic script — Arabic, Persian, Urdu,
55
+ * Pashto, Sindhi, Sorani, Uyghur, Shahmukhi Punjabi — by the script its
56
+ * likeliest subtags name. A malformed tag is not.
57
+ */
58
+ function arabic(tag) {
59
+ if (!tag)
60
+ return false;
61
+ try {
62
+ return new Intl.Locale(tag).maximize().script === 'Arab';
63
+ }
64
+ catch {
65
+ return false;
66
+ }
67
+ }
45
68
  /** The label of the chosen option, or its code when the host did not list it. */
46
69
  const shown = (s) => s.options.find((o) => o.code === s.value)?.label ?? s.value;
47
70
  exports.shown = shown;
@@ -32,6 +32,15 @@ export type Words = {
32
32
  dark: string;
33
33
  language: string;
34
34
  currency: string;
35
+ /** The face the page is set in, and its four answers. */
36
+ font: string;
37
+ sans: string;
38
+ system: string;
39
+ serif: string;
40
+ mono: string;
41
+ /** The face Arabic is set in, and its two answers (`sans` names the other). */
42
+ arabic: string;
43
+ kufi: string;
35
44
  search: string;
36
45
  back: string;
37
46
  close: string;
@@ -54,6 +63,12 @@ export declare const fold: (s: string) => string;
54
63
  * label, the hint or the code, never a pattern: the needle is whatever was typed.
55
64
  */
56
65
  export declare function find(options: readonly Option[], q: string): Option[];
66
+ /**
67
+ * Whether a language is written in Arabic script — Arabic, Persian, Urdu,
68
+ * Pashto, Sindhi, Sorani, Uyghur, Shahmukhi Punjabi — by the script its
69
+ * likeliest subtags name. A malformed tag is not.
70
+ */
71
+ export declare function arabic(tag: string | undefined): boolean;
57
72
  /** The label of the chosen option, or its code when the host did not list it. */
58
73
  export declare const shown: (s: Setting) => string;
59
74
  //# sourceMappingURL=logic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logic.d.ts","sourceRoot":"","sources":["../../src/corner/logic.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,6FAA6F;AAC7F,MAAM,MAAM,MAAM,GAAG;IACnB,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAA;IACZ,uFAAuF;IACvF,KAAK,EAAE,MAAM,CAAA;IACb,kEAAkE;IAClE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,+EAA+E;IAC/E,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAA;CACpB,CAAA;AAED,4FAA4F;AAC5F,MAAM,MAAM,OAAO,GAAG;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;IAC1B,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CACjC,CAAA;AAED,+EAA+E;AAC/E,MAAM,MAAM,KAAK,GAAG;IAClB,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,KAenB,CAAA;AAED,yDAAyD;AACzD,eAAO,MAAM,IAAI,IAAI,CAAA;AAErB;;;;GAIG;AACH,eAAO,MAAM,IAAI,MAAO,MAAM,KAAG,MACyB,CAAA;AAE1D;;;GAGG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAIpE;AAED,iFAAiF;AACjF,eAAO,MAAM,KAAK,MAAO,OAAO,KAAG,MAAqE,CAAA"}
1
+ {"version":3,"file":"logic.d.ts","sourceRoot":"","sources":["../../src/corner/logic.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,6FAA6F;AAC7F,MAAM,MAAM,MAAM,GAAG;IACnB,mDAAmD;IACnD,IAAI,EAAE,MAAM,CAAA;IACZ,uFAAuF;IACvF,KAAK,EAAE,MAAM,CAAA;IACb,kEAAkE;IAClE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,+EAA+E;IAC/E,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAA;CACpB,CAAA;AAED,4FAA4F;AAC5F,MAAM,MAAM,OAAO,GAAG;IACpB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;IAC1B,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CACjC,CAAA;AAED,+EAA+E;AAC/E,MAAM,MAAM,KAAK,GAAG;IAClB,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,+EAA+E;IAC/E,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,KAsBnB,CAAA;AAED,yDAAyD;AACzD,eAAO,MAAM,IAAI,IAAI,CAAA;AAErB;;;;GAIG;AACH,eAAO,MAAM,IAAI,MAAO,MAAM,KAAG,MACyB,CAAA;AAE1D;;;GAGG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAIpE;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAOvD;AAED,iFAAiF;AACjF,eAAO,MAAM,KAAK,MAAO,OAAO,KAAG,MAAqE,CAAA"}
@@ -13,6 +13,13 @@ export const WORDS = {
13
13
  dark: 'Dark',
14
14
  language: 'Language',
15
15
  currency: 'Currency',
16
+ font: 'Font',
17
+ sans: 'Sans',
18
+ system: 'System',
19
+ serif: 'Serif',
20
+ mono: 'Mono',
21
+ arabic: 'Arabic font',
22
+ kufi: 'Kufi',
16
23
  search: 'Search',
17
24
  back: 'Back',
18
25
  close: 'Close',
@@ -37,6 +44,21 @@ export function find(options, q) {
37
44
  return options.slice();
38
45
  return options.filter((o) => fold(o.label).includes(needle) || fold(o.hint ?? '').includes(needle) || fold(o.code).includes(needle));
39
46
  }
47
+ /**
48
+ * Whether a language is written in Arabic script — Arabic, Persian, Urdu,
49
+ * Pashto, Sindhi, Sorani, Uyghur, Shahmukhi Punjabi — by the script its
50
+ * likeliest subtags name. A malformed tag is not.
51
+ */
52
+ export function arabic(tag) {
53
+ if (!tag)
54
+ return false;
55
+ try {
56
+ return new Intl.Locale(tag).maximize().script === 'Arab';
57
+ }
58
+ catch {
59
+ return false;
60
+ }
61
+ }
40
62
  /** The label of the chosen option, or its code when the host did not list it. */
41
63
  export const shown = (s) => s.options.find((o) => o.code === s.value)?.label ?? s.value;
42
64
  //# sourceMappingURL=logic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logic.js","sourceRoot":"","sources":["../../src/corner/logic.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA0CH,MAAM,CAAC,MAAM,KAAK,GAAU;IAC1B,IAAI,EAAE,sBAAsB;IAC5B,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,aAAa;IAC1B,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,YAAY;IAClB,MAAM,EAAE,oBAAoB;CAC7B,CAAA;AAED,yDAAyD;AACzD,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAA;AAErB;;;;GAIG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAS,EAAU,EAAE,CACxC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;AAE1D;;;GAGG;AACH,MAAM,UAAU,IAAI,CAAC,OAA0B,EAAE,CAAS;IACxD,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IAC7B,IAAI,CAAC,MAAM;QAAE,OAAO,OAAO,CAAC,KAAK,EAAE,CAAA;IACnC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;AACtI,CAAC;AAED,iFAAiF;AACjF,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAU,EAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,KAAK,CAAA"}
1
+ {"version":3,"file":"logic.js","sourceRoot":"","sources":["../../src/corner/logic.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAmDH,MAAM,CAAC,MAAM,KAAK,GAAU;IAC1B,IAAI,EAAE,sBAAsB;IAC5B,IAAI,EAAE,MAAM;IACZ,WAAW,EAAE,aAAa;IAC1B,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,aAAa;IACrB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,YAAY;IAClB,MAAM,EAAE,oBAAoB;CAC7B,CAAA;AAED,yDAAyD;AACzD,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAA;AAErB;;;;GAIG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,CAAS,EAAU,EAAE,CACxC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAA;AAE1D;;;GAGG;AACH,MAAM,UAAU,IAAI,CAAC,OAA0B,EAAE,CAAS;IACxD,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IAC7B,IAAI,CAAC,MAAM;QAAE,OAAO,OAAO,CAAC,KAAK,EAAE,CAAA;IACnC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;AACtI,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,MAAM,CAAC,GAAuB;IAC5C,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAA;IACtB,IAAI,CAAC;QACH,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,KAAK,MAAM,CAAA;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAU,EAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,KAAK,CAAA"}
package/dist/gallery.html CHANGED
@@ -1,4 +1,4 @@
1
- <!doctype html><html lang="en" class="t_dark"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>@hanzo/ui 8.29.11</title><style>/* @hanzo/ui — generated by scripts/gen-css.mjs. Do not edit. */
1
+ <!doctype html><html lang="en" class="t_dark"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>@hanzo/ui 8.29.12</title><style>/* @hanzo/ui — generated by scripts/gen-css.mjs. Do not edit. */
2
2
  :root { --hanzo-ui-styles: 1; }
3
3
  /* Hanzo Design System — the entry point. Import THIS one file.
4
4
  *
@@ -804,9 +804,10 @@
804
804
  }
805
805
 
806
806
  /* ── tokens/fonts.css ─────────────────────────────────────── */
807
- /* Zen — the only family on Hanzo surfaces, sans and mono.
807
+ /* Zen — the family on Hanzo surfaces, sans and mono, and its Arabic companions.
808
808
  SELF-HOSTED. The faces ship inside this package (assets/fonts/*.woff2, two
809
- variable files, 141 KB total, SIL OFL-1.1 — see assets/fonts/LICENSE-Zen.txt).
809
+ variable files, 141 KB total, SIL OFL-1.1 — see assets/fonts/LICENSE-Zen.txt),
810
+ with two Arabic companions beside them (below).
810
811
 
811
812
  Zen is our own family, under the SIL Open Font License. The licence file
812
813
  beside the binaries carries every copyright the OFL requires; nothing else in
@@ -855,11 +856,51 @@
855
856
 
856
857
 
857
858
 
859
+ /* ARABIC. Zen draws Latin and Cyrillic and no Arabic, so an Arabic page used to
860
+ fall to whatever face each browser picked. @hanzo/font carries two Arabic
861
+ companions, variable over Zen's own weight axis and cut to the Arabic blocks,
862
+ and they are copied here with the Zen faces: Noto Kufi Arabic (the default,
863
+ geometric like Zen) and Noto Sans Arabic. Both draw every Arabic-script
864
+ language Hanzo ships. They are not ours and keep their names; their licence is
865
+ assets/fonts/LICENSE-Arabic.txt.
866
+
867
+ THE RANGE IS THE WHOLE TRICK. Each face covers the Arabic blocks only, so a
868
+ page with no Arabic on it never requests one, and Latin inside an Arabic page
869
+ is still Zen. The joiners (U+200C-200F) are drawn by the files but kept out of
870
+ the range: an English page with an emoji ZWJ sequence would otherwise fetch an
871
+ Arabic face for one invisible character.
872
+
873
+ Every stack below names `--font-arabic` FIRST. A family whose range excludes a
874
+ character is passed over without a download, so Latin falls through to Zen,
875
+ and the "first available font" a line box and `ch` are measured from is still
876
+ Zen (its range covers the space; the companion's does not). That is what makes
877
+ the choice one property: `@hanzo/appearance` writes `--font-arabic`, and sans,
878
+ mono and serif follow.
879
+
880
+ The default is ALSO declared under "Zen" and "Zen Mono", for anything that
881
+ names a family rather than a token. That only works because its descriptors
882
+ are Zen's exactly (weight 100 900, normal): faces in one family composite only
883
+ when everything but the range matches, and a companion declared at another
884
+ weight wins the weight match for Latin too, refuses every Latin letter, and
885
+ sends the page to the system sans with no font request to show for it.
886
+
887
+ `block` for the reason Zen has it: an Arabic page waits a moment for its face
888
+ rather than painting the platform's and repainting. */
889
+
890
+
891
+
892
+
893
+
858
894
  :root{
859
- --font-sans:Zen, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
895
+ /* The Arabic companions by what they are, and the one in use. A person's
896
+ choice replaces --font-arabic with one of the two names above it. */
897
+ --font-arabic-kufi:"Noto Kufi Arabic";
898
+ --font-arabic-sans:"Noto Sans Arabic";
899
+ --font-arabic:var(--font-arabic-kufi);
900
+ --font-sans:var(--font-arabic), Zen, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
860
901
  --font-display:var(--font-sans);
861
- --font-mono:Zen Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
862
- --font-serif:Georgia,serif;
902
+ --font-mono:var(--font-arabic), Zen Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
903
+ --font-serif:var(--font-arabic), Georgia, serif;
863
904
  /* The default is Zen as drawn, and that is a decision rather than an omission.
864
905
  `base.css` puts this on <body>, so whatever is here is the voice of every
865
906
  surface in the estate — which is exactly why it should not carry a brand's.
package/dist/styles.css CHANGED
@@ -804,9 +804,10 @@
804
804
  }
805
805
 
806
806
  /* ── tokens/fonts.css ─────────────────────────────────────── */
807
- /* Zen — the only family on Hanzo surfaces, sans and mono.
807
+ /* Zen — the family on Hanzo surfaces, sans and mono, and its Arabic companions.
808
808
  SELF-HOSTED. The faces ship inside this package (assets/fonts/*.woff2, two
809
- variable files, 141 KB total, SIL OFL-1.1 — see assets/fonts/LICENSE-Zen.txt).
809
+ variable files, 141 KB total, SIL OFL-1.1 — see assets/fonts/LICENSE-Zen.txt),
810
+ with two Arabic companions beside them (below).
810
811
 
811
812
  Zen is our own family, under the SIL Open Font License. The licence file
812
813
  beside the binaries carries every copyright the OFL requires; nothing else in
@@ -855,11 +856,51 @@
855
856
 
856
857
 
857
858
 
859
+ /* ARABIC. Zen draws Latin and Cyrillic and no Arabic, so an Arabic page used to
860
+ fall to whatever face each browser picked. @hanzo/font carries two Arabic
861
+ companions, variable over Zen's own weight axis and cut to the Arabic blocks,
862
+ and they are copied here with the Zen faces: Noto Kufi Arabic (the default,
863
+ geometric like Zen) and Noto Sans Arabic. Both draw every Arabic-script
864
+ language Hanzo ships. They are not ours and keep their names; their licence is
865
+ assets/fonts/LICENSE-Arabic.txt.
866
+
867
+ THE RANGE IS THE WHOLE TRICK. Each face covers the Arabic blocks only, so a
868
+ page with no Arabic on it never requests one, and Latin inside an Arabic page
869
+ is still Zen. The joiners (U+200C-200F) are drawn by the files but kept out of
870
+ the range: an English page with an emoji ZWJ sequence would otherwise fetch an
871
+ Arabic face for one invisible character.
872
+
873
+ Every stack below names `--font-arabic` FIRST. A family whose range excludes a
874
+ character is passed over without a download, so Latin falls through to Zen,
875
+ and the "first available font" a line box and `ch` are measured from is still
876
+ Zen (its range covers the space; the companion's does not). That is what makes
877
+ the choice one property: `@hanzo/appearance` writes `--font-arabic`, and sans,
878
+ mono and serif follow.
879
+
880
+ The default is ALSO declared under "Zen" and "Zen Mono", for anything that
881
+ names a family rather than a token. That only works because its descriptors
882
+ are Zen's exactly (weight 100 900, normal): faces in one family composite only
883
+ when everything but the range matches, and a companion declared at another
884
+ weight wins the weight match for Latin too, refuses every Latin letter, and
885
+ sends the page to the system sans with no font request to show for it.
886
+
887
+ `block` for the reason Zen has it: an Arabic page waits a moment for its face
888
+ rather than painting the platform's and repainting. */
889
+
890
+
891
+
892
+
893
+
858
894
  :root{
859
- --font-sans:Zen, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
895
+ /* The Arabic companions by what they are, and the one in use. A person's
896
+ choice replaces --font-arabic with one of the two names above it. */
897
+ --font-arabic-kufi:"Noto Kufi Arabic";
898
+ --font-arabic-sans:"Noto Sans Arabic";
899
+ --font-arabic:var(--font-arabic-kufi);
900
+ --font-sans:var(--font-arabic), Zen, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
860
901
  --font-display:var(--font-sans);
861
- --font-mono:Zen Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
862
- --font-serif:Georgia,serif;
902
+ --font-mono:var(--font-arabic), Zen Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
903
+ --font-serif:var(--font-arabic), Georgia, serif;
863
904
  /* The default is Zen as drawn, and that is a decision rather than an omission.
864
905
  `base.css` puts this on <body>, so whatever is here is the voice of every
865
906
  surface in the estate — which is exactly why it should not carry a brand's.
package/dist/theme.css CHANGED
@@ -802,9 +802,10 @@
802
802
  }
803
803
 
804
804
  /* ── tokens/fonts.css ─────────────────────────────────────── */
805
- /* Zen — the only family on Hanzo surfaces, sans and mono.
805
+ /* Zen — the family on Hanzo surfaces, sans and mono, and its Arabic companions.
806
806
  SELF-HOSTED. The faces ship inside this package (assets/fonts/*.woff2, two
807
- variable files, 141 KB total, SIL OFL-1.1 — see assets/fonts/LICENSE-Zen.txt).
807
+ variable files, 141 KB total, SIL OFL-1.1 — see assets/fonts/LICENSE-Zen.txt),
808
+ with two Arabic companions beside them (below).
808
809
 
809
810
  Zen is our own family, under the SIL Open Font License. The licence file
810
811
  beside the binaries carries every copyright the OFL requires; nothing else in
@@ -853,11 +854,51 @@
853
854
 
854
855
 
855
856
 
857
+ /* ARABIC. Zen draws Latin and Cyrillic and no Arabic, so an Arabic page used to
858
+ fall to whatever face each browser picked. @hanzo/font carries two Arabic
859
+ companions, variable over Zen's own weight axis and cut to the Arabic blocks,
860
+ and they are copied here with the Zen faces: Noto Kufi Arabic (the default,
861
+ geometric like Zen) and Noto Sans Arabic. Both draw every Arabic-script
862
+ language Hanzo ships. They are not ours and keep their names; their licence is
863
+ assets/fonts/LICENSE-Arabic.txt.
864
+
865
+ THE RANGE IS THE WHOLE TRICK. Each face covers the Arabic blocks only, so a
866
+ page with no Arabic on it never requests one, and Latin inside an Arabic page
867
+ is still Zen. The joiners (U+200C-200F) are drawn by the files but kept out of
868
+ the range: an English page with an emoji ZWJ sequence would otherwise fetch an
869
+ Arabic face for one invisible character.
870
+
871
+ Every stack below names `--font-arabic` FIRST. A family whose range excludes a
872
+ character is passed over without a download, so Latin falls through to Zen,
873
+ and the "first available font" a line box and `ch` are measured from is still
874
+ Zen (its range covers the space; the companion's does not). That is what makes
875
+ the choice one property: `@hanzo/appearance` writes `--font-arabic`, and sans,
876
+ mono and serif follow.
877
+
878
+ The default is ALSO declared under "Zen" and "Zen Mono", for anything that
879
+ names a family rather than a token. That only works because its descriptors
880
+ are Zen's exactly (weight 100 900, normal): faces in one family composite only
881
+ when everything but the range matches, and a companion declared at another
882
+ weight wins the weight match for Latin too, refuses every Latin letter, and
883
+ sends the page to the system sans with no font request to show for it.
884
+
885
+ `block` for the reason Zen has it: an Arabic page waits a moment for its face
886
+ rather than painting the platform's and repainting. */
887
+
888
+
889
+
890
+
891
+
856
892
  :root{
857
- --font-sans:Zen, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
893
+ /* The Arabic companions by what they are, and the one in use. A person's
894
+ choice replaces --font-arabic with one of the two names above it. */
895
+ --font-arabic-kufi:"Noto Kufi Arabic";
896
+ --font-arabic-sans:"Noto Sans Arabic";
897
+ --font-arabic:var(--font-arabic-kufi);
898
+ --font-sans:var(--font-arabic), Zen, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
858
899
  --font-display:var(--font-sans);
859
- --font-mono:Zen Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
860
- --font-serif:Georgia,serif;
900
+ --font-mono:var(--font-arabic), Zen Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
901
+ --font-serif:var(--font-arabic), Georgia, serif;
861
902
  /* The default is Zen as drawn, and that is a decision rather than an omission.
862
903
  `base.css` puts this on <body>, so whatever is here is the voice of every
863
904
  surface in the estate — which is exactly why it should not carry a brand's.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hanzo/ui",
3
- "version": "8.29.11",
3
+ "version": "8.29.12",
4
4
  "type": "module",
5
5
  "description": "Hanzo UI — the one canonical Hanzo component library, on @hanzo/gui + @hanzo/design. ONE substrate: every component renders through @hanzo/gui primitives, so the same import works on web, native (expo) and desktop (Tauri). Self-contained (theme.css), presentational, host-agnostic, clean-room.",
6
6
  "exports": {
@@ -315,9 +315,9 @@
315
315
  "@codemirror/language": "^6.12.4",
316
316
  "@codemirror/state": "^6.7.6",
317
317
  "@codemirror/view": "^6.43.13",
318
- "@hanzo/appearance": "0.2.7",
318
+ "@hanzo/appearance": "0.2.11",
319
319
  "@hanzo/brand": "1.4.8",
320
- "@hanzo/design": "0.5.35",
320
+ "@hanzo/design": "0.5.37",
321
321
  "@hanzo/font": "1.9.2",
322
322
  "@hanzo/tokens": "^1.1.1",
323
323
  "@hanzo/logo": "1.0.26",