@byeolnaerim/flex-layout 0.0.2 → 0.0.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 (61) hide show
  1. package/dist/FlexLayoutSplitScreenDragBox-eCtq4kLd.d.cts +31 -0
  2. package/dist/FlexLayoutSplitScreenDragBox-eCtq4kLd.d.ts +31 -0
  3. package/dist/chunk-3EDKZTM3.js +3 -0
  4. package/dist/chunk-3EDKZTM3.js.map +1 -0
  5. package/dist/chunk-5HWEFTNQ.js +176 -0
  6. package/dist/chunk-5HWEFTNQ.js.map +1 -0
  7. package/dist/chunk-7J5JUVZK.js +3 -0
  8. package/dist/chunk-7J5JUVZK.js.map +1 -0
  9. package/dist/chunk-CFQQ6ZDC.js +182 -0
  10. package/dist/chunk-CFQQ6ZDC.js.map +1 -0
  11. package/dist/chunk-JM3CZ5DU.js +238 -0
  12. package/dist/chunk-JM3CZ5DU.js.map +1 -0
  13. package/dist/chunk-PMTZFSP4.js +219 -0
  14. package/dist/chunk-PMTZFSP4.js.map +1 -0
  15. package/dist/chunk-UYI4Z27V.js +2432 -0
  16. package/dist/chunk-UYI4Z27V.js.map +1 -0
  17. package/dist/chunk-W4CNFJTK.js +197 -0
  18. package/dist/chunk-W4CNFJTK.js.map +1 -0
  19. package/dist/chunk-YIHCWXKY.js +3 -0
  20. package/dist/chunk-YIHCWXKY.js.map +1 -0
  21. package/dist/components.cjs +3048 -0
  22. package/dist/components.cjs.map +1 -0
  23. package/dist/components.css +471 -0
  24. package/dist/components.css.map +1 -0
  25. package/dist/components.d.cts +122 -0
  26. package/dist/components.d.ts +122 -0
  27. package/dist/components.js +7 -0
  28. package/dist/components.js.map +1 -0
  29. package/dist/hooks.cjs +425 -0
  30. package/dist/hooks.cjs.map +1 -0
  31. package/dist/hooks.d.cts +37 -0
  32. package/dist/hooks.d.ts +37 -0
  33. package/dist/hooks.js +5 -0
  34. package/dist/hooks.js.map +1 -0
  35. package/dist/index.cjs +2600 -1
  36. package/dist/index.cjs.map +1 -1
  37. package/dist/index.d.cts +10 -287
  38. package/dist/index.d.ts +10 -287
  39. package/dist/index.js +9 -814
  40. package/dist/index.js.map +1 -1
  41. package/dist/providers.cjs +411 -0
  42. package/dist/providers.cjs.map +1 -0
  43. package/dist/providers.d.cts +54 -0
  44. package/dist/providers.d.ts +54 -0
  45. package/dist/providers.js +6 -0
  46. package/dist/providers.js.map +1 -0
  47. package/dist/store.cjs +204 -0
  48. package/dist/store.cjs.map +1 -0
  49. package/dist/store.d.cts +67 -0
  50. package/dist/store.d.ts +67 -0
  51. package/dist/store.js +4 -0
  52. package/dist/store.js.map +1 -0
  53. package/dist/useDrag-CYQnhUFk.d.cts +108 -0
  54. package/dist/useDrag-DR01Ob3s.d.ts +108 -0
  55. package/dist/utils.cjs +209 -0
  56. package/dist/utils.cjs.map +1 -0
  57. package/dist/utils.d.cts +28 -0
  58. package/dist/utils.d.ts +28 -0
  59. package/dist/utils.js +4 -0
  60. package/dist/utils.js.map +1 -0
  61. package/package.json +25 -5
