@byeolnaerim/flex-layout 0.0.8 → 0.0.9

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 (127) hide show
  1. package/dist/flex-layout/components/FlexLayout.cjs +62 -28
  2. package/dist/flex-layout/components/FlexLayout.cjs.map +1 -1
  3. package/dist/flex-layout/components/FlexLayout.js +26 -11
  4. package/dist/flex-layout/components/FlexLayout.js.map +1 -1
  5. package/dist/flex-layout/components/FlexLayoutContainer.cjs +121 -55
  6. package/dist/flex-layout/components/FlexLayoutContainer.cjs.map +1 -1
  7. package/dist/flex-layout/components/FlexLayoutContainer.js +68 -25
  8. package/dist/flex-layout/components/FlexLayoutContainer.js.map +1 -1
  9. package/dist/flex-layout/components/FlexLayoutIFramePane.cjs +68 -0
  10. package/dist/flex-layout/components/FlexLayoutIFramePane.cjs.map +1 -0
  11. package/dist/flex-layout/components/FlexLayoutIFramePane.d.ts +4 -0
  12. package/dist/flex-layout/components/FlexLayoutIFramePane.js +44 -0
  13. package/dist/flex-layout/components/FlexLayoutIFramePane.js.map +1 -0
  14. package/dist/flex-layout/components/FlexLayoutResizePanel.cjs +96 -42
  15. package/dist/flex-layout/components/FlexLayoutResizePanel.cjs.map +1 -1
  16. package/dist/flex-layout/components/FlexLayoutResizePanel.d.ts +1 -1
  17. package/dist/flex-layout/components/FlexLayoutResizePanel.js +44 -14
  18. package/dist/flex-layout/components/FlexLayoutResizePanel.js.map +1 -1
  19. package/dist/flex-layout/components/FlexLayoutSplitScreen.cjs +184 -143
  20. package/dist/flex-layout/components/FlexLayoutSplitScreen.cjs.map +1 -1
  21. package/dist/flex-layout/components/FlexLayoutSplitScreen.js +71 -32
  22. package/dist/flex-layout/components/FlexLayoutSplitScreen.js.map +1 -1
  23. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBox.cjs +253 -60
  24. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBox.cjs.map +1 -1
  25. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBox.d.ts +1 -1
  26. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBox.js +215 -39
  27. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBox.js.map +1 -1
  28. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxContainer.cjs +40 -17
  29. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxContainer.cjs.map +1 -1
  30. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxContainer.js +7 -7
  31. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxContainer.js.map +1 -1
  32. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxItem.cjs +44 -21
  33. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxItem.cjs.map +1 -1
  34. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxItem.js +7 -8
  35. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxItem.js.map +1 -1
  36. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxTitleMore.cjs +40 -17
  37. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxTitleMore.cjs.map +1 -1
  38. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxTitleMore.js +5 -6
  39. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxTitleMore.js.map +1 -1
  40. package/dist/flex-layout/components/FlexLayoutSplitScreenScrollBox.cjs +53 -29
  41. package/dist/flex-layout/components/FlexLayoutSplitScreenScrollBox.cjs.map +1 -1
  42. package/dist/flex-layout/components/FlexLayoutSplitScreenScrollBox.js +14 -10
  43. package/dist/flex-layout/components/FlexLayoutSplitScreenScrollBox.js.map +1 -1
  44. package/dist/flex-layout/components/FlexLayoutStickyBox.cjs +46 -27
  45. package/dist/flex-layout/components/FlexLayoutStickyBox.cjs.map +1 -1
  46. package/dist/flex-layout/components/FlexLayoutStickyBox.d.ts +1 -0
  47. package/dist/flex-layout/components/FlexLayoutStickyBox.js +13 -8
  48. package/dist/flex-layout/components/FlexLayoutStickyBox.js.map +1 -1
  49. package/dist/flex-layout/components/index.cjs +54 -49
  50. package/dist/flex-layout/components/index.cjs.map +1 -1
  51. package/dist/flex-layout/components/index.js +16 -8
  52. package/dist/flex-layout/components/index.js.map +1 -1
  53. package/dist/flex-layout/hooks/index.cjs +23 -19
  54. package/dist/flex-layout/hooks/index.cjs.map +1 -1
  55. package/dist/flex-layout/hooks/index.js +2 -3
  56. package/dist/flex-layout/hooks/index.js.map +1 -1
  57. package/dist/flex-layout/hooks/useDrag.cjs +136 -79
  58. package/dist/flex-layout/hooks/useDrag.cjs.map +1 -1
  59. package/dist/flex-layout/hooks/useDrag.d.ts +5 -0
  60. package/dist/flex-layout/hooks/useDrag.js +86 -47
  61. package/dist/flex-layout/hooks/useDrag.js.map +1 -1
  62. package/dist/flex-layout/hooks/useFlexLayoutSplitScreen.cjs +40 -19
  63. package/dist/flex-layout/hooks/useFlexLayoutSplitScreen.cjs.map +1 -1
  64. package/dist/flex-layout/hooks/useFlexLayoutSplitScreen.js +9 -7
  65. package/dist/flex-layout/hooks/useFlexLayoutSplitScreen.js.map +1 -1
  66. package/dist/flex-layout/hooks/useListPaging.cjs +68 -35
  67. package/dist/flex-layout/hooks/useListPaging.cjs.map +1 -1
  68. package/dist/flex-layout/hooks/useListPaging.js +34 -18
  69. package/dist/flex-layout/hooks/useListPaging.js.map +1 -1
  70. package/dist/flex-layout/hooks/useSizes.cjs +45 -23
  71. package/dist/flex-layout/hooks/useSizes.cjs.map +1 -1
  72. package/dist/flex-layout/hooks/useSizes.js +6 -6
  73. package/dist/flex-layout/hooks/useSizes.js.map +1 -1
  74. package/dist/flex-layout/index.cjs +29 -40
  75. package/dist/flex-layout/index.cjs.map +1 -1
  76. package/dist/flex-layout/index.js +5 -6
  77. package/dist/flex-layout/index.js.map +1 -1
  78. package/dist/flex-layout/providers/FlexLayoutContext.cjs +35 -12
  79. package/dist/flex-layout/providers/FlexLayoutContext.cjs.map +1 -1
  80. package/dist/flex-layout/providers/FlexLayoutContext.js +7 -6
  81. package/dist/flex-layout/providers/FlexLayoutContext.js.map +1 -1
  82. package/dist/flex-layout/providers/FlexLayoutHooks.cjs +82 -53
  83. package/dist/flex-layout/providers/FlexLayoutHooks.cjs.map +1 -1
  84. package/dist/flex-layout/providers/FlexLayoutHooks.js +33 -8
  85. package/dist/flex-layout/providers/FlexLayoutHooks.js.map +1 -1
  86. package/dist/flex-layout/providers/index.cjs +21 -12
  87. package/dist/flex-layout/providers/index.cjs.map +1 -1
  88. package/dist/flex-layout/providers/index.js +1 -2
  89. package/dist/flex-layout/providers/index.js.map +1 -1
  90. package/dist/flex-layout/store/FlexLayoutContainerStore.cjs +130 -76
  91. package/dist/flex-layout/store/FlexLayoutContainerStore.cjs.map +1 -1
  92. package/dist/flex-layout/store/FlexLayoutContainerStore.d.ts +1 -0
  93. package/dist/flex-layout/store/FlexLayoutContainerStore.js +63 -38
  94. package/dist/flex-layout/store/FlexLayoutContainerStore.js.map +1 -1
  95. package/dist/flex-layout/store/index.cjs +21 -12
  96. package/dist/flex-layout/store/index.cjs.map +1 -1
  97. package/dist/flex-layout/store/index.js +1 -2
  98. package/dist/flex-layout/store/index.js.map +1 -1
  99. package/dist/flex-layout/types/FlexDirectionTypes.cjs +16 -3
  100. package/dist/flex-layout/types/FlexDirectionTypes.cjs.map +1 -1
  101. package/dist/flex-layout/types/FlexDirectionTypes.js +0 -2
  102. package/dist/flex-layout/types/FlexDirectionTypes.js.map +1 -1
  103. package/dist/flex-layout/types/FlexLayoutTypes.cjs +16 -3
  104. package/dist/flex-layout/types/FlexLayoutTypes.cjs.map +1 -1
  105. package/dist/flex-layout/types/FlexLayoutTypes.d.ts +1 -3
  106. package/dist/flex-layout/types/FlexLayoutTypes.js +0 -2
  107. package/dist/flex-layout/types/FlexLayoutTypes.js.map +1 -1
  108. package/dist/flex-layout/utils/FlexLayoutUtils.cjs +57 -20
  109. package/dist/flex-layout/utils/FlexLayoutUtils.cjs.map +1 -1
  110. package/dist/flex-layout/utils/FlexLayoutUtils.d.ts +4 -4
  111. package/dist/flex-layout/utils/FlexLayoutUtils.js +23 -8
  112. package/dist/flex-layout/utils/FlexLayoutUtils.js.map +1 -1
  113. package/dist/flex-layout/utils/index.cjs +21 -12
  114. package/dist/flex-layout/utils/index.cjs.map +1 -1
  115. package/dist/flex-layout/utils/index.js +1 -2
  116. package/dist/flex-layout/utils/index.js.map +1 -1
  117. package/dist/index.cjs +21 -12
  118. package/dist/index.cjs.map +1 -1
  119. package/dist/index.js +1 -2
  120. package/dist/index.js.map +1 -1
  121. package/dist/metafile-cjs.json +1 -0
  122. package/dist/metafile-esm.json +1 -0
  123. package/dist/types/css.d.cjs +1 -3
  124. package/dist/types/css.d.cjs.map +1 -1
  125. package/dist/types/css.d.js +0 -2
  126. package/dist/types/css.d.js.map +1 -1
  127. package/package.json +5 -1
