dialkit 1.0.0 → 1.2.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/README.md +293 -2
- package/dist/index.cjs +905 -363
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +46 -9
- package/dist/index.d.ts +46 -9
- package/dist/index.js +910 -370
- package/dist/index.js.map +1 -1
- package/dist/solid/index.cjs +1042 -532
- package/dist/solid/index.cjs.map +1 -1
- package/dist/solid/index.d.cts +36 -3
- package/dist/solid/index.d.ts +36 -3
- package/dist/solid/index.js +911 -402
- package/dist/solid/index.js.map +1 -1
- package/dist/store/index.cjs +490 -0
- package/dist/store/index.cjs.map +1 -0
- package/dist/store/index.d.cts +146 -0
- package/dist/store/index.d.ts +146 -0
- package/dist/store/index.js +465 -0
- package/dist/store/index.js.map +1 -0
- package/dist/styles.css +287 -25
- package/dist/svelte/Portal.svelte +30 -0
- package/dist/svelte/Portal.svelte.d.ts +9 -0
- package/dist/svelte/Portal.svelte.d.ts.map +1 -0
- package/dist/svelte/components/ButtonGroup.svelte +16 -0
- package/dist/svelte/components/ButtonGroup.svelte.d.ts +11 -0
- package/dist/svelte/components/ButtonGroup.svelte.d.ts.map +1 -0
- package/dist/svelte/components/ColorControl.svelte +81 -0
- package/dist/svelte/components/ColorControl.svelte.d.ts +9 -0
- package/dist/svelte/components/ColorControl.svelte.d.ts.map +1 -0
- package/dist/svelte/components/ControlRenderer.svelte +96 -0
- package/dist/svelte/components/ControlRenderer.svelte.d.ts +11 -0
- package/dist/svelte/components/ControlRenderer.svelte.d.ts.map +1 -0
- package/dist/svelte/components/DialRoot.svelte +79 -0
- package/dist/svelte/components/DialRoot.svelte.d.ts +14 -0
- package/dist/svelte/components/DialRoot.svelte.d.ts.map +1 -0
- package/dist/svelte/components/EasingVisualization.svelte +50 -0
- package/dist/svelte/components/EasingVisualization.svelte.d.ts +10 -0
- package/dist/svelte/components/EasingVisualization.svelte.d.ts.map +1 -0
- package/dist/svelte/components/Folder.svelte +213 -0
- package/dist/svelte/components/Folder.svelte.d.ts +14 -0
- package/dist/svelte/components/Folder.svelte.d.ts.map +1 -0
- package/dist/svelte/components/Panel.svelte +149 -0
- package/dist/svelte/components/Panel.svelte.d.ts +10 -0
- package/dist/svelte/components/Panel.svelte.d.ts.map +1 -0
- package/dist/svelte/components/PresetManager.svelte +157 -0
- package/dist/svelte/components/PresetManager.svelte.d.ts +10 -0
- package/dist/svelte/components/PresetManager.svelte.d.ts.map +1 -0
- package/dist/svelte/components/SegmentedControl.svelte +62 -0
- package/dist/svelte/components/SegmentedControl.svelte.d.ts +13 -0
- package/dist/svelte/components/SegmentedControl.svelte.d.ts.map +1 -0
- package/dist/svelte/components/SelectControl.svelte +152 -0
- package/dist/svelte/components/SelectControl.svelte.d.ts +14 -0
- package/dist/svelte/components/SelectControl.svelte.d.ts.map +1 -0
- package/dist/svelte/components/ShortcutListener.svelte +265 -0
- package/dist/svelte/components/ShortcutListener.svelte.d.ts +13 -0
- package/dist/svelte/components/ShortcutListener.svelte.d.ts.map +1 -0
- package/dist/svelte/components/ShortcutsMenu.svelte +128 -0
- package/dist/svelte/components/ShortcutsMenu.svelte.d.ts +7 -0
- package/dist/svelte/components/ShortcutsMenu.svelte.d.ts.map +1 -0
- package/dist/svelte/components/Slider.svelte +332 -0
- package/dist/svelte/components/Slider.svelte.d.ts +16 -0
- package/dist/svelte/components/Slider.svelte.d.ts.map +1 -0
- package/dist/svelte/components/SpringControl.svelte +126 -0
- package/dist/svelte/components/SpringControl.svelte.d.ts +12 -0
- package/dist/svelte/components/SpringControl.svelte.d.ts.map +1 -0
- package/dist/svelte/components/SpringVisualization.svelte +115 -0
- package/dist/svelte/components/SpringVisualization.svelte.d.ts +9 -0
- package/dist/svelte/components/SpringVisualization.svelte.d.ts.map +1 -0
- package/dist/svelte/components/TextControl.svelte +19 -0
- package/dist/svelte/components/TextControl.svelte.d.ts +10 -0
- package/dist/svelte/components/TextControl.svelte.d.ts.map +1 -0
- package/dist/svelte/components/Toggle.svelte +32 -0
- package/dist/svelte/components/Toggle.svelte.d.ts +12 -0
- package/dist/svelte/components/Toggle.svelte.d.ts.map +1 -0
- package/dist/svelte/components/TransitionControl.svelte +203 -0
- package/dist/svelte/components/TransitionControl.svelte.d.ts +12 -0
- package/dist/svelte/components/TransitionControl.svelte.d.ts.map +1 -0
- package/dist/svelte/components/transitions.d.ts +6 -0
- package/dist/svelte/components/transitions.d.ts.map +1 -0
- package/dist/svelte/components/transitions.js +14 -0
- package/dist/svelte/createDialKit.svelte.d.ts +8 -0
- package/dist/svelte/createDialKit.svelte.d.ts.map +1 -0
- package/dist/svelte/createDialKit.svelte.js +82 -0
- package/dist/svelte/index.d.ts +23 -0
- package/dist/svelte/index.d.ts.map +1 -0
- package/dist/svelte/index.js +23 -0
- package/dist/svelte/shims.d.ts +9 -0
- package/dist/svelte/theme-css.d.ts +2 -0
- package/dist/svelte/theme-css.d.ts.map +1 -0
- package/dist/svelte/theme-css.js +1328 -0
- package/dist/vue/index.cjs +3056 -0
- package/dist/vue/index.cjs.map +1 -0
- package/dist/vue/index.d.cts +675 -0
- package/dist/vue/index.d.ts +675 -0
- package/dist/vue/index.js +3014 -0
- package/dist/vue/index.js.map +1 -0
- package/package.json +50 -6
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
type SpringConfig = {
|
|
2
|
+
type: 'spring';
|
|
3
|
+
stiffness?: number;
|
|
4
|
+
damping?: number;
|
|
5
|
+
mass?: number;
|
|
6
|
+
visualDuration?: number;
|
|
7
|
+
bounce?: number;
|
|
8
|
+
};
|
|
9
|
+
type EasingConfig = {
|
|
10
|
+
type: 'easing';
|
|
11
|
+
duration: number;
|
|
12
|
+
ease: [number, number, number, number];
|
|
13
|
+
};
|
|
14
|
+
type TransitionConfig = SpringConfig | EasingConfig;
|
|
15
|
+
type ActionConfig = {
|
|
16
|
+
type: 'action';
|
|
17
|
+
label?: string;
|
|
18
|
+
};
|
|
19
|
+
type SelectConfig = {
|
|
20
|
+
type: 'select';
|
|
21
|
+
options: (string | {
|
|
22
|
+
value: string;
|
|
23
|
+
label: string;
|
|
24
|
+
})[];
|
|
25
|
+
default?: string;
|
|
26
|
+
};
|
|
27
|
+
type ColorConfig = {
|
|
28
|
+
type: 'color';
|
|
29
|
+
default?: string;
|
|
30
|
+
};
|
|
31
|
+
type TextConfig = {
|
|
32
|
+
type: 'text';
|
|
33
|
+
default?: string;
|
|
34
|
+
placeholder?: string;
|
|
35
|
+
};
|
|
36
|
+
type DialValue = number | boolean | string | SpringConfig | EasingConfig | ActionConfig | SelectConfig | ColorConfig | TextConfig;
|
|
37
|
+
type DialConfig = {
|
|
38
|
+
[key: string]: DialValue | [number, number, number, number?] | DialConfig;
|
|
39
|
+
};
|
|
40
|
+
type ResolvedValues<T extends DialConfig> = {
|
|
41
|
+
[K in keyof T]: T[K] extends [number, number, number, number?] ? number : T[K] extends SpringConfig ? TransitionConfig : T[K] extends EasingConfig ? TransitionConfig : T[K] extends SelectConfig ? string : T[K] extends ColorConfig ? string : T[K] extends TextConfig ? string : T[K] extends DialConfig ? ResolvedValues<T[K]> : T[K];
|
|
42
|
+
};
|
|
43
|
+
type ShortcutMode = 'fine' | 'normal' | 'coarse';
|
|
44
|
+
type ShortcutInteraction = 'scroll' | 'drag' | 'move' | 'scroll-only';
|
|
45
|
+
type ShortcutConfig = {
|
|
46
|
+
key?: string;
|
|
47
|
+
modifier?: 'alt' | 'shift' | 'meta';
|
|
48
|
+
mode?: ShortcutMode;
|
|
49
|
+
interaction?: ShortcutInteraction;
|
|
50
|
+
};
|
|
51
|
+
type ControlMeta = {
|
|
52
|
+
type: 'slider' | 'toggle' | 'spring' | 'transition' | 'folder' | 'action' | 'select' | 'color' | 'text';
|
|
53
|
+
path: string;
|
|
54
|
+
label: string;
|
|
55
|
+
min?: number;
|
|
56
|
+
max?: number;
|
|
57
|
+
step?: number;
|
|
58
|
+
children?: ControlMeta[];
|
|
59
|
+
defaultOpen?: boolean;
|
|
60
|
+
options?: (string | {
|
|
61
|
+
value: string;
|
|
62
|
+
label: string;
|
|
63
|
+
})[];
|
|
64
|
+
placeholder?: string;
|
|
65
|
+
shortcut?: ShortcutConfig;
|
|
66
|
+
};
|
|
67
|
+
type PanelConfig = {
|
|
68
|
+
id: string;
|
|
69
|
+
name: string;
|
|
70
|
+
controls: ControlMeta[];
|
|
71
|
+
values: Record<string, DialValue>;
|
|
72
|
+
shortcuts: Record<string, ShortcutConfig>;
|
|
73
|
+
};
|
|
74
|
+
type Listener = () => void;
|
|
75
|
+
type ActionListener = (action: string) => void;
|
|
76
|
+
type Preset = {
|
|
77
|
+
id: string;
|
|
78
|
+
name: string;
|
|
79
|
+
values: Record<string, DialValue>;
|
|
80
|
+
};
|
|
81
|
+
declare class DialStoreClass {
|
|
82
|
+
private panels;
|
|
83
|
+
private listeners;
|
|
84
|
+
private globalListeners;
|
|
85
|
+
private snapshots;
|
|
86
|
+
private actionListeners;
|
|
87
|
+
private presets;
|
|
88
|
+
private activePreset;
|
|
89
|
+
private baseValues;
|
|
90
|
+
registerPanel(id: string, name: string, config: DialConfig, shortcuts?: Record<string, ShortcutConfig>): void;
|
|
91
|
+
updatePanel(id: string, name: string, config: DialConfig, shortcuts?: Record<string, ShortcutConfig>): void;
|
|
92
|
+
unregisterPanel(id: string): void;
|
|
93
|
+
updateValue(panelId: string, path: string, value: DialValue): void;
|
|
94
|
+
updateSpringMode(panelId: string, path: string, mode: 'simple' | 'advanced'): void;
|
|
95
|
+
getSpringMode(panelId: string, path: string): 'simple' | 'advanced';
|
|
96
|
+
updateTransitionMode(panelId: string, path: string, mode: 'easing' | 'simple' | 'advanced'): void;
|
|
97
|
+
getTransitionMode(panelId: string, path: string): 'easing' | 'simple' | 'advanced';
|
|
98
|
+
getValue(panelId: string, path: string): DialValue | undefined;
|
|
99
|
+
getValues(panelId: string): Record<string, DialValue>;
|
|
100
|
+
getPanels(): PanelConfig[];
|
|
101
|
+
getPanel(id: string): PanelConfig | undefined;
|
|
102
|
+
subscribe(panelId: string, listener: Listener): () => void;
|
|
103
|
+
subscribeGlobal(listener: Listener): () => void;
|
|
104
|
+
subscribeActions(panelId: string, listener: ActionListener): () => void;
|
|
105
|
+
triggerAction(panelId: string, path: string): void;
|
|
106
|
+
savePreset(panelId: string, name: string): string;
|
|
107
|
+
loadPreset(panelId: string, presetId: string): void;
|
|
108
|
+
deletePreset(panelId: string, presetId: string): void;
|
|
109
|
+
getPresets(panelId: string): Preset[];
|
|
110
|
+
getActivePresetId(panelId: string): string | null;
|
|
111
|
+
clearActivePreset(panelId: string): void;
|
|
112
|
+
resolveShortcutTarget(key: string, modifier?: 'alt' | 'shift' | 'meta'): {
|
|
113
|
+
panelId: string;
|
|
114
|
+
path: string;
|
|
115
|
+
control: ControlMeta;
|
|
116
|
+
} | null;
|
|
117
|
+
resolveScrollOnlyTargets(): Array<{
|
|
118
|
+
panelId: string;
|
|
119
|
+
path: string;
|
|
120
|
+
control: ControlMeta;
|
|
121
|
+
shortcut: ShortcutConfig;
|
|
122
|
+
}>;
|
|
123
|
+
private findControlByPath;
|
|
124
|
+
private notify;
|
|
125
|
+
private notifyGlobal;
|
|
126
|
+
private initTransitionModes;
|
|
127
|
+
private parseConfig;
|
|
128
|
+
private flattenValues;
|
|
129
|
+
private isSpringConfig;
|
|
130
|
+
private isEasingConfig;
|
|
131
|
+
private isActionConfig;
|
|
132
|
+
private isSelectConfig;
|
|
133
|
+
private isColorConfig;
|
|
134
|
+
private isTextConfig;
|
|
135
|
+
private isHexColor;
|
|
136
|
+
private formatLabel;
|
|
137
|
+
private inferRange;
|
|
138
|
+
private inferStep;
|
|
139
|
+
private normalizePreservedValue;
|
|
140
|
+
private roundToStep;
|
|
141
|
+
private stepPrecision;
|
|
142
|
+
private mapControlsByPath;
|
|
143
|
+
}
|
|
144
|
+
declare const DialStore: DialStoreClass;
|
|
145
|
+
|
|
146
|
+
export { type ActionConfig, type ColorConfig, type ControlMeta, type DialConfig, DialStore, type DialValue, type EasingConfig, type PanelConfig, type Preset, type ResolvedValues, type SelectConfig, type ShortcutConfig, type ShortcutInteraction, type ShortcutMode, type SpringConfig, type TextConfig, type TransitionConfig };
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
type SpringConfig = {
|
|
2
|
+
type: 'spring';
|
|
3
|
+
stiffness?: number;
|
|
4
|
+
damping?: number;
|
|
5
|
+
mass?: number;
|
|
6
|
+
visualDuration?: number;
|
|
7
|
+
bounce?: number;
|
|
8
|
+
};
|
|
9
|
+
type EasingConfig = {
|
|
10
|
+
type: 'easing';
|
|
11
|
+
duration: number;
|
|
12
|
+
ease: [number, number, number, number];
|
|
13
|
+
};
|
|
14
|
+
type TransitionConfig = SpringConfig | EasingConfig;
|
|
15
|
+
type ActionConfig = {
|
|
16
|
+
type: 'action';
|
|
17
|
+
label?: string;
|
|
18
|
+
};
|
|
19
|
+
type SelectConfig = {
|
|
20
|
+
type: 'select';
|
|
21
|
+
options: (string | {
|
|
22
|
+
value: string;
|
|
23
|
+
label: string;
|
|
24
|
+
})[];
|
|
25
|
+
default?: string;
|
|
26
|
+
};
|
|
27
|
+
type ColorConfig = {
|
|
28
|
+
type: 'color';
|
|
29
|
+
default?: string;
|
|
30
|
+
};
|
|
31
|
+
type TextConfig = {
|
|
32
|
+
type: 'text';
|
|
33
|
+
default?: string;
|
|
34
|
+
placeholder?: string;
|
|
35
|
+
};
|
|
36
|
+
type DialValue = number | boolean | string | SpringConfig | EasingConfig | ActionConfig | SelectConfig | ColorConfig | TextConfig;
|
|
37
|
+
type DialConfig = {
|
|
38
|
+
[key: string]: DialValue | [number, number, number, number?] | DialConfig;
|
|
39
|
+
};
|
|
40
|
+
type ResolvedValues<T extends DialConfig> = {
|
|
41
|
+
[K in keyof T]: T[K] extends [number, number, number, number?] ? number : T[K] extends SpringConfig ? TransitionConfig : T[K] extends EasingConfig ? TransitionConfig : T[K] extends SelectConfig ? string : T[K] extends ColorConfig ? string : T[K] extends TextConfig ? string : T[K] extends DialConfig ? ResolvedValues<T[K]> : T[K];
|
|
42
|
+
};
|
|
43
|
+
type ShortcutMode = 'fine' | 'normal' | 'coarse';
|
|
44
|
+
type ShortcutInteraction = 'scroll' | 'drag' | 'move' | 'scroll-only';
|
|
45
|
+
type ShortcutConfig = {
|
|
46
|
+
key?: string;
|
|
47
|
+
modifier?: 'alt' | 'shift' | 'meta';
|
|
48
|
+
mode?: ShortcutMode;
|
|
49
|
+
interaction?: ShortcutInteraction;
|
|
50
|
+
};
|
|
51
|
+
type ControlMeta = {
|
|
52
|
+
type: 'slider' | 'toggle' | 'spring' | 'transition' | 'folder' | 'action' | 'select' | 'color' | 'text';
|
|
53
|
+
path: string;
|
|
54
|
+
label: string;
|
|
55
|
+
min?: number;
|
|
56
|
+
max?: number;
|
|
57
|
+
step?: number;
|
|
58
|
+
children?: ControlMeta[];
|
|
59
|
+
defaultOpen?: boolean;
|
|
60
|
+
options?: (string | {
|
|
61
|
+
value: string;
|
|
62
|
+
label: string;
|
|
63
|
+
})[];
|
|
64
|
+
placeholder?: string;
|
|
65
|
+
shortcut?: ShortcutConfig;
|
|
66
|
+
};
|
|
67
|
+
type PanelConfig = {
|
|
68
|
+
id: string;
|
|
69
|
+
name: string;
|
|
70
|
+
controls: ControlMeta[];
|
|
71
|
+
values: Record<string, DialValue>;
|
|
72
|
+
shortcuts: Record<string, ShortcutConfig>;
|
|
73
|
+
};
|
|
74
|
+
type Listener = () => void;
|
|
75
|
+
type ActionListener = (action: string) => void;
|
|
76
|
+
type Preset = {
|
|
77
|
+
id: string;
|
|
78
|
+
name: string;
|
|
79
|
+
values: Record<string, DialValue>;
|
|
80
|
+
};
|
|
81
|
+
declare class DialStoreClass {
|
|
82
|
+
private panels;
|
|
83
|
+
private listeners;
|
|
84
|
+
private globalListeners;
|
|
85
|
+
private snapshots;
|
|
86
|
+
private actionListeners;
|
|
87
|
+
private presets;
|
|
88
|
+
private activePreset;
|
|
89
|
+
private baseValues;
|
|
90
|
+
registerPanel(id: string, name: string, config: DialConfig, shortcuts?: Record<string, ShortcutConfig>): void;
|
|
91
|
+
updatePanel(id: string, name: string, config: DialConfig, shortcuts?: Record<string, ShortcutConfig>): void;
|
|
92
|
+
unregisterPanel(id: string): void;
|
|
93
|
+
updateValue(panelId: string, path: string, value: DialValue): void;
|
|
94
|
+
updateSpringMode(panelId: string, path: string, mode: 'simple' | 'advanced'): void;
|
|
95
|
+
getSpringMode(panelId: string, path: string): 'simple' | 'advanced';
|
|
96
|
+
updateTransitionMode(panelId: string, path: string, mode: 'easing' | 'simple' | 'advanced'): void;
|
|
97
|
+
getTransitionMode(panelId: string, path: string): 'easing' | 'simple' | 'advanced';
|
|
98
|
+
getValue(panelId: string, path: string): DialValue | undefined;
|
|
99
|
+
getValues(panelId: string): Record<string, DialValue>;
|
|
100
|
+
getPanels(): PanelConfig[];
|
|
101
|
+
getPanel(id: string): PanelConfig | undefined;
|
|
102
|
+
subscribe(panelId: string, listener: Listener): () => void;
|
|
103
|
+
subscribeGlobal(listener: Listener): () => void;
|
|
104
|
+
subscribeActions(panelId: string, listener: ActionListener): () => void;
|
|
105
|
+
triggerAction(panelId: string, path: string): void;
|
|
106
|
+
savePreset(panelId: string, name: string): string;
|
|
107
|
+
loadPreset(panelId: string, presetId: string): void;
|
|
108
|
+
deletePreset(panelId: string, presetId: string): void;
|
|
109
|
+
getPresets(panelId: string): Preset[];
|
|
110
|
+
getActivePresetId(panelId: string): string | null;
|
|
111
|
+
clearActivePreset(panelId: string): void;
|
|
112
|
+
resolveShortcutTarget(key: string, modifier?: 'alt' | 'shift' | 'meta'): {
|
|
113
|
+
panelId: string;
|
|
114
|
+
path: string;
|
|
115
|
+
control: ControlMeta;
|
|
116
|
+
} | null;
|
|
117
|
+
resolveScrollOnlyTargets(): Array<{
|
|
118
|
+
panelId: string;
|
|
119
|
+
path: string;
|
|
120
|
+
control: ControlMeta;
|
|
121
|
+
shortcut: ShortcutConfig;
|
|
122
|
+
}>;
|
|
123
|
+
private findControlByPath;
|
|
124
|
+
private notify;
|
|
125
|
+
private notifyGlobal;
|
|
126
|
+
private initTransitionModes;
|
|
127
|
+
private parseConfig;
|
|
128
|
+
private flattenValues;
|
|
129
|
+
private isSpringConfig;
|
|
130
|
+
private isEasingConfig;
|
|
131
|
+
private isActionConfig;
|
|
132
|
+
private isSelectConfig;
|
|
133
|
+
private isColorConfig;
|
|
134
|
+
private isTextConfig;
|
|
135
|
+
private isHexColor;
|
|
136
|
+
private formatLabel;
|
|
137
|
+
private inferRange;
|
|
138
|
+
private inferStep;
|
|
139
|
+
private normalizePreservedValue;
|
|
140
|
+
private roundToStep;
|
|
141
|
+
private stepPrecision;
|
|
142
|
+
private mapControlsByPath;
|
|
143
|
+
}
|
|
144
|
+
declare const DialStore: DialStoreClass;
|
|
145
|
+
|
|
146
|
+
export { type ActionConfig, type ColorConfig, type ControlMeta, type DialConfig, DialStore, type DialValue, type EasingConfig, type PanelConfig, type Preset, type ResolvedValues, type SelectConfig, type ShortcutConfig, type ShortcutInteraction, type ShortcutMode, type SpringConfig, type TextConfig, type TransitionConfig };
|