@takazudo/zdtp 0.5.2 → 0.6.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.
Files changed (107) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/PORTABLE-CONTRACT.md +18 -0
  3. package/dist/apply/build-apply-overrides.d.ts +2 -2
  4. package/dist/apply/last-applied.d.ts +1 -1
  5. package/dist/apply/reconcile-applied.d.ts +2 -2
  6. package/dist/apply/route-tokens-to-files.d.ts +1 -1
  7. package/dist/apply/tier-resolver.d.ts +1 -1
  8. package/dist/apply-modal.d.ts +2 -2
  9. package/dist/astro/host-adapter.js +3 -3
  10. package/dist/astro/index.d.ts +8 -8
  11. package/dist/astro/index.js +1 -1
  12. package/dist/{autoload-state-BI4-9A58.js → autoload-state-CGnis85c.js} +1 -1
  13. package/dist/bulk/bulk-actions.d.ts +3 -3
  14. package/dist/bulk/index.d.ts +2 -2
  15. package/dist/chain/index.d.ts +2 -2
  16. package/dist/chain/token-chain-context.d.ts +3 -3
  17. package/dist/chain/token-chain-popover.d.ts +2 -2
  18. package/dist/changed/contribution.d.ts +5 -5
  19. package/dist/changed/footer-content.d.ts +4 -4
  20. package/dist/changed/index.d.ts +4 -4
  21. package/dist/components/color-picker/color-field.d.ts +1 -1
  22. package/dist/components/color-picker/index.d.ts +2 -2
  23. package/dist/components/palette-chart/index.d.ts +2 -2
  24. package/dist/components/palette-chart/palette-chart.d.ts +4 -4
  25. package/dist/config/cluster-config.d.ts +4 -4
  26. package/dist/config/color-scheme-utils.d.ts +1 -1
  27. package/dist/config/panel-config.d.ts +5 -5
  28. package/dist/controls/tier-ref-selector.d.ts +1 -1
  29. package/dist/dom-tweaker/dom-tweaker-diff-action-link.d.ts +1 -1
  30. package/dist/dom-tweaker/dom-tweaker-orchestrator.d.ts +1 -1
  31. package/dist/dom-tweaker/dom-tweaker-state.d.ts +1 -1
  32. package/dist/dom-tweaker/lazy/class-editor-popup.d.ts +1 -1
  33. package/dist/dom-tweaker/lazy/diff-export-modal.d.ts +1 -1
  34. package/dist/dom-tweaker/lazy/index.d.ts +2 -2
  35. package/dist/element-inspect/element-inspect-context.d.ts +1 -1
  36. package/dist/element-inspect/element-inspect-orchestrator.d.ts +3 -3
  37. package/dist/element-inspect/element-inspect-overlay.d.ts +1 -1
  38. package/dist/element-inspect/find-tokens-for-element.d.ts +1 -1
  39. package/dist/element-inspect/index.d.ts +8 -8
  40. package/dist/element-path/element-path-state.d.ts +1 -1
  41. package/dist/element-path/index.d.ts +7 -7
  42. package/dist/export-modal.d.ts +2 -2
  43. package/dist/highlight/highlight-orchestrator.d.ts +2 -2
  44. package/dist/highlight/highlight-state.d.ts +1 -1
  45. package/dist/highlight/highlight-toggle-button.d.ts +2 -2
  46. package/dist/history/buttons.d.ts +1 -1
  47. package/dist/history/index.d.ts +3 -3
  48. package/dist/history/rail.d.ts +2 -2
  49. package/dist/history/snapshots.d.ts +2 -2
  50. package/dist/import-modal.d.ts +2 -2
  51. package/dist/{index-ChsJ5u4d.js → index-DWs1XPfy.js} +993 -993
  52. package/dist/{index-CAQf4HKm.js → index-LYsbHWcy.js} +2 -2
  53. package/dist/index.d.ts +14 -14
  54. package/dist/index.js +14 -13
  55. package/dist/{panel-config-CqbuB0nh.js → panel-config-Crn5QJGy.js} +243 -208
  56. package/dist/panel.d.ts +2 -2
  57. package/dist/picker/index.d.ts +4 -4
  58. package/dist/search/command-palette.d.ts +3 -3
  59. package/dist/search/contribution.d.ts +1 -1
  60. package/dist/search/index.d.ts +4 -4
  61. package/dist/search/match-bar.d.ts +1 -1
  62. package/dist/search/token-search.d.ts +3 -3
  63. package/dist/server/create-apply-handler.d.ts +2 -2
  64. package/dist/server/index.d.ts +6 -6
  65. package/dist/shell/dock-mode-switch.d.ts +1 -1
  66. package/dist/shell/regions.d.ts +1 -1
  67. package/dist/shell/tab-bar.d.ts +1 -1
  68. package/dist/shell/tab-overflow-popover.d.ts +1 -1
  69. package/dist/specimen/on-page-specimen.d.ts +3 -3
  70. package/dist/specimen/preview-glyphs.d.ts +1 -1
  71. package/dist/specimen/specimen-state.d.ts +1 -1
  72. package/dist/specimen/specimen-tab-body.d.ts +5 -5
  73. package/dist/specimen/specimen-toolbar.d.ts +1 -1
  74. package/dist/specimen/specimen-values.d.ts +1 -1
  75. package/dist/state/autoload-state.d.ts +1 -1
  76. package/dist/state/history.d.ts +1 -1
  77. package/dist/state/persist.d.ts +3 -3
  78. package/dist/state/transaction.d.ts +3 -3
  79. package/dist/state/tweak-state.d.ts +12 -12
  80. package/dist/tabs/_generic-item-editor.d.ts +1 -1
  81. package/dist/tabs/color-tab.d.ts +6 -6
  82. package/dist/tabs/flat/flat-tab.d.ts +5 -5
  83. package/dist/tabs/flat/index.d.ts +8 -8
  84. package/dist/tabs/flat/scroll-to-token-row.d.ts +1 -1
  85. package/dist/tabs/flat/tier-section.d.ts +3 -3
  86. package/dist/tabs/flat/token-controller.d.ts +1 -1
  87. package/dist/tabs/flat/token-row.d.ts +2 -2
  88. package/dist/tabs/flat/types.d.ts +1 -1
  89. package/dist/tabs/font-tab.d.ts +6 -6
  90. package/dist/tabs/generic-tab.d.ts +4 -4
  91. package/dist/tabs/notes-tab.d.ts +1 -1
  92. package/dist/tabs/palette/palette-check-view.d.ts +3 -3
  93. package/dist/tabs/palette/palette-edit-view.d.ts +3 -3
  94. package/dist/tabs/palette/palette-readout.d.ts +1 -1
  95. package/dist/tabs/palette/palette-tab.d.ts +3 -3
  96. package/dist/tabs/size-tab.d.ts +5 -5
  97. package/dist/tabs/spacing-tab.d.ts +5 -5
  98. package/dist/testing.d.ts +6 -6
  99. package/dist/testing.js +16 -15
  100. package/dist/tokens/tier-model.d.ts +2 -2
  101. package/dist/{tweak-state-c53KtLHq.js → tweak-state-Dzr5kDhX.js} +210 -207
  102. package/dist/utils/color-oklch.d.ts +2 -2
  103. package/dist/utils/design-token-serde.d.ts +2 -2
  104. package/dist/utils/token-diff.d.ts +3 -3
  105. package/dist/utils/token-graph.d.ts +4 -4
  106. package/dist/utils/token-index.d.ts +2 -2
  107. package/package.json +4 -4
