@dynamix-layout/solid 1.0.3 → 2.0.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/CHANGELOG.md +43 -0
- package/README.md +14 -29
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +208 -0
- package/dist/index.d.ts +208 -0
- package/dist/index.js +704 -0
- package/dist/styles.css +1 -0
- package/package.json +16 -17
- package/dist/index.css +0 -1
- package/dist/index.es.js +0 -760
- package/dist/types/index.d.cts +0 -190
- package/dist/types/index.d.ts +0 -190
package/dist/types/index.d.cts
DELETED
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
import { Accessor } from 'solid-js';
|
|
2
|
-
import { Dimension } from '@dynamix-layout/core';
|
|
3
|
-
import { DynamixLayoutCore } from '@dynamix-layout/core';
|
|
4
|
-
import { JSX } from 'solid-js';
|
|
5
|
-
import { LayoutTree } from '@dynamix-layout/core';
|
|
6
|
-
import { NodeOptions } from '@dynamix-layout/core';
|
|
7
|
-
import { ParentComponent } from 'solid-js';
|
|
8
|
-
import { Setter } from 'solid-js';
|
|
9
|
-
|
|
10
|
-
export declare const DefaultHoverElement: (props: DivProps) => JSX.Element;
|
|
11
|
-
|
|
12
|
-
export declare const DefaultSliderElement: (props: {
|
|
13
|
-
direction?: boolean;
|
|
14
|
-
children?: JSX.Element;
|
|
15
|
-
} & DivProps) => JSX.Element;
|
|
16
|
-
|
|
17
|
-
export declare const DefaultWrapTabBody: (props: DivProps) => JSX.Element;
|
|
18
|
-
|
|
19
|
-
export declare const DefaultWrapTabHead: (props: DivProps) => JSX.Element;
|
|
20
|
-
|
|
21
|
-
export declare const DefaultWrapTabLabel: (props: DivProps) => JSX.Element;
|
|
22
|
-
|
|
23
|
-
export declare const DefaultWrapTabPanel: (props: DivProps) => JSX.Element;
|
|
24
|
-
|
|
25
|
-
export declare type DivFC = (props: {
|
|
26
|
-
children?: JSX.Element;
|
|
27
|
-
} & JSX.HTMLAttributes<HTMLDivElement>) => JSX.Element;
|
|
28
|
-
|
|
29
|
-
declare type DivProps = {
|
|
30
|
-
children?: JSX.Element;
|
|
31
|
-
active?: boolean;
|
|
32
|
-
} & JSX.HTMLAttributes<HTMLDivElement>;
|
|
33
|
-
|
|
34
|
-
export declare const DynamixLayout: ParentComponent<LayoutProps>;
|
|
35
|
-
|
|
36
|
-
export declare interface DynamixLayoutProps {
|
|
37
|
-
children?: JSX.Element;
|
|
38
|
-
layoutTree?: LayoutTree;
|
|
39
|
-
tabs?: string[];
|
|
40
|
-
class?: string;
|
|
41
|
-
style?: JSX.CSSProperties;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
export declare const getTabOutput: (input: TabInput) => TabOutput;
|
|
45
|
-
|
|
46
|
-
export declare interface LayoutProps {
|
|
47
|
-
tabs: [string, JSX.Element][];
|
|
48
|
-
enableTabbar?: boolean;
|
|
49
|
-
WrapTabPanel?: DivFC;
|
|
50
|
-
WrapTabLabel?: (props: {
|
|
51
|
-
children?: JSX.Element;
|
|
52
|
-
active?: boolean;
|
|
53
|
-
} & JSX.HTMLAttributes<HTMLDivElement>) => JSX.Element;
|
|
54
|
-
WrapTabHead?: DivFC;
|
|
55
|
-
WrapTabBody?: DivFC;
|
|
56
|
-
HoverElement?: DivFC;
|
|
57
|
-
SliderElement?: (props: {
|
|
58
|
-
children?: JSX.Element;
|
|
59
|
-
direction?: boolean;
|
|
60
|
-
} & JSX.HTMLAttributes<HTMLDivElement>) => JSX.Element;
|
|
61
|
-
tabHeadHeight?: number;
|
|
62
|
-
layoutTree?: LayoutTree;
|
|
63
|
-
pad?: {
|
|
64
|
-
t: number;
|
|
65
|
-
b: number;
|
|
66
|
-
l: number;
|
|
67
|
-
r: number;
|
|
68
|
-
};
|
|
69
|
-
class?: string;
|
|
70
|
-
style?: JSX.CSSProperties;
|
|
71
|
-
bondWidth?: number;
|
|
72
|
-
/** In 2.0 this receives the v2 `LayoutJSON` format instead of `LayoutTree` (v1 layouts passed to `layoutTree` keep loading). See https://github.com/xcode-studio/dynamix-layout/blob/main/docs/migration-v1-to-v2.md */
|
|
73
|
-
updateJSON?: (layoutTree: LayoutTree) => void;
|
|
74
|
-
minTabHeight?: number;
|
|
75
|
-
minTabWidth?: number;
|
|
76
|
-
/** @deprecated No effect in 2.0: splitters update once per animation frame. See https://github.com/xcode-studio/dynamix-layout/blob/main/docs/migration-v1-to-v2.md */
|
|
77
|
-
sliderUpdateTimeout?: number;
|
|
78
|
-
windowResizeTimeout?: number;
|
|
79
|
-
/** @deprecated No effect in 2.0: splitters update once per animation frame. See https://github.com/xcode-studio/dynamix-layout/blob/main/docs/migration-v1-to-v2.md */
|
|
80
|
-
disableSliderTimeout?: boolean;
|
|
81
|
-
disableResizeTimeout?: boolean;
|
|
82
|
-
hoverElementStyles?: JSX.CSSProperties;
|
|
83
|
-
sliderElementStyles?: JSX.CSSProperties;
|
|
84
|
-
tabPanelElementStyles?: JSX.CSSProperties;
|
|
85
|
-
tabBodyElementStyles?: JSX.CSSProperties;
|
|
86
|
-
tabHeadElementStyles?: JSX.CSSProperties;
|
|
87
|
-
tabLabelElementStyles?: JSX.CSSProperties;
|
|
88
|
-
RootSplitterHoverElStyles?: JSX.CSSProperties;
|
|
89
|
-
hoverElementClass?: string;
|
|
90
|
-
sliderElementClass?: string;
|
|
91
|
-
tabPanelElementClass?: string;
|
|
92
|
-
tabBodyElementClass?: string;
|
|
93
|
-
tabHeadElementClass?: string;
|
|
94
|
-
tabLabelElementClass?: string;
|
|
95
|
-
RootSplitterHoverElClass?: string;
|
|
96
|
-
rootId?: string;
|
|
97
|
-
tabNames?: Map<string, string | JSX.Element>;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
export declare const RootSplitterHoverEl: (props: {
|
|
101
|
-
area: "left" | "right" | "top" | "bottom";
|
|
102
|
-
size?: {
|
|
103
|
-
w: string;
|
|
104
|
-
h: string;
|
|
105
|
-
};
|
|
106
|
-
gap?: string;
|
|
107
|
-
} & DivProps) => JSX.Element;
|
|
108
|
-
|
|
109
|
-
export declare type TabEntry = {
|
|
110
|
-
uqid: string;
|
|
111
|
-
name: string;
|
|
112
|
-
node: JSX.Element;
|
|
113
|
-
};
|
|
114
|
-
|
|
115
|
-
export declare type TabInput = [string, JSX.Element][];
|
|
116
|
-
|
|
117
|
-
export declare type TabOutput = {
|
|
118
|
-
keys: string[];
|
|
119
|
-
maps: Map<string, TabEntry>;
|
|
120
|
-
name: Map<string, string>;
|
|
121
|
-
};
|
|
122
|
-
|
|
123
|
-
export declare const useDynamixLayout: ({ tabOutput, rootId, layoutTree, updateJSON, dimensions, tabHeadHeight, enableTabbar, bondWidth, minTabHeight, minTabWidth, sliderUpdateTimeout, windowResizeTimeout, disableSliderTimeout, disableResizeTimeout, }: useDynamixLayoutOptions) => {
|
|
124
|
-
tabsets: Accessor<Map<string, NodeOptions>>;
|
|
125
|
-
sliders: Accessor<Map<string, NodeOptions>>;
|
|
126
|
-
tabsetsRef: Map<string, HTMLDivElement>;
|
|
127
|
-
panelsRef: Map<string, HTMLDivElement>;
|
|
128
|
-
tabsRef: Map<string, HTMLDivElement>;
|
|
129
|
-
slidersRef: Map<string, HTMLDivElement>;
|
|
130
|
-
layoutJSON: Accessor<LayoutTree | undefined>;
|
|
131
|
-
layoutInstance: DynamixLayoutCore;
|
|
132
|
-
hoverElementRef: {
|
|
133
|
-
current: HTMLDivElement | undefined;
|
|
134
|
-
};
|
|
135
|
-
rootSplitHoverEl: HTMLDivElement[];
|
|
136
|
-
dragging: Accessor<boolean>;
|
|
137
|
-
isUpdating: Accessor<boolean>;
|
|
138
|
-
/** @deprecated Internal state setter; will be removed in v2. */
|
|
139
|
-
setIsUpdating: Setter<boolean>;
|
|
140
|
-
/** @deprecated Internal state setter; will be removed in v2. */
|
|
141
|
-
setDragging: Setter<boolean>;
|
|
142
|
-
/** @deprecated Internal state setter; will be removed in v2. */
|
|
143
|
-
setTabsets: Setter<Map<string, NodeOptions>>;
|
|
144
|
-
/** @deprecated Internal state setter; will be removed in v2. */
|
|
145
|
-
setSliders: Setter<Map<string, NodeOptions>>;
|
|
146
|
-
/** @deprecated Internal state setter; will be removed in v2. */
|
|
147
|
-
setLayoutJSON: Setter<LayoutTree | undefined>;
|
|
148
|
-
onDragStart: (e: DragEvent) => void;
|
|
149
|
-
onDragOver: (e: DragEvent) => void;
|
|
150
|
-
onDragEnd: () => void;
|
|
151
|
-
onDragEnter: (e: DragEvent) => void;
|
|
152
|
-
onDragLeave: (e: DragEvent) => void;
|
|
153
|
-
onDrop: (e: DragEvent) => void;
|
|
154
|
-
onPointerDown: (e: PointerEvent) => void;
|
|
155
|
-
updateActiveTab: (e: MouseEvent) => void;
|
|
156
|
-
handleRootSplit: (e: DragEvent) => void;
|
|
157
|
-
handleNavbarDragOver: (e: DragEvent) => void;
|
|
158
|
-
};
|
|
159
|
-
|
|
160
|
-
export declare interface UseDynamixLayoutOptions {
|
|
161
|
-
initialLayoutTree?: LayoutTree;
|
|
162
|
-
tabs?: string[];
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
export declare interface useDynamixLayoutOptions {
|
|
166
|
-
tabOutput: TabOutput;
|
|
167
|
-
rootId: string;
|
|
168
|
-
layoutTree?: LayoutTree;
|
|
169
|
-
updateJSON?: (layoutTree: LayoutTree) => void;
|
|
170
|
-
enableTabbar: boolean;
|
|
171
|
-
dimensions: () => Dimension;
|
|
172
|
-
sliderUpdateTimeout: number;
|
|
173
|
-
windowResizeTimeout: number;
|
|
174
|
-
disableSliderTimeout: boolean;
|
|
175
|
-
disableResizeTimeout: boolean;
|
|
176
|
-
hoverElementStyles?: JSX.CSSProperties;
|
|
177
|
-
bondWidth: number;
|
|
178
|
-
minTabHeight: number;
|
|
179
|
-
minTabWidth: number;
|
|
180
|
-
tabHeadHeight: number;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
export declare interface UseDynamixLayoutResult {
|
|
184
|
-
layoutTree: LayoutTree | undefined;
|
|
185
|
-
tabs: string[];
|
|
186
|
-
setTabs: (tabs: string[]) => void;
|
|
187
|
-
setLayoutTree: (layoutTree: LayoutTree) => void;
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
export { }
|
package/dist/types/index.d.ts
DELETED
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
import { Accessor } from 'solid-js';
|
|
2
|
-
import { Dimension } from '@dynamix-layout/core';
|
|
3
|
-
import { DynamixLayoutCore } from '@dynamix-layout/core';
|
|
4
|
-
import { JSX } from 'solid-js';
|
|
5
|
-
import { LayoutTree } from '@dynamix-layout/core';
|
|
6
|
-
import { NodeOptions } from '@dynamix-layout/core';
|
|
7
|
-
import { ParentComponent } from 'solid-js';
|
|
8
|
-
import { Setter } from 'solid-js';
|
|
9
|
-
|
|
10
|
-
export declare const DefaultHoverElement: (props: DivProps) => JSX.Element;
|
|
11
|
-
|
|
12
|
-
export declare const DefaultSliderElement: (props: {
|
|
13
|
-
direction?: boolean;
|
|
14
|
-
children?: JSX.Element;
|
|
15
|
-
} & DivProps) => JSX.Element;
|
|
16
|
-
|
|
17
|
-
export declare const DefaultWrapTabBody: (props: DivProps) => JSX.Element;
|
|
18
|
-
|
|
19
|
-
export declare const DefaultWrapTabHead: (props: DivProps) => JSX.Element;
|
|
20
|
-
|
|
21
|
-
export declare const DefaultWrapTabLabel: (props: DivProps) => JSX.Element;
|
|
22
|
-
|
|
23
|
-
export declare const DefaultWrapTabPanel: (props: DivProps) => JSX.Element;
|
|
24
|
-
|
|
25
|
-
export declare type DivFC = (props: {
|
|
26
|
-
children?: JSX.Element;
|
|
27
|
-
} & JSX.HTMLAttributes<HTMLDivElement>) => JSX.Element;
|
|
28
|
-
|
|
29
|
-
declare type DivProps = {
|
|
30
|
-
children?: JSX.Element;
|
|
31
|
-
active?: boolean;
|
|
32
|
-
} & JSX.HTMLAttributes<HTMLDivElement>;
|
|
33
|
-
|
|
34
|
-
export declare const DynamixLayout: ParentComponent<LayoutProps>;
|
|
35
|
-
|
|
36
|
-
export declare interface DynamixLayoutProps {
|
|
37
|
-
children?: JSX.Element;
|
|
38
|
-
layoutTree?: LayoutTree;
|
|
39
|
-
tabs?: string[];
|
|
40
|
-
class?: string;
|
|
41
|
-
style?: JSX.CSSProperties;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
export declare const getTabOutput: (input: TabInput) => TabOutput;
|
|
45
|
-
|
|
46
|
-
export declare interface LayoutProps {
|
|
47
|
-
tabs: [string, JSX.Element][];
|
|
48
|
-
enableTabbar?: boolean;
|
|
49
|
-
WrapTabPanel?: DivFC;
|
|
50
|
-
WrapTabLabel?: (props: {
|
|
51
|
-
children?: JSX.Element;
|
|
52
|
-
active?: boolean;
|
|
53
|
-
} & JSX.HTMLAttributes<HTMLDivElement>) => JSX.Element;
|
|
54
|
-
WrapTabHead?: DivFC;
|
|
55
|
-
WrapTabBody?: DivFC;
|
|
56
|
-
HoverElement?: DivFC;
|
|
57
|
-
SliderElement?: (props: {
|
|
58
|
-
children?: JSX.Element;
|
|
59
|
-
direction?: boolean;
|
|
60
|
-
} & JSX.HTMLAttributes<HTMLDivElement>) => JSX.Element;
|
|
61
|
-
tabHeadHeight?: number;
|
|
62
|
-
layoutTree?: LayoutTree;
|
|
63
|
-
pad?: {
|
|
64
|
-
t: number;
|
|
65
|
-
b: number;
|
|
66
|
-
l: number;
|
|
67
|
-
r: number;
|
|
68
|
-
};
|
|
69
|
-
class?: string;
|
|
70
|
-
style?: JSX.CSSProperties;
|
|
71
|
-
bondWidth?: number;
|
|
72
|
-
/** In 2.0 this receives the v2 `LayoutJSON` format instead of `LayoutTree` (v1 layouts passed to `layoutTree` keep loading). See https://github.com/xcode-studio/dynamix-layout/blob/main/docs/migration-v1-to-v2.md */
|
|
73
|
-
updateJSON?: (layoutTree: LayoutTree) => void;
|
|
74
|
-
minTabHeight?: number;
|
|
75
|
-
minTabWidth?: number;
|
|
76
|
-
/** @deprecated No effect in 2.0: splitters update once per animation frame. See https://github.com/xcode-studio/dynamix-layout/blob/main/docs/migration-v1-to-v2.md */
|
|
77
|
-
sliderUpdateTimeout?: number;
|
|
78
|
-
windowResizeTimeout?: number;
|
|
79
|
-
/** @deprecated No effect in 2.0: splitters update once per animation frame. See https://github.com/xcode-studio/dynamix-layout/blob/main/docs/migration-v1-to-v2.md */
|
|
80
|
-
disableSliderTimeout?: boolean;
|
|
81
|
-
disableResizeTimeout?: boolean;
|
|
82
|
-
hoverElementStyles?: JSX.CSSProperties;
|
|
83
|
-
sliderElementStyles?: JSX.CSSProperties;
|
|
84
|
-
tabPanelElementStyles?: JSX.CSSProperties;
|
|
85
|
-
tabBodyElementStyles?: JSX.CSSProperties;
|
|
86
|
-
tabHeadElementStyles?: JSX.CSSProperties;
|
|
87
|
-
tabLabelElementStyles?: JSX.CSSProperties;
|
|
88
|
-
RootSplitterHoverElStyles?: JSX.CSSProperties;
|
|
89
|
-
hoverElementClass?: string;
|
|
90
|
-
sliderElementClass?: string;
|
|
91
|
-
tabPanelElementClass?: string;
|
|
92
|
-
tabBodyElementClass?: string;
|
|
93
|
-
tabHeadElementClass?: string;
|
|
94
|
-
tabLabelElementClass?: string;
|
|
95
|
-
RootSplitterHoverElClass?: string;
|
|
96
|
-
rootId?: string;
|
|
97
|
-
tabNames?: Map<string, string | JSX.Element>;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
export declare const RootSplitterHoverEl: (props: {
|
|
101
|
-
area: "left" | "right" | "top" | "bottom";
|
|
102
|
-
size?: {
|
|
103
|
-
w: string;
|
|
104
|
-
h: string;
|
|
105
|
-
};
|
|
106
|
-
gap?: string;
|
|
107
|
-
} & DivProps) => JSX.Element;
|
|
108
|
-
|
|
109
|
-
export declare type TabEntry = {
|
|
110
|
-
uqid: string;
|
|
111
|
-
name: string;
|
|
112
|
-
node: JSX.Element;
|
|
113
|
-
};
|
|
114
|
-
|
|
115
|
-
export declare type TabInput = [string, JSX.Element][];
|
|
116
|
-
|
|
117
|
-
export declare type TabOutput = {
|
|
118
|
-
keys: string[];
|
|
119
|
-
maps: Map<string, TabEntry>;
|
|
120
|
-
name: Map<string, string>;
|
|
121
|
-
};
|
|
122
|
-
|
|
123
|
-
export declare const useDynamixLayout: ({ tabOutput, rootId, layoutTree, updateJSON, dimensions, tabHeadHeight, enableTabbar, bondWidth, minTabHeight, minTabWidth, sliderUpdateTimeout, windowResizeTimeout, disableSliderTimeout, disableResizeTimeout, }: useDynamixLayoutOptions) => {
|
|
124
|
-
tabsets: Accessor<Map<string, NodeOptions>>;
|
|
125
|
-
sliders: Accessor<Map<string, NodeOptions>>;
|
|
126
|
-
tabsetsRef: Map<string, HTMLDivElement>;
|
|
127
|
-
panelsRef: Map<string, HTMLDivElement>;
|
|
128
|
-
tabsRef: Map<string, HTMLDivElement>;
|
|
129
|
-
slidersRef: Map<string, HTMLDivElement>;
|
|
130
|
-
layoutJSON: Accessor<LayoutTree | undefined>;
|
|
131
|
-
layoutInstance: DynamixLayoutCore;
|
|
132
|
-
hoverElementRef: {
|
|
133
|
-
current: HTMLDivElement | undefined;
|
|
134
|
-
};
|
|
135
|
-
rootSplitHoverEl: HTMLDivElement[];
|
|
136
|
-
dragging: Accessor<boolean>;
|
|
137
|
-
isUpdating: Accessor<boolean>;
|
|
138
|
-
/** @deprecated Internal state setter; will be removed in v2. */
|
|
139
|
-
setIsUpdating: Setter<boolean>;
|
|
140
|
-
/** @deprecated Internal state setter; will be removed in v2. */
|
|
141
|
-
setDragging: Setter<boolean>;
|
|
142
|
-
/** @deprecated Internal state setter; will be removed in v2. */
|
|
143
|
-
setTabsets: Setter<Map<string, NodeOptions>>;
|
|
144
|
-
/** @deprecated Internal state setter; will be removed in v2. */
|
|
145
|
-
setSliders: Setter<Map<string, NodeOptions>>;
|
|
146
|
-
/** @deprecated Internal state setter; will be removed in v2. */
|
|
147
|
-
setLayoutJSON: Setter<LayoutTree | undefined>;
|
|
148
|
-
onDragStart: (e: DragEvent) => void;
|
|
149
|
-
onDragOver: (e: DragEvent) => void;
|
|
150
|
-
onDragEnd: () => void;
|
|
151
|
-
onDragEnter: (e: DragEvent) => void;
|
|
152
|
-
onDragLeave: (e: DragEvent) => void;
|
|
153
|
-
onDrop: (e: DragEvent) => void;
|
|
154
|
-
onPointerDown: (e: PointerEvent) => void;
|
|
155
|
-
updateActiveTab: (e: MouseEvent) => void;
|
|
156
|
-
handleRootSplit: (e: DragEvent) => void;
|
|
157
|
-
handleNavbarDragOver: (e: DragEvent) => void;
|
|
158
|
-
};
|
|
159
|
-
|
|
160
|
-
export declare interface UseDynamixLayoutOptions {
|
|
161
|
-
initialLayoutTree?: LayoutTree;
|
|
162
|
-
tabs?: string[];
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
export declare interface useDynamixLayoutOptions {
|
|
166
|
-
tabOutput: TabOutput;
|
|
167
|
-
rootId: string;
|
|
168
|
-
layoutTree?: LayoutTree;
|
|
169
|
-
updateJSON?: (layoutTree: LayoutTree) => void;
|
|
170
|
-
enableTabbar: boolean;
|
|
171
|
-
dimensions: () => Dimension;
|
|
172
|
-
sliderUpdateTimeout: number;
|
|
173
|
-
windowResizeTimeout: number;
|
|
174
|
-
disableSliderTimeout: boolean;
|
|
175
|
-
disableResizeTimeout: boolean;
|
|
176
|
-
hoverElementStyles?: JSX.CSSProperties;
|
|
177
|
-
bondWidth: number;
|
|
178
|
-
minTabHeight: number;
|
|
179
|
-
minTabWidth: number;
|
|
180
|
-
tabHeadHeight: number;
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
export declare interface UseDynamixLayoutResult {
|
|
184
|
-
layoutTree: LayoutTree | undefined;
|
|
185
|
-
tabs: string[];
|
|
186
|
-
setTabs: (tabs: string[]) => void;
|
|
187
|
-
setLayoutTree: (layoutTree: LayoutTree) => void;
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
export { }
|