@@ -1,19 +1,33 @@
1
- import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
- import { useEffect, useState, useRef, cloneElement } from 'react';
3
- import { dropMovementEventSubject } from '../hooks/useDrag';
4
- import { useFlexLayoutSplitScreen } from '../hooks/useFlexLayoutSplitScreen';
5
- import { resetRootSplitScreen, getSplitScreen, setSplitScreen, getCurrentSplitScreenComponents, removeSplitScreenChild } from '../store/FlexLayoutContainerStore';
6
- import styles from '../styles/FlexLayout.module.css';
7
- import FlexLayout from './FlexLayout';
8
- import FlexLayoutContainer from './FlexLayoutContainer';
9
- import FlexLayoutSplitScreenDragBox from './FlexLayoutSplitScreenDragBox';
10
- import equal from 'fast-deep-equal';
11
- import { distinctUntilChanged, take } from 'rxjs';
12
- import FlexLayoutSplitScreenDragBoxContainer from './FlexLayoutSplitScreenDragBoxContainer';
13
- import FlexLayoutSplitScreenDragBoxItem from './FlexLayoutSplitScreenDragBoxItem';
14
- import FlexLayoutSplitScreenDragBoxTitleMore from './FlexLayoutSplitScreenDragBoxTitleMore';
15
- import FlexLayoutSplitScreenScrollBox from './FlexLayoutSplitScreenScrollBox';
16
-
1
+ "use client";
2
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
+ import {
4
+ cloneElement,
5
+ useEffect,
6
+ useRef,
7
+ useState
8
+ } from "react";
9
+ import {
10
+ dropMovementEventSubject
11
+ } from "../hooks/useDrag";
12
+ import { useFlexLayoutSplitScreen } from "../hooks/useFlexLayoutSplitScreen";
13
+ import {
14
+ getCurrentSplitScreenComponents,
15
+ getSplitScreen,
16
+ removeRootSplitScreen,
17
+ removeSplitScreenChild,
18
+ resetRootSplitScreen,
19
+ setSplitScreen
20
+ } from "../store/FlexLayoutContainerStore";
21
+ import styles from "../styles/FlexLayout.module.css";
22
+ import FlexLayout from "./FlexLayout";
23
+ import FlexLayoutContainer from "./FlexLayoutContainer";
24
+ import FlexLayoutSplitScreenDragBox from "./FlexLayoutSplitScreenDragBox";
25
+ import equal from "fast-deep-equal";
26
+ import { distinctUntilChanged, take } from "rxjs";
27
+ import FlexLayoutSplitScreenDragBoxContainer from "./FlexLayoutSplitScreenDragBoxContainer";
28
+ import FlexLayoutSplitScreenDragBoxItem from "./FlexLayoutSplitScreenDragBoxItem";
29
+ import FlexLayoutSplitScreenDragBoxTitleMore from "./FlexLayoutSplitScreenDragBoxTitleMore";
30
+ import FlexLayoutSplitScreenScrollBox from "./FlexLayoutSplitScreenScrollBox";
17
31
  function isOverDrop({
18
32
  x,
19
33
  y,
@@ -267,9 +281,9 @@ function FlexLayoutSplitScreen({
267
281
  });
268
282
  return () => {
269
283
  subscribe.unsubscribe();
270
- resetRootSplitScreen(layoutName);
284
+ removeRootSplitScreen(layoutName);
271
285
  };
272
- }, [layoutName]);
286
+ }, [layoutName, screenKey, navigationTitle, children, direction]);
273
287
  useEffect(() => {
274
288
  const subscribe = dropMovementEventSubject.pipe(
275
289
  distinctUntilChanged((prev, curr) => {
@@ -434,7 +448,7 @@ function FlexLayoutSplitScreen({
434
448
  containerName: `${targetContainerName}_${layoutName}_${orderName}`,
435
449
  component: targetComponent,
436
450
  dropDocumentOutsideOption: dropDocumentOutsideOption2,
437
- screenKey: centerDropTargetComponent[0].screenKey,
451
+ screenKey: dropTargetComponentEvent.screenKey,
438
452
  navigationTitle: navigationTitle2
439
453
  }
440
454
  ]
@@ -630,21 +644,26 @@ function FlexLayoutSplitScreenChild({
630
644
  const [isEmptyContent, setIsEmptyContent] = useState(false);
631
645
  const [activeIndex, setActiveIndex] = useState(0);
632
646
  const centerDropTargetComponentRef = useRef(centerDropTargetComponent);
647
+ const initialCenterRef = useRef(
648
+ initialCenterComponents ?? []
649
+ );
633
650
  const activeIndexRef = useRef(activeIndex);
634
651
  useEffect(() => {
635
- const subscribe = getSplitScreen(rootName, `${layoutName}=${screenKey}`).pipe(take(1)).subscribe((layoutInfo) => {
636
- setSplitScreen(rootName, `${layoutName}=${screenKey}`, {
637
- afterDropTargetComponent: layoutInfo?.afterDropTargetComponent || [],
638
- beforeDropTargetComponent: layoutInfo?.beforeDropTargetComponent || [],
639
- centerDropTargetComponent: layoutInfo?.centerDropTargetComponent || initialCenterComponents || [],
640
- direction: layoutInfo?.direction || direction
652
+ const storeKey = `${layoutName}=${screenKey}`;
653
+ const subscribe = getSplitScreen(rootName, storeKey).pipe(take(1)).subscribe((layoutInfo) => {
654
+ if (layoutInfo) return;
655
+ setSplitScreen(rootName, storeKey, {
656
+ afterDropTargetComponent: [],
657
+ beforeDropTargetComponent: [],
658
+ centerDropTargetComponent: initialCenterRef.current,
659
+ direction
641
660
  });
642
661
  });
643
662
  return () => {
644
- removeSplitScreenChild(rootName, layoutName);
663
+ removeSplitScreenChild(rootName, `${layoutName}=${screenKey}`);
645
664
  subscribe.unsubscribe();
646
665
  };
647
- }, [rootName, layoutName, initialCenterComponents]);
666
+ }, [rootName, layoutName, screenKey]);
648
667
  useEffect(() => {
649
668
  const subscribe = getSplitScreen(rootName, `${layoutName}=${screenKey}`).subscribe((layoutInfo) => {
650
669
  if (layoutInfo) {
@@ -673,6 +692,7 @@ function FlexLayoutSplitScreenChild({
673
692
  });
674
693
  return () => {
675
694
  subscribe.unsubscribe();
695
+ removeRootSplitScreen(layoutName);
676
696
  };
677
697
  }, [rootName, layoutName]);
678
698
  useEffect(() => {
@@ -1011,13 +1031,31 @@ function FlexLayoutSplitScreenChild({
1011
1031
  }
1012
1032
  setCenterDropTargetComponent(
1013
1033
  (prev) => {
1014
- const result = handleRemove(
1034
+ const next = handleRemove(
1015
1035
  prev,
1016
1036
  item.containerName,
1017
1037
  () => {
1018
1038
  }
1019
1039
  );
1020
- return result;
1040
+ const key = `${layoutName}=${screenKey}`;
1041
+ const current = getCurrentSplitScreenComponents(
1042
+ rootName,
1043
+ key
1044
+ ) || {
1045
+ afterDropTargetComponent,
1046
+ beforeDropTargetComponent,
1047
+ centerDropTargetComponent: prev,
1048
+ direction
1049
+ };
1050
+ setSplitScreen(
1051
+ rootName,
1052
+ key,
1053
+ {
1054
+ ...current,
1055
+ centerDropTargetComponent: next
1056
+ }
1057
+ );
1058
+ return next;
1021
1059
  }
1022
1060
  );
1023
1061
  }
@@ -1026,6 +1064,7 @@ function FlexLayoutSplitScreenChild({
1026
1064
  children: /* @__PURE__ */ jsx(
1027
1065
  FlexLayoutSplitScreenDragBox,
1028
1066
  {
1067
+ screenKey: item.screenKey,
1029
1068
  onClick: () => {
1030
1069
  setActiveIndex(
1031
1070
  index
@@ -1191,7 +1230,7 @@ function FlexLayoutSplitScreenChild({
1191
1230
  }
1192
1231
  ) });
1193
1232
  }
1194
-
1195
- export { FlexLayoutSplitScreen as default };
1196
- //# sourceMappingURL=FlexLayoutSplitScreen.js.map
1233
+ export {
1234
+ FlexLayoutSplitScreen as default
1235
+ };
1197
1236
  //# sourceMappingURL=FlexLayoutSplitScreen.js.map