package/dist/panel.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { type PanelConfig } from './config/panel-config';
1
+ import { type PanelConfig } from "./config/panel-config.js";
2
2
  /**
3
3
  * Props for the panel shell.
4
4
  *
@@ -22,4 +22,4 @@ interface DesignTokenTweakPanelProps {
22
22
  spawnOrdinal?: number;
23
23
  }
24
24
  export default function DesignTokenTweakPanel({ instanceConfig: instanceConfigProp, spawnOrdinal, }?: DesignTokenTweakPanelProps): import("preact").JSX.Element;
25
- export type { TweakState } from './state/tweak-state';
25
+ export type { TweakState } from "./state/tweak-state.js";
@@ -1,4 +1,4 @@
1
- export { AltClickPicker } from './alt-click-picker';
2
- export type { AltClickPickerClassNames, AltClickPickerHandle, AltClickPickerProps, } from './alt-click-picker';
3
- export { ELEMENT_INSPECT_PICKER_FEATURE_ID, registerArmingOwner, requestArming, releaseArming, } from './arming-coordinator';
4
- export type { ArmingOwner } from './arming-coordinator';
1
+ export { AltClickPicker } from "./alt-click-picker.js";
2
+ export type { AltClickPickerClassNames, AltClickPickerHandle, AltClickPickerProps, } from "./alt-click-picker.js";
3
+ export { ELEMENT_INSPECT_PICKER_FEATURE_ID, registerArmingOwner, requestArming, releaseArming, } from "./arming-coordinator.js";
4
+ export type { ArmingOwner } from "./arming-coordinator.js";
@@ -1,6 +1,6 @@
1
- import type { PanelConfig } from '../config/panel-config';
2
- import type { TweakState } from '../state/tweak-state';
3
- import type { TokenAddress } from '../utils/token-index';
1
+ import type { PanelConfig } from "../config/panel-config.js";
2
+ import type { TweakState } from "../state/tweak-state.js";
3
+ import type { TokenAddress } from "../utils/token-index.js";
4
4
  export interface CommandPaletteAction {
5
5
  id: string;
6
6
  label: string;
@@ -1,4 +1,4 @@
1
- import type { RowContribution } from '../tabs/flat/types';
1
+ import type { RowContribution } from "../tabs/flat/types.js";
2
2
  /**
3
3
  * S3 contribution used by every flat token tab. FlatTab still owns rendering
4
4
  * and section omission; this contribution only supplies the query predicate.
@@ -1,4 +1,4 @@
1
- export { fuzzyMatch, fuzzySubsequence, isSubsequence } from './fuzzy';
2
- export { createTokenSearchContribution, tokenSearchContribution } from './contribution';
3
- export { buildSearchTokens, filterTokenEntries, filterTokenIndex, fuzzyFilterTokens, matchesSearchFields, matchesTokenEntry, searchFieldsForEntry, stringifySearchValue, } from './token-search';
4
- export type { SearchToken, TokenSearchFields } from './token-search';
1
+ export { fuzzyMatch, fuzzySubsequence, isSubsequence } from "./fuzzy.js";
2
+ export { createTokenSearchContribution, tokenSearchContribution } from "./contribution.js";
3
+ export { buildSearchTokens, filterTokenEntries, filterTokenIndex, fuzzyFilterTokens, matchesSearchFields, matchesTokenEntry, searchFieldsForEntry, stringifySearchValue, } from "./token-search.js";
4
+ export type { SearchToken, TokenSearchFields } from "./token-search.js";
@@ -1,4 +1,4 @@
1
- import type { TabConfig } from '../tokens/tier-model';
1
+ import type { TabConfig } from "../tokens/tier-model.js";
2
2
  export interface SearchTabCount {
3
3
  tab: TabConfig;
4
4
  matches: number;
@@ -1,6 +1,6 @@
1
- import type { TweakState } from '../state/tweak-state';
2
- import { type TokenAddress, type TokenIndex, type TokenIndexEntry } from '../utils/token-index';
3
- import type { PanelConfig } from '../config/panel-config';
1
+ import type { TweakState } from "../state/tweak-state.js";
2
+ import { type TokenAddress, type TokenIndex, type TokenIndexEntry } from "../utils/token-index.js";
3
+ import type { PanelConfig } from "../config/panel-config.js";
4
4
  /** The fields intentionally mirror the header-filter contract. */
