@takazudo/zdtp 0.2.3 → 0.3.1

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.
@@ -40,6 +40,13 @@
40
40
  * }
41
41
  * ```
42
42
  *
43
+ * Host-coined GENERIC tabs (any configured tab whose id is not one of the
44
+ * dedicated slices `color` / `color-secondary` / `spacing` / `font` / `size`)
45
+ * round-trip the same way as spacing/size: their overrides live in
46
+ * `state.tabs[id]` (the v3 envelope) and serialize under `tabs[id].raw`,
47
+ * cssVar-keyed (issue #363). The apply path (`applyFullState`) already consumes
48
+ * `state.tabs`; serialize + deserialize make Export/Load symmetric with it.
49
+ *
43
50
  * Key decisions (issue #74):
44
51
  * - cssVar-keyed leaves for portability across host id renames.
45
52
  * - Tier-2 ref values are stored as the literal `var(--tier1-cssvar)` CSS
@@ -65,18 +72,25 @@
65
72
  * Read-only manifest tokens are skipped in both directions.
66
73
  */
67
74
  import type { ColorTweakState, TweakState } from '../state/tweak-state';
75
+ import { type PanelConfig } from '../config/panel-config';
68
76
  /** The canonical v2 schema identifier emitted by serialize(). */
69
77
  export declare const SCHEMA_V2 = "zudo-design-tokens/v2";
70
78
  /** The legacy v1 schema identifier accepted by deserialize() for back-compat. */
71
79
  export declare const SCHEMA_V1 = "zudo-design-tokens/v1";
72
80
  /**
73
- * Read the active design-token schema id at call time.
81
+ * Read the design-token schema id at call time.
82
+ *
83
+ * Returns the host-configured schema id from `cfg.schemaId`. Used as the
84
+ * `$schema` value in legacy v1 exports (for hosts that have not upgraded their
85
+ * config to v2) and as the expected-schema label the Import modal surfaces. The
86
+ * canonical v2 serialize path always emits `SCHEMA_V2`.
74
87
  *
75
- * Returns the host-configured schema id from `panelConfig.schemaId`. Used as
76
- * the `$schema` value in legacy v1 exports (for hosts that have not upgraded
77
- * their config to v2). The canonical v2 serialize path always emits `SCHEMA_V2`.
88
+ * `cfg` defaults to the active (most-recently-configured) instance so the
89
+ * single-default path stays byte-identical. The Import modal threads its OWN
90
+ * mounted instance config (multi-instance, #361) so a non-default panel
91
+ * validates against ITS schema id, not the default's.
78
92
  */
79
- export declare function getDesignTokenSchema(): string;
93
+ export declare function getDesignTokenSchema(cfg?: PanelConfig): string;
80
94
  /** External JSON value for a base-color / semantic-color entry (v1). */
81
95
  type ColorSlotValue = number | 'bg' | 'fg';
82
96
  export interface DesignTokenJsonColorBase {
@@ -114,7 +128,14 @@ export interface DesignTokenJson {
114
128
  * For color semantic: values are palette-index integers.
115
129
  */
116
130
  export type V2TierMap = Record<string, string | number>;
117
- /** Per-tab overrides in v2 format. Key is tier id. */
131
+ /**
132
+ * Per-tab overrides in v2 format. Keyed nominally by tier id — but only the
133
+ * `color` tab uses real tier ids (`palette` / `semantic`). Every other tab
134
+ * (spacing / font / size AND host-coined generic tabs) uses the single synthetic
135
+ * external key `raw` regardless of its internal tier ids; the cssVar leaves under
136
+ * `raw` carry the identity, so the external JSON never depends on a tab's
137
+ * internal tier structure.
138
+ */
118
139
  export type V2TabEntry = Record<string, V2TierMap>;
119
140
  /** v2 external JSON document shape. */
120
141
  export interface DesignTokenJsonV2 {
@@ -169,8 +190,14 @@ export declare class DesignTokenSchemaError extends Error {
169
190
  * defaults; set `opts.includeDefaults = true` to dump everything.
170
191
  *
171
192
  * The output `$schema` is always `SCHEMA_V2` ("zudo-design-tokens/v2").
193
+ *
194
+ * `cfg` defaults to the active (most-recently-configured) instance so the
195
+ * single-default path stays byte-identical. The Export / Apply modals thread
196
+ * their OWN mounted instance config (multi-instance, #361) so a non-default
197
+ * panel's export JSON / revert blob is built from ITS tab manifest + color
198
+ * cluster, not the default instance's.
172
199
  */
173
- export declare function serialize(state: TweakState, opts?: SerializeOptions): DesignTokenJsonV2;
200
+ export declare function serialize(state: TweakState, opts?: SerializeOptions, cfg?: PanelConfig): DesignTokenJsonV2;
174
201
  /**
175
202
  * Parse a design-token JSON document and lift it back into a tweak state.
176
203
  *
@@ -187,7 +214,13 @@ export declare function serialize(state: TweakState, opts?: SerializeOptions): D
187
214
  *
188
215
  * Missing fields fall back to `opts.colorDefaults` (or, absent that, a
189
216
  * minimal neutral default) so the result is always a valid `TweakState`.
217
+ *
218
+ * `cfg` defaults to the active (most-recently-configured) instance so the
219
+ * single-default path stays byte-identical. The Import modal threads its OWN
220
+ * mounted instance config (multi-instance, #361) so a non-default panel's
221
+ * schema-check + cssVar→id mapping use ITS tab manifest + color cluster, not
222
+ * the default instance's.
190
223
  */
191
- export declare function deserialize(input: unknown, opts?: DeserializeOptions): DeserializeResult;
224
+ export declare function deserialize(input: unknown, opts?: DeserializeOptions, cfg?: PanelConfig): DeserializeResult;
192
225
  export {};
193
226
  //# sourceMappingURL=design-token-serde.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"design-token-serde.d.ts","sourceRoot":"","sources":["../../src/utils/design-token-serde.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"design-token-serde.d.ts","sourceRoot":"","sources":["../../src/utils/design-token-serde.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@takazudo/zdtp",
3
- "version": "0.2.3",
3
+ "version": "0.3.1",
4
4
  "description": "Dynamic design-token tweak panel — host-config-driven, framework-agnostic Preact UI.",
5
5
  "private": false,
6
6
  "license": "MIT",