@@ -0,0 +1,108 @@
1
+ import { ReactElement, RefObject } from 'react';
2
+ import { BehaviorSubject, Subject } from 'rxjs';
3
+ import { D as DropDocumentOutsideOption } from './FlexLayoutSplitScreenDragBox-eCtq4kLd.cjs';
4
+
5
+ interface DragStateType {
6
+ isDragging: boolean;
7
+ isDrop: boolean;
8
+ navigationTitle?: string;
9
+ children?: ReactElement;
10
+ containerName: string;
11
+ x: number;
12
+ y: number;
13
+ dropDocumentOutsideOption?: DropDocumentOutsideOption;
14
+ dropEndCallback?: ({ x, y, containerName, }: {
15
+ x: number;
16
+ y: number;
17
+ containerName: string;
18
+ }) => void;
19
+ screenKey?: string;
20
+ customData?: Record<string, string | number | boolean | undefined>;
21
+ }
22
+ type PositionName = "centerBoundary" | "leftBoundary" | "rightBoundary" | "topBoundary" | "bottomBoundary";
23
+ interface DragStateResultType extends DragStateType {
24
+ positionName: PositionName;
25
+ isOver: boolean;
26
+ }
27
+ declare const dragState: Subject<DragStateType>;
28
+ declare const useDragCapture: (targetRef: RefObject<HTMLElement | null>) => DragStateResultType | null;
29
+ interface DropTargetComponent {
30
+ containerName: string;
31
+ component: ReactElement;
32
+ navigationTitle?: string;
33
+ dropDocumentOutsideOption?: DropDocumentOutsideOption;
34
+ screenKey: string;
35
+ }
36
+ type DropPositionOrderName = "before" | "center" | "after";
37
+ interface DropMovementEventType {
38
+ state: "remove" | "append" | "change";
39
+ targetParentLayoutName: string;
40
+ targetLayoutName: string;
41
+ targetContainerName: string;
42
+ targetComponent?: ReactElement;
43
+ nextContainerName?: string;
44
+ parentOrderName?: DropPositionOrderName;
45
+ orderName?: DropPositionOrderName;
46
+ x?: number;
47
+ y?: number;
48
+ dropEndCallback?: ({ x, y, containerName, }: {
49
+ x: number;
50
+ y: number;
51
+ containerName: string;
52
+ }) => void;
53
+ dropTargetComponentEvent?: DropTargetComponentEvent;
54
+ }
55
+ interface DropTargetComponentEvent extends Omit<DropTargetComponent, "containerName" | "component"> {
56
+ direction: "row" | "column";
57
+ }
58
+ declare const dropMovementEventSubject: Subject<DropMovementEventType>;
59
+ declare const allSplitScreenCount: BehaviorSubject<number>;
60
+ declare const useDragEvents: ({ isBlockingActiveInput, }: {
61
+ isBlockingActiveInput?: boolean;
62
+ }) => {
63
+ handleStart: ({ event: _event, dragStartCallback, }: {
64
+ event: React.MouseEvent | React.TouchEvent | Event;
65
+ dragStartCallback: ({ x, y }: {
66
+ x: number;
67
+ y: number;
68
+ }) => void;
69
+ }) => void;
70
+ handleMove: ({ event: _event, notDragCallback, dragStartCallback, moveingCallback, }: {
71
+ event: React.MouseEvent | React.TouchEvent | Event;
72
+ notDragCallback?: ({ x, y }: {
73
+ x: number;
74
+ y: number;
75
+ }) => void;
76
+ dragStartCallback: ({ x, y }: {
77
+ x: number;
78
+ y: number;
79
+ }) => void;
80
+ moveingCallback: ({ x, y }: {
81
+ x: number;
82
+ y: number;
83
+ }) => void;
84
+ }) => void;
85
+ handleEnd: ({ event: _event, dragEndCallback, }: {
86
+ event: React.MouseEvent | React.TouchEvent | Event;
87
+ dragEndCallback: ({ x, y }: {
88
+ x: number;
89
+ y: number;
90
+ }) => void;
91
+ }) => void;
92
+ };
93
+ type FolderEventType = {
94
+ type: "new" | "sort" | "title" | "delete" | "insert" | "update" | "next";
95
+ isFolder: boolean;
96
+ title: string;
97
+ sort?: number;
98
+ parentId?: string;
99
+ id?: string;
100
+ newData?: any;
101
+ };
102
+ declare const folderEventSubject: Subject<FolderEventType>;
103
+ declare const setFolderEvent: (newValue: FolderEventType) => void;
104
+ declare const useFolderEvent: () => {
105
+ folderEvent: FolderEventType | null;
106
+ };
107
+
108
+ export { type DragStateResultType as D, type FolderEventType as F, type PositionName as P, type DragStateType as a, type DropMovementEventType as b, type DropPositionOrderName as c, type DropTargetComponent as d, type DropTargetComponentEvent as e, allSplitScreenCount as f, dragState as g, dropMovementEventSubject as h, folderEventSubject as i, useDragEvents as j, useFolderEvent as k, setFolderEvent as s, useDragCapture as u };
@@ -0,0 +1,108 @@
1
+ import { ReactElement, RefObject } from 'react';
2
+ import { BehaviorSubject, Subject } from 'rxjs';
3
+ import { D as DropDocumentOutsideOption } from './FlexLayoutSplitScreenDragBox-eCtq4kLd.js';
4
+
5
+ interface DragStateType {
6
+ isDragging: boolean;
7
+ isDrop: boolean;
8
+ navigationTitle?: string;
9
+ children?: ReactElement;
10
+ containerName: string;
11
+ x: number;
12
+ y: number;
13
+ dropDocumentOutsideOption?: DropDocumentOutsideOption;
14
+ dropEndCallback?: ({ x, y, containerName, }: {
15
+ x: number;
16
+ y: number;
17
+ containerName: string;
18
+ }) => void;
19
+ screenKey?: string;
20
+ customData?: Record<string, string | number | boolean | undefined>;
21
+ }
22
+ type PositionName = "centerBoundary" | "leftBoundary" | "rightBoundary" | "topBoundary" | "bottomBoundary";
23
+ interface DragStateResultType extends DragStateType {
24
+ positionName: PositionName;
25
+ isOver: boolean;
26
+ }
27
+ declare const dragState: Subject<DragStateType>;
28
+ declare const useDragCapture: (targetRef: RefObject<HTMLElement | null>) => DragStateResultType | null;
29
+ interface DropTargetComponent {
30
+ containerName: string;
31
+ component: ReactElement;
32
+ navigationTitle?: string;
33
+ dropDocumentOutsideOption?: DropDocumentOutsideOption;
34
+ screenKey: string;
35
+ }
36
+ type DropPositionOrderName = "before" | "center" | "after";
37
+ interface DropMovementEventType {
38
+ state: "remove" | "append" | "change";
39
+ targetParentLayoutName: string;
40
+ targetLayoutName: string;
41
+ targetContainerName: string;
42
+ targetComponent?: ReactElement;
43
+ nextContainerName?: string;
44
+ parentOrderName?: DropPositionOrderName;
45
+ orderName?: DropPositionOrderName;
46
+ x?: number;
47
+ y?: number;
48
+ dropEndCallback?: ({ x, y, containerName, }: {
49
+ x: number;
50
+ y: number;
51
+ containerName: string;
52
+ }) => void;
53
+ dropTargetComponentEvent?: DropTargetComponentEvent;
54
+ }
55
+ interface DropTargetComponentEvent extends Omit<DropTargetComponent, "containerName" | "component"> {
56
+ direction: "row" | "column";
57
+ }
58
+ declare const dropMovementEventSubject: Subject<DropMovementEventType>;
59
+ declare const allSplitScreenCount: BehaviorSubject<number>;
60
+ declare const useDragEvents: ({ isBlockingActiveInput, }: {
61
+ isBlockingActiveInput?: boolean;
62
+ }) => {
63
+ handleStart: ({ event: _event, dragStartCallback, }: {
64
+ event: React.MouseEvent | React.TouchEvent | Event;
65
+ dragStartCallback: ({ x, y }: {
66
+ x: number;
67
+ y: number;
68
+ }) => void;
69
+ }) => void;
70
+ handleMove: ({ event: _event, notDragCallback, dragStartCallback, moveingCallback, }: {
71
+ event: React.MouseEvent | React.TouchEvent | Event;
72
+ notDragCallback?: ({ x, y }: {
73
+ x: number;
74
+ y: number;
75
+ }) => void;
76
+ dragStartCallback: ({ x, y }: {
77
+ x: number;
78
+ y: number;
79
+ }) => void;
80
+ moveingCallback: ({ x, y }: {
81
+ x: number;
82
+ y: number;
83
+ }) => void;
84
+ }) => void;
85
+ handleEnd: ({ event: _event, dragEndCallback, }: {
86
+ event: React.MouseEvent | React.TouchEvent | Event;
87
+ dragEndCallback: ({ x, y }: {
88
+ x: number;
89
+ y: number;
90
+ }) => void;
91
+ }) => void;
92
+ };
93
+ type FolderEventType = {
94
+ type: "new" | "sort" | "title" | "delete" | "insert" | "update" | "next";
95
+ isFolder: boolean;
96
+ title: string;
97
+ sort?: number;
98
+ parentId?: string;
99
+ id?: string;
100
+ newData?: any;
101
+ };
102
+ declare const folderEventSubject: Subject<FolderEventType>;
103
+ declare const setFolderEvent: (newValue: FolderEventType) => void;
104
+ declare const useFolderEvent: () => {
105
+ folderEvent: FolderEventType | null;
106
+ };
107
+
108
+ export { type DragStateResultType as D, type FolderEventType as F, type PositionName as P, type DragStateType as a, type DropMovementEventType as b, type DropPositionOrderName as c, type DropTargetComponent as d, type DropTargetComponentEvent as e, allSplitScreenCount as f, dragState as g, dropMovementEventSubject as h, folderEventSubject as i, useDragEvents as j, useFolderEvent as k, setFolderEvent as s, useDragCapture as u };
package/dist/utils.cjs ADDED
@@ -0,0 +1,209 @@
1
+ 'use strict';
2
+
3
+ // src/flex-layout/utils/FlexLayoutUtils.ts
4
+ function isDocumentOut({ x, y }) {
5
+ if (typeof window == "undefined") return;
6
+ const { innerWidth, innerHeight, scrollX, scrollY } = window;
7
+ return x < 0 || y < 0 || x > innerWidth + scrollX || y > innerHeight + scrollY;
8
+ }
9
+ var lastTouchEvent;
10
+ function getClientXy(event) {
11
+ let clientX;
12
+ let clientY;
13
+ if (window.MouseEvent && event instanceof window.MouseEvent) {
14
+ clientX = event.clientX;
15
+ clientY = event.clientY;
16
+ } else if (window.TouchEvent && event instanceof window.TouchEvent) {
17
+ const _event = event.touches.length == 0 ? lastTouchEvent : event;
18
+ clientX = _event.touches[0].clientX;
19
+ clientY = _event.touches[0].clientY;
20
+ lastTouchEvent = event;
21
+ } else {
22
+ return;
23
+ }
24
+ return { clientX, clientY };
25
+ }
26
+ function isOverMove(elementSize, elementMinSize) {
27
+ return Math.floor(elementSize) <= 0 || (isNaN(elementMinSize) ? false : elementMinSize >= Math.floor(elementSize));
28
+ }
29
+ function findNotCloseFlexContent(target, direction) {
30
+ if (!target) return target;
31
+ let _target = target;
32
+ const isCloseCheck = () => {
33
+ let grow = parseFloat(window.getComputedStyle(_target).flex.split(" ")[0]) || 0;
34
+ if (grow == 0) {
35
+ return true;
36
+ } else {
37
+ return false;
38
+ }
39
+ };
40
+ while (isCloseCheck()) {
41
+ let nextTarget = _target[direction]?.[direction];
42
+ _target = nextTarget;
43
+ if (!_target) {
44
+ break;
45
+ }
46
+ }
47
+ return _target;
48
+ }
49
+ function remain(flexContainerList) {
50
+ return new Promise((resolve) => {
51
+ let notGrowList = [];
52
+ let totalGrow = flexContainerList.reduce((t, e, i) => {
53
+ if (e.hasAttribute("data-grow") == false) {
54
+ notGrowList.push(e);
55
+ return t;
56
+ }
57
+ let grow = parseFloat(e.dataset.grow || "");
58
+ e.style.flex = `${grow} 1 0%`;
59
+ t -= grow;
60
+ return t;
61
+ }, flexContainerList.length);
62
+ if (notGrowList.length != 0) {
63
+ resize(notGrowList, totalGrow);
64
+ }
65
+ resolve(flexContainerList);
66
+ });
67
+ }
68
+ function resize(list, totalGrow) {
69
+ return new Promise((resolve) => {
70
+ let resizeWeight = totalGrow / list.length;
71
+ list.forEach((e) => {
72
+ e.dataset.grow = resizeWeight.toString();
73
+ e.style.flex = `${resizeWeight} 1 0%`;
74
+ });
75
+ resolve(resizeWeight);
76
+ });
77
+ }
78
+ function mathWeight(totalCount, totalGrow) {
79
+ return 1 + (totalGrow - totalCount) / totalCount;
80
+ }
81
+ function mathGrow(childSize, parentSize, containerCount) {
82
+ return containerCount * (childSize / parentSize);
83
+ }
84
+ function getGrow(growTarget) {
85
+ const target = growTarget instanceof Element ? growTarget : growTarget;
86
+ return parseFloat(target.style.flex.split(" ")[0]) || parseFloat(target.dataset.grow || "");
87
+ }
88
+ function closeFlex(resizeTarget, containers, {
89
+ isResize = false,
90
+ isDsiabledResizePanel = false,
91
+ sizeName
92
+ }) {
93
+ return new Promise((resolve) => {
94
+ if (!resizeTarget.hasAttribute("data-is_resize_panel")) ; else if (isDsiabledResizePanel) {
95
+ resizeTarget.dataset.is_resize_panel = "false";
96
+ }
97
+ resizeTarget.dataset.prev_grow = getGrow(resizeTarget).toString();
98
+ let notCloseList = containers.filter(
99
+ (e) => e.style.flex != "0 1 0%" && e != resizeTarget
100
+ );
101
+ let notCloseAndOpenTargetList = [...notCloseList, resizeTarget];
102
+ notCloseAndOpenTargetList.forEach((e) => {
103
+ e.style.transition = "flex 0.5s";
104
+ e.ontransitionend = (event) => {
105
+ if (event.propertyName != "flex-grow") {
106
+ return;
107
+ }
108
+ notCloseAndOpenTargetList.forEach(
109
+ (e2) => e2.style.transition = ""
110
+ );
111
+ e.ontransitionend = () => {
112
+ };
113
+ };
114
+ if (e == resizeTarget) {
115
+ e.dataset.grow = "0";
116
+ e.style.flex = `0 1 0%`;
117
+ return;
118
+ }
119
+ if (isResize) {
120
+ return;
121
+ }
122
+ let percent = getGrow(e) / containers.length;
123
+ if (notCloseList.length == 1) {
124
+ e.dataset.grow = containers.length.toString();
125
+ e.style.flex = `${containers.length} 1 0%`;
126
+ return;
127
+ }
128
+ e.dataset.grow = (containers.length * percent).toString();
129
+ e.style.flex = `${containers.length * percent} 1 0%`;
130
+ });
131
+ if (isResize) {
132
+ resize(notCloseList, containers.length);
133
+ }
134
+ resolve(resizeTarget);
135
+ });
136
+ }
137
+ function openFlex(resizeTarget, containers, {
138
+ isPrevSizeOpen = false,
139
+ isResize = false,
140
+ openGrowImportant = 0,
141
+ sizeName
142
+ }) {
143
+ return new Promise((resolve) => {
144
+ if (!resizeTarget.hasAttribute("data-is_resize_panel")) ; else if (resizeTarget.hasAttribute("data-is_resize_panel") && resizeTarget.dataset.is_resize_panel == "false") {
145
+ resizeTarget.dataset.is_resize_panel = "true";
146
+ }
147
+ let notCloseList = containers.filter(
148
+ (e) => e.style.flex != "0 1 0%" && e != resizeTarget
149
+ );
150
+ let notCloseAndOpenTargetList = [...notCloseList, resizeTarget];
151
+ let openTargetGrow = 1;
152
+ const sizeStyleName = "client" + sizeName.charAt(0).toUpperCase() + sizeName.substring(1);
153
+ const parentSize = sizeName && resizeTarget.parentElement && resizeTarget.parentElement[sizeStyleName] || 0;
154
+ if (isPrevSizeOpen && resizeTarget.hasAttribute("data-prev_grow")) {
155
+ openTargetGrow = parseFloat(resizeTarget.dataset.prev_grow || "1") || 1;
156
+ } else if (parentSize && parentSize !== 0) {
157
+ openTargetGrow = parentSize / notCloseList.length / (parentSize - 1) * containers.length;
158
+ } else {
159
+ openTargetGrow = 1;
160
+ }
161
+ if (openGrowImportant) {
162
+ openTargetGrow = openGrowImportant;
163
+ }
164
+ openTargetGrow = openTargetGrow === Infinity ? 1 : openTargetGrow;
165
+ notCloseAndOpenTargetList.forEach((e) => {
166
+ e.style.transition = "flex 0.5s";
167
+ e.ontransitionend = (event) => {
168
+ if (event.propertyName != "flex-grow") {
169
+ return;
170
+ }
171
+ notCloseAndOpenTargetList.forEach(
172
+ (e2) => e2.style.transition = ""
173
+ );
174
+ e.ontransitionend = () => {
175
+ };
176
+ };
177
+ if (e == resizeTarget) {
178
+ resizeTarget.dataset.grow = openTargetGrow.toString();
179
+ resizeTarget.style.flex = `${openTargetGrow} 1 0%`;
180
+ return;
181
+ }
182
+ if (isResize) {
183
+ return;
184
+ }
185
+ let grow = parentSize / notCloseList.length / (parentSize - 1) * (containers.length - openTargetGrow);
186
+ grow = grow === Infinity ? 1 : grow;
187
+ e.dataset.grow = grow.toString();
188
+ e.style.flex = `${grow} 1 0%`;
189
+ });
190
+ if (isResize) {
191
+ resize(notCloseAndOpenTargetList, containers.length);
192
+ }
193
+ resolve(openTargetGrow);
194
+ });
195
+ }
196
+
197
+ exports.closeFlex = closeFlex;
198
+ exports.findNotCloseFlexContent = findNotCloseFlexContent;
199
+ exports.getClientXy = getClientXy;
200
+ exports.getGrow = getGrow;
201
+ exports.isDocumentOut = isDocumentOut;
202
+ exports.isOverMove = isOverMove;
203
+ exports.mathGrow = mathGrow;
204
+ exports.mathWeight = mathWeight;
205
+ exports.openFlex = openFlex;
206
+ exports.remain = remain;
207
+ exports.resize = resize;
208
+ //# sourceMappingURL=utils.cjs.map
209
+ //# sourceMappingURL=utils.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flex-layout/utils/FlexLayoutUtils.ts"],"names":["e"],"mappings":"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","file":"utils.cjs","sourcesContent":["export function isDocumentOut({ x, y }: { x: number; y: number }) {\r\n if (typeof window == 'undefined') return;\r\n const { innerWidth, innerHeight, scrollX, scrollY } = window;\r\n\r\n return (\r\n x < 0 || y < 0 || x > innerWidth + scrollX || y > innerHeight + scrollY\r\n );\r\n}\r\n\r\nlet lastTouchEvent: globalThis.TouchEvent;\r\nexport function getClientXy(event: Event) {\r\n let clientX: number;\r\n let clientY: number;\r\n if (window.MouseEvent && event instanceof window.MouseEvent) {\r\n clientX = event.clientX;\r\n clientY = event.clientY;\r\n } else if (window.TouchEvent && event instanceof window.TouchEvent) {\r\n const _event = event.touches.length == 0 ? lastTouchEvent : event;\r\n clientX = _event!.touches[0].clientX;\r\n clientY = _event!.touches[0].clientY;\r\n lastTouchEvent = event;\r\n } else {\r\n return; // 해당 이벤트 타입이 MouseEvent나 TouchEvent가 아니라면 무시\r\n }\r\n return { clientX, clientY };\r\n}\r\n\r\nexport function isOverMove(elementSize: number, elementMinSize: number) {\r\n return (\r\n Math.floor(elementSize) <= 0 ||\r\n (isNaN(elementMinSize)\r\n ? false\r\n : elementMinSize >= Math.floor(elementSize))\r\n );\r\n}\r\n\r\nexport function findNotCloseFlexContent(\r\n target: HTMLElement | Element | null,\r\n direction: 'previousElementSibling' | 'nextElementSibling'\r\n) {\r\n if (!target) return target;\r\n let _target = target as HTMLElement;\r\n const isCloseCheck = () => {\r\n let grow =\r\n parseFloat(window.getComputedStyle(_target).flex.split(' ')[0]) ||\r\n 0;\r\n if (grow == 0) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n while (isCloseCheck()) {\r\n let nextTarget = _target[direction]?.[direction];\r\n _target = nextTarget as HTMLElement;\r\n if (!_target) {\r\n break;\r\n }\r\n }\r\n return _target as HTMLElement | HTMLDivElement | null;\r\n}\r\n\r\nexport function remain(flexContainerList: Array<HTMLElement>) {\r\n return new Promise(resolve => {\r\n let notGrowList: Array<HTMLElement> = [];\r\n let totalGrow = flexContainerList.reduce((t, e, i) => {\r\n if (e.hasAttribute('data-grow') == false) {\r\n notGrowList.push(e);\r\n return t;\r\n }\r\n let grow = parseFloat(e.dataset.grow || '');\r\n e.style.flex = `${grow} 1 0%`;\r\n t -= grow;\r\n return t;\r\n }, flexContainerList.length);\r\n\r\n if (notGrowList.length != 0) {\r\n resize(notGrowList, totalGrow);\r\n }\r\n\r\n resolve(flexContainerList);\r\n });\r\n}\r\n\r\nexport function resize(list: Array<HTMLElement>, totalGrow: number) {\r\n return new Promise(resolve => {\r\n // totalGrow 값을 리스트의 개수로 나누어 균등 할당\r\n let resizeWeight = totalGrow / list.length;\r\n list.forEach(e => {\r\n e.dataset.grow = resizeWeight.toString();\r\n e.style.flex = `${resizeWeight} 1 0%`;\r\n });\r\n resolve(resizeWeight);\r\n });\r\n}\r\n\r\nexport function mathWeight(totalCount: number, totalGrow: number) {\r\n return 1 + (totalGrow - totalCount) / totalCount;\r\n}\r\nexport function mathGrow(\r\n childSize: number,\r\n parentSize: number,\r\n containerCount: number\r\n) {\r\n return containerCount * (childSize / parentSize);\r\n}\r\n\r\nexport function getGrow(growTarget: HTMLElement | Element) {\r\n const target =\r\n growTarget instanceof Element\r\n ? (growTarget as HTMLElement)\r\n : growTarget;\r\n return (\r\n parseFloat(target.style.flex.split(' ')[0]) ||\r\n parseFloat(target.dataset.grow || '')\r\n );\r\n}\r\n\r\nexport function closeFlex(\r\n resizeTarget: HTMLElement,\r\n containers: HTMLElement[],\r\n {\r\n isResize = false,\r\n isDsiabledResizePanel = false,\r\n sizeName,\r\n }: {\r\n isResize?: boolean;\r\n isDsiabledResizePanel?: boolean;\r\n sizeName: 'width' | 'height';\r\n }\r\n) {\r\n return new Promise(resolve => {\r\n if (!resizeTarget.hasAttribute('data-is_resize_panel')) {\r\n // resolve(resizeTarget);\r\n // return;\r\n } else if (isDsiabledResizePanel) {\r\n resizeTarget.dataset.is_resize_panel = 'false';\r\n }\r\n\r\n resizeTarget.dataset.prev_grow = getGrow(resizeTarget).toString();\r\n\r\n let notCloseList = containers.filter(\r\n e => e.style.flex != '0 1 0%' && e != resizeTarget\r\n );\r\n let notCloseAndOpenTargetList = [...notCloseList, resizeTarget];\r\n //let resizeWeight = this.mathWeight(notCloseList, this.#forResizeList.length);\r\n notCloseAndOpenTargetList.forEach(e => {\r\n e.style.transition = 'flex 0.5s';\r\n e.ontransitionend = event => {\r\n if (event.propertyName != 'flex-grow') {\r\n return;\r\n }\r\n notCloseAndOpenTargetList.forEach(\r\n e => (e.style.transition = '')\r\n );\r\n //e.style.transition = '';\r\n e.ontransitionend = () => {};\r\n };\r\n\r\n if (e == resizeTarget) {\r\n e.dataset.grow = '0';\r\n e.style.flex = `0 1 0%`;\r\n return;\r\n }\r\n\r\n if (isResize) {\r\n return;\r\n }\r\n\r\n let percent = getGrow(e) / containers.length;\r\n //let percentWeight = this.#forResizeList.length * percent;\r\n //let remainWeight = resizeWeight * percent;\r\n if (notCloseList.length == 1) {\r\n e.dataset.grow = containers.length.toString();\r\n e.style.flex = `${containers.length} 1 0%`;\r\n return;\r\n }\r\n e.dataset.grow = (containers.length * percent).toString();\r\n e.style.flex = `${containers.length * percent} 1 0%`;\r\n });\r\n\r\n if (isResize) {\r\n resize(notCloseList, containers.length);\r\n }\r\n\r\n resolve(resizeTarget);\r\n });\r\n}\r\n\r\nexport function openFlex(\r\n resizeTarget: HTMLElement,\r\n containers: HTMLElement[],\r\n {\r\n isPrevSizeOpen = false,\r\n isResize = false,\r\n openGrowImportant = 0,\r\n sizeName,\r\n }: {\r\n isPrevSizeOpen?: boolean;\r\n isResize?: boolean;\r\n openGrowImportant?: number;\r\n sizeName?: 'width' | 'height'; // 유니언 타입으로 수정\r\n }\r\n) {\r\n return new Promise(resolve => {\r\n if (!resizeTarget.hasAttribute('data-is_resize_panel')) {\r\n // resolve(resizeTarget);\r\n // return;\r\n } else if (\r\n resizeTarget.hasAttribute('data-is_resize_panel') &&\r\n resizeTarget.dataset.is_resize_panel == 'false'\r\n ) {\r\n resizeTarget.dataset.is_resize_panel = 'true';\r\n }\r\n\r\n let notCloseList = containers.filter(\r\n e => e.style.flex != '0 1 0%' && e != resizeTarget\r\n );\r\n let notCloseAndOpenTargetList = [...notCloseList, resizeTarget];\r\n //let resizeWeight = this.mathWeight(notCloseAndOpenTargetList, this.#forResizeList.length);\r\n let openTargetGrow = 1;\r\n const sizeStyleName = ('client' +\r\n sizeName!.charAt(0).toUpperCase() +\r\n sizeName!.substring(1)) as 'clientHeight' | 'clientWidth';\r\n const parentSize =\r\n (sizeName &&\r\n resizeTarget.parentElement &&\r\n resizeTarget.parentElement[sizeStyleName]) ||\r\n 0;\r\n if (isPrevSizeOpen && resizeTarget.hasAttribute('data-prev_grow')) {\r\n openTargetGrow =\r\n parseFloat(resizeTarget.dataset.prev_grow || '1') || 1;\r\n //resizeTarget.removeAttribute('data-prev_grow');\r\n } else if (parentSize && parentSize !== 0) {\r\n openTargetGrow =\r\n (parentSize / notCloseList.length / (parentSize - 1)) *\r\n containers.length;\r\n } else {\r\n openTargetGrow = 1;\r\n }\r\n if (openGrowImportant) {\r\n openTargetGrow = openGrowImportant;\r\n }\r\n openTargetGrow = openTargetGrow === Infinity ? 1 : openTargetGrow;\r\n //notCloseList.forEach(e=>{\r\n notCloseAndOpenTargetList.forEach(e => {\r\n e.style.transition = 'flex 0.5s';\r\n e.ontransitionend = event => {\r\n if (event.propertyName != 'flex-grow') {\r\n return;\r\n }\r\n notCloseAndOpenTargetList.forEach(\r\n e => (e.style.transition = '')\r\n );\r\n //e.style.transition = '';\r\n e.ontransitionend = () => {};\r\n };\r\n\r\n if (e == resizeTarget) {\r\n resizeTarget.dataset.grow = openTargetGrow.toString();\r\n resizeTarget.style.flex = `${openTargetGrow} 1 0%`;\r\n return;\r\n }\r\n\r\n if (isResize) {\r\n return;\r\n }\r\n\r\n let grow =\r\n (parentSize / notCloseList.length / (parentSize - 1)) *\r\n (containers.length - openTargetGrow);\r\n grow = grow === Infinity ? 1 : grow;\r\n //let percent = getGrow(e) / totalGrow - openTargetGrow / totalGrow;\r\n e.dataset.grow = grow.toString();\r\n\r\n e.style.flex = `${grow} 1 0%`;\r\n });\r\n\r\n if (isResize) {\r\n resize(notCloseAndOpenTargetList, containers.length);\r\n }\r\n\r\n resolve(openTargetGrow);\r\n });\r\n}\r\n"]}
@@ -0,0 +1,28 @@
1
+ declare function isDocumentOut({ x, y }: {
2
+ x: number;
3
+ y: number;
4
+ }): boolean | undefined;
5
+ declare function getClientXy(event: Event): {
6
+ clientX: number;
7
+ clientY: number;
8
+ } | undefined;
9
+ declare function isOverMove(elementSize: number, elementMinSize: number): boolean;
10
+ declare function findNotCloseFlexContent(target: HTMLElement | Element | null, direction: 'previousElementSibling' | 'nextElementSibling'): HTMLElement | null;
11
+ declare function remain(flexContainerList: Array<HTMLElement>): Promise<unknown>;
12
+ declare function resize(list: Array<HTMLElement>, totalGrow: number): Promise<unknown>;
13
+ declare function mathWeight(totalCount: number, totalGrow: number): number;
14
+ declare function mathGrow(childSize: number, parentSize: number, containerCount: number): number;
15
+ declare function getGrow(growTarget: HTMLElement | Element): number;
16
+ declare function closeFlex(resizeTarget: HTMLElement, containers: HTMLElement[], { isResize, isDsiabledResizePanel, sizeName, }: {
17
+ isResize?: boolean;
18
+ isDsiabledResizePanel?: boolean;
19
+ sizeName: 'width' | 'height';
20
+ }): Promise<unknown>;
21
+ declare function openFlex(resizeTarget: HTMLElement, containers: HTMLElement[], { isPrevSizeOpen, isResize, openGrowImportant, sizeName, }: {
22
+ isPrevSizeOpen?: boolean;
23
+ isResize?: boolean;
24
+ openGrowImportant?: number;
25
+ sizeName?: 'width' | 'height';
26
+ }): Promise<unknown>;
27
+
28
+ export { closeFlex, findNotCloseFlexContent, getClientXy, getGrow, isDocumentOut, isOverMove, mathGrow, mathWeight, openFlex, remain, resize };
@@ -0,0 +1,28 @@
1
+ declare function isDocumentOut({ x, y }: {
2
+ x: number;
3
+ y: number;
4
+ }): boolean | undefined;
5
+ declare function getClientXy(event: Event): {
6
+ clientX: number;
7
+ clientY: number;
8
+ } | undefined;
9
+ declare function isOverMove(elementSize: number, elementMinSize: number): boolean;
10
+ declare function findNotCloseFlexContent(target: HTMLElement | Element | null, direction: 'previousElementSibling' | 'nextElementSibling'): HTMLElement | null;
11
+ declare function remain(flexContainerList: Array<HTMLElement>): Promise<unknown>;
12
+ declare function resize(list: Array<HTMLElement>, totalGrow: number): Promise<unknown>;
13
+ declare function mathWeight(totalCount: number, totalGrow: number): number;
14
+ declare function mathGrow(childSize: number, parentSize: number, containerCount: number): number;
15
+ declare function getGrow(growTarget: HTMLElement | Element): number;
16
+ declare function closeFlex(resizeTarget: HTMLElement, containers: HTMLElement[], { isResize, isDsiabledResizePanel, sizeName, }: {
17
+ isResize?: boolean;
18
+ isDsiabledResizePanel?: boolean;
19
+ sizeName: 'width' | 'height';
20
+ }): Promise<unknown>;
21
+ declare function openFlex(resizeTarget: HTMLElement, containers: HTMLElement[], { isPrevSizeOpen, isResize, openGrowImportant, sizeName, }: {
22
+ isPrevSizeOpen?: boolean;
23
+ isResize?: boolean;
24
+ openGrowImportant?: number;
25
+ sizeName?: 'width' | 'height';
26
+ }): Promise<unknown>;
27
+
28
+ export { closeFlex, findNotCloseFlexContent, getClientXy, getGrow, isDocumentOut, isOverMove, mathGrow, mathWeight, openFlex, remain, resize };
package/dist/utils.js ADDED
@@ -0,0 +1,4 @@
1
+ import './chunk-7J5JUVZK.js';
2
+ export { closeFlex, findNotCloseFlexContent, getClientXy, getGrow, isDocumentOut, isOverMove, mathGrow, mathWeight, openFlex, remain, resize } from './chunk-W4CNFJTK.js';
3
+ //# sourceMappingURL=utils.js.map
4
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"utils.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@byeolnaerim/flex-layout",
3
- "version": "0.0.2",
3
+ "version": "0.0.4",
4
4
  "type": "module",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Joohyoung Kim (@oozu1994)",