5
5
  export interface TokenSearchFields {
6
6
  cssVar: string;
@@ -1,5 +1,5 @@
1
- import { type ApplyHunk } from '../apply/compute-hunks';
2
- import type { ApplyRoutingMap } from '../config/panel-config';
1
+ import { type ApplyHunk } from "../apply/compute-hunks.js";
2
+ import type { ApplyRoutingMap } from "../config/panel-config.js";
3
3
  export interface ApplyHandlerOptions {
4
4
  /**
5
5
  * Absolute path to the repository root. Used as the CWD reference when
@@ -16,9 +16,9 @@
16
16
  * });
17
17
  * ```
18
18
  */
19
- export { createApplyHandler } from './create-apply-handler';
20
- export type { ApplyDryRunFileResult, ApplyDryRunResponse, ApplyHandlerOptions, ApplyRequestBody, ApplyStaleFileResponse, ApplySuccessResponse, ApplyWriteResponse, PerFileResult, } from './create-apply-handler';
21
- export { serializeFileWrite } from './serialize-write';
22
- export type { ApplyHunk } from '../apply/compute-hunks';
23
- export { CSS_VAR_NAME_RE, isPathSafe, isValidCssVarName, validateAndSanitizeTokens, } from './path-safety';
24
- export { loadRoutingFromFile, type ApplyRoutingMap } from './load-routing';
19
+ export { createApplyHandler } from "./create-apply-handler.js";
20
+ export type { ApplyDryRunFileResult, ApplyDryRunResponse, ApplyHandlerOptions, ApplyRequestBody, ApplyStaleFileResponse, ApplySuccessResponse, ApplyWriteResponse, PerFileResult, } from "./create-apply-handler.js";
21
+ export { serializeFileWrite } from "./serialize-write.js";
22
+ export type { ApplyHunk } from "../apply/compute-hunks.js";
23
+ export { CSS_VAR_NAME_RE, isPathSafe, isValidCssVarName, validateAndSanitizeTokens, } from "./path-safety.js";
24
+ export { loadRoutingFromFile, type ApplyRoutingMap } from "./load-routing.js";
@@ -1,4 +1,4 @@
1
- import type { DockMode } from '../state/tweak-state';
1
+ import type { DockMode } from "../state/tweak-state.js";
2
2
  export declare function DockModeSwitch({ value, onChange, compact, }: {
3
3
  value: DockMode;
4
4
  onChange: (mode: DockMode) => void;
@@ -1,5 +1,5 @@
1
1
  import type { ComponentChildren } from 'preact';
2
- import type { ActionsMenuAction } from '../controls/actions-menu-popover';
2
+ import type { ActionsMenuAction } from "../controls/actions-menu-popover.js";
3
3
  export type ShellRegion = 'header-actions' | 'header-right' | 'tabbar-extras' | 'footer';
4
4
  export interface ShellRegionRenderContext {
5
5
  compact: boolean;
@@ -1,5 +1,5 @@
1
1
  import { type RefObject } from 'preact';
2
- import type { PanelDensity } from '../state/tweak-state';
2
+ import type { PanelDensity } from "../state/tweak-state.js";
3
3
  export interface ShellTab {
4
4
  id: string;
5
5
  label: string;
@@ -1,5 +1,5 @@
1
1
  import type { JSX } from 'preact';
2
- import type { ShellTab } from './tab-bar';
2
+ import type { ShellTab } from "./tab-bar.js";
3
3
  interface TabOverflowPopoverProps {
4
4
  tabs: readonly ShellTab[];
5
5
  activeTab: string;
@@ -1,6 +1,6 @@
1
- import type { PanelConfig } from '../config/panel-config';
2
- import type { TabConfig, TierItem } from '../tokens/tier-model';
3
- import type { SpecimenState } from './specimen-state';
1
+ import type { PanelConfig } from "../config/panel-config.js";
2
+ import type { TabConfig, TierItem } from "../tokens/tier-model.js";
3
+ import type { SpecimenState } from "./specimen-state.js";
4
4
  /** The host-mutation owner suffix for a panel's page-level specimen node. */
5
5
  export declare function onPageSpecimenMutationOwner(cfg: PanelConfig): string;
6
6
  interface OnPageSpecimenProps {
@@ -1,2 +1,2 @@
1
- import type { RowContribution } from '../tabs/flat/types';
1
+ import type { RowContribution } from "../tabs/flat/types.js";
2
2
  export declare function previewGlyphContribution(): RowContribution;
@@ -1,4 +1,4 @@
1
- import type { PanelConfig } from '../config/panel-config';
1
+ import type { PanelConfig } from "../config/panel-config.js";
2
2
  export type SpecimenPreset = 'latin' | 'ja' | 'mixed';
3
3
  export interface SpecimenState {
4
4
  text: string;
@@ -1,9 +1,9 @@
1
1
  import type { ComponentChildren } from 'preact';
2
2
  import type { CSSProperties } from 'preact/compat';
3
- import type { TabConfig, TierConfig, TierItem } from '../tokens/tier-model';
4
- import type { SharedRowRenderer } from '../tabs/flat/tier-section';
5
- import type { RowContribution } from '../tabs/flat/types';
6
- import type { SpecimenState } from './specimen-state';
3
+ import type { TabConfig, TierConfig, TierItem } from "../tokens/tier-model.js";
4
+ import type { SharedRowRenderer } from "../tabs/flat/tier-section.js";
5
+ import type { RowContribution } from "../tabs/flat/types.js";
6
+ import type { SpecimenState } from "./specimen-state.js";
7
7
  interface SpecimenRendererOptions {
8
8
  tab: TabConfig;
9
9
  state: SpecimenState;
@@ -11,7 +11,7 @@ interface SpecimenRendererOptions {
11
11
  /** Hide the rendered sample while keeping the editable row controls. */
12
12
  onPage?: boolean;
13
13
  }
14
- /** Resolve the font family/weight applied to every type specimen sample. */
14
+ /** Use instance values: host CSS variables may belong to a different panel. */
15
15
  export declare function specimenFontStyle(tab: TabConfig, valueFor: (item: TierItem) => string): CSSProperties;
16
16
  export declare function createSpecimenContribution({ tab, state, valueFor, onPage }: SpecimenRendererOptions): RowContribution;
17
17
  export declare function renderSpecimenTierBody(tier: TierConfig, renderRow: SharedRowRenderer, options: SpecimenRendererOptions): ComponentChildren;
@@ -1,4 +1,4 @@
1
- import type { SpecimenState } from './specimen-state';
1
+ import type { SpecimenState } from "./specimen-state.js";
2
2
  interface SpecimenToolbarProps {
3
3
  state: SpecimenState;
4
4
  showWidth: boolean;
@@ -1,4 +1,4 @@
1
- import type { TabConfig, TierConfig, TierItem } from '../tokens/tier-model';
1
+ import type { TabConfig, TierConfig, TierItem } from "../tokens/tier-model.js";
2
2
  export interface ResolvedPreviewLength {
3
3
  value: string;
4
4
  px: number | null;
@@ -106,7 +106,7 @@
106
106
  * (and therefore the element-path inspector) even when no token overrides
107
107
  * are persisted yet.
108
108
  */
109
- import type { PanelConfig } from '../config/panel-config';
109
+ import type { PanelConfig } from "../config/panel-config.js";
110
110
  /** Stored `:autoload` value meaning "the owner armed owner mode deliberately". */
111
111
  export declare const AUTOLOAD_EXPLICIT = "1";
112
112
  /** Stored `:autoload` value meaning "owner mode was inferred from a panel open". */
@@ -1,4 +1,4 @@
1
- import type { TweakState } from './tweak-state';
1
+ import type { TweakState } from "./tweak-state.js";
2
2
  export declare const HISTORY_LIMIT = 100;
3
3
  export declare const HISTORY_COALESCE_MS = 500;
4
4
  export interface TweakHistoryEntry {
@@ -18,9 +18,9 @@
18
18
  * actual validating hydrate/round-trip logic for those variants lives in
19
19
  * `tweak-state.ts` (`hydrateSemanticMappings` / `savePersistedState`), not here.
20
20
  */
21
- import { type ColorTweakState, type TabOverrides, type TokenOverrides, type TweakState } from './tweak-state';
22
- import type { PanelConfig } from '../config/panel-config';
23
- import type { CommitTweakStateOptions, TweakStateUpdater } from './transaction';
21
+ import { type ColorTweakState, type TabOverrides, type TokenOverrides, type TweakState } from "./tweak-state.js";
22
+ import type { PanelConfig } from "../config/panel-config.js";
23
+ import type { CommitTweakStateOptions, TweakStateUpdater } from "./transaction.js";
24
24
  type CommitTweakState = (reason: string, updater: TweakStateUpdater, options?: CommitTweakStateOptions) => void;
25
25
  /**
26
26
  * `usePersist` hook.
@@ -1,6 +1,6 @@
1
- import type { PanelConfig } from '../config/panel-config';
2
- import { type TweakHistory } from './history';
3
- import { type TweakState } from './tweak-state';
1
+ import type { PanelConfig } from "../config/panel-config.js";
2
+ import { type TweakHistory } from "./history.js";
3
+ import { type TweakState } from "./tweak-state.js";
4
4
  export type TweakStateUpdater = TweakState | ((previous: TweakState) => TweakState);
5
5
  type SetState = (updater: (previous: TweakState | null) => TweakState | null) => void;
6
6
  export interface CommitTweakStateOptions {
@@ -39,19 +39,19 @@
39
39
  * Only the input `ColorScheme.shikiTheme` is optional (#342), so hosts may omit
40
40
  * it on their scheme maps.
41
41
  */
42
- import type { ColorRef, ColorScheme } from '../config/color-schemes';
43
- import type { TokenDef } from '../tokens/manifest';
44
- import { type ColorClusterDataConfig } from '../config/cluster-config';
45
- import type { SemanticValue } from '../tokens/tier-model';
46
- export type { SemanticValue } from '../tokens/tier-model';
47
- import { type ApplySink, type PanelConfig } from '../config/panel-config';
48
- export type { ApplySink } from '../config/panel-config';
49
- import type { TabConfig } from '../tokens/tier-model';
50
- import { type TabOverrides } from '../apply/tier-resolver';
51
- export type { BaseRoleKey, ColorClusterDataConfig } from '../config/cluster-config';
52
- export { resolvePaletteCssVar } from '../config/cluster-config';
42
+ import type { ColorRef, ColorScheme } from "../config/color-schemes.js";
43
+ import type { TokenDef } from "../tokens/manifest.js";
44
+ import { type ColorClusterDataConfig } from "../config/cluster-config.js";
45
+ import type { SemanticValue } from "../tokens/tier-model.js";
46
+ export type { SemanticValue } from "../tokens/tier-model.js";
47
+ import { type ApplySink, type PanelConfig } from "../config/panel-config.js";
48
+ export type { ApplySink } from "../config/panel-config.js";
49
+ import type { TabConfig } from "../tokens/tier-model.js";
50
+ import { type TabOverrides } from "../apply/tier-resolver.js";
51
+ export type { BaseRoleKey, ColorClusterDataConfig } from "../config/cluster-config.js";
52
+ export { resolvePaletteCssVar } from "../config/cluster-config.js";
53
53
  export type ColorClusterConfig = ColorClusterDataConfig;
54
- export type { TabOverrides } from '../apply/tier-resolver';
54
+ export type { TabOverrides } from "../apply/tier-resolver.js";
55
55
  /**
56
56
  * - `getStorageKeyV1()` is the original flat-state format (Color-only).
57
57
  * - `getStorageKeyV2()` is the new namespaced format (`{ color: ..., ... }`)
@@ -11,7 +11,7 @@
11
11
  *
12
12
  * This is an internal helper; not exported from the package index.
13
13
  */
14
- import type { TierItem } from '../tokens/tier-model';
14
+ import type { TierItem } from "../tokens/tier-model.js";
15
15
  export interface GenericItemEditorProps {
16
16
  item: TierItem;
17
17
  value: string;
@@ -34,12 +34,12 @@
34
34
  * `Primary — ` / `Secondary — ` so the two clusters are visually distinct
35
35
  * in the panel.
36
36
  */
37
- import { type ColorTweakState } from '../state/tweak-state';
38
- import type { TabOverrides } from '../apply/tier-resolver';
39
- import { type PanelConfig } from '../config/panel-config';
40
- import type { TabConfig } from '../tokens/tier-model';
41
- import type { PersistColor, PersistSecondary } from '../state/persist';
42
- import { type TokenAddress } from './flat/types';
37
+ import { type ColorTweakState } from "../state/tweak-state.js";
38
+ import type { TabOverrides } from "../apply/tier-resolver.js";
39
+ import { type PanelConfig } from "../config/panel-config.js";
40
+ import type { TabConfig } from "../tokens/tier-model.js";
41
+ import type { PersistColor, PersistSecondary } from "../state/persist.js";
42
+ import { type TokenAddress } from "./flat/types.js";
43
43
  interface ColorTabProps {
44
44
  /**
45
45
  * The color tab's TabConfig. Provides palette + semantic tiers and
@@ -1,9 +1,9 @@
1
1
  import type { ComponentChildren } from 'preact';
2
- import { type BulkPatchEntry } from '../../bulk';
3
- import type { TabOverrides } from '../../apply/tier-resolver';
4
- import type { TabConfig, TierConfig, TierItem } from '../../tokens/tier-model';
5
- import { type SharedRowRenderer } from './tier-section';
6
- import type { RowContribution, TokenAddress } from './types';
2
+ import { type BulkPatchEntry } from "../../bulk/index.js";
3
+ import type { TabOverrides } from "../../apply/tier-resolver.js";
4
+ import type { TabConfig, TierConfig, TierItem } from "../../tokens/tier-model.js";
5
+ import { type SharedRowRenderer } from "./tier-section.js";
6
+ import type { RowContribution, TokenAddress } from "./types.js";
7
7
  export interface FlatTabProps {
8
8
  tab: TabConfig;
9
9
  getValue: (address: TokenAddress, item: TierItem) => string;
@@ -1,8 +1,8 @@
1
- export { default as FlatTab } from './flat-tab';
2
- export { default as TierSection } from './tier-section';
3
- export { default as TokenRow } from './token-row';
4
- export { useTokenController, TokenControllerProvider } from './token-controller';
5
- export { scrollToTokenRow, TOKEN_ROW_FLASH_CLASS } from './scroll-to-token-row';
6
- export { tokenAddressKey } from './types';
7
- export type { FlatTabEntry, RowContribution, TokenAddress } from './types';
8
- export type { TokenController } from './token-controller';
1
+ export { default as FlatTab } from "./flat-tab.js";
2
+ export { default as TierSection } from "./tier-section.js";
3
+ export { default as TokenRow } from "./token-row.js";
4
+ export { useTokenController, TokenControllerProvider } from "./token-controller.js";
5
+ export { scrollToTokenRow, TOKEN_ROW_FLASH_CLASS } from "./scroll-to-token-row.js";
6
+ export { tokenAddressKey } from "./types.js";
7
+ export type { FlatTabEntry, RowContribution, TokenAddress } from "./types.js";
8
+ export type { TokenController } from "./token-controller.js";
@@ -1,3 +1,3 @@
1
- import type { TokenAddress } from './types';
1
+ import type { TokenAddress } from "./types.js";
2
2
  export declare const TOKEN_ROW_FLASH_CLASS = "tokenpanel-row--flash";
3
3
  export declare function scrollToTokenRow(root: ParentNode, address: TokenAddress): HTMLElement | null;
@@ -1,7 +1,7 @@
1
1
  import type { ComponentChildren } from 'preact';
2
- import type { TabOverrides } from '../../apply/tier-resolver';
3
- import type { TierConfig, TierItem } from '../../tokens/tier-model';
4
- import type { FlatTabEntry, RowContribution, TokenAddress } from './types';
2
+ import type { TabOverrides } from "../../apply/tier-resolver.js";
3
+ import type { TierConfig, TierItem } from "../../tokens/tier-model.js";
4
+ import type { FlatTabEntry, RowContribution, TokenAddress } from "./types.js";
5
5
  export type SharedRowRenderer = (item: TierItem) => ComponentChildren;
6
6
  export interface TierSectionProps {
7
7
  tier: TierConfig;
@@ -1,5 +1,5 @@
1
1
  import type { ComponentChildren } from 'preact';
2
- import type { FlatTabEntry, TokenAddress } from './types';
2
+ import type { FlatTabEntry, TokenAddress } from "./types.js";
3
3
  export interface TokenController {
4
4
  value: string;
5
5
  setValue: (next: string) => void;
@@ -1,5 +1,5 @@
1
- import type { TabOverrides } from '../../apply/tier-resolver';
2
- import type { FlatTabEntry, RowContribution, TokenAddress } from './types';
1
+ import type { TabOverrides } from "../../apply/tier-resolver.js";
2
+ import type { FlatTabEntry, RowContribution, TokenAddress } from "./types.js";
3
3
  export interface TokenRowProps {
4
4
  entry: FlatTabEntry;
5
5
  overrides: TabOverrides;
@@ -1,5 +1,5 @@
1
1
  import type { ComponentChildren } from 'preact';
2
- import type { TabConfig, TierConfig, TierItem, TierValueKind } from '../../tokens/tier-model';
2
+ import type { TabConfig, TierConfig, TierItem, TierValueKind } from "../../tokens/tier-model.js";
3
3
  export interface TokenAddress {
4
4
  tabId: string;
5
5
  tierId: string;
@@ -1,9 +1,9 @@
1
- import type { PanelConfig } from '../config/panel-config';
2
- import type { TabConfig } from '../tokens/tier-model';
3
- import type { TokenOverrides } from '../state/tweak-state';
4
- import type { PersistFont } from '../state/persist';
5
- import type { RowContribution } from './flat/types';
6
- import type { BulkPatchEntry } from '../bulk';
1
+ import type { PanelConfig } from "../config/panel-config.js";
2
+ import type { TabConfig } from "../tokens/tier-model.js";
3
+ import type { TokenOverrides } from "../state/tweak-state.js";
4
+ import type { PersistFont } from "../state/persist.js";
5
+ import type { RowContribution } from "./flat/types.js";
6
+ import type { BulkPatchEntry } from "../bulk/index.js";
7
7
  interface FontTabProps {
8
8
  tab: TabConfig;
9
9
  state: TokenOverrides;
@@ -1,7 +1,7 @@
1
- import type { TabOverrides } from '../apply/tier-resolver';
2
- import type { TabConfig } from '../tokens/tier-model';
3
- import type { RowContribution } from './flat/types';
4
- import type { BulkPatchEntry } from '../bulk';
1
+ import type { TabOverrides } from "../apply/tier-resolver.js";
2
+ import type { TabConfig } from "../tokens/tier-model.js";
3
+ import type { RowContribution } from "./flat/types.js";
4
+ import type { BulkPatchEntry } from "../bulk/index.js";
5
5
  export interface GenericTabProps {
6
6
  tab: TabConfig;
7
7
  overrides: TabOverrides;
@@ -1,4 +1,4 @@
1
- import type { TabConfig } from '../tokens/tier-model';
1
+ import type { TabConfig } from "../tokens/tier-model.js";
2
2
  interface NotesTabProps {
3
3
  tab: TabConfig;
4
4
  }
@@ -1,6 +1,6 @@
1
- import type { TabConfig } from '../../tokens/tier-model';
2
- import type { TabOverrides } from '../../apply/tier-resolver';
3
- import type { TokenAddress } from '../flat/types';
1
+ import type { TabConfig } from "../../tokens/tier-model.js";
2
+ import type { TabOverrides } from "../../apply/tier-resolver.js";
3
+ import type { TokenAddress } from "../flat/types.js";
4
4
  export interface PaletteCheckViewProps {
5
5
  tab: TabConfig;
6
6
  overrides: TabOverrides;
@@ -34,9 +34,9 @@
34
34
  * and the readout — the stored token keeps the exact authored color so a later
35
35
  * wide-gamut display (or a different clamp strategy) loses nothing.
36
36
  */
37
- import type { TabConfig } from '../../tokens/tier-model';
38
- import type { TabOverrides } from '../../apply/tier-resolver';
39
- import type { TokenAddress } from '../flat/types';
37
+ import type { TabConfig } from "../../tokens/tier-model.js";
38
+ import type { TabOverrides } from "../../apply/tier-resolver.js";
39
+ import type { TokenAddress } from "../flat/types.js";
40
40
  export interface PaletteEditViewProps {
41
41
  tab: TabConfig;
42
42
  overrides: TabOverrides;
@@ -10,7 +10,7 @@
10
10
  * DOM-hygiene: no banned semantic tags. Token/value rows are plain <div>s; the
11
11
  * monospace styling is carried by the companion CSS class, not a <code>/<pre>.
12
12
  */
13
- import type { Oklcha } from '../../utils/color-oklch';
13
+ import type { Oklcha } from "../../utils/color-oklch.js";
14
14
  export interface PaletteReadoutProps {
15
15
  /** The selected step's raw OKLCH value (never gamut-clamped). */
16
16
  oklcha: Oklcha;
@@ -13,9 +13,9 @@
13
13
  * - flattenPaletteTiers(tab): returns all items across all tiers as flat array
14
14
  * - groupPaletteTiers(tab): returns tiers in declaration order (alias for tab.tiers)
15
15
  */
16
- import type { TabConfig, TierConfig, TierItem } from '../../tokens/tier-model';
17
- import type { TabOverrides } from '../../apply/tier-resolver';
18
- import type { TokenAddress } from '../flat/types';
16
+ import type { TabConfig, TierConfig, TierItem } from "../../tokens/tier-model.js";
17
+ import type { TabOverrides } from "../../apply/tier-resolver.js";
18
+ import type { TokenAddress } from "../flat/types.js";
19
19
  /** Returns tiers in declaration order — the canonical group ordering. */
20
20
  export declare function groupPaletteTiers(tab: TabConfig): readonly TierConfig[];
21
21
  /** Returns all items across all tiers flattened into a single array. */
@@ -1,8 +1,8 @@
1
- import type { TabConfig } from '../tokens/tier-model';
2
- import type { TokenOverrides } from '../state/tweak-state';
3
- import type { PersistSize } from '../state/persist';
4
- import type { RowContribution } from './flat/types';
5
- import type { BulkPatchEntry } from '../bulk';
1
+ import type { TabConfig } from "../tokens/tier-model.js";
2
+ import type { TokenOverrides } from "../state/tweak-state.js";
3
+ import type { PersistSize } from "../state/persist.js";
4
+ import type { RowContribution } from "./flat/types.js";
5
+ import type { BulkPatchEntry } from "../bulk/index.js";
6
6
  interface SizeTabProps {
7
7
  tab: TabConfig;
8
8
  state: TokenOverrides;
@@ -1,8 +1,8 @@
1
- import type { TabConfig } from '../tokens/tier-model';
2
- import type { TokenOverrides } from '../state/tweak-state';
3
- import type { PersistSpacing } from '../state/persist';
4
- import type { RowContribution } from './flat/types';
5
- import type { BulkPatchEntry } from '../bulk';
1
+ import type { TabConfig } from "../tokens/tier-model.js";
2
+ import type { TokenOverrides } from "../state/tweak-state.js";
3
+ import type { PersistSpacing } from "../state/persist.js";
4
+ import type { RowContribution } from "./flat/types.js";
5
+ import type { BulkPatchEntry } from "../bulk/index.js";
6
6
  interface SpacingTabProps {
7
7
  tab: TabConfig;
8
8
  state: TokenOverrides;
package/dist/testing.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * /testing sub-export — test-utility symbols for storage-key continuity tests
2
+ * /testing sub-export — config validation, storage-key continuity tests
3
3
  * and Playwright panel-interaction helpers.
4
4
  *
5
5
  * Re-exports symbols that consumers need to write storage-key continuity and
@@ -13,11 +13,11 @@
13
13
  * import { configurePanel, storageKey_open, ... } from '@takazudo/zdtp/testing';
14
14
  * import { setPanelInputValue } from '@takazudo/zdtp/testing';
15
15
  */
16
- export { configurePanel, storageKey_open, storageKey_position, storageKey_stateV1, storageKey_stateV2, storageKey_visible, __resetPanelConfigForTests, } from './config/panel-config';
17
- export type { PanelConfig } from './config/panel-config';
18
- export { getStorageKeyV1, getStorageKeyV2, loadPersistedState } from './state/tweak-state';
19
- export type { ColorTweakState, StorageLike } from './state/tweak-state';
20
- export { GROUP_ORDER, FONT_GROUP_ORDER, SIZE_GROUP_ORDER, GROUP_TITLES } from './tokens/manifest';
16
+ export { assertValidPanelConfig, configurePanel, storageKey_open, storageKey_position, storageKey_stateV1, storageKey_stateV2, storageKey_visible, __resetPanelConfigForTests, } from "./config/panel-config.js";
17
+ export type { PanelConfig } from "./config/panel-config.js";
18
+ export { getStorageKeyV1, getStorageKeyV2, loadPersistedState } from "./state/tweak-state.js";
19
+ export type { ColorTweakState, StorageLike } from "./state/tweak-state.js";
20
+ export { GROUP_ORDER, FONT_GROUP_ORDER, SIZE_GROUP_ORDER, GROUP_TITLES } from "./tokens/manifest.js";
21
21
  /**
22
22
  * Minimal duck-type for a Playwright `Locator` — only the methods this helper calls.
23
23
  * Using an interface avoids a hard import of `@playwright/test` so the `./testing`
package/dist/testing.js CHANGED
@@ -1,23 +1,24 @@
1
- import { _ as r, c as _, d as i, e as n, f as g, h as R, a as p } from "./panel-config-CqbuB0nh.js";
2
- import { a as l, b as y, l as O } from "./tweak-state-c53KtLHq.js";
3
- import { F as K, G as E, a as S, S as u } from "./manifest-DvuKi7I4.js";
4
- async function s(e, a) {
5
- await e.fill(a), await e.dispatchEvent("input");
1
+ import { _ as r, b as i, c as n, d as _, e as g, f as l, h as R, a as f } from "./panel-config-Crn5QJGy.js";
2
+ import { a as P, b as y, l as O } from "./tweak-state-Dzr5kDhX.js";
3
+ import { F as E, G as S, a as V, S as d } from "./manifest-DvuKi7I4.js";
4
+ async function s(a, e) {
5
+ await a.fill(e), await a.dispatchEvent("input");
6
6
  }
7
7
  export {
8
- K as FONT_GROUP_ORDER,
9
- E as GROUP_ORDER,
10
- S as GROUP_TITLES,
11
- u as SIZE_GROUP_ORDER,
8
+ E as FONT_GROUP_ORDER,
9
+ S as GROUP_ORDER,
10
+ V as GROUP_TITLES,
11
+ d as SIZE_GROUP_ORDER,
12
12
  r as __resetPanelConfigForTests,
13
- _ as configurePanel,
14
- l as getStorageKeyV1,
13
+ i as assertValidPanelConfig,
14
+ n as configurePanel,
15
+ P as getStorageKeyV1,
15
16
  y as getStorageKeyV2,
16
17
  O as loadPersistedState,
17
18
  s as setPanelInputValue,
18
- i as storageKey_open,
19
- n as storageKey_position,
20
- g as storageKey_stateV1,
19
+ _ as storageKey_open,
20
+ g as storageKey_position,
21
+ l as storageKey_stateV1,
21
22
  R as storageKey_stateV2,
22
- p as storageKey_visible
23
+ f as storageKey_visible
23
24
  };
@@ -1,5 +1,5 @@
1
- import type { BaseRoleKey, ClusterPanelSettings } from '../config/cluster-config';
2
- import type { ColorScheme } from '../config/color-schemes';
1
+ import type { BaseRoleKey, ClusterPanelSettings } from "../config/cluster-config.js";
2
+ import type { ColorScheme } from "../config/color-schemes.js";
3
3
  export type TierValueKind = {
4
4
  kind: 'length';
5
5
  step: number;