@sigx/lynx-zero 0.4.9 → 0.5.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.
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2025-2026 Andreas Ekdahl
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2025-2026 Andreas Ekdahl
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,25 +1,25 @@
1
- # @sigx/lynx-zero
2
-
3
- Design-system-neutral UI foundation for sigx-lynx. Design-system packages
4
- (`@sigx/lynx-daisyui`, `@sigx/lynx-heroui`, …) build on it; apps normally
5
- import from their chosen design system, which re-exports what it uses from
6
- here.
7
-
8
- What lives here (growing per the phases in
9
- [signalxjs/lynx#219](https://github.com/signalxjs/lynx/issues/219)):
10
-
11
- - **The shared contract** (`SizeScale`, `ColorVariant`, `ColorToken`,
12
- common prop fragments like `WithColor`/`WithDisabled`/`PressEvent`) —
13
- the vocabulary every design system agrees on, so switching an app from
14
- one DS to another is mostly an import swap.
15
- - **Token-name conventions** — every theme resolves against the same CSS
16
- custom-property names (`--color-*`, `--radius-*`, `--size-*`, `--text-*`).
17
- - **Style utilities** — `resolveBoxStyle`, `resolveSpacing`,
18
- `resolveColorToken`.
19
- - **Press-feedback defaults** — `PRESSED_SCALE`, `PRESSED_OPACITY`.
20
- - *(Later phases)* layout primitives (`Row`, `Col`, `Center`, `Spacer`,
21
- `ScrollView`) and the theme engine (`ThemeProvider`, `themeController`,
22
- theme registry).
23
-
24
- What deliberately does **not** live here: visual components, component CSS,
25
- class-name recipes, theme palettes — those are per-design-system.
1
+ # @sigx/lynx-zero
2
+
3
+ Design-system-neutral UI foundation for sigx-lynx. Design-system packages
4
+ (`@sigx/lynx-daisyui`, `@sigx/lynx-heroui`, …) build on it; apps normally
5
+ import from their chosen design system, which re-exports what it uses from
6
+ here.
7
+
8
+ What lives here (growing per the phases in
9
+ [signalxjs/lynx#219](https://github.com/signalxjs/lynx/issues/219)):
10
+
11
+ - **The shared contract** (`SizeScale`, `ColorVariant`, `ColorToken`,
12
+ common prop fragments like `WithColor`/`WithDisabled`/`PressEvent`) —
13
+ the vocabulary every design system agrees on, so switching an app from
14
+ one DS to another is mostly an import swap.
15
+ - **Token-name conventions** — every theme resolves against the same CSS
16
+ custom-property names (`--color-*`, `--radius-*`, `--size-*`, `--text-*`).
17
+ - **Style utilities** — `resolveBoxStyle`, `resolveSpacing`,
18
+ `resolveColorToken`.
19
+ - **Press-feedback defaults** — `PRESSED_SCALE`, `PRESSED_OPACITY`.
20
+ - *(Later phases)* layout primitives (`Row`, `Col`, `Center`, `Spacer`,
21
+ `ScrollView`) and the theme engine (`ThemeProvider`, `themeController`,
22
+ theme registry).
23
+
24
+ What deliberately does **not** live here: visual components, component CSS,
25
+ class-name recipes, theme palettes — those are per-design-system.
@@ -1,98 +1,98 @@
1
- /* Theme-agnostic structural design tokens.
2
- *
3
- * Theme COLORS come from the theme registry (seeded by the design-system package) and are
4
- * applied as inline CSS custom properties by <ThemeProvider>. These
5
- * radius / sizing / component tokens are identical across themes, so they
6
- * ship once here under the `.lynx-zero` base class that <ThemeProvider> puts on
7
- * its host view; CSS inheritance propagates them to every descendant. A theme
8
- * may still override roundness via its `radius` field. */
9
-
10
- .lynx-zero {
11
- /* ── Roundness (DaisyUI v5 contract) ── */
12
- --radius-selector: 8px;
13
- --radius-field: 8px;
14
- --radius-box: 16px;
15
-
16
- /* ── Base size units (DaisyUI v5 contract) ──
17
- * A theme's `sizes` ({ field, selector }) overrides these; <ThemeProvider>
18
- * re-derives the component dimensions below from them in JS. We deliberately
19
- * do NOT use `calc(var() * n)` in CSS — it's unproven in Lynx's runtime CSS
20
- * engine. Defaults below are base 4px × the per-token multiples shown. */
21
- --size-selector: 4px;
22
- --size-field: 4px;
23
-
24
- /* ── Field sizing scale (button / input / select) — field × 6/8/12/16 ── */
25
- --size-xs: 24px;
26
- --size-sm: 32px;
27
- --size-md: 48px;
28
- --size-lg: 64px;
29
-
30
- /* ── Text ramp (public <Text> / <Heading> sizes) ──
31
- * The xs→3xl scale the `text-*` utilities resolve to (the daisy preset maps
32
- * Tailwind's fontSize keys onto these vars). Literal px so they resolve on
33
- * the first paint, like every other structural token. Anchored on a 17px
34
- * base — the iOS HIG Body size, so bare <Text> (the default) reads as native
35
- * body — and stepped as an even ~1.2 modular scale (each step ≈1.17–1.21×).
36
- *
37
- * The controller's `fontScale` multiplies this ramp app-wide; <ThemeProvider>
38
- * re-emits the literals in JS (no `calc(var() * n)` — unproven in Lynx).
39
- * NOTE: keep in sync with FONT_DEFAULTS in theme/ThemeProvider.tsx. */
40
- --text-xs: 12px;
41
- --text-sm: 14px;
42
- --text-base: 17px;
43
- --text-lg: 20px;
44
- --text-xl: 24px;
45
- --text-2xl: 28px;
46
- --text-3xl: 34px;
47
-
48
- /* ── Font sizes (control-internal: button / input / badge labels) ──
49
- * A separate axis from the text ramp above and deliberately NOT scaled with
50
- * it — control chrome stays fixed. Kept as independent literals (no
51
- * var→var indirection; unproven in Lynx) even though values mirror the ramp. */
52
- --font-xs: 12px;
53
- --font-sm: 14px;
54
- --font-md: 14px;
55
- --font-lg: 18px;
56
-
57
- /* ── Spacing ── */
58
- --padding-btn-xs: 8px;
59
- --padding-btn-sm: 12px;
60
- --padding-btn-md: 16px;
61
- --padding-btn-lg: 24px;
62
- --padding-box: 16px;
63
- --padding-box-compact: 8px;
64
- --gap-box: 8px;
65
-
66
- /* ── Borders ── */
67
- --border-btn: 1px;
68
- --border-card: 1px;
69
-
70
- /* ── Selector-driven sizes (checkbox / toggle / badge) — selector × the
71
- * multiples shown; <ThemeProvider> re-derives these from `sizes.selector`. ── */
72
- --checkbox-xs: 16px; /* ×4 */
73
- --checkbox-sm: 20px; /* ×5 */
74
- --checkbox-md: 24px; /* ×6 */
75
- --checkbox-lg: 32px; /* ×8 */
76
- --toggle-width-xs: 32px; /* ×8 */
77
- --toggle-width-sm: 40px; /* ×10 */
78
- --toggle-width-md: 48px; /* ×12 */
79
- --toggle-width-lg: 56px; /* ×14 */
80
- --toggle-height-xs: 24px; /* ×6 */
81
- --toggle-height-sm: 24px; /* ×6 */
82
- --toggle-height-md: 28px; /* ×7 */
83
- --toggle-height-lg: 32px; /* ×8 */
84
- --toggle-thumb-xs: 16px; /* ×4 */
85
- --toggle-thumb-sm: 16px; /* ×4 */
86
- --toggle-thumb-md: 20px; /* ×5 */
87
- --toggle-thumb-lg: 24px; /* ×6 */
88
- --badge-xs: 16px; /* ×4 */
89
- --badge-sm: 20px; /* ×5 */
90
- --badge-md: 24px; /* ×6 */
91
- --badge-lg: 32px; /* ×8 */
92
- --step-indicator: 32px;
93
- --progress-height: 8px;
94
- --modal-max-width: 400px;
95
-
96
- /* ── Opacity ── */
97
- --disabled-opacity: 0.5;
98
- }
1
+ /* Theme-agnostic structural design tokens.
2
+ *
3
+ * Theme COLORS come from the theme registry (seeded by the design-system package) and are
4
+ * applied as inline CSS custom properties by <ThemeProvider>. These
5
+ * radius / sizing / component tokens are identical across themes, so they
6
+ * ship once here under the `.lynx-zero` base class that <ThemeProvider> puts on
7
+ * its host view; CSS inheritance propagates them to every descendant. A theme
8
+ * may still override roundness via its `radius` field. */
9
+
10
+ .lynx-zero {
11
+ /* ── Roundness (DaisyUI v5 contract) ── */
12
+ --radius-selector: 8px;
13
+ --radius-field: 8px;
14
+ --radius-box: 16px;
15
+
16
+ /* ── Base size units (DaisyUI v5 contract) ──
17
+ * A theme's `sizes` ({ field, selector }) overrides these; <ThemeProvider>
18
+ * re-derives the component dimensions below from them in JS. We deliberately
19
+ * do NOT use `calc(var() * n)` in CSS — it's unproven in Lynx's runtime CSS
20
+ * engine. Defaults below are base 4px × the per-token multiples shown. */
21
+ --size-selector: 4px;
22
+ --size-field: 4px;
23
+
24
+ /* ── Field sizing scale (button / input / select) — field × 6/8/12/16 ── */
25
+ --size-xs: 24px;
26
+ --size-sm: 32px;
27
+ --size-md: 48px;
28
+ --size-lg: 64px;
29
+
30
+ /* ── Text ramp (public <Text> / <Heading> sizes) ──
31
+ * The xs→3xl scale the `text-*` utilities resolve to (the daisy preset maps
32
+ * Tailwind's fontSize keys onto these vars). Literal px so they resolve on
33
+ * the first paint, like every other structural token. Anchored on a 17px
34
+ * base — the iOS HIG Body size, so bare <Text> (the default) reads as native
35
+ * body — and stepped as an even ~1.2 modular scale (each step ≈1.17–1.21×).
36
+ *
37
+ * The controller's `fontScale` multiplies this ramp app-wide; <ThemeProvider>
38
+ * re-emits the literals in JS (no `calc(var() * n)` — unproven in Lynx).
39
+ * NOTE: keep in sync with FONT_DEFAULTS in theme/ThemeProvider.tsx. */
40
+ --text-xs: 12px;
41
+ --text-sm: 14px;
42
+ --text-base: 17px;
43
+ --text-lg: 20px;
44
+ --text-xl: 24px;
45
+ --text-2xl: 28px;
46
+ --text-3xl: 34px;
47
+
48
+ /* ── Font sizes (control-internal: button / input / badge labels) ──
49
+ * A separate axis from the text ramp above and deliberately NOT scaled with
50
+ * it — control chrome stays fixed. Kept as independent literals (no
51
+ * var→var indirection; unproven in Lynx) even though values mirror the ramp. */
52
+ --font-xs: 12px;
53
+ --font-sm: 14px;
54
+ --font-md: 14px;
55
+ --font-lg: 18px;
56
+
57
+ /* ── Spacing ── */
58
+ --padding-btn-xs: 8px;
59
+ --padding-btn-sm: 12px;
60
+ --padding-btn-md: 16px;
61
+ --padding-btn-lg: 24px;
62
+ --padding-box: 16px;
63
+ --padding-box-compact: 8px;
64
+ --gap-box: 8px;
65
+
66
+ /* ── Borders ── */
67
+ --border-btn: 1px;
68
+ --border-card: 1px;
69
+
70
+ /* ── Selector-driven sizes (checkbox / toggle / badge) — selector × the
71
+ * multiples shown; <ThemeProvider> re-derives these from `sizes.selector`. ── */
72
+ --checkbox-xs: 16px; /* ×4 */
73
+ --checkbox-sm: 20px; /* ×5 */
74
+ --checkbox-md: 24px; /* ×6 */
75
+ --checkbox-lg: 32px; /* ×8 */
76
+ --toggle-width-xs: 32px; /* ×8 */
77
+ --toggle-width-sm: 40px; /* ×10 */
78
+ --toggle-width-md: 48px; /* ×12 */
79
+ --toggle-width-lg: 56px; /* ×14 */
80
+ --toggle-height-xs: 24px; /* ×6 */
81
+ --toggle-height-sm: 24px; /* ×6 */
82
+ --toggle-height-md: 28px; /* ×7 */
83
+ --toggle-height-lg: 32px; /* ×8 */
84
+ --toggle-thumb-xs: 16px; /* ×4 */
85
+ --toggle-thumb-sm: 16px; /* ×4 */
86
+ --toggle-thumb-md: 20px; /* ×5 */
87
+ --toggle-thumb-lg: 24px; /* ×6 */
88
+ --badge-xs: 16px; /* ×4 */
89
+ --badge-sm: 20px; /* ×5 */
90
+ --badge-md: 24px; /* ×6 */
91
+ --badge-lg: 32px; /* ×8 */
92
+ --step-indicator: 32px;
93
+ --progress-height: 8px;
94
+ --modal-max-width: 400px;
95
+
96
+ /* ── Opacity ── */
97
+ --disabled-opacity: 0.5;
98
+ }
@@ -34,6 +34,23 @@
34
34
  * ```
35
35
  */
36
36
  import { type Define } from '@sigx/lynx';
37
+ import { type IconColorResolver } from '@sigx/lynx-icons/context';
38
+ import type { ColorToken } from '../contract.js';
39
+ /**
40
+ * Declaration-merge a typed `variant` prop onto `<Icon>` (and the pinned
41
+ * adapters). `@sigx/lynx-icons` has no notion of variants; the foundation owns
42
+ * the concept so every design system inherits it. The merge fires the moment
43
+ * any consumer imports anything from `@sigx/lynx-zero` (or a DS that re-exports
44
+ * it). `<ThemeProvider>` provides the resolver that turns the variant into the
45
+ * active theme's hex (below).
46
+ */
47
+ declare module '@sigx/lynx-icons' {
48
+ interface IconPropsExtensions {
49
+ /** Semantic color token applied as the icon's `fill`, resolved to the
50
+ * active theme's hex via `useIconColorResolver`. */
51
+ variant?: ColorToken;
52
+ }
53
+ }
37
54
  /**
38
55
  * Theme class applied to the provider's host view. Plain string — a design
39
56
  * system layers a literal union on top for autocomplete (e.g. daisyui's
@@ -120,7 +137,14 @@ Define.Prop<'initial', ThemeName, false>
120
137
  /** Extra classes appended to the theme class on the host view. */
121
138
  & Define.Prop<'class', string, false>
122
139
  /** Extra inline style on the host view. Merged after the base flex-fill defaults. */
123
- & Define.Prop<'style', Record<string, string | number>, false> & Define.Slot<'default'>;
140
+ & Define.Prop<'style', Record<string, string | number>, false>
141
+ /**
142
+ * Override the icon-color resolver this scope provides. By default the
143
+ * provider resolves an `<Icon variant>` to the active theme's palette hex
144
+ * — design-system-agnostic, works for any registered theme. Supply this to
145
+ * customize the mapping (e.g. a DS-specific token aliasing).
146
+ */
147
+ & Define.Prop<'iconColorResolver', IconColorResolver, false> & Define.Slot<'default'>;
124
148
  /**
125
149
  * Wraps children in a `<view class={theme}>` so the CSS variables defined
126
150
  * inside the theme class inherit down to every descendant.
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeProvider.d.ts","sourceRoot":"","sources":["../../src/theme/ThemeProvider.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,OAAO,EASH,KAAK,MAAM,EACd,MAAM,YAAY,CAAC;AA8HpB;;;;;GAKG;AAEH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,EAAE,CAAC;AAEpC,MAAM,WAAW,eAAe;IAC5B,0EAA0E;IAC1E,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC;;;OAGG;IACH,GAAG,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;IAC3B;;;;OAIG;IACH,MAAM,IAAI,IAAI,CAAC;IACf;;;OAGG;IACH,YAAY,IAAI,IAAI,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;;;OAKG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,kEAA2D,CAAC;AAmBjF,MAAM,MAAM,kBAAkB;AAC1B;;;;;GAKG;AACD,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC;AAC1C;;;;GAIG;GACD,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC;AACxC;;;;GAIG;GACD,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC;AACvC;;;;;GAKG;GACD,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC;AACzC,kEAAkE;GAChE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC;AACrC,qFAAqF;GACnF,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAAE,KAAK,CAAC,GAC5D,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAE7B;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa;;EA+KxB,CAAC;AAGH,OAAO,EACH,UAAU,EACV,aAAa,EACb,WAAW,EACX,YAAY,EACZ,MAAM,EACN,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,OAAO,GACV,MAAM,eAAe,CAAC;AACvB,YAAY,EACR,KAAK,EACL,YAAY,EACZ,WAAW,EACX,UAAU,EACV,YAAY,GACf,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"ThemeProvider.d.ts","sourceRoot":"","sources":["../../src/theme/ThemeProvider.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,OAAO,EASH,KAAK,MAAM,EACd,MAAM,YAAY,CAAC;AAKpB,OAAO,EAAwB,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AACxF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAmBjD;;;;;;;GAOG;AACH,OAAO,QAAQ,kBAAkB,CAAC;IAC9B,UAAU,mBAAmB;QACzB;6DACqD;QACrD,OAAO,CAAC,EAAE,UAAU,CAAC;KACxB;CACJ;AA0GD;;;;;GAKG;AAEH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,EAAE,CAAC;AAEpC,MAAM,WAAW,eAAe;IAC5B,0EAA0E;IAC1E,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC;;;OAGG;IACH,GAAG,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;IAC3B;;;;OAIG;IACH,MAAM,IAAI,IAAI,CAAC;IACf;;;OAGG;IACH,YAAY,IAAI,IAAI,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B;;;;;OAKG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,kEAA2D,CAAC;AAmBjF,MAAM,MAAM,kBAAkB;AAC1B;;;;;GAKG;AACD,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC;AAC1C;;;;GAIG;GACD,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC;AACxC;;;;GAIG;GACD,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC;AACvC;;;;;GAKG;GACD,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC;AACzC,kEAAkE;GAChE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC;AACrC,qFAAqF;GACnF,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAAE,KAAK,CAAC;AAC9D;;;;;GAKG;GACD,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,KAAK,CAAC,GAC1D,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAE7B;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa;;EA6LxB,CAAC;AAGH,OAAO,EACH,UAAU,EACV,aAAa,EACb,WAAW,EACX,YAAY,EACZ,MAAM,EACN,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,OAAO,GACV,MAAM,eAAe,CAAC;AACvB,YAAY,EACR,KAAK,EACL,YAAY,EACZ,WAAW,EACX,UAAU,EACV,YAAY,GACf,MAAM,eAAe,CAAC"}
@@ -36,6 +36,9 @@ import { jsx as _jsx } from "@sigx/lynx/jsx-runtime";
36
36
  */
37
37
  import { component, defineInjectable, defineProvide, effect, onMounted, onUnmounted, signal, untrack, } from '@sigx/lynx';
38
38
  import { useSystemColorScheme } from '@sigx/lynx-appearance';
39
+ // CSS-free subpath: just the resolver DI key + type — importing the icons
40
+ // barrel here would drag Icon's font-face/svg/codepoint assets into zero's barrel.
41
+ import { useIconColorResolver } from '@sigx/lynx-icons/context';
39
42
  import { colorsOf, fallbackPalette, hasStaticCss, pickThemeFor, radiusOf, sizesOf, variantOf, } from './registry.js';
40
43
  import { globalThemeState, makeThemeController, normalizeFontScale, themeController, } from './theme-state.js';
41
44
  // Control dimensions are expressed as multiples of two base units
@@ -224,6 +227,20 @@ export const ThemeProvider = component(({ props, slots }) => {
224
227
  defineProvide(useTheme, () => controller);
225
228
  // Re-provide this scope's current scale so nested providers inherit it.
226
229
  defineProvide(useAmbientFontScale, () => state.fontScale);
230
+ // Icon-color resolver for this scope: map `<Icon variant>` to the active
231
+ // theme's palette hex (SVG fills can't read CSS vars, so the hex is
232
+ // substituted into `fill=` at render). Design-system-agnostic — reads the
233
+ // registered palette for whatever theme this scope shows, so daisy and hero
234
+ // icons both theme correctly, per sub-scope. A consumer can override via the
235
+ // `iconColorResolver` prop. Reading `state.name` re-runs icons on theme flip.
236
+ const defaultIconResolver = (iconProps) => {
237
+ const variant = iconProps.variant;
238
+ if (!variant)
239
+ return undefined;
240
+ const palette = colorsOf(state.name) ?? fallbackPalette();
241
+ return palette?.[variant];
242
+ };
243
+ defineProvide(useIconColorResolver, () => props.iconColorResolver ?? defaultIconResolver);
227
244
  // Follow the system color scheme while `following`. Reactive: re-runs when
228
245
  // `following` flips true (e.g. `controller.followSystem()`, including the
229
246
  // headless `themeController`) or when the OS scheme changes, and writes the
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeProvider.js","sourceRoot":"","sources":["../../src/theme/ThemeProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ThemeProvider.js","sourceRoot":"","sources":["../../src/theme/ThemeProvider.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sigx/lynx-zero",
3
- "version": "0.4.9",
3
+ "version": "0.5.0",
4
4
  "description": "Design-system-neutral UI foundation for sigx-lynx — the shared props/token contract and style utilities that design-system packages (daisyui, heroui, …) build on",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -19,6 +19,10 @@
19
19
  "import": "./dist/preset/index.js",
20
20
  "default": "./dist/preset/index.js"
21
21
  },
22
+ "./registry": {
23
+ "types": "./dist/theme/registry.d.ts",
24
+ "import": "./dist/theme/registry.js"
25
+ },
22
26
  "./styles/tokens.css": "./dist/styles/tokens.css"
23
27
  },
24
28
  "files": [
@@ -36,14 +40,15 @@
36
40
  "author": "Andreas Ekdahl",
37
41
  "license": "MIT",
38
42
  "dependencies": {
39
- "@sigx/lynx": "^0.4.9",
40
- "@sigx/lynx-motion": "^0.4.9",
41
- "@sigx/lynx-appearance": "^0.4.9",
42
- "@sigx/lynx-gestures": "^0.4.9"
43
+ "@sigx/lynx": "^0.5.0",
44
+ "@sigx/lynx-appearance": "^0.5.0",
45
+ "@sigx/lynx-icons": "^0.5.0",
46
+ "@sigx/lynx-gestures": "^0.5.0",
47
+ "@sigx/lynx-motion": "^0.5.0"
43
48
  },
44
49
  "peerDependencies": {
45
50
  "tailwindcss": "^3.0.0 || ^4.0.0",
46
- "@sigx/lynx-navigation": "^0.4.9"
51
+ "@sigx/lynx-navigation": "^0.5.0"
47
52
  },
48
53
  "peerDependenciesMeta": {
49
54
  "@sigx/lynx-navigation": {
@@ -57,8 +62,8 @@
57
62
  "@typescript/native-preview": "7.0.0-dev.20260521.1",
58
63
  "tailwindcss": "^4.0.0",
59
64
  "typescript": "^6.0.3",
60
- "@sigx/lynx-navigation": "^0.4.9",
61
- "@sigx/lynx-testing": "^0.4.9"
65
+ "@sigx/lynx-navigation": "^0.5.0",
66
+ "@sigx/lynx-testing": "^0.5.0"
62
67
  },
63
68
  "repository": {
64
69
  "type": "git",