@takazudo/zdtp 0.4.2 → 0.4.4

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 (173) hide show
  1. package/CHANGELOG.md +78 -0
  2. package/README.md +20 -15
  3. package/dist/apply/apply-token-overrides.d.ts +0 -1
  4. package/dist/apply/build-apply-overrides.d.ts +20 -5
  5. package/dist/apply/route-tokens-to-files.d.ts +0 -1
  6. package/dist/apply/tier-resolver.d.ts +28 -1
  7. package/dist/apply-modal.d.ts +0 -1
  8. package/dist/astro/DesignTokenPanelHost.astro +2 -4
  9. package/dist/astro/host-adapter.d.ts +0 -1
  10. package/dist/astro/host-adapter.js +16 -16
  11. package/dist/astro/index.d.ts +0 -1
  12. package/dist/astro/index.js +1 -1
  13. package/dist/{autoload-state-DsvvPDih.js → autoload-state-CmhI7q9j.js} +1 -1
  14. package/dist/bin/cors.d.ts +0 -1
  15. package/dist/bin/parse-args.d.ts +0 -1
  16. package/dist/bin/server.d.ts +0 -1
  17. package/dist/bin/server.js +1 -1
  18. package/dist/components/color-picker/color-field.d.ts +0 -1
  19. package/dist/components/color-picker/color-picker.d.ts +12 -3
  20. package/dist/components/color-picker/custom-slider.d.ts +0 -1
  21. package/dist/components/color-picker/index.d.ts +0 -1
  22. package/dist/components/palette-chart/index.d.ts +0 -1
  23. package/dist/components/palette-chart/palette-chart.d.ts +0 -1
  24. package/dist/config/cluster-config.d.ts +36 -14
  25. package/dist/config/color-scheme-utils.d.ts +0 -1
  26. package/dist/config/color-schemes.d.ts +0 -1
  27. package/dist/config/panel-config.d.ts +11 -1
  28. package/dist/controls/dismiss-layer.d.ts +55 -0
  29. package/dist/controls/pill-slider-row.d.ts +0 -1
  30. package/dist/controls/role-button.d.ts +0 -1
  31. package/dist/controls/sanitize-css-value.d.ts +0 -1
  32. package/dist/controls/select-row.d.ts +0 -1
  33. package/dist/controls/slider-row.d.ts +0 -1
  34. package/dist/controls/text-row.d.ts +0 -1
  35. package/dist/controls/tier-ref-selector.d.ts +65 -22
  36. package/dist/controls/token-label.d.ts +0 -1
  37. package/dist/controls/tooltip.d.ts +0 -1
  38. package/dist/controls/use-dialog-backdrop-close.d.ts +32 -0
  39. package/dist/element-path/build-element-path.d.ts +0 -1
  40. package/dist/element-path/element-path-context.d.ts +0 -1
  41. package/dist/element-path/element-path-orchestrator.d.ts +0 -1
  42. package/dist/element-path/element-path-state.d.ts +0 -1
  43. package/dist/element-path/element-path-toast.d.ts +0 -1
  44. package/dist/element-path/element-path-toggle-button.d.ts +0 -1
  45. package/dist/element-path/index.d.ts +0 -1
  46. package/dist/element-path/inspector-overlay.d.ts +0 -1
  47. package/dist/export-modal.d.ts +0 -1
  48. package/dist/highlight/find-elements.d.ts +0 -1
  49. package/dist/highlight/highlight-orchestrator.d.ts +0 -1
  50. package/dist/highlight/highlight-overlay.d.ts +0 -1
  51. package/dist/highlight/highlight-settings-popover.d.ts +0 -1
  52. package/dist/highlight/highlight-state.d.ts +0 -1
  53. package/dist/highlight/highlight-toggle-button.d.ts +0 -1
  54. package/dist/import-modal.d.ts +0 -1
  55. package/dist/index.d.ts +1 -1
  56. package/dist/index.js +3432 -2717
  57. package/dist/{load-routing-XyKgftpe.js → load-routing-DtNTKoLW.js} +1 -1
  58. package/dist/panel-config-CXTCcYQs.js +824 -0
  59. package/dist/panel.d.ts +0 -1
  60. package/dist/server/create-apply-handler.d.ts +0 -1
  61. package/dist/server/index.d.ts +0 -1
  62. package/dist/server/index.js +1 -1
  63. package/dist/server/load-routing.d.ts +0 -1
  64. package/dist/server/path-safety.d.ts +0 -1
  65. package/dist/server/serialize-write.d.ts +0 -1
  66. package/dist/state/autoload-state.d.ts +0 -1
  67. package/dist/state/persist.d.ts +7 -3
  68. package/dist/state/tweak-state.d.ts +146 -10
  69. package/dist/styles/z-index-tokens.d.ts +35 -0
  70. package/dist/tabs/_generic-item-editor.d.ts +0 -1
  71. package/dist/tabs/color-tab.d.ts +13 -2
  72. package/dist/tabs/font-tab.d.ts +0 -1
  73. package/dist/tabs/generic-tab.d.ts +4 -3
  74. package/dist/tabs/palette/palette-check-view.d.ts +0 -1
  75. package/dist/tabs/palette/palette-edit-view.d.ts +0 -1
  76. package/dist/tabs/palette/palette-readout.d.ts +0 -1
  77. package/dist/tabs/palette/palette-tab.d.ts +0 -1
  78. package/dist/tabs/size-tab.d.ts +0 -1
  79. package/dist/tabs/spacing-tab.d.ts +0 -1
  80. package/dist/testing.d.ts +0 -1
  81. package/dist/testing.js +2 -2
  82. package/dist/tokens/manifest.d.ts +0 -1
  83. package/dist/tokens/tier-model.d.ts +50 -1
  84. package/dist/{tweak-state-DzZVbY25.js → tweak-state-BeXkzoj8.js} +662 -583
  85. package/dist/utils/color-convert.d.ts +0 -1
  86. package/dist/utils/color-hsla.d.ts +0 -1
  87. package/dist/utils/color-oklch.d.ts +0 -1
  88. package/dist/utils/copy-to-clipboard.d.ts +0 -1
  89. package/dist/utils/design-token-serde.d.ts +78 -11
  90. package/dist/utils/palette-curve.d.ts +0 -1
  91. package/dist/utils/structural-equal.d.ts +0 -1
  92. package/dist/utils/use-portal-mount.d.ts +0 -1
  93. package/dist/utils/wcag-contrast.d.ts +0 -1
  94. package/dist/zdtp.css +1 -1
  95. package/package.json +24 -11
  96. package/dist/apply/apply-token-overrides.d.ts.map +0 -1
  97. package/dist/apply/build-apply-overrides.d.ts.map +0 -1
  98. package/dist/apply/route-tokens-to-files.d.ts.map +0 -1
  99. package/dist/apply/tier-resolver.d.ts.map +0 -1
  100. package/dist/apply-modal.d.ts.map +0 -1
  101. package/dist/astro/host-adapter.d.ts.map +0 -1
  102. package/dist/astro/index.d.ts.map +0 -1
  103. package/dist/bin/cors.d.ts.map +0 -1
  104. package/dist/bin/parse-args.d.ts.map +0 -1
  105. package/dist/bin/server.d.ts.map +0 -1
  106. package/dist/components/color-picker/color-field.d.ts.map +0 -1
  107. package/dist/components/color-picker/color-picker.d.ts.map +0 -1
  108. package/dist/components/color-picker/custom-slider.d.ts.map +0 -1
  109. package/dist/components/color-picker/index.d.ts.map +0 -1
  110. package/dist/components/palette-chart/index.d.ts.map +0 -1
  111. package/dist/components/palette-chart/palette-chart.d.ts.map +0 -1
  112. package/dist/config/cluster-config.d.ts.map +0 -1
  113. package/dist/config/color-scheme-utils.d.ts.map +0 -1
  114. package/dist/config/color-schemes.d.ts.map +0 -1
  115. package/dist/config/panel-config.d.ts.map +0 -1
  116. package/dist/controls/pill-slider-row.d.ts.map +0 -1
  117. package/dist/controls/role-button.d.ts.map +0 -1
  118. package/dist/controls/sanitize-css-value.d.ts.map +0 -1
  119. package/dist/controls/select-row.d.ts.map +0 -1
  120. package/dist/controls/slider-row.d.ts.map +0 -1
  121. package/dist/controls/text-row.d.ts.map +0 -1
  122. package/dist/controls/tier-ref-selector.d.ts.map +0 -1
  123. package/dist/controls/token-label.d.ts.map +0 -1
  124. package/dist/controls/tooltip.d.ts.map +0 -1
  125. package/dist/element-path/build-element-path.d.ts.map +0 -1
  126. package/dist/element-path/element-path-context.d.ts.map +0 -1
  127. package/dist/element-path/element-path-orchestrator.d.ts.map +0 -1
  128. package/dist/element-path/element-path-state.d.ts.map +0 -1
  129. package/dist/element-path/element-path-toast.d.ts.map +0 -1
  130. package/dist/element-path/element-path-toggle-button.d.ts.map +0 -1
  131. package/dist/element-path/index.d.ts.map +0 -1
  132. package/dist/element-path/inspector-overlay.d.ts.map +0 -1
  133. package/dist/export-modal.d.ts.map +0 -1
  134. package/dist/highlight/find-elements.d.ts.map +0 -1
  135. package/dist/highlight/highlight-orchestrator.d.ts.map +0 -1
  136. package/dist/highlight/highlight-overlay.d.ts.map +0 -1
  137. package/dist/highlight/highlight-settings-popover.d.ts.map +0 -1
  138. package/dist/highlight/highlight-state.d.ts.map +0 -1
  139. package/dist/highlight/highlight-toggle-button.d.ts.map +0 -1
  140. package/dist/import-modal.d.ts.map +0 -1
  141. package/dist/index.d.ts.map +0 -1
  142. package/dist/panel-config-DyVRQ2n1.js +0 -415
  143. package/dist/panel.d.ts.map +0 -1
  144. package/dist/server/create-apply-handler.d.ts.map +0 -1
  145. package/dist/server/index.d.ts.map +0 -1
  146. package/dist/server/load-routing.d.ts.map +0 -1
  147. package/dist/server/path-safety.d.ts.map +0 -1
  148. package/dist/server/serialize-write.d.ts.map +0 -1
  149. package/dist/state/autoload-state.d.ts.map +0 -1
  150. package/dist/state/persist.d.ts.map +0 -1
  151. package/dist/state/tweak-state.d.ts.map +0 -1
  152. package/dist/tabs/_generic-item-editor.d.ts.map +0 -1
  153. package/dist/tabs/color-tab.d.ts.map +0 -1
  154. package/dist/tabs/font-tab.d.ts.map +0 -1
  155. package/dist/tabs/generic-tab.d.ts.map +0 -1
  156. package/dist/tabs/palette/palette-check-view.d.ts.map +0 -1
  157. package/dist/tabs/palette/palette-edit-view.d.ts.map +0 -1
  158. package/dist/tabs/palette/palette-readout.d.ts.map +0 -1
  159. package/dist/tabs/palette/palette-tab.d.ts.map +0 -1
  160. package/dist/tabs/size-tab.d.ts.map +0 -1
  161. package/dist/tabs/spacing-tab.d.ts.map +0 -1
  162. package/dist/testing.d.ts.map +0 -1
  163. package/dist/tokens/manifest.d.ts.map +0 -1
  164. package/dist/tokens/tier-model.d.ts.map +0 -1
  165. package/dist/utils/color-convert.d.ts.map +0 -1
  166. package/dist/utils/color-hsla.d.ts.map +0 -1
  167. package/dist/utils/color-oklch.d.ts.map +0 -1
  168. package/dist/utils/copy-to-clipboard.d.ts.map +0 -1
  169. package/dist/utils/design-token-serde.d.ts.map +0 -1
  170. package/dist/utils/palette-curve.d.ts.map +0 -1
  171. package/dist/utils/structural-equal.d.ts.map +0 -1
  172. package/dist/utils/use-portal-mount.d.ts.map +0 -1
  173. package/dist/utils/wcag-contrast.d.ts.map +0 -1
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Dismiss-layer stack — shared Escape arbitration for the panel's layered
3
+ * popovers (#446).
4
+ *
5
+ * Problem it solves
6
+ * -----------------
7
+ * The panel stacks several dismissable surfaces on top of each other:
8
+ * a ColorPicker popover, the HighlightSettingsPopover (which can itself host a
9
+ * nested ColorPicker), and the PaletteSelector listbox — plus the panel shell
10
+ * underneath. Each surface used to register its OWN `document` keydown listener
11
+ * that closed it on Escape. Because they were all bound to `document`, a single
12
+ * Escape fired EVERY listener at once: the popover closed AND the panel torn
13
+ * down, and with a nested picker all three layers collapsed on one keypress.
14
+ *
15
+ * The fix is a single, shared arbiter. Every dismissable JS-managed popover
16
+ * registers a layer here instead of adding its own key listener. One
17
+ * capture-phase `keydown` listener on `document` routes Escape to exactly ONE
18
+ * layer — the topmost — and marks the event handled via `preventDefault()`.
19
+ * Base surfaces that keep their own listener (the panel shell) bail when they
20
+ * see `event.defaultPrevented`, so one Escape never closes two layers.
21
+ *
22
+ * Native `<dialog>` modals (Export / Import / Apply) are intentionally NOT
23
+ * layers here: the browser already gives them their own top-layer Escape
24
+ * handling. The panel guards against those separately via its modal-open flags.
25
+ *
26
+ * Topmost selection
27
+ * -----------------
28
+ * "Topmost" is resolved by DOM depth, not registration order: the layer whose
29
+ * element is the deepest descendant wins (a nested popover's container is a DOM
30
+ * descendant of its host popover's container). This is robust regardless of the
31
+ * order in which effects register the layers (child effects run before parent
32
+ * effects in Preact), which matters for the ColorPicker-inside-
33
+ * HighlightSettingsPopover case. When elements are unrelated or unavailable it
34
+ * falls back to the most-recently-registered layer.
35
+ */
36
+ export interface DismissLayerOptions {
37
+ /**
38
+ * Invoked when this layer is the topmost and Escape is pressed. Should close
39
+ * the layer (and may restore focus to its trigger).
40
+ */
41
+ onEscape: () => void;
42
+ /**
43
+ * Returns the layer's root element, used to resolve DOM depth when several
44
+ * layers are open at once. May return null before the element mounts.
45
+ */
46
+ getElement: () => HTMLElement | null;
47
+ }
48
+ /**
49
+ * Register a dismiss layer. Returns an unregister function to call on unmount.
50
+ */
51
+ export declare function pushDismissLayer(options: DismissLayerOptions): () => void;
52
+ /** Number of currently-registered layers (test/introspection helper). */
53
+ export declare function dismissLayerCount(): number;
54
+ /** Clear all registered layers. Test-only reset between cases. */
55
+ export declare function __resetDismissLayersForTests(): void;
@@ -34,4 +34,3 @@ export interface PillSliderRowProps {
34
34
  declare function PillSliderRow({ token, value, onChange }: PillSliderRowProps): import("preact").JSX.Element;
35
35
  declare const _default: typeof PillSliderRow;
36
36
  export default _default;
37
- //# sourceMappingURL=pill-slider-row.d.ts.map
@@ -15,4 +15,3 @@ export interface RoleButtonProps {
15
15
  'aria-label'?: string;
16
16
  }
17
17
  export declare function RoleButton({ children, onClick, className, 'aria-disabled': ariaDisabled, ariaProps, tabIndex, id, title, 'aria-label': ariaLabel, }: RoleButtonProps): JSX.Element;
18
- //# sourceMappingURL=role-button.d.ts.map
@@ -19,4 +19,3 @@
19
19
  * guards the **exported** CSS snippet and keeps stored state tidy.
20
20
  */
21
21
  export declare function sanitizeCssValue(input: string): string;
22
- //# sourceMappingURL=sanitize-css-value.d.ts.map
@@ -23,4 +23,3 @@ export interface SelectRowProps {
23
23
  declare function SelectRow({ token, value, onChange }: SelectRowProps): import("preact").JSX.Element;
24
24
  declare const _default: typeof SelectRow;
25
25
  export default _default;
26
- //# sourceMappingURL=select-row.d.ts.map
@@ -27,4 +27,3 @@ export interface SliderRowProps {
27
27
  declare function SliderRow({ token, value, onChange }: SliderRowProps): import("preact").JSX.Element;
28
28
  declare const _default: typeof SliderRow;
29
29
  export default _default;
30
- //# sourceMappingURL=slider-row.d.ts.map
@@ -25,4 +25,3 @@ export interface TextRowProps {
25
25
  declare function TextRow({ token, value, onChange }: TextRowProps): import("preact").JSX.Element;
26
26
  declare const _default: typeof TextRow;
27
27
  export default _default;
28
- //# sourceMappingURL=text-row.d.ts.map
@@ -1,39 +1,82 @@
1
1
  import type { TabConfig } from '../tokens/tier-model';
2
2
  /**
3
- * Sentinel string passed to `onChange` when the user picks "Literal...".
4
- * The parent component interprets this as a request to flip the item back
5
- * into its kind-specific editor (slider / text / select) writing a literal
6
- * CSS override.
3
+ * Names one item in a (possibly cross-tab) tier. `tab` omitted means "the tab
4
+ * `TierRefSelector` itself renders in" — the intra-tab case used by the
5
+ * font/spacing/size/generic-tab consumers, whose refs never cross tabs.
7
6
  */
8
- export declare const TIER_REF_LITERAL_SIGNAL: "__literal__";
7
+ export interface TierRefTarget {
8
+ tab?: string;
9
+ tier: string;
10
+ item: string;
11
+ }
12
+ /**
13
+ * The value `TierRefSelector` reads and writes. Mirrors the `{ ref } | {
14
+ * literal }` variants of `SemanticValue` (`tokens/tier-model.ts`) — including
15
+ * the per-mode `{ literal: { light, dark } }` shape (#472/#473) — so the
16
+ * Color tab can pass a semantic mapping straight through. Flat/intra-tab
17
+ * consumers (font/spacing/size/generic-tab) wrap their bare `TokenOverrides`
18
+ * string into `{ ref: { tier, item } }` at the call site, and unwrap a
19
+ * `{ literal }` response back into "drop the override" — see those tabs'
20
+ * `onChange` handlers. Those flat consumers never produce a per-mode literal.
21
+ */
22
+ export type TierRefSelectorValue = {
23
+ ref: TierRefTarget;
24
+ } | {
25
+ literal: string;
26
+ } | {
27
+ literal: {
28
+ light: string;
29
+ dark: string;
30
+ };
31
+ };
9
32
  export interface TierRefSelectorProps {
10
- /** Full tab config — needed to look up the referenced tier and its items. */
33
+ /** The tab this row belongs to — provides the semantic/reference tier
34
+ * config and doubles as the default "current tab" for intra-tab refs. */
11
35
  tab: TabConfig;
12
- /** The tier whose item is being edited (the "semantic" / reference tier). */
36
+ /**
37
+ * Full panel tabs array, needed to resolve a grouped tier's cross-tab ramp
38
+ * sources. Defaults to `[tab]` — fine for intra-tab (flat) callers, which
39
+ * never reference another tab.
40
+ */
41
+ tabs?: readonly TabConfig[];
42
+ /** The tier whose item is being edited (the semantic / reference tier). */
13
43
  tierId: string;
14
44
  /** The item being edited within `tierId`. */
15
45
  itemId: string;
46
+ /** Current value — a ramp/ref target, or a literal color/CSS string. */
47
+ value: TierRefSelectorValue;
16
48
  /**
17
- * The current stored value for this item — an item id within the
18
- * referenced (tier-1) tier. Empty string or an unrecognised id is treated
19
- * as "pick the first item" (mirrors resolver fallback).
49
+ * Called when the user commits a selection or edits the literal value.
50
+ *
51
+ * - Picking a ramp/ref option: `onChange(itemId, { ref: {...} })`
52
+ * - Picking "Literal…" or editing the literal swatch (grouped mode only):
53
+ * `onChange(itemId, { literal: <value> })`
20
54
  */
21
- value: string;
55
+ onChange: (itemId: string, next: TierRefSelectorValue) => void;
22
56
  /**
23
- * Called when the user commits a selection.
24
- *
25
- * - Picking a tier-1 item: `onChange(itemId, selectedRefItemId)`
26
- * - Picking "Literal...": `onChange(itemId, TIER_REF_LITERAL_SIGNAL)`
57
+ * Returns the resolved (override-aware) preview string for a ramp/ref
58
+ * target. Each option label is formatted as `${item.cssVar} (${truncated
59
+ * preview})`. Falls back to the target item's manifest `default` when
60
+ * omitted.
61
+ */
62
+ previewValueFor?: (ref: TierRefTarget) => string;
63
+ /**
64
+ * Friendly label used for the literal-mode `ColorField` editor (grouped
65
+ * mode only) and the select's `aria-label`. Defaults to `itemId`.
66
+ */
67
+ label?: string;
68
+ /**
69
+ * The row's own cssVar — threaded into the literal-mode `ColorField`
70
+ * editor for its `aria-label`, matching `SemanticLiteralRow`'s convention.
27
71
  */
28
- onChange: (itemId: string, next: string) => void;
72
+ cssVar?: string;
29
73
  /**
30
- * Returns the resolved (override-aware) preview string for a tier-1 item id.
31
- * Each option label is formatted as `${item.cssVar} (${truncated preview})`.
32
- * Pass a wrapper around resolveTierItemValue using the current tweak-state map.
74
+ * The cluster's `getClusterDefaultMode()` result (#472) — used only when
75
+ * the user collapses a per-mode literal back to single-mode, to pick which
76
+ * side (`light` or `dark`) survives. Defaults to `'light'`.
33
77
  */
34
- previewValueFor: (refItemId: string) => string;
78
+ defaultMode?: 'light' | 'dark';
35
79
  }
36
- declare function TierRefSelector({ tab, tierId, itemId, value, onChange, previewValueFor }: TierRefSelectorProps): import("preact").JSX.Element;
80
+ declare function TierRefSelector({ tab, tabs, tierId, itemId, value, onChange, previewValueFor, label, cssVar, defaultMode, }: TierRefSelectorProps): import("preact").JSX.Element;
37
81
  declare const _default: typeof TierRefSelector;
38
82
  export default _default;
39
- //# sourceMappingURL=tier-ref-selector.d.ts.map
@@ -14,4 +14,3 @@ export interface TokenLabelProps {
14
14
  declare function TokenLabelInner({ cssVar, label, className }: TokenLabelProps): import("preact").JSX.Element;
15
15
  export declare const TokenLabel: typeof TokenLabelInner;
16
16
  export default TokenLabel;
17
- //# sourceMappingURL=token-label.d.ts.map
@@ -41,4 +41,3 @@ export declare function useTooltip(text: string): {
41
41
  onFocusOut: JSX.FocusEventHandler<HTMLElement>;
42
42
  };
43
43
  export {};
44
- //# sourceMappingURL=tooltip.d.ts.map
@@ -0,0 +1,32 @@
1
+ /**
2
+ * useDialogBackdropClose — gesture-aware backdrop dismissal for native
3
+ * `<dialog>` modals (#446, finding F14).
4
+ *
5
+ * The naive backdrop check tests only the *click* coordinates against the
6
+ * dialog rect: `if (clientX < rect.left || ...) dialog.close()`. That misfires
7
+ * on a text-selection drag — when the user presses inside a selectable region
8
+ * (the export JSON block, the import textarea, the apply preview) and releases
9
+ * on the backdrop, Chrome synthesizes the `click` on the common ancestor (the
10
+ * `<dialog>` itself) using the mouseup coordinates, which land outside the rect.
11
+ * The modal then closes and the user's unsaved input (e.g. pasted JSON) is lost.
12
+ *
13
+ * The fix tracks where the gesture STARTED. A backdrop dismissal fires only when
14
+ * BOTH the mousedown and the click landed outside the dialog's content rect, so
15
+ * a drag that began inside the dialog never dismisses it.
16
+ *
17
+ * This is a hook so the mousedown-origin ref is per-modal-instance; the returned
18
+ * handlers are spread onto the `<dialog>` element.
19
+ */
20
+ import type { JSX } from 'preact';
21
+ export interface DialogBackdropHandlers {
22
+ onMouseDown: (e: JSX.TargetedMouseEvent<HTMLDialogElement>) => void;
23
+ onClick: (e: JSX.TargetedMouseEvent<HTMLDialogElement>) => void;
24
+ }
25
+ /**
26
+ * @param dialogRef ref to the `<dialog>` element.
27
+ * @param onBackdrop invoked for a genuine backdrop dismissal (a press+release
28
+ * that both land outside the dialog's content rect).
29
+ */
30
+ export declare function useDialogBackdropClose(dialogRef: {
31
+ current: HTMLDialogElement | null;
32
+ }, onBackdrop: () => void): DialogBackdropHandlers;
@@ -83,4 +83,3 @@ export declare function buildElementPath(el: Element): ElementPathResult;
83
83
  export declare function formatElementPath(result: ElementPathResult): string;
84
84
  /** Convenience: build + format in one call. */
85
85
  export declare function buildElementPathString(el: Element): string;
86
- //# sourceMappingURL=build-element-path.d.ts.map
@@ -15,4 +15,3 @@ export interface ElementPathContextValue {
15
15
  toggle: () => void;
16
16
  }
17
17
  export declare const ElementPathContext: import("preact").Context<ElementPathContextValue | null>;
18
- //# sourceMappingURL=element-path-context.d.ts.map
@@ -15,4 +15,3 @@ import type { ComponentChildren } from 'preact';
15
15
  export declare function ElementPathOrchestrator({ children }: {
16
16
  children: ComponentChildren;
17
17
  }): import("preact").JSX.Element;
18
- //# sourceMappingURL=element-path-orchestrator.d.ts.map
@@ -18,4 +18,3 @@ import type { PanelConfig } from '../config/panel-config';
18
18
  export declare function loadElementPathEnabled(cfg?: PanelConfig): boolean;
19
19
  /** Persist the enabled flag to localStorage. Degrades silently when storage is unavailable. */
20
20
  export declare function saveElementPathEnabled(enabled: boolean, cfg?: PanelConfig): void;
21
- //# sourceMappingURL=element-path-state.d.ts.map
@@ -26,4 +26,3 @@ export interface ElementPathToastProps {
26
26
  ok: boolean;
27
27
  }
28
28
  export declare function ElementPathToast({ message, ok }: ElementPathToastProps): JSX.Element | null;
29
- //# sourceMappingURL=element-path-toast.d.ts.map
@@ -11,4 +11,3 @@
11
11
  */
12
12
  import type { JSX } from 'preact';
13
13
  export declare function ElementPathToggleButton(): JSX.Element | null;
14
- //# sourceMappingURL=element-path-toggle-button.d.ts.map
@@ -12,4 +12,3 @@ export type { ElementPathContextValue } from './element-path-context';
12
12
  export { buildElementPath, buildElementPathString, formatElementPath, buildUniqueSelector, buildBreadcrumb, } from './build-element-path';
13
13
  export type { ElementPathResult } from './build-element-path';
14
14
  export { loadElementPathEnabled, saveElementPathEnabled } from './element-path-state';
15
- //# sourceMappingURL=index.d.ts.map
@@ -24,4 +24,3 @@ export interface InspectorOverlayProps {
24
24
  enabled: boolean;
25
25
  }
26
26
  export declare function InspectorOverlay({ enabled }: InspectorOverlayProps): JSX.Element | null;
27
- //# sourceMappingURL=inspector-overlay.d.ts.map
@@ -38,4 +38,3 @@ export interface ExportModalProps {
38
38
  instanceConfig?: PanelConfig;
39
39
  }
40
40
  export declare function ExportModal({ onClose, state, colorDefaults, instanceConfig }: ExportModalProps): import("preact").JSX.Element;
41
- //# sourceMappingURL=export-modal.d.ts.map
@@ -126,4 +126,3 @@ export declare const PANEL_EXCLUSION_SELECTOR = ".tokenpanel-shell, [data-design
126
126
  * causing equality mode to miss `font-size` consumers.
127
127
  */
128
128
  export declare function findElementsUsingToken(cssVar: string, options?: FindElementsOptions): FindElementsResult;
129
- //# sourceMappingURL=find-elements.d.ts.map
@@ -21,4 +21,3 @@ export declare function HighlightOrchestrator({ children }: {
21
21
  children: ComponentChildren;
22
22
  }): import("preact").JSX.Element;
23
23
  export {};
24
- //# sourceMappingURL=highlight-orchestrator.d.ts.map
@@ -40,4 +40,3 @@ export interface HighlightOverlayProps {
40
40
  items: ReadonlyArray<HighlightOverlayItem>;
41
41
  }
42
42
  export declare function HighlightOverlay({ items }: HighlightOverlayProps): JSX.Element | null;
43
- //# sourceMappingURL=highlight-overlay.d.ts.map
@@ -22,4 +22,3 @@ interface HighlightSettingsPopoverProps {
22
22
  }
23
23
  export declare function HighlightSettingsPopover({ anchorRef, onClose, }: HighlightSettingsPopoverProps): JSX.Element | null;
24
24
  export {};
25
- //# sourceMappingURL=highlight-settings-popover.d.ts.map
@@ -84,4 +84,3 @@ export declare function loadHighlightState(): HighlightState;
84
84
  * Gracefully handles environments where storage is unavailable.
85
85
  */
86
86
  export declare function saveHighlightState(state: HighlightState): void;
87
- //# sourceMappingURL=highlight-state.d.ts.map
@@ -31,4 +31,3 @@ export interface HighlightToggleButtonProps {
31
31
  cssVar: string;
32
32
  }
33
33
  export declare function HighlightToggleButton({ cssVar }: HighlightToggleButtonProps): JSX.Element | null;
34
- //# sourceMappingURL=highlight-toggle-button.d.ts.map
@@ -38,4 +38,3 @@ export interface ImportModalProps {
38
38
  instanceConfig?: PanelConfig;
39
39
  }
40
40
  export declare function ImportModal({ onClose, onLoad, colorDefaults, instanceConfig }: ImportModalProps): import("preact").JSX.Element;
41
- //# sourceMappingURL=import-modal.d.ts.map
package/dist/index.d.ts CHANGED
@@ -60,6 +60,7 @@ export type { TierValueKind, PillSpec, TierItem, TierConfig, TabConfig, ColorClu
60
60
  export { isLengthKind, isNumberKind, isSelectKind, isTextKind, isColorKind, isCursorKind, isContentKind, isMaskImageKind, } from './tokens/tier-model';
61
61
  export type { TweakState } from './state/tweak-state';
62
62
  export { emptyOverrides } from './state/tweak-state';
63
+ export { getClusterDefaultMode, resolvePerModeLiteral, resolveSemanticPreviewColor, } from './state/tweak-state';
63
64
  export declare function showDesignTokenPanel(): void;
64
65
  export declare function hideDesignTokenPanel(): void;
65
66
  export declare function toggleDesignPanel(): void;
@@ -150,4 +151,3 @@ export interface LifecycleAdapter {
150
151
  * No-op outside a browser context (SSR-safe).
151
152
  */
152
153
  export declare function setLifecycleAdapter(adapter: LifecycleAdapter | null): void;
153
- //# sourceMappingURL=index.d.ts.map