@@ -43,10 +43,30 @@
43
43
  "import": "./dist/index.js",
44
44
  "require": "./dist/index.cjs"
45
45
  },
46
- "./next": {
47
- "types": "./dist/next.d.ts",
48
- "import": "./dist/next.js",
49
- "require": "./dist/next.cjs"
46
+ "./components": {
47
+ "types": "./dist/components.d.ts",
48
+ "import": "./dist/components.js",
49
+ "require": "./dist/components.cjs"
50
+ },
51
+ "./hooks": {
52
+ "types": "./dist/hooks.d.ts",
53
+ "import": "./dist/hooks.js",
54
+ "require": "./dist/hooks.cjs"
55
+ },
56
+ "./providers": {
57
+ "types": "./dist/providers.d.ts",
58
+ "import": "./dist/providers.js",
59
+ "require": "./dist/providers.cjs"
60
+ },
61
+ "./utils": {
62
+ "types": "./dist/utils.d.ts",
63
+ "import": "./dist/utils.js",
64
+ "require": "./dist/utils.cjs"
65
+ },
66
+ "./store": {
67
+ "types": "./dist/store.d.ts",
68
+ "import": "./dist/store.js",
69
+ "require": "./dist/store.cjs"
50
70
  }
51
71
  },
52
72
  "files": [