@byeolnaerim/flex-layout 0.0.8 → 0.0.10

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 (125) hide show
  1. package/dist/flex-layout/components/FlexLayout.cjs +1 -76
  2. package/dist/flex-layout/components/FlexLayout.js +1 -70
  3. package/dist/flex-layout/components/FlexLayoutContainer.cjs +1 -196
  4. package/dist/flex-layout/components/FlexLayoutContainer.js +1 -189
  5. package/dist/flex-layout/components/FlexLayoutIFramePane.cjs +1 -0
  6. package/dist/flex-layout/components/FlexLayoutIFramePane.d.ts +4 -0
  7. package/dist/flex-layout/components/FlexLayoutIFramePane.js +1 -0
  8. package/dist/flex-layout/components/FlexLayoutResizePanel.cjs +1 -192
  9. package/dist/flex-layout/components/FlexLayoutResizePanel.d.ts +1 -1
  10. package/dist/flex-layout/components/FlexLayoutResizePanel.js +1 -186
  11. package/dist/flex-layout/components/FlexLayoutSplitScreen.cjs +1 -1211
  12. package/dist/flex-layout/components/FlexLayoutSplitScreen.js +1 -1197
  13. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBox.cjs +1 -339
  14. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBox.d.ts +1 -1
  15. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBox.js +1 -333
  16. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxContainer.cjs +1 -32
  17. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxContainer.js +1 -25
  18. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxItem.cjs +1 -40
  19. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxItem.js +1 -34
  20. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxTitleMore.cjs +1 -30
  21. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxTitleMore.js +1 -24
  22. package/dist/flex-layout/components/FlexLayoutSplitScreenScrollBox.cjs +1 -109
  23. package/dist/flex-layout/components/FlexLayoutSplitScreenScrollBox.js +1 -103
  24. package/dist/flex-layout/components/FlexLayoutStickyBox.cjs +1 -226
  25. package/dist/flex-layout/components/FlexLayoutStickyBox.d.ts +1 -0
  26. package/dist/flex-layout/components/FlexLayoutStickyBox.js +1 -224
  27. package/dist/flex-layout/components/index.cjs +1 -52
  28. package/dist/flex-layout/components/index.js +1 -9
  29. package/dist/flex-layout/hooks/index.cjs +1 -21
  30. package/dist/flex-layout/hooks/index.js +1 -4
  31. package/dist/flex-layout/hooks/useDrag.cjs +1 -232
  32. package/dist/flex-layout/hooks/useDrag.d.ts +20 -0
  33. package/dist/flex-layout/hooks/useDrag.js +1 -219
  34. package/dist/flex-layout/hooks/useFlexLayoutSplitScreen.cjs +1 -118
  35. package/dist/flex-layout/hooks/useFlexLayoutSplitScreen.js +1 -116
  36. package/dist/flex-layout/hooks/useListPaging.cjs +1 -179
  37. package/dist/flex-layout/hooks/useListPaging.js +1 -175
  38. package/dist/flex-layout/hooks/useSizes.cjs +1 -104
  39. package/dist/flex-layout/hooks/useSizes.js +1 -101
  40. package/dist/flex-layout/index.cjs +1 -42
  41. package/dist/flex-layout/index.js +1 -7
  42. package/dist/flex-layout/providers/FlexLayoutContext.cjs +1 -26
  43. package/dist/flex-layout/providers/FlexLayoutContext.js +1 -23
  44. package/dist/flex-layout/providers/FlexLayoutHooks.cjs +1 -247
  45. package/dist/flex-layout/providers/FlexLayoutHooks.d.ts +5 -1
  46. package/dist/flex-layout/providers/FlexLayoutHooks.js +1 -238
  47. package/dist/flex-layout/providers/index.cjs +1 -14
  48. package/dist/flex-layout/providers/index.js +1 -3
  49. package/dist/flex-layout/store/FlexLayoutContainerStore.cjs +1 -203
  50. package/dist/flex-layout/store/FlexLayoutContainerStore.d.ts +1 -0
  51. package/dist/flex-layout/store/FlexLayoutContainerStore.js +1 -181
  52. package/dist/flex-layout/store/index.cjs +1 -14
  53. package/dist/flex-layout/store/index.js +1 -3
  54. package/dist/flex-layout/styles/FlexLayout.module.css +473 -416
  55. package/dist/flex-layout/types/FlexDirectionTypes.cjs +1 -4
  56. package/dist/flex-layout/types/FlexDirectionTypes.js +0 -3
  57. package/dist/flex-layout/types/FlexLayoutTypes.cjs +1 -4
  58. package/dist/flex-layout/types/FlexLayoutTypes.d.ts +1 -3
  59. package/dist/flex-layout/types/FlexLayoutTypes.js +0 -3
  60. package/dist/flex-layout/utils/FlexLayoutUtils.cjs +1 -208
  61. package/dist/flex-layout/utils/FlexLayoutUtils.d.ts +4 -4
  62. package/dist/flex-layout/utils/FlexLayoutUtils.js +1 -196
  63. package/dist/flex-layout/utils/index.cjs +1 -14
  64. package/dist/flex-layout/utils/index.js +1 -3
  65. package/dist/index.cjs +1 -14
  66. package/dist/index.js +1 -3
  67. package/dist/types/css.d.cjs +1 -4
  68. package/dist/types/css.d.js +0 -3
  69. package/package.json +116 -109
  70. package/dist/flex-layout/components/FlexLayout.cjs.map +0 -1
  71. package/dist/flex-layout/components/FlexLayout.js.map +0 -1
  72. package/dist/flex-layout/components/FlexLayoutContainer.cjs.map +0 -1
  73. package/dist/flex-layout/components/FlexLayoutContainer.js.map +0 -1
  74. package/dist/flex-layout/components/FlexLayoutResizePanel.cjs.map +0 -1
  75. package/dist/flex-layout/components/FlexLayoutResizePanel.js.map +0 -1
  76. package/dist/flex-layout/components/FlexLayoutSplitScreen.cjs.map +0 -1
  77. package/dist/flex-layout/components/FlexLayoutSplitScreen.js.map +0 -1
  78. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBox.cjs.map +0 -1
  79. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBox.js.map +0 -1
  80. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxContainer.cjs.map +0 -1
  81. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxContainer.js.map +0 -1
  82. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxItem.cjs.map +0 -1
  83. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxItem.js.map +0 -1
  84. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxTitleMore.cjs.map +0 -1
  85. package/dist/flex-layout/components/FlexLayoutSplitScreenDragBoxTitleMore.js.map +0 -1
  86. package/dist/flex-layout/components/FlexLayoutSplitScreenScrollBox.cjs.map +0 -1
  87. package/dist/flex-layout/components/FlexLayoutSplitScreenScrollBox.js.map +0 -1
  88. package/dist/flex-layout/components/FlexLayoutStickyBox.cjs.map +0 -1
  89. package/dist/flex-layout/components/FlexLayoutStickyBox.js.map +0 -1
  90. package/dist/flex-layout/components/index.cjs.map +0 -1
  91. package/dist/flex-layout/components/index.js.map +0 -1
  92. package/dist/flex-layout/hooks/index.cjs.map +0 -1
  93. package/dist/flex-layout/hooks/index.js.map +0 -1
  94. package/dist/flex-layout/hooks/useDrag.cjs.map +0 -1
  95. package/dist/flex-layout/hooks/useDrag.js.map +0 -1
  96. package/dist/flex-layout/hooks/useFlexLayoutSplitScreen.cjs.map +0 -1
  97. package/dist/flex-layout/hooks/useFlexLayoutSplitScreen.js.map +0 -1
  98. package/dist/flex-layout/hooks/useListPaging.cjs.map +0 -1
  99. package/dist/flex-layout/hooks/useListPaging.js.map +0 -1
  100. package/dist/flex-layout/hooks/useSizes.cjs.map +0 -1
  101. package/dist/flex-layout/hooks/useSizes.js.map +0 -1
  102. package/dist/flex-layout/index.cjs.map +0 -1
  103. package/dist/flex-layout/index.js.map +0 -1
  104. package/dist/flex-layout/providers/FlexLayoutContext.cjs.map +0 -1
  105. package/dist/flex-layout/providers/FlexLayoutContext.js.map +0 -1
  106. package/dist/flex-layout/providers/FlexLayoutHooks.cjs.map +0 -1
  107. package/dist/flex-layout/providers/FlexLayoutHooks.js.map +0 -1
  108. package/dist/flex-layout/providers/index.cjs.map +0 -1
  109. package/dist/flex-layout/providers/index.js.map +0 -1
  110. package/dist/flex-layout/store/FlexLayoutContainerStore.cjs.map +0 -1
  111. package/dist/flex-layout/store/FlexLayoutContainerStore.js.map +0 -1
  112. package/dist/flex-layout/store/index.cjs.map +0 -1
  113. package/dist/flex-layout/store/index.js.map +0 -1
  114. package/dist/flex-layout/types/FlexDirectionTypes.cjs.map +0 -1
  115. package/dist/flex-layout/types/FlexDirectionTypes.js.map +0 -1
  116. package/dist/flex-layout/types/FlexLayoutTypes.cjs.map +0 -1
  117. package/dist/flex-layout/types/FlexLayoutTypes.js.map +0 -1
  118. package/dist/flex-layout/utils/FlexLayoutUtils.cjs.map +0 -1
  119. package/dist/flex-layout/utils/FlexLayoutUtils.js.map +0 -1
  120. package/dist/flex-layout/utils/index.cjs.map +0 -1
  121. package/dist/flex-layout/utils/index.js.map +0 -1
  122. package/dist/index.cjs.map +0 -1
  123. package/dist/index.js.map +0 -1
  124. package/dist/types/css.d.cjs.map +0 -1
  125. package/dist/types/css.d.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/flex-layout/components/FlexLayoutSplitScreen.tsx"],"names":["cloneElement","dropMovementEventSubject","useFlexLayoutSplitScreen","useEffect","resetRootSplitScreen","getSplitScreen","setSplitScreen","distinctUntilChanged","children","equal","getCurrentSplitScreenComponents","navigationTitle","dropDocumentOutsideOption","jsxs","styles","FlexLayout","jsx","Fragment","screenKey","FlexLayoutContainer","FlexLayoutSplitScreenScrollBox","useState","useRef","take","removeSplitScreenChild","FlexLayoutSplitScreenDragBoxContainer","FlexLayoutSplitScreenDragBoxItem","FlexLayoutSplitScreenDragBox","FlexLayoutSplitScreenDragBoxTitleMore"],"mappings":"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","file":"FlexLayoutSplitScreen.cjs","sourcesContent":["\"use client\";\r\nimport {\r\n\tcloneElement,\r\n\tReactElement,\r\n\tRefObject,\r\n\tuseEffect,\r\n\tuseRef,\r\n\tuseState,\r\n} from \"react\";\r\nimport {\r\n\tdropMovementEventSubject,\r\n\tDropPositionOrderName,\r\n\tDropTargetComponent,\r\n} from \"../hooks/useDrag\";\r\nimport { useFlexLayoutSplitScreen } from \"../hooks/useFlexLayoutSplitScreen\";\r\nimport {\r\n\tgetCurrentSplitScreenComponents,\r\n\tgetSplitScreen,\r\n\tremoveSplitScreenChild,\r\n\tresetRootSplitScreen,\r\n\tsetSplitScreen,\r\n} from \"../store/FlexLayoutContainerStore\";\r\nimport styles from \"../styles/FlexLayout.module.css\";\r\nimport FlexLayout from \"./FlexLayout\";\r\nimport FlexLayoutContainer from \"./FlexLayoutContainer\";\r\nimport FlexLayoutSplitScreenDragBox, {\r\n\tDropDocumentOutsideOption,\r\n} from \"./FlexLayoutSplitScreenDragBox\";\r\n\r\nimport equal from \"fast-deep-equal\";\r\nimport { distinctUntilChanged, take } from \"rxjs\";\r\nimport FlexLayoutSplitScreenDragBoxContainer from \"./FlexLayoutSplitScreenDragBoxContainer\";\r\nimport FlexLayoutSplitScreenDragBoxItem from \"./FlexLayoutSplitScreenDragBoxItem\";\r\nimport FlexLayoutSplitScreenDragBoxTitleMore from \"./FlexLayoutSplitScreenDragBoxTitleMore\";\r\nimport FlexLayoutSplitScreenScrollBox from \"./FlexLayoutSplitScreenScrollBox\";\r\n\r\nfunction isOverDrop({\r\n\tx,\r\n\ty,\r\n\telement,\r\n}: {\r\n\tx: number;\r\n\ty: number;\r\n\telement: HTMLDivElement;\r\n}) {\r\n\tconst {\r\n\t\tx: elementX,\r\n\t\ty: elementY,\r\n\t\tright: elementRight,\r\n\t\tbottom: elementBottom,\r\n\t} = element.getBoundingClientRect();\r\n\tconst isElementOver =\r\n\t\tx < elementX || x > elementRight || y < elementY || y > elementBottom;\r\n\treturn isElementOver;\r\n}\r\nfunction isInnerDrop({\r\n\tx,\r\n\ty,\r\n\telement,\r\n}: {\r\n\tx: number;\r\n\ty: number;\r\n\telement: HTMLDivElement;\r\n}) {\r\n\tconst {\r\n\t\tx: elementX,\r\n\t\ty: elementY,\r\n\t\tright: elementRight,\r\n\t\tbottom: elementBottom,\r\n\t} = element.getBoundingClientRect();\r\n\tconst isElementInner =\r\n\t\tx >= elementX &&\r\n\t\tx <= elementRight &&\r\n\t\ty >= elementY &&\r\n\t\ty <= elementBottom;\r\n\treturn isElementInner;\r\n}\r\n\r\nconst handleUpdateDropTargetComponents = ({\r\n\torderName,\r\n\tparentOrderName,\r\n\tcontainerName,\r\n\tparentLayoutName,\r\n\tlayoutName,\r\n\tdropComponent,\r\n\tnavigationTitle,\r\n\tnextContainerName,\r\n\tisUsePrefix = true,\r\n\tbeforeDropTargetComponent,\r\n\tafterDropTargetComponent,\r\n\tcenterDropTargetComponent,\r\n\tdropDocumentOutsideOption,\r\n\tscreenKey = Array.from(\r\n\t\twindow.crypto.getRandomValues(new Uint32Array(16)),\r\n\t\t(e) => e.toString(32).padStart(2, \"0\"),\r\n\t).join(\"\"),\r\n}: {\r\n\torderName: DropPositionOrderName;\r\n\tparentOrderName?: DropPositionOrderName;\r\n\tcontainerName: string;\r\n\tparentLayoutName: string;\r\n\tlayoutName: string;\r\n\tdropComponent: ReactElement;\r\n\tnavigationTitle?: string;\r\n\tnextContainerName?: string;\r\n\tisUsePrefix?: boolean;\r\n\tbeforeDropTargetComponent: DropTargetComponent[];\r\n\tafterDropTargetComponent: DropTargetComponent[];\r\n\tcenterDropTargetComponent: DropTargetComponent[];\r\n\tdropDocumentOutsideOption?: DropDocumentOutsideOption;\r\n\tscreenKey?: string;\r\n}) => {\r\n\tconst nextContainerNameOrderName = parentOrderName\r\n\t\t? parentOrderName\r\n\t\t: orderName;\r\n\r\n\tlet listMap: Record<string, DropTargetComponent[]>;\r\n\tlet list: DropTargetComponent[];\r\n\tlet key: string;\r\n\tif (\r\n\t\tnextContainerNameOrderName === orderName ||\r\n\t\tnextContainerNameOrderName === \"center\"\r\n\t) {\r\n\t\tlistMap =\r\n\t\t\torderName === \"before\"\r\n\t\t\t\t? { beforeDropTargetComponent }\r\n\t\t\t\t: orderName === \"after\"\r\n\t\t\t\t\t? { afterDropTargetComponent }\r\n\t\t\t\t\t: {\r\n\t\t\t\t\t\t\tcenterDropTargetComponent:\r\n\t\t\t\t\t\t\t\tcenterDropTargetComponent.filter(\r\n\t\t\t\t\t\t\t\t\t(e) =>\r\n\t\t\t\t\t\t\t\t\t\t!e.containerName\r\n\t\t\t\t\t\t\t\t\t\t\t.split(\"_\")\r\n\t\t\t\t\t\t\t\t\t\t\t.at(0)!\r\n\t\t\t\t\t\t\t\t\t\t\t.startsWith(\r\n\t\t\t\t\t\t\t\t\t\t\t\tcontainerName.split(\"_\").at(0)!,\r\n\t\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t};\r\n\t} else {\r\n\t\tlistMap =\r\n\t\t\tnextContainerNameOrderName === \"before\"\r\n\t\t\t\t? { beforeDropTargetComponent }\r\n\t\t\t\t: { afterDropTargetComponent };\r\n\t}\r\n\tconst entries = Object.entries(listMap)[0];\r\n\tkey = entries[0];\r\n\tlist = entries[1];\r\n\t/*\r\n nextContainerNameOrderName이 after고 orderName이 before면 setAfterDropTargetComponent에서 nextContainerName의 뒤에 넣는다.\r\n nextContainerNameOrderName이 before고 orderName이 after면 setBeforeDropTargetComponent에서 nextContainerName 앞에 넣는다. \r\n nextContainerNameOrderName이 center고 orderName이 after면 리스트의 첫번째에 넣는다.\r\n nextContainerNameOrderName이 center고 orderName이 before면 리스트의 마지막에 넣는다.\r\n nextContainerNameOrderName === orderName가 같고 orderName이 after나 center면 list에서 nextContainerName 앞에 넣는다.\r\n nextContainerNameOrderName === orderName가 같고 orderName이 before면 list에서 nextContainerName 뒤에 넣는다.\r\n */\r\n\r\n\tconst newComponent = {\r\n\t\tcontainerName: `${containerName + \"_\" + layoutName}${isUsePrefix ? \"_\" + orderName + \"-\" + list.length : \"\"}`,\r\n\t\tcomponent: cloneElement(\r\n\t\t\tdropComponent as ReactElement<{ screenKey: string }>,\r\n\t\t\t{ key: screenKey, screenKey },\r\n\t\t),\r\n\t\tnavigationTitle,\r\n\t\tdropDocumentOutsideOption,\r\n\t\tscreenKey:\r\n\t\t\tscreenKey ||\r\n\t\t\tArray.from(\r\n\t\t\t\twindow.crypto.getRandomValues(new Uint32Array(16)),\r\n\t\t\t\t(e) => e.toString(32).padStart(2, \"0\"),\r\n\t\t\t).join(\"\"),\r\n\t};\r\n\tlet allComponents;\r\n\r\n\tif (nextContainerName) {\r\n\t\t// nextContainerName이 존재할 때\r\n\t\tconst index = list.findIndex(\r\n\t\t\t(item) => item.containerName === nextContainerName,\r\n\t\t);\r\n\t\tif (index !== -1) {\r\n\t\t\tif (nextContainerNameOrderName === orderName) {\r\n\t\t\t\tif (orderName === \"before\") {\r\n\t\t\t\t\t// nextContainerNameOrderName === orderName가 같고\r\n\t\t\t\t\t// orderName이 before면 list에서 nextContainerName 뒤에 넣는다.\r\n\t\t\t\t\tallComponents = [\r\n\t\t\t\t\t\t...list.slice(0, index),\r\n\t\t\t\t\t\tnewComponent,\r\n\t\t\t\t\t\t...list.slice(index),\r\n\t\t\t\t\t];\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// nextContainerNameOrderName === orderName가 같고\r\n\t\t\t\t\t// orderName이 after나 center면 list에서 nextContainerName 앞에 넣는다.\r\n\t\t\t\t\tallComponents = [\r\n\t\t\t\t\t\t...list.slice(0, index + 1),\r\n\t\t\t\t\t\tnewComponent,\r\n\t\t\t\t\t\t...list.slice(index + 1),\r\n\t\t\t\t\t];\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tif (\r\n\t\t\t\t\tnextContainerNameOrderName === \"after\" &&\r\n\t\t\t\t\torderName === \"before\"\r\n\t\t\t\t) {\r\n\t\t\t\t\t// nextContainerNameOrderName이 after고 orderName이 before면\r\n\t\t\t\t\t// setAfterDropTargetComponent에서 nextContainerName의 뒤에 넣는다.\r\n\t\t\t\t\tallComponents = [\r\n\t\t\t\t\t\t...list.slice(0, index),\r\n\t\t\t\t\t\tnewComponent,\r\n\t\t\t\t\t\t...list.slice(index),\r\n\t\t\t\t\t];\r\n\t\t\t\t} else if (\r\n\t\t\t\t\tnextContainerNameOrderName === \"before\" &&\r\n\t\t\t\t\torderName === \"after\"\r\n\t\t\t\t) {\r\n\t\t\t\t\t// nextContainerNameOrderName이 before고 orderName이 after면\r\n\t\t\t\t\t// setBeforeDropTargetComponent에서 nextContainerName 앞에 넣는다.\r\n\t\t\t\t\tallComponents = [\r\n\t\t\t\t\t\t...list.slice(0, index + 1),\r\n\t\t\t\t\t\tnewComponent,\r\n\t\t\t\t\t\t...list.slice(index + 1),\r\n\t\t\t\t\t];\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// 기타 경우 기존 로직 유지\r\n\t\t\t\t\tif (orderName === \"before\") {\r\n\t\t\t\t\t\tallComponents = [\r\n\t\t\t\t\t\t\t...list.slice(0, index),\r\n\t\t\t\t\t\t\tnewComponent,\r\n\t\t\t\t\t\t\t...list.slice(index),\r\n\t\t\t\t\t\t];\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tallComponents = [\r\n\t\t\t\t\t\t\t...list.slice(0, index + 1),\r\n\t\t\t\t\t\t\tnewComponent,\r\n\t\t\t\t\t\t\t...list.slice(index + 1),\r\n\t\t\t\t\t\t];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (\r\n\t\t\t\tnextContainerNameOrderName === \"center\" &&\r\n\t\t\t\torderName === \"after\"\r\n\t\t\t) {\r\n\t\t\t\t// nextContainerNameOrderName이 center고 orderName이 after면\r\n\t\t\t\t// setAfterDropTargetComponent에서 첫번째에 넣는다.\r\n\t\t\t\tallComponents = [newComponent, ...list];\r\n\t\t\t} else if (\r\n\t\t\t\tnextContainerNameOrderName === \"center\" &&\r\n\t\t\t\torderName === \"before\"\r\n\t\t\t) {\r\n\t\t\t\t// nextContainerNameOrderName이 center고 orderName이 before면\r\n\t\t\t\t// setBeforeDropTargetComponent에서 마지막에 넣는다.\r\n\r\n\t\t\t\tallComponents = [...list, newComponent];\r\n\t\t\t} else {\r\n\t\t\t\t// nextContainerName을 찾지 못했을 경우 기존 로직 유지\r\n\t\t\t\tallComponents =\r\n\t\t\t\t\torderName === \"before\"\r\n\t\t\t\t\t\t? [newComponent, ...list]\r\n\t\t\t\t\t\t: [...list, newComponent];\r\n\t\t\t}\r\n\t\t}\r\n\t} else {\r\n\t\t// nextContainerName이 존재하지 않을 때 기존 로직 유지\r\n\t\tallComponents =\r\n\t\t\torderName === \"before\"\r\n\t\t\t\t? [newComponent, ...list]\r\n\t\t\t\t: [...list, newComponent];\r\n\t}\r\n\r\n\tconst seen = new Set<string>();\r\n\r\n\tconst result = allComponents.filter((item) => {\r\n\t\tif (seen.has(item.containerName)) {\r\n\t\t\treturn false; // 이미 본 containerName은 제거\r\n\t\t}\r\n\t\tseen.add(item.containerName);\r\n\t\treturn true;\r\n\t});\r\n\tdropMovementEventSubject.next({\r\n\t\tstate: \"append\",\r\n\t\ttargetParentLayoutName: parentLayoutName,\r\n\t\ttargetLayoutName: layoutName,\r\n\t\ttargetContainerName: containerName,\r\n\t\torderName: orderName,\r\n\t});\r\n\treturn { [key]: result };\r\n};\r\n\r\nconst handleRemove = (\r\n\tlist: DropTargetComponent[],\r\n\ttargetContainerName: string,\r\n\torderNameSetter: (removeCount: number) => void,\r\n) => {\r\n\tconst result = list.filter((e) => e.containerName !== targetContainerName);\r\n\tif (result.length != list.length)\r\n\t\torderNameSetter(list.length - result.length);\r\n\treturn result;\r\n};\r\n\r\nfunction getAdjacentItem<T>(items: T[], currentIndex: number) {\r\n\tif (currentIndex + 1 < items.length) {\r\n\t\treturn {\r\n\t\t\tadjacentItem: items[currentIndex + 1],\r\n\t\t\tadjacentIndex: currentIndex + 1,\r\n\t\t};\r\n\t} else if (currentIndex - 1 >= 0) {\r\n\t\treturn {\r\n\t\t\tadjacentItem: items[currentIndex - 1],\r\n\t\t\tadjacentIndex: currentIndex - 1,\r\n\t\t};\r\n\t}\r\n\treturn { adjacentItem: null, adjacentIndex: currentIndex };\r\n}\r\n\r\nconst getSelfOrderName = (\r\n\tcontainerName: string,\r\n): DropPositionOrderName | undefined => {\r\n\tconst result = containerName\r\n\t\t.split(\"_\")\r\n\t\t.at(-1)\r\n\t\t?.split(\"-\")\r\n\t\t.at(0)\r\n\t\t?.split(\"=\")\r\n\t\t.at(0);\r\n\tif ([\"before\", \"center\", \"after\"].some((e) => e === result)) {\r\n\t\treturn result as DropPositionOrderName;\r\n\t} else {\r\n\t\treturn;\r\n\t}\r\n};\r\n\r\nexport type FlexLayoutSplitScreenProps = {\r\n\tlayoutName: string;\r\n\tcontainerName: string;\r\n\tchildren: ReactElement; //ComponentType | ReactElement;\r\n\tnavigationTitle: string;\r\n\tdropDocumentOutsideOption?: DropDocumentOutsideOption;\r\n\tscreenKey?: string;\r\n};\r\n\r\nexport default function FlexLayoutSplitScreen({\r\n\tchildren,\r\n\tcontainerName,\r\n\tlayoutName,\r\n\tnavigationTitle,\r\n\tdropDocumentOutsideOption,\r\n\tscreenKey,\r\n}: FlexLayoutSplitScreenProps) {\r\n\tconst {\r\n\t\tdirection,\r\n\t\tisSplit,\r\n\t\tboundaryContainerSize,\r\n\t\tafterDropTargetComponent,\r\n\t\tbeforeDropTargetComponent,\r\n\t\tcenterDropTargetComponent,\r\n\t\tsetAfterDropTargetComponent,\r\n\t\tsetBeforeDropTargetComponent,\r\n\t\tsetCenterDropTargetComponent,\r\n\t\tlayoutRef,\r\n\t\tsetIsSplit,\r\n\t\tsetDirection,\r\n\t} = useFlexLayoutSplitScreen({\r\n\t\tisSplitInitial: false,\r\n\t\tdirectionInitial: \"row\",\r\n\t\tselfContainerName: containerName,\r\n\t\tparentLayoutName: \"\",\r\n\t\tlayoutName: layoutName,\r\n\t});\r\n\r\n\tuseEffect(() => {\r\n\t\tresetRootSplitScreen(layoutName);\r\n\t\tconst subscribe = getSplitScreen(layoutName, layoutName)\r\n\t\t\t//.pipe(take(1))\r\n\t\t\t.subscribe((layoutInfo) => {\r\n\t\t\t\tif (layoutInfo) {\r\n\t\t\t\t\t// console.log(\r\n\t\t\t\t\t// 'layoutInfo:::',\r\n\t\t\t\t\t// layoutInfo,\r\n\t\t\t\t\t// layoutName,\r\n\t\t\t\t\t// containerName\r\n\t\t\t\t\t// );\r\n\t\t\t\t\tsetBeforeDropTargetComponent([\r\n\t\t\t\t\t\t...layoutInfo.beforeDropTargetComponent,\r\n\t\t\t\t\t]);\r\n\t\t\t\t\tsetAfterDropTargetComponent([\r\n\t\t\t\t\t\t...layoutInfo.afterDropTargetComponent,\r\n\t\t\t\t\t]);\r\n\t\t\t\t\tsetCenterDropTargetComponent([\r\n\t\t\t\t\t\t...layoutInfo.centerDropTargetComponent,\r\n\t\t\t\t\t]);\r\n\t\t\t\t\tsetDirection(layoutInfo.direction);\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tlayoutInfo.beforeDropTargetComponent.length !== 0 ||\r\n\t\t\t\t\t\tlayoutInfo.afterDropTargetComponent.length !== 0\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tsetIsSplit(true);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// const screenKey = Array.from(\r\n\t\t\t\t\t// window.crypto.getRandomValues(new Uint32Array(16)),\r\n\t\t\t\t\t// e => e.toString(32).padStart(2, '0')\r\n\t\t\t\t\t// ).join('');\r\n\t\t\t\t\tsetSplitScreen(layoutName, layoutName, {\r\n\t\t\t\t\t\tafterDropTargetComponent: [],\r\n\t\t\t\t\t\tbeforeDropTargetComponent: [],\r\n\t\t\t\t\t\tcenterDropTargetComponent: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tcontainerName,\r\n\t\t\t\t\t\t\t\tcomponent: children,\r\n\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\tscreenKey: screenKey\r\n\t\t\t\t\t\t\t\t\t? screenKey\r\n\t\t\t\t\t\t\t\t\t: Array.from(\r\n\t\t\t\t\t\t\t\t\t\t\twindow.crypto.getRandomValues(\r\n\t\t\t\t\t\t\t\t\t\t\t\tnew Uint32Array(16),\r\n\t\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\t\t(e) =>\r\n\t\t\t\t\t\t\t\t\t\t\t\te.toString(32).padStart(2, \"0\"),\r\n\t\t\t\t\t\t\t\t\t\t).join(\"\"),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t\tdirection: direction,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\treturn () => {\r\n\t\t\tsubscribe.unsubscribe();\r\n\t\t\tresetRootSplitScreen(layoutName);\r\n\t\t};\r\n\t}, [layoutName]);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst subscribe = dropMovementEventSubject\r\n\t\t\t.pipe(\r\n\t\t\t\tdistinctUntilChanged((prev, curr) => {\r\n\t\t\t\t\t// 이전 상태와 현재 상태를 비교하여 동일하면 필터링\r\n\t\t\t\t\tconst filterChildren = (obj: any) => {\r\n\t\t\t\t\t\t// 객체 복사 후 children 속성 제거\r\n\t\t\t\t\t\tconst {\r\n\t\t\t\t\t\t\tchildren,\r\n\t\t\t\t\t\t\tcomponent,\r\n\t\t\t\t\t\t\ttargetComponent,\r\n\t\t\t\t\t\t\tx,\r\n\t\t\t\t\t\t\ty,\r\n\t\t\t\t\t\t\t...rest\r\n\t\t\t\t\t\t} = obj || {};\r\n\t\t\t\t\t\treturn rest;\r\n\t\t\t\t\t};\r\n\t\t\t\t\treturn equal(filterChildren(prev), filterChildren(curr));\r\n\t\t\t\t}),\r\n\t\t\t)\r\n\t\t\t.subscribe((event) => {\r\n\t\t\t\tif (event.state === \"remove\") {\r\n\t\t\t\t\t// 렌더링 중에 바로 setRemoveContainerName을 호출하지 않고\r\n\t\t\t\t\t// requestAnimationFrame으로 감싸 렌더 후에 실행되도록 한다.\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tevent.targetParentLayoutName === layoutName ||\r\n\t\t\t\t\t\t(event.targetParentLayoutName === \"\" &&\r\n\t\t\t\t\t\t\tevent.targetLayoutName === layoutName)\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\trequestAnimationFrame(() => {\r\n\t\t\t\t\t\t\tlet removeCallback = (\r\n\t\t\t\t\t\t\t\tremoveOrderName: DropPositionOrderName,\r\n\t\t\t\t\t\t\t) => {\r\n\t\t\t\t\t\t\t\t// removeSplitScreenChild(\r\n\t\t\t\t\t\t\t\t// layoutName,\r\n\t\t\t\t\t\t\t\t// event.targetLayoutName\r\n\t\t\t\t\t\t\t\t// );\r\n\t\t\t\t\t\t\t\t//탭 이동이고 현재 활성화 된 탭인 경우\r\n\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\tevent.nextContainerName &&\r\n\t\t\t\t\t\t\t\t\tevent.dropTargetComponentEvent &&\r\n\t\t\t\t\t\t\t\t\tevent.targetComponent\r\n\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\tconst targetComponentsMap =\r\n\t\t\t\t\t\t\t\t\t\thandleUpdateDropTargetComponents({\r\n\t\t\t\t\t\t\t\t\t\t\torderName: removeOrderName,\r\n\t\t\t\t\t\t\t\t\t\t\tcontainerName:\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent.nextContainerName,\r\n\t\t\t\t\t\t\t\t\t\t\tparentLayoutName: \"\",\r\n\t\t\t\t\t\t\t\t\t\t\tlayoutName,\r\n\t\t\t\t\t\t\t\t\t\t\tdropComponent:\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent.targetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tnavigationTitle:\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent.dropTargetComponentEvent!\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t.navigationTitle!,\r\n\t\t\t\t\t\t\t\t\t\t\tisUsePrefix: true,\r\n\t\t\t\t\t\t\t\t\t\t\tafterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tbeforeDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\t\tscreenKey:\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent.dropTargetComponentEvent\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t.screenKey,\r\n\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tsetSplitScreen(layoutName, layoutName, {\r\n\t\t\t\t\t\t\t\t\t\t...(getCurrentSplitScreenComponents(\r\n\t\t\t\t\t\t\t\t\t\t\tlayoutName,\r\n\t\t\t\t\t\t\t\t\t\t\tlayoutName,\r\n\t\t\t\t\t\t\t\t\t\t) || {\r\n\t\t\t\t\t\t\t\t\t\t\tafterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tbeforeDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tdirection,\r\n\t\t\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t\t\t...targetComponentsMap,\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tPromise.resolve().then(\r\n\t\t\t\t\t\t\t\t\t\t() =>\r\n\t\t\t\t\t\t\t\t\t\t\tevent.dropEndCallback &&\r\n\t\t\t\t\t\t\t\t\t\t\tevent.dropEndCallback({\r\n\t\t\t\t\t\t\t\t\t\t\t\tx: event.x!,\r\n\t\t\t\t\t\t\t\t\t\t\t\ty: event.y!,\r\n\t\t\t\t\t\t\t\t\t\t\t\tcontainerName: containerName,\r\n\t\t\t\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\tconst currentComponents =\r\n\t\t\t\t\t\t\t\tgetCurrentSplitScreenComponents(\r\n\t\t\t\t\t\t\t\t\tlayoutName,\r\n\t\t\t\t\t\t\t\t\tlayoutName,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tconst afterList = handleRemove(\r\n\t\t\t\t\t\t\t\tcurrentComponents?.afterDropTargetComponent ||\r\n\t\t\t\t\t\t\t\t\tafterDropTargetComponent,\r\n\t\t\t\t\t\t\t\tevent.targetContainerName,\r\n\t\t\t\t\t\t\t\t() => removeCallback(\"after\"),\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tconst beforList = handleRemove(\r\n\t\t\t\t\t\t\t\tcurrentComponents?.beforeDropTargetComponent ||\r\n\t\t\t\t\t\t\t\t\tbeforeDropTargetComponent,\r\n\t\t\t\t\t\t\t\tevent.targetContainerName,\r\n\t\t\t\t\t\t\t\t() => removeCallback(\"before\"),\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tconst centerList = handleRemove(\r\n\t\t\t\t\t\t\t\tcurrentComponents?.centerDropTargetComponent ||\r\n\t\t\t\t\t\t\t\t\tcenterDropTargetComponent,\r\n\t\t\t\t\t\t\t\tevent.targetContainerName,\r\n\t\t\t\t\t\t\t\t() => removeCallback(\"center\"),\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tsetSplitScreen(layoutName, layoutName, {\r\n\t\t\t\t\t\t\t\tafterDropTargetComponent: afterList,\r\n\t\t\t\t\t\t\t\tbeforeDropTargetComponent: beforList,\r\n\t\t\t\t\t\t\t\tcenterDropTargetComponent: centerList,\r\n\t\t\t\t\t\t\t\tdirection,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t} else if (event.state === \"append\") {\r\n\t\t\t\t\tconst {\r\n\t\t\t\t\t\tx,\r\n\t\t\t\t\t\ty,\r\n\t\t\t\t\t\tdropEndCallback,\r\n\t\t\t\t\t\tdropTargetComponentEvent,\r\n\t\t\t\t\t\torderName,\r\n\t\t\t\t\t\tparentOrderName,\r\n\t\t\t\t\t\ttargetLayoutName,\r\n\t\t\t\t\t\ttargetParentLayoutName,\r\n\t\t\t\t\t\ttargetContainerName,\r\n\t\t\t\t\t\ttargetComponent,\r\n\t\t\t\t\t\tnextContainerName,\r\n\t\t\t\t\t} = event;\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tlayoutRef.current &&\r\n\t\t\t\t\t\torderName &&\r\n\t\t\t\t\t\tx &&\r\n\t\t\t\t\t\ty &&\r\n\t\t\t\t\t\ttargetComponent &&\r\n\t\t\t\t\t\tdropTargetComponentEvent &&\r\n\t\t\t\t\t\ttargetLayoutName === layoutName &&\r\n\t\t\t\t\t\tisInnerDrop({ x, y, element: layoutRef.current })\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tconst {\r\n\t\t\t\t\t\t\tdirection: dropDirection,\r\n\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t} = dropTargetComponentEvent;\r\n\r\n\t\t\t\t\t\tconst isOrderNameNotCenter = orderName !== \"center\";\r\n\t\t\t\t\t\tconst isOrderNameCenterAndFirstScreen =\r\n\t\t\t\t\t\t\torderName === \"center\" &&\r\n\t\t\t\t\t\t\tcenterDropTargetComponent.length <= 1;\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\tisOrderNameNotCenter ||\r\n\t\t\t\t\t\t\tisOrderNameCenterAndFirstScreen\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\tsetIsSplit(true);\r\n\t\t\t\t\t\t\tif (isOrderNameNotCenter) {\r\n\t\t\t\t\t\t\t\tsetDirection(dropDirection);\r\n\t\t\t\t\t\t\t\tconst targetComponentsMap =\r\n\t\t\t\t\t\t\t\t\thandleUpdateDropTargetComponents({\r\n\t\t\t\t\t\t\t\t\t\torderName,\r\n\t\t\t\t\t\t\t\t\t\tparentOrderName,\r\n\t\t\t\t\t\t\t\t\t\tcontainerName: targetContainerName,\r\n\t\t\t\t\t\t\t\t\t\tnextContainerName: nextContainerName,\r\n\t\t\t\t\t\t\t\t\t\tdropComponent: targetComponent,\r\n\t\t\t\t\t\t\t\t\t\tparentLayoutName: \"\",\r\n\t\t\t\t\t\t\t\t\t\tlayoutName,\r\n\t\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\t\tisUsePrefix: true,\r\n\t\t\t\t\t\t\t\t\t\tafterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\tbeforeDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t\t\tsetSplitScreen(layoutName, layoutName, {\r\n\t\t\t\t\t\t\t\t\t...{\r\n\t\t\t\t\t\t\t\t\t\tafterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\tbeforeDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\tdirection: dropDirection,\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t...targetComponentsMap,\r\n\t\t\t\t\t\t\t\t\t...{ direction: dropDirection },\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tPromise.resolve().then(\r\n\t\t\t\t\t\t\t\t\t() =>\r\n\t\t\t\t\t\t\t\t\t\tdropEndCallback &&\r\n\t\t\t\t\t\t\t\t\t\tdropEndCallback({\r\n\t\t\t\t\t\t\t\t\t\t\tx: event.x!,\r\n\t\t\t\t\t\t\t\t\t\t\ty: event.y!,\r\n\t\t\t\t\t\t\t\t\t\t\tcontainerName: containerName,\r\n\t\t\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tconst childScreenInfo =\r\n\t\t\t\t\t\t\t\t\tgetCurrentSplitScreenComponents(\r\n\t\t\t\t\t\t\t\t\t\tlayoutName,\r\n\t\t\t\t\t\t\t\t\t\t`${layoutName}_center=${centerDropTargetComponent[0].screenKey}`,\r\n\t\t\t\t\t\t\t\t\t) || {\r\n\t\t\t\t\t\t\t\t\t\tafterDropTargetComponent: [],\r\n\t\t\t\t\t\t\t\t\t\tbeforeDropTargetComponent: [],\r\n\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent: [],\r\n\t\t\t\t\t\t\t\t\t\tdirection,\r\n\t\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\tsetSplitScreen(\r\n\t\t\t\t\t\t\t\t\tlayoutName,\r\n\t\t\t\t\t\t\t\t\t`${layoutName}_center=${centerDropTargetComponent[0].screenKey}`,\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t...childScreenInfo,\r\n\t\t\t\t\t\t\t\t\t\t...{\r\n\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent: [\r\n\t\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[0],\r\n\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tcontainerName: `${targetContainerName}_${layoutName}_${orderName}`,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tcomponent: targetComponent!,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tscreenKey:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[0]\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.screenKey,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\treturn () => {\r\n\t\t\tsubscribe.unsubscribe();\r\n\t\t};\r\n\t}, [\r\n\t\tdirection,\r\n\t\tlayoutName,\r\n\t\tisSplit,\r\n\t\tbeforeDropTargetComponent,\r\n\t\tafterDropTargetComponent,\r\n\t\tcenterDropTargetComponent,\r\n\t]);\r\n\r\n\treturn (\r\n\t\t<div className={`${styles[\"flex-split-screen\"]}`} ref={layoutRef}>\r\n\t\t\t<FlexLayout\r\n\t\t\t\tdirection={direction}\r\n\t\t\t\tlayoutName={layoutName}\r\n\t\t\t\tdata-is_split={isSplit}\r\n\t\t\t\tpanelMovementMode=\"bulldozer\"\r\n\t\t\t>\r\n\t\t\t\t{beforeDropTargetComponent.length != 0 ? (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t{beforeDropTargetComponent.map(\r\n\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tcontainerName: cName,\r\n\t\t\t\t\t\t\t\t\tcomponent,\r\n\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\tscreenKey,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\ti,\r\n\t\t\t\t\t\t\t) => (\r\n\t\t\t\t\t\t\t\t<FlexLayoutContainer\r\n\t\t\t\t\t\t\t\t\tcontainerName={cName}\r\n\t\t\t\t\t\t\t\t\tisInitialResizable\r\n\t\t\t\t\t\t\t\t\tisResizePanel\r\n\t\t\t\t\t\t\t\t\tkey={cName}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<FlexLayoutSplitScreenChild\r\n\t\t\t\t\t\t\t\t\t\tparentDirection={direction}\r\n\t\t\t\t\t\t\t\t\t\tlayoutName={`${layoutName}_before`}\r\n\t\t\t\t\t\t\t\t\t\tparentLayoutName={layoutName}\r\n\t\t\t\t\t\t\t\t\t\tcontainerName={cName}\r\n\t\t\t\t\t\t\t\t\t\tdepth={1}\r\n\t\t\t\t\t\t\t\t\t\t//isSplit={isSplit}\r\n\t\t\t\t\t\t\t\t\t\trootRef={layoutRef}\r\n\t\t\t\t\t\t\t\t\t\tscreenKey={screenKey}\r\n\t\t\t\t\t\t\t\t\t\tinitialCenterComponents={[\r\n\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\t\t\t\tcomponent,\r\n\t\t\t\t\t\t\t\t\t\t\t\tcontainerName: cName,\r\n\t\t\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\t\t\tscreenKey,\r\n\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t]}\r\n\t\t\t\t\t\t\t\t\t\trootName={layoutName}\r\n\t\t\t\t\t\t\t\t\t></FlexLayoutSplitScreenChild>\r\n\t\t\t\t\t\t\t\t</FlexLayoutContainer>\r\n\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t</>\r\n\t\t\t\t) : (\r\n\t\t\t\t\t<div></div>\r\n\t\t\t\t)}\r\n\t\t\t\t{centerDropTargetComponent.length === 0 ? (\r\n\t\t\t\t\t<div></div>\r\n\t\t\t\t) : (\r\n\t\t\t\t\t<FlexLayoutContainer\r\n\t\t\t\t\t\tcontainerName={`${centerDropTargetComponent[0].containerName}`}\r\n\t\t\t\t\t\tisInitialResizable\r\n\t\t\t\t\t\tisResizePanel={isSplit}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{isSplit ? (\r\n\t\t\t\t\t\t\t<FlexLayoutSplitScreenChild\r\n\t\t\t\t\t\t\t\tparentDirection={direction}\r\n\t\t\t\t\t\t\t\tlayoutName={`${layoutName}_center`}\r\n\t\t\t\t\t\t\t\tparentLayoutName={layoutName}\r\n\t\t\t\t\t\t\t\tcontainerName={`${centerDropTargetComponent[0].containerName}`}\r\n\t\t\t\t\t\t\t\tdepth={0}\r\n\t\t\t\t\t\t\t\trootRef={layoutRef}\r\n\t\t\t\t\t\t\t\tscreenKey={\r\n\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[0].screenKey\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tinitialCenterComponents={[\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\tnavigationTitle:\r\n\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[0]\r\n\t\t\t\t\t\t\t\t\t\t\t\t.navigationTitle,\r\n\t\t\t\t\t\t\t\t\t\tcomponent:\r\n\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[0]\r\n\t\t\t\t\t\t\t\t\t\t\t\t.component,\r\n\t\t\t\t\t\t\t\t\t\tcontainerName:\r\n\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[0]\r\n\t\t\t\t\t\t\t\t\t\t\t\t.containerName,\r\n\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption:\r\n\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[0]\r\n\t\t\t\t\t\t\t\t\t\t\t\t.dropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\tscreenKey:\r\n\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[0]\r\n\t\t\t\t\t\t\t\t\t\t\t\t.screenKey,\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t]}\r\n\t\t\t\t\t\t\t\trootName={layoutName}\r\n\t\t\t\t\t\t\t></FlexLayoutSplitScreenChild>\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t<FlexLayoutSplitScreenScrollBox\r\n\t\t\t\t\t\t\t\tkeyName={\r\n\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[0].containerName\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tisDefaultScrollStyle={true}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{centerDropTargetComponent[0].component}\r\n\t\t\t\t\t\t\t</FlexLayoutSplitScreenScrollBox>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t</FlexLayoutContainer>\r\n\t\t\t\t)}\r\n\t\t\t\t{afterDropTargetComponent.length != 0 ? (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t{afterDropTargetComponent.map(\r\n\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tcontainerName: cName,\r\n\t\t\t\t\t\t\t\t\tcomponent,\r\n\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\tscreenKey,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\ti,\r\n\t\t\t\t\t\t\t) => (\r\n\t\t\t\t\t\t\t\t<FlexLayoutContainer\r\n\t\t\t\t\t\t\t\t\tcontainerName={cName}\r\n\t\t\t\t\t\t\t\t\tisInitialResizable\r\n\t\t\t\t\t\t\t\t\tisResizePanel={\r\n\t\t\t\t\t\t\t\t\t\tafterDropTargetComponent.length - 1 !==\r\n\t\t\t\t\t\t\t\t\t\ti\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tkey={cName}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<FlexLayoutSplitScreenChild\r\n\t\t\t\t\t\t\t\t\t\tparentDirection={direction}\r\n\t\t\t\t\t\t\t\t\t\tlayoutName={`${layoutName}_after`}\r\n\t\t\t\t\t\t\t\t\t\tparentLayoutName={layoutName}\r\n\t\t\t\t\t\t\t\t\t\tcontainerName={cName}\r\n\t\t\t\t\t\t\t\t\t\tdepth={1}\r\n\t\t\t\t\t\t\t\t\t\t//isSplit={isSplit}\r\n\t\t\t\t\t\t\t\t\t\trootRef={layoutRef}\r\n\t\t\t\t\t\t\t\t\t\tscreenKey={screenKey}\r\n\t\t\t\t\t\t\t\t\t\tinitialCenterComponents={[\r\n\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\t\t\t\tcomponent,\r\n\t\t\t\t\t\t\t\t\t\t\t\tcontainerName: cName,\r\n\t\t\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\t\t\tscreenKey,\r\n\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t]}\r\n\t\t\t\t\t\t\t\t\t\trootName={layoutName}\r\n\t\t\t\t\t\t\t\t\t></FlexLayoutSplitScreenChild>\r\n\t\t\t\t\t\t\t\t</FlexLayoutContainer>\r\n\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t</>\r\n\t\t\t\t) : (\r\n\t\t\t\t\t<div></div>\r\n\t\t\t\t)}\r\n\t\t\t</FlexLayout>\r\n\t\t\t{boundaryContainerSize && (\r\n\t\t\t\t<div\r\n\t\t\t\t\tclassName={`${styles[\"flex-split-screen-boundary-container\"]}`}\r\n\t\t\t\t\tstyle={{ ...boundaryContainerSize }}\r\n\t\t\t\t>\r\n\t\t\t\t\t⬇️드롭하면 화면이 분할됩니다.\r\n\t\t\t\t</div>\r\n\t\t\t)}\r\n\t\t</div>\r\n\t);\r\n}\r\n\r\nfunction FlexLayoutSplitScreenChild({\r\n\tcontainerName,\r\n\tlayoutName,\r\n\tparentLayoutName,\r\n\tparentDirection,\r\n\tdepth,\r\n\t//isSplit: isSplitInitial,\r\n\trootRef,\r\n\trootName,\r\n\tinitialCenterComponents,\r\n\tscreenKey,\r\n}: {\r\n\tlayoutName: string;\r\n\tparentLayoutName: string;\r\n\tcontainerName: string;\r\n\tparentDirection: \"row\" | \"column\";\r\n\tdepth: number;\r\n\t//isSplit: boolean;\r\n\trootRef: RefObject<HTMLDivElement | null>;\r\n\trootName: string;\r\n\tinitialCenterComponents?: DropTargetComponent[];\r\n\tscreenKey: string;\r\n}) {\r\n\t// const memoizedChildren = useMemo(\r\n\t// () => <MemoizedChildren>{children}</MemoizedChildren>,\r\n\t// [children]\r\n\t// );\r\n\tconst {\r\n\t\tdirection,\r\n\t\tisSplit,\r\n\t\tboundaryContainerSize,\r\n\t\tafterDropTargetComponent,\r\n\t\tbeforeDropTargetComponent,\r\n\t\tcenterDropTargetComponent,\r\n\t\tsetAfterDropTargetComponent,\r\n\t\tsetBeforeDropTargetComponent,\r\n\t\tsetCenterDropTargetComponent,\r\n\t\tlayoutRef,\r\n\t\tsetIsSplit,\r\n\t\tsetDirection,\r\n\t} = useFlexLayoutSplitScreen({\r\n\t\tisSplitInitial: false,\r\n\t\tdirectionInitial: \"row\",\r\n\t\tparentDirection,\r\n\t\tselfContainerName: containerName,\r\n\t\tparentLayoutName: parentLayoutName,\r\n\t\tlayoutName: layoutName,\r\n\t});\r\n\r\n\tconst [isEmptyContent, setIsEmptyContent] = useState<boolean>(false);\r\n\tconst [activeIndex, setActiveIndex] = useState<number>(0);\r\n\tconst centerDropTargetComponentRef = useRef(centerDropTargetComponent);\r\n\tconst activeIndexRef = useRef(activeIndex);\r\n\tuseEffect(() => {\r\n\t\tconst subscribe = getSplitScreen(rootName, `${layoutName}=${screenKey}`)\r\n\t\t\t.pipe(take(1))\r\n\t\t\t.subscribe((layoutInfo) => {\r\n\t\t\t\tsetSplitScreen(rootName, `${layoutName}=${screenKey}`, {\r\n\t\t\t\t\tafterDropTargetComponent:\r\n\t\t\t\t\t\tlayoutInfo?.afterDropTargetComponent || [],\r\n\t\t\t\t\tbeforeDropTargetComponent:\r\n\t\t\t\t\t\tlayoutInfo?.beforeDropTargetComponent || [],\r\n\t\t\t\t\tcenterDropTargetComponent:\r\n\t\t\t\t\t\tlayoutInfo?.centerDropTargetComponent ||\r\n\t\t\t\t\t\tinitialCenterComponents ||\r\n\t\t\t\t\t\t[],\r\n\t\t\t\t\tdirection: layoutInfo?.direction || direction,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\treturn () => {\r\n\t\t\tremoveSplitScreenChild(rootName, layoutName);\r\n\t\t\tsubscribe.unsubscribe();\r\n\t\t};\r\n\t}, [rootName, layoutName, initialCenterComponents]);\r\n\tuseEffect(() => {\r\n\t\tconst subscribe = getSplitScreen(rootName, `${layoutName}=${screenKey}`)\r\n\t\t\t//.pipe(take(1))\r\n\t\t\t.subscribe((layoutInfo) => {\r\n\t\t\t\tif (layoutInfo) {\r\n\t\t\t\t\t// console.log(\r\n\t\t\t\t\t// 'layoutInfo:::',\r\n\t\t\t\t\t// layoutInfo,\r\n\t\t\t\t\t// layoutName,\r\n\t\t\t\t\t// containerName\r\n\t\t\t\t\t// );\r\n\t\t\t\t\tsetBeforeDropTargetComponent([\r\n\t\t\t\t\t\t...layoutInfo.beforeDropTargetComponent,\r\n\t\t\t\t\t]);\r\n\t\t\t\t\tsetAfterDropTargetComponent([\r\n\t\t\t\t\t\t...layoutInfo.afterDropTargetComponent,\r\n\t\t\t\t\t]);\r\n\t\t\t\t\tsetCenterDropTargetComponent([\r\n\t\t\t\t\t\t...layoutInfo.centerDropTargetComponent,\r\n\t\t\t\t\t]);\r\n\t\t\t\t\tsetDirection(layoutInfo.direction);\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tlayoutInfo.beforeDropTargetComponent.length !== 0 ||\r\n\t\t\t\t\t\tlayoutInfo.afterDropTargetComponent.length !== 0\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tsetIsSplit(true);\r\n\t\t\t\t\t} else if (\r\n\t\t\t\t\t\tlayoutInfo.beforeDropTargetComponent.length === 0 &&\r\n\t\t\t\t\t\tlayoutInfo.centerDropTargetComponent.length === 0 &&\r\n\t\t\t\t\t\tlayoutInfo.afterDropTargetComponent.length === 0\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tdropMovementEventSubject.next({\r\n\t\t\t\t\t\t\tstate: \"remove\",\r\n\t\t\t\t\t\t\ttargetContainerName: containerName,\r\n\t\t\t\t\t\t\ttargetParentLayoutName: \"\",\r\n\t\t\t\t\t\t\ttargetLayoutName: parentLayoutName,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tsetIsEmptyContent(true);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\treturn () => {\r\n\t\t\tsubscribe.unsubscribe();\r\n\t\t};\r\n\t}, [rootName, layoutName]);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst subscribe = dropMovementEventSubject\r\n\t\t\t.pipe(\r\n\t\t\t\tdistinctUntilChanged((prev, curr) => {\r\n\t\t\t\t\t// 이전 상태와 현재 상태를 비교하여 동일하면 필터링\r\n\t\t\t\t\tconst filterChildren = (obj: any) => {\r\n\t\t\t\t\t\t// 객체 복사 후 children 속성 제거\r\n\t\t\t\t\t\tconst {\r\n\t\t\t\t\t\t\tchildren,\r\n\t\t\t\t\t\t\tcomponent,\r\n\t\t\t\t\t\t\ttargetComponent,\r\n\t\t\t\t\t\t\tx,\r\n\t\t\t\t\t\t\ty,\r\n\t\t\t\t\t\t\t...rest\r\n\t\t\t\t\t\t} = obj || {};\r\n\t\t\t\t\t\treturn rest;\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\treturn equal(filterChildren(prev), filterChildren(curr));\r\n\t\t\t\t}),\r\n\t\t\t)\r\n\t\t\t.subscribe((event) => {\r\n\t\t\t\tif (event.state === \"remove\") {\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tevent.targetParentLayoutName === layoutName ||\r\n\t\t\t\t\t\t(event.targetParentLayoutName === \"\" &&\r\n\t\t\t\t\t\t\tevent.targetLayoutName === layoutName)\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\trequestAnimationFrame(() => {\r\n\t\t\t\t\t\t\tlet removeCallback = (\r\n\t\t\t\t\t\t\t\tremoveOrderName: DropPositionOrderName,\r\n\t\t\t\t\t\t\t) => {\r\n\t\t\t\t\t\t\t\t// removeSplitScreenChild(\r\n\t\t\t\t\t\t\t\t// rootName,\r\n\t\t\t\t\t\t\t\t// event.targetLayoutName\r\n\t\t\t\t\t\t\t\t// );\r\n\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\tevent.nextContainerName &&\r\n\t\t\t\t\t\t\t\t\tevent.dropTargetComponentEvent &&\r\n\t\t\t\t\t\t\t\t\tevent.targetComponent\r\n\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\tconst targetComponentsMap =\r\n\t\t\t\t\t\t\t\t\t\thandleUpdateDropTargetComponents({\r\n\t\t\t\t\t\t\t\t\t\t\torderName: removeOrderName,\r\n\t\t\t\t\t\t\t\t\t\t\tcontainerName:\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent.nextContainerName,\r\n\t\t\t\t\t\t\t\t\t\t\tparentLayoutName,\r\n\t\t\t\t\t\t\t\t\t\t\tlayoutName,\r\n\t\t\t\t\t\t\t\t\t\t\tdropComponent:\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent.targetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tnavigationTitle:\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent.dropTargetComponentEvent\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t.navigationTitle!,\r\n\t\t\t\t\t\t\t\t\t\t\tisUsePrefix: true,\r\n\t\t\t\t\t\t\t\t\t\t\tafterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tbeforeDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption:\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent.dropTargetComponentEvent\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t?.dropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\t\tscreenKey:\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent.dropTargetComponentEvent\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t.screenKey,\r\n\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tsetSplitScreen(\r\n\t\t\t\t\t\t\t\t\t\trootName,\r\n\t\t\t\t\t\t\t\t\t\t`${layoutName}=${screenKey}`,\r\n\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t...(getCurrentSplitScreenComponents(\r\n\t\t\t\t\t\t\t\t\t\t\t\trootName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t`${layoutName}=${screenKey}`,\r\n\t\t\t\t\t\t\t\t\t\t\t) || {\r\n\t\t\t\t\t\t\t\t\t\t\t\tafterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\t\tbeforeDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\t\tdirection,\r\n\t\t\t\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t\t\t\t...targetComponentsMap,\r\n\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\tPromise.resolve().then(\r\n\t\t\t\t\t\t\t\t\t\t() =>\r\n\t\t\t\t\t\t\t\t\t\t\tevent.dropEndCallback &&\r\n\t\t\t\t\t\t\t\t\t\t\tevent.dropEndCallback({\r\n\t\t\t\t\t\t\t\t\t\t\t\tx: event.x!,\r\n\t\t\t\t\t\t\t\t\t\t\t\ty: event.y!,\r\n\t\t\t\t\t\t\t\t\t\t\t\tcontainerName: containerName,\r\n\t\t\t\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\tconst currentComponents =\r\n\t\t\t\t\t\t\t\tgetCurrentSplitScreenComponents(\r\n\t\t\t\t\t\t\t\t\trootName,\r\n\t\t\t\t\t\t\t\t\t`${layoutName}=${screenKey}`,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tconst afterList = handleRemove(\r\n\t\t\t\t\t\t\t\tcurrentComponents?.afterDropTargetComponent ||\r\n\t\t\t\t\t\t\t\t\tafterDropTargetComponent,\r\n\t\t\t\t\t\t\t\tevent.targetContainerName,\r\n\t\t\t\t\t\t\t\t() => removeCallback(\"after\"),\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tconst beforList = handleRemove(\r\n\t\t\t\t\t\t\t\tcurrentComponents?.beforeDropTargetComponent ||\r\n\t\t\t\t\t\t\t\t\tbeforeDropTargetComponent,\r\n\t\t\t\t\t\t\t\tevent.targetContainerName,\r\n\t\t\t\t\t\t\t\t() => removeCallback(\"before\"),\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tconst centerList = handleRemove(\r\n\t\t\t\t\t\t\t\tcurrentComponents?.centerDropTargetComponent ||\r\n\t\t\t\t\t\t\t\t\tcenterDropTargetComponent,\r\n\t\t\t\t\t\t\t\tevent.targetContainerName,\r\n\t\t\t\t\t\t\t\t() => removeCallback(\"center\"),\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tsetSplitScreen(\r\n\t\t\t\t\t\t\t\trootName,\r\n\t\t\t\t\t\t\t\t`${layoutName}=${screenKey}`,\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tafterDropTargetComponent: afterList,\r\n\t\t\t\t\t\t\t\t\tbeforeDropTargetComponent: beforList,\r\n\t\t\t\t\t\t\t\t\tcenterDropTargetComponent: centerList,\r\n\t\t\t\t\t\t\t\t\tdirection,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t} else if (event.state === \"append\") {\r\n\t\t\t\t\tconst {\r\n\t\t\t\t\t\tx,\r\n\t\t\t\t\t\ty,\r\n\t\t\t\t\t\tdropEndCallback,\r\n\t\t\t\t\t\tdropTargetComponentEvent,\r\n\t\t\t\t\t\torderName,\r\n\t\t\t\t\t\ttargetLayoutName,\r\n\t\t\t\t\t\ttargetParentLayoutName,\r\n\t\t\t\t\t\ttargetContainerName,\r\n\t\t\t\t\t\ttargetComponent,\r\n\t\t\t\t\t\tnextContainerName,\r\n\t\t\t\t\t\tparentOrderName,\r\n\t\t\t\t\t} = event;\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tlayoutRef.current &&\r\n\t\t\t\t\t\torderName &&\r\n\t\t\t\t\t\tx &&\r\n\t\t\t\t\t\ty &&\r\n\t\t\t\t\t\tdropTargetComponentEvent &&\r\n\t\t\t\t\t\tisInnerDrop({ x, y, element: layoutRef.current })\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tconst {\r\n\t\t\t\t\t\t\tdirection: dropDirection,\r\n\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\tscreenKey: containerScreenKey,\r\n\t\t\t\t\t\t} = dropTargetComponentEvent;\r\n\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t//orderName !== 'center' &&\r\n\t\t\t\t\t\t\ttargetLayoutName === layoutName &&\r\n\t\t\t\t\t\t\ttargetComponent\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t//드래그앤드롭으로 추가되었을 때\r\n\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\tdropDirection === parentDirection &&\r\n\t\t\t\t\t\t\t\torderName !== \"center\"\r\n\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\tdropMovementEventSubject.next({\r\n\t\t\t\t\t\t\t\t\tstate: \"append\",\r\n\t\t\t\t\t\t\t\t\ttargetContainerName: targetContainerName,\r\n\t\t\t\t\t\t\t\t\ttargetParentLayoutName: \"\",\r\n\t\t\t\t\t\t\t\t\ttargetLayoutName: parentLayoutName,\r\n\t\t\t\t\t\t\t\t\ttargetComponent: targetComponent,\r\n\t\t\t\t\t\t\t\t\tnextContainerName: containerName,\r\n\t\t\t\t\t\t\t\t\tparentOrderName:\r\n\t\t\t\t\t\t\t\t\t\tgetSelfOrderName(layoutName) ||\r\n\t\t\t\t\t\t\t\t\t\torderName,\r\n\t\t\t\t\t\t\t\t\torderName,\r\n\t\t\t\t\t\t\t\t\tx,\r\n\t\t\t\t\t\t\t\t\ty,\r\n\t\t\t\t\t\t\t\t\tdropEndCallback,\r\n\t\t\t\t\t\t\t\t\tdropTargetComponentEvent: {\r\n\t\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\tdirection: parentDirection,\r\n\t\t\t\t\t\t\t\t\t\tscreenKey,\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tif (orderName !== \"center\") {\r\n\t\t\t\t\t\t\t\t\tsetDirection(dropDirection);\r\n\t\t\t\t\t\t\t\t\tsetIsSplit(true);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tconst targetComponentsMap =\r\n\t\t\t\t\t\t\t\t\thandleUpdateDropTargetComponents({\r\n\t\t\t\t\t\t\t\t\t\torderName,\r\n\t\t\t\t\t\t\t\t\t\tparentOrderName,\r\n\t\t\t\t\t\t\t\t\t\tcontainerName: targetContainerName,\r\n\t\t\t\t\t\t\t\t\t\tnextContainerName: nextContainerName,\r\n\t\t\t\t\t\t\t\t\t\tparentLayoutName,\r\n\t\t\t\t\t\t\t\t\t\tlayoutName,\r\n\t\t\t\t\t\t\t\t\t\tdropComponent: targetComponent,\r\n\t\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\t\tisUsePrefix: orderName !== \"center\",\r\n\t\t\t\t\t\t\t\t\t\tafterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\tbeforeDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tsetSplitScreen(\r\n\t\t\t\t\t\t\t\t\trootName,\r\n\t\t\t\t\t\t\t\t\t`${layoutName}=${screenKey}`,\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t...(getCurrentSplitScreenComponents(\r\n\t\t\t\t\t\t\t\t\t\t\trootName,\r\n\t\t\t\t\t\t\t\t\t\t\t`${layoutName}=${screenKey}`,\r\n\t\t\t\t\t\t\t\t\t\t) || {\r\n\t\t\t\t\t\t\t\t\t\t\tafterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tbeforeDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tdirection,\r\n\t\t\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t\t\t...targetComponentsMap,\r\n\t\t\t\t\t\t\t\t\t\t...{ direction: dropDirection },\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tPromise.resolve().then(\r\n\t\t\t\t\t\t\t\t\t() =>\r\n\t\t\t\t\t\t\t\t\t\tevent.dropEndCallback &&\r\n\t\t\t\t\t\t\t\t\t\tevent.dropEndCallback({\r\n\t\t\t\t\t\t\t\t\t\t\tx: event.x!,\r\n\t\t\t\t\t\t\t\t\t\t\ty: event.y!,\r\n\t\t\t\t\t\t\t\t\t\t\tcontainerName: containerName,\r\n\t\t\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t//else if (dropDirection === direction) {\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t//console.log('1111:::', layoutName, parentLayoutName, event);\r\n\t\t\t\t//setRemoveContainerName(event.targetContainerName);\r\n\t\t\t});\r\n\t\treturn () => {\r\n\t\t\tsubscribe.unsubscribe();\r\n\t\t};\r\n\t}, [\r\n\t\tdirection,\r\n\t\tparentDirection,\r\n\t\tparentLayoutName,\r\n\t\tlayoutName,\r\n\t\tbeforeDropTargetComponent,\r\n\t\tafterDropTargetComponent,\r\n\t\tcenterDropTargetComponent,\r\n\t]);\r\n\r\n\tuseEffect(() => {\r\n\t\tcenterDropTargetComponentRef.current = centerDropTargetComponent;\r\n\t}, [centerDropTargetComponent]);\r\n\tuseEffect(() => {\r\n\t\tactiveIndexRef.current = activeIndex;\r\n\t}, [activeIndex]);\r\n\r\n\t// useEffect(() => {\r\n\t// const subscribe = getSplitScreen(\r\n\t// rootName,\r\n\t// `${layoutName}=${screenKey}`\r\n\t// ).subscribe(layoutInfo => {\r\n\t// if (\r\n\t// beforeDropTargetComponent.length === 0 &&\r\n\t// centerDropTargetComponent.length === 0 &&\r\n\t// afterDropTargetComponent.length === 0 &&\r\n\t// (layoutInfo?.beforeDropTargetComponent || []).length === 0 &&\r\n\t// (layoutInfo?.centerDropTargetComponent || []).length === 0 &&\r\n\t// (layoutInfo?.afterDropTargetComponent || []).length === 0\r\n\t// ) {\r\n\t// console.log(\r\n\t// 'remove ::: ',\r\n\t// parentLayoutName,\r\n\t// layoutName,\r\n\t// initialCenterComponents\r\n\t// );\r\n\t// dropMovementEventSubject.next({\r\n\t// state: 'remove',\r\n\t// targetContainerName: containerName,\r\n\t// targetParentLayoutName: '',\r\n\t// targetLayoutName: parentLayoutName,\r\n\t// });\r\n\t// setIsEmptyContent(true);\r\n\t// }\r\n\t// return () => {\r\n\t// subscribe.unsubscribe();\r\n\t// };\r\n\t// });\r\n\t// }, [\r\n\t// layoutName,\r\n\t// beforeDropTargetComponent,\r\n\t// afterDropTargetComponent,\r\n\t// centerDropTargetComponent,\r\n\t// ]);\r\n\tconst [isOnlyOneScreen, setIsOnlyOneScreen] = useState<boolean>(false);\r\n\t// useEffect(() => {\r\n\t// const subscribe = allSplitScreenCount.subscribe(allSplitScreenCount => {\r\n\t// setIsOnlyOneScreen(allSplitScreenCount === 1);\r\n\t// });\r\n\t// return () => subscribe.unsubscribe();\r\n\t// }, []);\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{!isEmptyContent && (\r\n\t\t\t\t<div\r\n\t\t\t\t\tclassName={`${styles[\"flex-split-screen\"]}`}\r\n\t\t\t\t\tref={layoutRef}\r\n\t\t\t\t>\r\n\t\t\t\t\t<FlexLayout\r\n\t\t\t\t\t\tdirection={direction}\r\n\t\t\t\t\t\tlayoutName={`${layoutName}`}\r\n\t\t\t\t\t\tpanelMovementMode=\"bulldozer\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{beforeDropTargetComponent.length != 0 ? (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t{beforeDropTargetComponent.map(\r\n\t\t\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\tcontainerName: cName,\r\n\t\t\t\t\t\t\t\t\t\t\tcomponent,\r\n\t\t\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\t\tscreenKey,\r\n\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\ti,\r\n\t\t\t\t\t\t\t\t\t) => (\r\n\t\t\t\t\t\t\t\t\t\t<FlexLayoutContainer\r\n\t\t\t\t\t\t\t\t\t\t\tcontainerName={cName}\r\n\t\t\t\t\t\t\t\t\t\t\tisInitialResizable\r\n\t\t\t\t\t\t\t\t\t\t\tisResizePanel\r\n\t\t\t\t\t\t\t\t\t\t\tkey={cName}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t<FlexLayoutSplitScreenChild\r\n\t\t\t\t\t\t\t\t\t\t\t\tparentDirection={direction}\r\n\t\t\t\t\t\t\t\t\t\t\t\tlayoutName={`${layoutName}_before-${depth}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\tparentLayoutName={layoutName}\r\n\t\t\t\t\t\t\t\t\t\t\t\tcontainerName={cName}\r\n\t\t\t\t\t\t\t\t\t\t\t\tdepth={depth + 1}\r\n\t\t\t\t\t\t\t\t\t\t\t\t//isSplit={isSplit}\r\n\t\t\t\t\t\t\t\t\t\t\t\trootRef={rootRef}\r\n\t\t\t\t\t\t\t\t\t\t\t\tscreenKey={screenKey}\r\n\t\t\t\t\t\t\t\t\t\t\t\tinitialCenterComponents={[\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcomponent,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontainerName: cName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tscreenKey,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t]}\r\n\t\t\t\t\t\t\t\t\t\t\t\trootName={rootName}\r\n\t\t\t\t\t\t\t\t\t\t\t></FlexLayoutSplitScreenChild>\r\n\t\t\t\t\t\t\t\t\t\t</FlexLayoutContainer>\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t</>\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t<div></div>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{centerDropTargetComponent.length != 0 ? (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t<FlexLayoutContainer\r\n\t\t\t\t\t\t\t\t\tcontainerName={`${(centerDropTargetComponent[activeIndex] || centerDropTargetComponent[0]).containerName}`}\r\n\t\t\t\t\t\t\t\t\tisInitialResizable\r\n\t\t\t\t\t\t\t\t\tisResizePanel={isSplit}\r\n\t\t\t\t\t\t\t\t\tkey={\r\n\t\t\t\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[\r\n\t\t\t\t\t\t\t\t\t\t\t\tactiveIndex\r\n\t\t\t\t\t\t\t\t\t\t\t] || centerDropTargetComponent[0]\r\n\t\t\t\t\t\t\t\t\t\t).containerName\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t{isSplit ? (\r\n\t\t\t\t\t\t\t\t\t\t<div data-key={screenKey}>\r\n\t\t\t\t\t\t\t\t\t\t\t<FlexLayoutSplitScreenChild\r\n\t\t\t\t\t\t\t\t\t\t\t\tparentDirection={direction}\r\n\t\t\t\t\t\t\t\t\t\t\t\tlayoutName={`${layoutName}_center-${depth}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\tparentLayoutName={layoutName}\r\n\t\t\t\t\t\t\t\t\t\t\t\tcontainerName={`${(centerDropTargetComponent[activeIndex] || centerDropTargetComponent[0]).containerName}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\tdepth={depth + 1}\r\n\t\t\t\t\t\t\t\t\t\t\t\trootRef={rootRef}\r\n\t\t\t\t\t\t\t\t\t\t\t\tinitialCenterComponents={centerDropTargetComponent.map(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcomponent,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontainerName: cName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tscreenKey:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcenterScreenKey,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}) => ({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcomponent,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontainerName: cName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tscreenKey:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcenterScreenKey,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\tscreenKey={screenKey}\r\n\t\t\t\t\t\t\t\t\t\t\t\trootName={rootName}\r\n\t\t\t\t\t\t\t\t\t\t\t></FlexLayoutSplitScreenChild>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t<FlexLayoutSplitScreenScrollBox\r\n\t\t\t\t\t\t\t\t\t\t\tkeyName={\r\n\t\t\t\t\t\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveIndex\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t] ||\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[0]\r\n\t\t\t\t\t\t\t\t\t\t\t\t).containerName\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\tisDefaultScrollStyle={true}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t{!isOnlyOneScreen && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={`${styles[\"flex-split-screen-drag-box-title-wrapper-sticky\"]}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata-is_split={isSplit}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata-layout_name={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayoutName\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata-parent_layout_name={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tparentLayoutName\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata-container_name={`${(centerDropTargetComponent[activeIndex] || centerDropTargetComponent[0]).containerName}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={`${styles[\"flex-split-screen-drag-box-title-wrapper\"]}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<FlexLayoutSplitScreenDragBoxContainer\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={layoutName}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata-layout_name={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayoutName\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayoutName={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayoutName\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{centerDropTargetComponent.map(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tindex,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<FlexLayoutSplitScreenDragBoxItem\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClose={(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tev,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveIndexRef.current ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tindex &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent.length ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdropMovementEventSubject.next(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstate: \"remove\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttargetContainerName:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontainerName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttargetParentLayoutName:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tparentLayoutName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttargetLayoutName:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayoutName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent.length ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveIndexRef.current +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetActiveIndex(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveIndexRef.current -\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetCenterDropTargetComponent(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tprev,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst result =\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleRemove(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tprev,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.containerName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t() => {},\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn result;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.navigationTitle +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayoutName +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.containerName\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisActive={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveIndex ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tindex\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<FlexLayoutSplitScreenDragBox\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetActiveIndex(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tindex,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontainerName={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.containerName\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.dropDocumentOutsideOption\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttargetComponent={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.component\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnavigationTitle={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.navigationTitle\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata-container-name={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.containerName\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata-layout-name={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayoutName\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata-parent-layout-name={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tparentLayoutName\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdropEndCallback={({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tx,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ty,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontainerName:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tappendContainerName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}) =>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t//isDroppedInValidArea: boolean\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t!rootRef.current ||\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t!layoutRef.current\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn;\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst isRootOver =\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisOverDrop(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tx,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ty,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telement:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trootRef.current,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst isLayoutInner =\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisInnerDrop(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tx,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ty,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telement:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayoutRef.current,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(!isRootOver &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t!isLayoutInner) ||\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(!isRootOver &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisLayoutInner &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponentRef\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.current\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.length >\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t1)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst option =\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{};\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponentRef\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.current\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.length >\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tadjacentItem,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tadjacentIndex,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t} =\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tgetAdjacentItem(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponentRef.current,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveIndexRef.current,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tadjacentItem &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveIndexRef.current ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tindex\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t//탭 이동이고 현재 활성화 된 탭인 경우우\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tObject.assign(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toption,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tx,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ty,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttargetComponent:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tadjacentItem.component,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnextContainerName:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tadjacentItem.containerName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\torderName:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"center\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdropTargetComponentEvent:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnavigationTitle:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tadjacentItem.navigationTitle,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tadjacentItem.dropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdirection:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdirection,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tscreenKey,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tindex ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t0\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t//이동하려는 탭이 첫번째일 때 (position = center)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdropMovementEventSubject.next(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstate: \"remove\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttargetContainerName:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.containerName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttargetParentLayoutName:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tparentLayoutName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttargetLayoutName:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayoutName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...option,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t//이동하려는 탭이 첫번째가 아닐 때 (position = center > center)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdropMovementEventSubject.next(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstate: \"remove\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttargetContainerName:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.containerName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttargetParentLayoutName:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttargetLayoutName:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayoutName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...option,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.navigationTitle\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</FlexLayoutSplitScreenDragBox>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</FlexLayoutSplitScreenDragBoxItem>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</FlexLayoutSplitScreenDragBoxContainer>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<FlexLayoutSplitScreenDragBoxTitleMore></FlexLayoutSplitScreenDragBoxTitleMore>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t{(() => {\r\n\t\t\t\t\t\t\t\t\t\t\t\tconst target =\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveIndex\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t] ||\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[0];\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn target.component;\r\n\t\t\t\t\t\t\t\t\t\t\t})()}\r\n\t\t\t\t\t\t\t\t\t\t</FlexLayoutSplitScreenScrollBox>\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t</FlexLayoutContainer>\r\n\t\t\t\t\t\t\t</>\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t<div></div>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{afterDropTargetComponent.length != 0 ? (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t{afterDropTargetComponent.map(\r\n\t\t\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\tcontainerName: cName,\r\n\t\t\t\t\t\t\t\t\t\t\tcomponent,\r\n\t\t\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\t\tscreenKey,\r\n\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\ti,\r\n\t\t\t\t\t\t\t\t\t) => (\r\n\t\t\t\t\t\t\t\t\t\t<FlexLayoutContainer\r\n\t\t\t\t\t\t\t\t\t\t\tcontainerName={cName}\r\n\t\t\t\t\t\t\t\t\t\t\tisInitialResizable\r\n\t\t\t\t\t\t\t\t\t\t\tisResizePanel={\r\n\t\t\t\t\t\t\t\t\t\t\t\ti !==\r\n\t\t\t\t\t\t\t\t\t\t\t\tafterDropTargetComponent.length -\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t1\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\tkey={cName}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t<FlexLayoutSplitScreenChild\r\n\t\t\t\t\t\t\t\t\t\t\t\tparentDirection={direction}\r\n\t\t\t\t\t\t\t\t\t\t\t\tlayoutName={`${layoutName}_after-${depth}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\tparentLayoutName={layoutName}\r\n\t\t\t\t\t\t\t\t\t\t\t\tcontainerName={cName}\r\n\t\t\t\t\t\t\t\t\t\t\t\tdepth={depth + 1}\r\n\t\t\t\t\t\t\t\t\t\t\t\t//isSplit={isSplit}\r\n\t\t\t\t\t\t\t\t\t\t\t\trootRef={rootRef}\r\n\t\t\t\t\t\t\t\t\t\t\t\tscreenKey={screenKey}\r\n\t\t\t\t\t\t\t\t\t\t\t\tinitialCenterComponents={[\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcomponent,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontainerName: cName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tscreenKey,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t]}\r\n\t\t\t\t\t\t\t\t\t\t\t\trootName={rootName}\r\n\t\t\t\t\t\t\t\t\t\t\t></FlexLayoutSplitScreenChild>\r\n\t\t\t\t\t\t\t\t\t\t</FlexLayoutContainer>\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t</>\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t<div></div>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t</FlexLayout>\r\n\t\t\t\t\t{boundaryContainerSize && (\r\n\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\tclassName={`${styles[\"flex-split-screen-boundary-container\"]}`}\r\n\t\t\t\t\t\t\tstyle={{ ...boundaryContainerSize }}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t⬇️드롭하면 화면이 분할됩니다.\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t)}\r\n\t\t\t\t</div>\r\n\t\t\t)}\r\n\t\t</>\r\n\t);\r\n}\r\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/flex-layout/components/FlexLayoutSplitScreen.tsx"],"names":["children","navigationTitle","dropDocumentOutsideOption","screenKey"],"mappings":"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","file":"FlexLayoutSplitScreen.js","sourcesContent":["\"use client\";\r\nimport {\r\n\tcloneElement,\r\n\tReactElement,\r\n\tRefObject,\r\n\tuseEffect,\r\n\tuseRef,\r\n\tuseState,\r\n} from \"react\";\r\nimport {\r\n\tdropMovementEventSubject,\r\n\tDropPositionOrderName,\r\n\tDropTargetComponent,\r\n} from \"../hooks/useDrag\";\r\nimport { useFlexLayoutSplitScreen } from \"../hooks/useFlexLayoutSplitScreen\";\r\nimport {\r\n\tgetCurrentSplitScreenComponents,\r\n\tgetSplitScreen,\r\n\tremoveSplitScreenChild,\r\n\tresetRootSplitScreen,\r\n\tsetSplitScreen,\r\n} from \"../store/FlexLayoutContainerStore\";\r\nimport styles from \"../styles/FlexLayout.module.css\";\r\nimport FlexLayout from \"./FlexLayout\";\r\nimport FlexLayoutContainer from \"./FlexLayoutContainer\";\r\nimport FlexLayoutSplitScreenDragBox, {\r\n\tDropDocumentOutsideOption,\r\n} from \"./FlexLayoutSplitScreenDragBox\";\r\n\r\nimport equal from \"fast-deep-equal\";\r\nimport { distinctUntilChanged, take } from \"rxjs\";\r\nimport FlexLayoutSplitScreenDragBoxContainer from \"./FlexLayoutSplitScreenDragBoxContainer\";\r\nimport FlexLayoutSplitScreenDragBoxItem from \"./FlexLayoutSplitScreenDragBoxItem\";\r\nimport FlexLayoutSplitScreenDragBoxTitleMore from \"./FlexLayoutSplitScreenDragBoxTitleMore\";\r\nimport FlexLayoutSplitScreenScrollBox from \"./FlexLayoutSplitScreenScrollBox\";\r\n\r\nfunction isOverDrop({\r\n\tx,\r\n\ty,\r\n\telement,\r\n}: {\r\n\tx: number;\r\n\ty: number;\r\n\telement: HTMLDivElement;\r\n}) {\r\n\tconst {\r\n\t\tx: elementX,\r\n\t\ty: elementY,\r\n\t\tright: elementRight,\r\n\t\tbottom: elementBottom,\r\n\t} = element.getBoundingClientRect();\r\n\tconst isElementOver =\r\n\t\tx < elementX || x > elementRight || y < elementY || y > elementBottom;\r\n\treturn isElementOver;\r\n}\r\nfunction isInnerDrop({\r\n\tx,\r\n\ty,\r\n\telement,\r\n}: {\r\n\tx: number;\r\n\ty: number;\r\n\telement: HTMLDivElement;\r\n}) {\r\n\tconst {\r\n\t\tx: elementX,\r\n\t\ty: elementY,\r\n\t\tright: elementRight,\r\n\t\tbottom: elementBottom,\r\n\t} = element.getBoundingClientRect();\r\n\tconst isElementInner =\r\n\t\tx >= elementX &&\r\n\t\tx <= elementRight &&\r\n\t\ty >= elementY &&\r\n\t\ty <= elementBottom;\r\n\treturn isElementInner;\r\n}\r\n\r\nconst handleUpdateDropTargetComponents = ({\r\n\torderName,\r\n\tparentOrderName,\r\n\tcontainerName,\r\n\tparentLayoutName,\r\n\tlayoutName,\r\n\tdropComponent,\r\n\tnavigationTitle,\r\n\tnextContainerName,\r\n\tisUsePrefix = true,\r\n\tbeforeDropTargetComponent,\r\n\tafterDropTargetComponent,\r\n\tcenterDropTargetComponent,\r\n\tdropDocumentOutsideOption,\r\n\tscreenKey = Array.from(\r\n\t\twindow.crypto.getRandomValues(new Uint32Array(16)),\r\n\t\t(e) => e.toString(32).padStart(2, \"0\"),\r\n\t).join(\"\"),\r\n}: {\r\n\torderName: DropPositionOrderName;\r\n\tparentOrderName?: DropPositionOrderName;\r\n\tcontainerName: string;\r\n\tparentLayoutName: string;\r\n\tlayoutName: string;\r\n\tdropComponent: ReactElement;\r\n\tnavigationTitle?: string;\r\n\tnextContainerName?: string;\r\n\tisUsePrefix?: boolean;\r\n\tbeforeDropTargetComponent: DropTargetComponent[];\r\n\tafterDropTargetComponent: DropTargetComponent[];\r\n\tcenterDropTargetComponent: DropTargetComponent[];\r\n\tdropDocumentOutsideOption?: DropDocumentOutsideOption;\r\n\tscreenKey?: string;\r\n}) => {\r\n\tconst nextContainerNameOrderName = parentOrderName\r\n\t\t? parentOrderName\r\n\t\t: orderName;\r\n\r\n\tlet listMap: Record<string, DropTargetComponent[]>;\r\n\tlet list: DropTargetComponent[];\r\n\tlet key: string;\r\n\tif (\r\n\t\tnextContainerNameOrderName === orderName ||\r\n\t\tnextContainerNameOrderName === \"center\"\r\n\t) {\r\n\t\tlistMap =\r\n\t\t\torderName === \"before\"\r\n\t\t\t\t? { beforeDropTargetComponent }\r\n\t\t\t\t: orderName === \"after\"\r\n\t\t\t\t\t? { afterDropTargetComponent }\r\n\t\t\t\t\t: {\r\n\t\t\t\t\t\t\tcenterDropTargetComponent:\r\n\t\t\t\t\t\t\t\tcenterDropTargetComponent.filter(\r\n\t\t\t\t\t\t\t\t\t(e) =>\r\n\t\t\t\t\t\t\t\t\t\t!e.containerName\r\n\t\t\t\t\t\t\t\t\t\t\t.split(\"_\")\r\n\t\t\t\t\t\t\t\t\t\t\t.at(0)!\r\n\t\t\t\t\t\t\t\t\t\t\t.startsWith(\r\n\t\t\t\t\t\t\t\t\t\t\t\tcontainerName.split(\"_\").at(0)!,\r\n\t\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t};\r\n\t} else {\r\n\t\tlistMap =\r\n\t\t\tnextContainerNameOrderName === \"before\"\r\n\t\t\t\t? { beforeDropTargetComponent }\r\n\t\t\t\t: { afterDropTargetComponent };\r\n\t}\r\n\tconst entries = Object.entries(listMap)[0];\r\n\tkey = entries[0];\r\n\tlist = entries[1];\r\n\t/*\r\n nextContainerNameOrderName이 after고 orderName이 before면 setAfterDropTargetComponent에서 nextContainerName의 뒤에 넣는다.\r\n nextContainerNameOrderName이 before고 orderName이 after면 setBeforeDropTargetComponent에서 nextContainerName 앞에 넣는다. \r\n nextContainerNameOrderName이 center고 orderName이 after면 리스트의 첫번째에 넣는다.\r\n nextContainerNameOrderName이 center고 orderName이 before면 리스트의 마지막에 넣는다.\r\n nextContainerNameOrderName === orderName가 같고 orderName이 after나 center면 list에서 nextContainerName 앞에 넣는다.\r\n nextContainerNameOrderName === orderName가 같고 orderName이 before면 list에서 nextContainerName 뒤에 넣는다.\r\n */\r\n\r\n\tconst newComponent = {\r\n\t\tcontainerName: `${containerName + \"_\" + layoutName}${isUsePrefix ? \"_\" + orderName + \"-\" + list.length : \"\"}`,\r\n\t\tcomponent: cloneElement(\r\n\t\t\tdropComponent as ReactElement<{ screenKey: string }>,\r\n\t\t\t{ key: screenKey, screenKey },\r\n\t\t),\r\n\t\tnavigationTitle,\r\n\t\tdropDocumentOutsideOption,\r\n\t\tscreenKey:\r\n\t\t\tscreenKey ||\r\n\t\t\tArray.from(\r\n\t\t\t\twindow.crypto.getRandomValues(new Uint32Array(16)),\r\n\t\t\t\t(e) => e.toString(32).padStart(2, \"0\"),\r\n\t\t\t).join(\"\"),\r\n\t};\r\n\tlet allComponents;\r\n\r\n\tif (nextContainerName) {\r\n\t\t// nextContainerName이 존재할 때\r\n\t\tconst index = list.findIndex(\r\n\t\t\t(item) => item.containerName === nextContainerName,\r\n\t\t);\r\n\t\tif (index !== -1) {\r\n\t\t\tif (nextContainerNameOrderName === orderName) {\r\n\t\t\t\tif (orderName === \"before\") {\r\n\t\t\t\t\t// nextContainerNameOrderName === orderName가 같고\r\n\t\t\t\t\t// orderName이 before면 list에서 nextContainerName 뒤에 넣는다.\r\n\t\t\t\t\tallComponents = [\r\n\t\t\t\t\t\t...list.slice(0, index),\r\n\t\t\t\t\t\tnewComponent,\r\n\t\t\t\t\t\t...list.slice(index),\r\n\t\t\t\t\t];\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// nextContainerNameOrderName === orderName가 같고\r\n\t\t\t\t\t// orderName이 after나 center면 list에서 nextContainerName 앞에 넣는다.\r\n\t\t\t\t\tallComponents = [\r\n\t\t\t\t\t\t...list.slice(0, index + 1),\r\n\t\t\t\t\t\tnewComponent,\r\n\t\t\t\t\t\t...list.slice(index + 1),\r\n\t\t\t\t\t];\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tif (\r\n\t\t\t\t\tnextContainerNameOrderName === \"after\" &&\r\n\t\t\t\t\torderName === \"before\"\r\n\t\t\t\t) {\r\n\t\t\t\t\t// nextContainerNameOrderName이 after고 orderName이 before면\r\n\t\t\t\t\t// setAfterDropTargetComponent에서 nextContainerName의 뒤에 넣는다.\r\n\t\t\t\t\tallComponents = [\r\n\t\t\t\t\t\t...list.slice(0, index),\r\n\t\t\t\t\t\tnewComponent,\r\n\t\t\t\t\t\t...list.slice(index),\r\n\t\t\t\t\t];\r\n\t\t\t\t} else if (\r\n\t\t\t\t\tnextContainerNameOrderName === \"before\" &&\r\n\t\t\t\t\torderName === \"after\"\r\n\t\t\t\t) {\r\n\t\t\t\t\t// nextContainerNameOrderName이 before고 orderName이 after면\r\n\t\t\t\t\t// setBeforeDropTargetComponent에서 nextContainerName 앞에 넣는다.\r\n\t\t\t\t\tallComponents = [\r\n\t\t\t\t\t\t...list.slice(0, index + 1),\r\n\t\t\t\t\t\tnewComponent,\r\n\t\t\t\t\t\t...list.slice(index + 1),\r\n\t\t\t\t\t];\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// 기타 경우 기존 로직 유지\r\n\t\t\t\t\tif (orderName === \"before\") {\r\n\t\t\t\t\t\tallComponents = [\r\n\t\t\t\t\t\t\t...list.slice(0, index),\r\n\t\t\t\t\t\t\tnewComponent,\r\n\t\t\t\t\t\t\t...list.slice(index),\r\n\t\t\t\t\t\t];\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tallComponents = [\r\n\t\t\t\t\t\t\t...list.slice(0, index + 1),\r\n\t\t\t\t\t\t\tnewComponent,\r\n\t\t\t\t\t\t\t...list.slice(index + 1),\r\n\t\t\t\t\t\t];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (\r\n\t\t\t\tnextContainerNameOrderName === \"center\" &&\r\n\t\t\t\torderName === \"after\"\r\n\t\t\t) {\r\n\t\t\t\t// nextContainerNameOrderName이 center고 orderName이 after면\r\n\t\t\t\t// setAfterDropTargetComponent에서 첫번째에 넣는다.\r\n\t\t\t\tallComponents = [newComponent, ...list];\r\n\t\t\t} else if (\r\n\t\t\t\tnextContainerNameOrderName === \"center\" &&\r\n\t\t\t\torderName === \"before\"\r\n\t\t\t) {\r\n\t\t\t\t// nextContainerNameOrderName이 center고 orderName이 before면\r\n\t\t\t\t// setBeforeDropTargetComponent에서 마지막에 넣는다.\r\n\r\n\t\t\t\tallComponents = [...list, newComponent];\r\n\t\t\t} else {\r\n\t\t\t\t// nextContainerName을 찾지 못했을 경우 기존 로직 유지\r\n\t\t\t\tallComponents =\r\n\t\t\t\t\torderName === \"before\"\r\n\t\t\t\t\t\t? [newComponent, ...list]\r\n\t\t\t\t\t\t: [...list, newComponent];\r\n\t\t\t}\r\n\t\t}\r\n\t} else {\r\n\t\t// nextContainerName이 존재하지 않을 때 기존 로직 유지\r\n\t\tallComponents =\r\n\t\t\torderName === \"before\"\r\n\t\t\t\t? [newComponent, ...list]\r\n\t\t\t\t: [...list, newComponent];\r\n\t}\r\n\r\n\tconst seen = new Set<string>();\r\n\r\n\tconst result = allComponents.filter((item) => {\r\n\t\tif (seen.has(item.containerName)) {\r\n\t\t\treturn false; // 이미 본 containerName은 제거\r\n\t\t}\r\n\t\tseen.add(item.containerName);\r\n\t\treturn true;\r\n\t});\r\n\tdropMovementEventSubject.next({\r\n\t\tstate: \"append\",\r\n\t\ttargetParentLayoutName: parentLayoutName,\r\n\t\ttargetLayoutName: layoutName,\r\n\t\ttargetContainerName: containerName,\r\n\t\torderName: orderName,\r\n\t});\r\n\treturn { [key]: result };\r\n};\r\n\r\nconst handleRemove = (\r\n\tlist: DropTargetComponent[],\r\n\ttargetContainerName: string,\r\n\torderNameSetter: (removeCount: number) => void,\r\n) => {\r\n\tconst result = list.filter((e) => e.containerName !== targetContainerName);\r\n\tif (result.length != list.length)\r\n\t\torderNameSetter(list.length - result.length);\r\n\treturn result;\r\n};\r\n\r\nfunction getAdjacentItem<T>(items: T[], currentIndex: number) {\r\n\tif (currentIndex + 1 < items.length) {\r\n\t\treturn {\r\n\t\t\tadjacentItem: items[currentIndex + 1],\r\n\t\t\tadjacentIndex: currentIndex + 1,\r\n\t\t};\r\n\t} else if (currentIndex - 1 >= 0) {\r\n\t\treturn {\r\n\t\t\tadjacentItem: items[currentIndex - 1],\r\n\t\t\tadjacentIndex: currentIndex - 1,\r\n\t\t};\r\n\t}\r\n\treturn { adjacentItem: null, adjacentIndex: currentIndex };\r\n}\r\n\r\nconst getSelfOrderName = (\r\n\tcontainerName: string,\r\n): DropPositionOrderName | undefined => {\r\n\tconst result = containerName\r\n\t\t.split(\"_\")\r\n\t\t.at(-1)\r\n\t\t?.split(\"-\")\r\n\t\t.at(0)\r\n\t\t?.split(\"=\")\r\n\t\t.at(0);\r\n\tif ([\"before\", \"center\", \"after\"].some((e) => e === result)) {\r\n\t\treturn result as DropPositionOrderName;\r\n\t} else {\r\n\t\treturn;\r\n\t}\r\n};\r\n\r\nexport type FlexLayoutSplitScreenProps = {\r\n\tlayoutName: string;\r\n\tcontainerName: string;\r\n\tchildren: ReactElement; //ComponentType | ReactElement;\r\n\tnavigationTitle: string;\r\n\tdropDocumentOutsideOption?: DropDocumentOutsideOption;\r\n\tscreenKey?: string;\r\n};\r\n\r\nexport default function FlexLayoutSplitScreen({\r\n\tchildren,\r\n\tcontainerName,\r\n\tlayoutName,\r\n\tnavigationTitle,\r\n\tdropDocumentOutsideOption,\r\n\tscreenKey,\r\n}: FlexLayoutSplitScreenProps) {\r\n\tconst {\r\n\t\tdirection,\r\n\t\tisSplit,\r\n\t\tboundaryContainerSize,\r\n\t\tafterDropTargetComponent,\r\n\t\tbeforeDropTargetComponent,\r\n\t\tcenterDropTargetComponent,\r\n\t\tsetAfterDropTargetComponent,\r\n\t\tsetBeforeDropTargetComponent,\r\n\t\tsetCenterDropTargetComponent,\r\n\t\tlayoutRef,\r\n\t\tsetIsSplit,\r\n\t\tsetDirection,\r\n\t} = useFlexLayoutSplitScreen({\r\n\t\tisSplitInitial: false,\r\n\t\tdirectionInitial: \"row\",\r\n\t\tselfContainerName: containerName,\r\n\t\tparentLayoutName: \"\",\r\n\t\tlayoutName: layoutName,\r\n\t});\r\n\r\n\tuseEffect(() => {\r\n\t\tresetRootSplitScreen(layoutName);\r\n\t\tconst subscribe = getSplitScreen(layoutName, layoutName)\r\n\t\t\t//.pipe(take(1))\r\n\t\t\t.subscribe((layoutInfo) => {\r\n\t\t\t\tif (layoutInfo) {\r\n\t\t\t\t\t// console.log(\r\n\t\t\t\t\t// 'layoutInfo:::',\r\n\t\t\t\t\t// layoutInfo,\r\n\t\t\t\t\t// layoutName,\r\n\t\t\t\t\t// containerName\r\n\t\t\t\t\t// );\r\n\t\t\t\t\tsetBeforeDropTargetComponent([\r\n\t\t\t\t\t\t...layoutInfo.beforeDropTargetComponent,\r\n\t\t\t\t\t]);\r\n\t\t\t\t\tsetAfterDropTargetComponent([\r\n\t\t\t\t\t\t...layoutInfo.afterDropTargetComponent,\r\n\t\t\t\t\t]);\r\n\t\t\t\t\tsetCenterDropTargetComponent([\r\n\t\t\t\t\t\t...layoutInfo.centerDropTargetComponent,\r\n\t\t\t\t\t]);\r\n\t\t\t\t\tsetDirection(layoutInfo.direction);\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tlayoutInfo.beforeDropTargetComponent.length !== 0 ||\r\n\t\t\t\t\t\tlayoutInfo.afterDropTargetComponent.length !== 0\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tsetIsSplit(true);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// const screenKey = Array.from(\r\n\t\t\t\t\t// window.crypto.getRandomValues(new Uint32Array(16)),\r\n\t\t\t\t\t// e => e.toString(32).padStart(2, '0')\r\n\t\t\t\t\t// ).join('');\r\n\t\t\t\t\tsetSplitScreen(layoutName, layoutName, {\r\n\t\t\t\t\t\tafterDropTargetComponent: [],\r\n\t\t\t\t\t\tbeforeDropTargetComponent: [],\r\n\t\t\t\t\t\tcenterDropTargetComponent: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tcontainerName,\r\n\t\t\t\t\t\t\t\tcomponent: children,\r\n\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\tscreenKey: screenKey\r\n\t\t\t\t\t\t\t\t\t? screenKey\r\n\t\t\t\t\t\t\t\t\t: Array.from(\r\n\t\t\t\t\t\t\t\t\t\t\twindow.crypto.getRandomValues(\r\n\t\t\t\t\t\t\t\t\t\t\t\tnew Uint32Array(16),\r\n\t\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\t\t(e) =>\r\n\t\t\t\t\t\t\t\t\t\t\t\te.toString(32).padStart(2, \"0\"),\r\n\t\t\t\t\t\t\t\t\t\t).join(\"\"),\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t],\r\n\t\t\t\t\t\tdirection: direction,\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\treturn () => {\r\n\t\t\tsubscribe.unsubscribe();\r\n\t\t\tresetRootSplitScreen(layoutName);\r\n\t\t};\r\n\t}, [layoutName]);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst subscribe = dropMovementEventSubject\r\n\t\t\t.pipe(\r\n\t\t\t\tdistinctUntilChanged((prev, curr) => {\r\n\t\t\t\t\t// 이전 상태와 현재 상태를 비교하여 동일하면 필터링\r\n\t\t\t\t\tconst filterChildren = (obj: any) => {\r\n\t\t\t\t\t\t// 객체 복사 후 children 속성 제거\r\n\t\t\t\t\t\tconst {\r\n\t\t\t\t\t\t\tchildren,\r\n\t\t\t\t\t\t\tcomponent,\r\n\t\t\t\t\t\t\ttargetComponent,\r\n\t\t\t\t\t\t\tx,\r\n\t\t\t\t\t\t\ty,\r\n\t\t\t\t\t\t\t...rest\r\n\t\t\t\t\t\t} = obj || {};\r\n\t\t\t\t\t\treturn rest;\r\n\t\t\t\t\t};\r\n\t\t\t\t\treturn equal(filterChildren(prev), filterChildren(curr));\r\n\t\t\t\t}),\r\n\t\t\t)\r\n\t\t\t.subscribe((event) => {\r\n\t\t\t\tif (event.state === \"remove\") {\r\n\t\t\t\t\t// 렌더링 중에 바로 setRemoveContainerName을 호출하지 않고\r\n\t\t\t\t\t// requestAnimationFrame으로 감싸 렌더 후에 실행되도록 한다.\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tevent.targetParentLayoutName === layoutName ||\r\n\t\t\t\t\t\t(event.targetParentLayoutName === \"\" &&\r\n\t\t\t\t\t\t\tevent.targetLayoutName === layoutName)\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\trequestAnimationFrame(() => {\r\n\t\t\t\t\t\t\tlet removeCallback = (\r\n\t\t\t\t\t\t\t\tremoveOrderName: DropPositionOrderName,\r\n\t\t\t\t\t\t\t) => {\r\n\t\t\t\t\t\t\t\t// removeSplitScreenChild(\r\n\t\t\t\t\t\t\t\t// layoutName,\r\n\t\t\t\t\t\t\t\t// event.targetLayoutName\r\n\t\t\t\t\t\t\t\t// );\r\n\t\t\t\t\t\t\t\t//탭 이동이고 현재 활성화 된 탭인 경우\r\n\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\tevent.nextContainerName &&\r\n\t\t\t\t\t\t\t\t\tevent.dropTargetComponentEvent &&\r\n\t\t\t\t\t\t\t\t\tevent.targetComponent\r\n\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\tconst targetComponentsMap =\r\n\t\t\t\t\t\t\t\t\t\thandleUpdateDropTargetComponents({\r\n\t\t\t\t\t\t\t\t\t\t\torderName: removeOrderName,\r\n\t\t\t\t\t\t\t\t\t\t\tcontainerName:\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent.nextContainerName,\r\n\t\t\t\t\t\t\t\t\t\t\tparentLayoutName: \"\",\r\n\t\t\t\t\t\t\t\t\t\t\tlayoutName,\r\n\t\t\t\t\t\t\t\t\t\t\tdropComponent:\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent.targetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tnavigationTitle:\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent.dropTargetComponentEvent!\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t.navigationTitle!,\r\n\t\t\t\t\t\t\t\t\t\t\tisUsePrefix: true,\r\n\t\t\t\t\t\t\t\t\t\t\tafterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tbeforeDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\t\tscreenKey:\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent.dropTargetComponentEvent\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t.screenKey,\r\n\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tsetSplitScreen(layoutName, layoutName, {\r\n\t\t\t\t\t\t\t\t\t\t...(getCurrentSplitScreenComponents(\r\n\t\t\t\t\t\t\t\t\t\t\tlayoutName,\r\n\t\t\t\t\t\t\t\t\t\t\tlayoutName,\r\n\t\t\t\t\t\t\t\t\t\t) || {\r\n\t\t\t\t\t\t\t\t\t\t\tafterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tbeforeDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tdirection,\r\n\t\t\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t\t\t...targetComponentsMap,\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tPromise.resolve().then(\r\n\t\t\t\t\t\t\t\t\t\t() =>\r\n\t\t\t\t\t\t\t\t\t\t\tevent.dropEndCallback &&\r\n\t\t\t\t\t\t\t\t\t\t\tevent.dropEndCallback({\r\n\t\t\t\t\t\t\t\t\t\t\t\tx: event.x!,\r\n\t\t\t\t\t\t\t\t\t\t\t\ty: event.y!,\r\n\t\t\t\t\t\t\t\t\t\t\t\tcontainerName: containerName,\r\n\t\t\t\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\tconst currentComponents =\r\n\t\t\t\t\t\t\t\tgetCurrentSplitScreenComponents(\r\n\t\t\t\t\t\t\t\t\tlayoutName,\r\n\t\t\t\t\t\t\t\t\tlayoutName,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tconst afterList = handleRemove(\r\n\t\t\t\t\t\t\t\tcurrentComponents?.afterDropTargetComponent ||\r\n\t\t\t\t\t\t\t\t\tafterDropTargetComponent,\r\n\t\t\t\t\t\t\t\tevent.targetContainerName,\r\n\t\t\t\t\t\t\t\t() => removeCallback(\"after\"),\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tconst beforList = handleRemove(\r\n\t\t\t\t\t\t\t\tcurrentComponents?.beforeDropTargetComponent ||\r\n\t\t\t\t\t\t\t\t\tbeforeDropTargetComponent,\r\n\t\t\t\t\t\t\t\tevent.targetContainerName,\r\n\t\t\t\t\t\t\t\t() => removeCallback(\"before\"),\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tconst centerList = handleRemove(\r\n\t\t\t\t\t\t\t\tcurrentComponents?.centerDropTargetComponent ||\r\n\t\t\t\t\t\t\t\t\tcenterDropTargetComponent,\r\n\t\t\t\t\t\t\t\tevent.targetContainerName,\r\n\t\t\t\t\t\t\t\t() => removeCallback(\"center\"),\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tsetSplitScreen(layoutName, layoutName, {\r\n\t\t\t\t\t\t\t\tafterDropTargetComponent: afterList,\r\n\t\t\t\t\t\t\t\tbeforeDropTargetComponent: beforList,\r\n\t\t\t\t\t\t\t\tcenterDropTargetComponent: centerList,\r\n\t\t\t\t\t\t\t\tdirection,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t} else if (event.state === \"append\") {\r\n\t\t\t\t\tconst {\r\n\t\t\t\t\t\tx,\r\n\t\t\t\t\t\ty,\r\n\t\t\t\t\t\tdropEndCallback,\r\n\t\t\t\t\t\tdropTargetComponentEvent,\r\n\t\t\t\t\t\torderName,\r\n\t\t\t\t\t\tparentOrderName,\r\n\t\t\t\t\t\ttargetLayoutName,\r\n\t\t\t\t\t\ttargetParentLayoutName,\r\n\t\t\t\t\t\ttargetContainerName,\r\n\t\t\t\t\t\ttargetComponent,\r\n\t\t\t\t\t\tnextContainerName,\r\n\t\t\t\t\t} = event;\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tlayoutRef.current &&\r\n\t\t\t\t\t\torderName &&\r\n\t\t\t\t\t\tx &&\r\n\t\t\t\t\t\ty &&\r\n\t\t\t\t\t\ttargetComponent &&\r\n\t\t\t\t\t\tdropTargetComponentEvent &&\r\n\t\t\t\t\t\ttargetLayoutName === layoutName &&\r\n\t\t\t\t\t\tisInnerDrop({ x, y, element: layoutRef.current })\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tconst {\r\n\t\t\t\t\t\t\tdirection: dropDirection,\r\n\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t} = dropTargetComponentEvent;\r\n\r\n\t\t\t\t\t\tconst isOrderNameNotCenter = orderName !== \"center\";\r\n\t\t\t\t\t\tconst isOrderNameCenterAndFirstScreen =\r\n\t\t\t\t\t\t\torderName === \"center\" &&\r\n\t\t\t\t\t\t\tcenterDropTargetComponent.length <= 1;\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\tisOrderNameNotCenter ||\r\n\t\t\t\t\t\t\tisOrderNameCenterAndFirstScreen\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\tsetIsSplit(true);\r\n\t\t\t\t\t\t\tif (isOrderNameNotCenter) {\r\n\t\t\t\t\t\t\t\tsetDirection(dropDirection);\r\n\t\t\t\t\t\t\t\tconst targetComponentsMap =\r\n\t\t\t\t\t\t\t\t\thandleUpdateDropTargetComponents({\r\n\t\t\t\t\t\t\t\t\t\torderName,\r\n\t\t\t\t\t\t\t\t\t\tparentOrderName,\r\n\t\t\t\t\t\t\t\t\t\tcontainerName: targetContainerName,\r\n\t\t\t\t\t\t\t\t\t\tnextContainerName: nextContainerName,\r\n\t\t\t\t\t\t\t\t\t\tdropComponent: targetComponent,\r\n\t\t\t\t\t\t\t\t\t\tparentLayoutName: \"\",\r\n\t\t\t\t\t\t\t\t\t\tlayoutName,\r\n\t\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\t\tisUsePrefix: true,\r\n\t\t\t\t\t\t\t\t\t\tafterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\tbeforeDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t\t\tsetSplitScreen(layoutName, layoutName, {\r\n\t\t\t\t\t\t\t\t\t...{\r\n\t\t\t\t\t\t\t\t\t\tafterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\tbeforeDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\tdirection: dropDirection,\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t...targetComponentsMap,\r\n\t\t\t\t\t\t\t\t\t...{ direction: dropDirection },\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tPromise.resolve().then(\r\n\t\t\t\t\t\t\t\t\t() =>\r\n\t\t\t\t\t\t\t\t\t\tdropEndCallback &&\r\n\t\t\t\t\t\t\t\t\t\tdropEndCallback({\r\n\t\t\t\t\t\t\t\t\t\t\tx: event.x!,\r\n\t\t\t\t\t\t\t\t\t\t\ty: event.y!,\r\n\t\t\t\t\t\t\t\t\t\t\tcontainerName: containerName,\r\n\t\t\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tconst childScreenInfo =\r\n\t\t\t\t\t\t\t\t\tgetCurrentSplitScreenComponents(\r\n\t\t\t\t\t\t\t\t\t\tlayoutName,\r\n\t\t\t\t\t\t\t\t\t\t`${layoutName}_center=${centerDropTargetComponent[0].screenKey}`,\r\n\t\t\t\t\t\t\t\t\t) || {\r\n\t\t\t\t\t\t\t\t\t\tafterDropTargetComponent: [],\r\n\t\t\t\t\t\t\t\t\t\tbeforeDropTargetComponent: [],\r\n\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent: [],\r\n\t\t\t\t\t\t\t\t\t\tdirection,\r\n\t\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\tsetSplitScreen(\r\n\t\t\t\t\t\t\t\t\tlayoutName,\r\n\t\t\t\t\t\t\t\t\t`${layoutName}_center=${centerDropTargetComponent[0].screenKey}`,\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t...childScreenInfo,\r\n\t\t\t\t\t\t\t\t\t\t...{\r\n\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent: [\r\n\t\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[0],\r\n\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tcontainerName: `${targetContainerName}_${layoutName}_${orderName}`,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tcomponent: targetComponent!,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tscreenKey:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[0]\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.screenKey,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t],\r\n\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\treturn () => {\r\n\t\t\tsubscribe.unsubscribe();\r\n\t\t};\r\n\t}, [\r\n\t\tdirection,\r\n\t\tlayoutName,\r\n\t\tisSplit,\r\n\t\tbeforeDropTargetComponent,\r\n\t\tafterDropTargetComponent,\r\n\t\tcenterDropTargetComponent,\r\n\t]);\r\n\r\n\treturn (\r\n\t\t<div className={`${styles[\"flex-split-screen\"]}`} ref={layoutRef}>\r\n\t\t\t<FlexLayout\r\n\t\t\t\tdirection={direction}\r\n\t\t\t\tlayoutName={layoutName}\r\n\t\t\t\tdata-is_split={isSplit}\r\n\t\t\t\tpanelMovementMode=\"bulldozer\"\r\n\t\t\t>\r\n\t\t\t\t{beforeDropTargetComponent.length != 0 ? (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t{beforeDropTargetComponent.map(\r\n\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tcontainerName: cName,\r\n\t\t\t\t\t\t\t\t\tcomponent,\r\n\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\tscreenKey,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\ti,\r\n\t\t\t\t\t\t\t) => (\r\n\t\t\t\t\t\t\t\t<FlexLayoutContainer\r\n\t\t\t\t\t\t\t\t\tcontainerName={cName}\r\n\t\t\t\t\t\t\t\t\tisInitialResizable\r\n\t\t\t\t\t\t\t\t\tisResizePanel\r\n\t\t\t\t\t\t\t\t\tkey={cName}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<FlexLayoutSplitScreenChild\r\n\t\t\t\t\t\t\t\t\t\tparentDirection={direction}\r\n\t\t\t\t\t\t\t\t\t\tlayoutName={`${layoutName}_before`}\r\n\t\t\t\t\t\t\t\t\t\tparentLayoutName={layoutName}\r\n\t\t\t\t\t\t\t\t\t\tcontainerName={cName}\r\n\t\t\t\t\t\t\t\t\t\tdepth={1}\r\n\t\t\t\t\t\t\t\t\t\t//isSplit={isSplit}\r\n\t\t\t\t\t\t\t\t\t\trootRef={layoutRef}\r\n\t\t\t\t\t\t\t\t\t\tscreenKey={screenKey}\r\n\t\t\t\t\t\t\t\t\t\tinitialCenterComponents={[\r\n\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\t\t\t\tcomponent,\r\n\t\t\t\t\t\t\t\t\t\t\t\tcontainerName: cName,\r\n\t\t\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\t\t\tscreenKey,\r\n\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t]}\r\n\t\t\t\t\t\t\t\t\t\trootName={layoutName}\r\n\t\t\t\t\t\t\t\t\t></FlexLayoutSplitScreenChild>\r\n\t\t\t\t\t\t\t\t</FlexLayoutContainer>\r\n\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t</>\r\n\t\t\t\t) : (\r\n\t\t\t\t\t<div></div>\r\n\t\t\t\t)}\r\n\t\t\t\t{centerDropTargetComponent.length === 0 ? (\r\n\t\t\t\t\t<div></div>\r\n\t\t\t\t) : (\r\n\t\t\t\t\t<FlexLayoutContainer\r\n\t\t\t\t\t\tcontainerName={`${centerDropTargetComponent[0].containerName}`}\r\n\t\t\t\t\t\tisInitialResizable\r\n\t\t\t\t\t\tisResizePanel={isSplit}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{isSplit ? (\r\n\t\t\t\t\t\t\t<FlexLayoutSplitScreenChild\r\n\t\t\t\t\t\t\t\tparentDirection={direction}\r\n\t\t\t\t\t\t\t\tlayoutName={`${layoutName}_center`}\r\n\t\t\t\t\t\t\t\tparentLayoutName={layoutName}\r\n\t\t\t\t\t\t\t\tcontainerName={`${centerDropTargetComponent[0].containerName}`}\r\n\t\t\t\t\t\t\t\tdepth={0}\r\n\t\t\t\t\t\t\t\trootRef={layoutRef}\r\n\t\t\t\t\t\t\t\tscreenKey={\r\n\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[0].screenKey\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tinitialCenterComponents={[\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\tnavigationTitle:\r\n\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[0]\r\n\t\t\t\t\t\t\t\t\t\t\t\t.navigationTitle,\r\n\t\t\t\t\t\t\t\t\t\tcomponent:\r\n\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[0]\r\n\t\t\t\t\t\t\t\t\t\t\t\t.component,\r\n\t\t\t\t\t\t\t\t\t\tcontainerName:\r\n\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[0]\r\n\t\t\t\t\t\t\t\t\t\t\t\t.containerName,\r\n\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption:\r\n\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[0]\r\n\t\t\t\t\t\t\t\t\t\t\t\t.dropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\tscreenKey:\r\n\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[0]\r\n\t\t\t\t\t\t\t\t\t\t\t\t.screenKey,\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t]}\r\n\t\t\t\t\t\t\t\trootName={layoutName}\r\n\t\t\t\t\t\t\t></FlexLayoutSplitScreenChild>\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t<FlexLayoutSplitScreenScrollBox\r\n\t\t\t\t\t\t\t\tkeyName={\r\n\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[0].containerName\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tisDefaultScrollStyle={true}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{centerDropTargetComponent[0].component}\r\n\t\t\t\t\t\t\t</FlexLayoutSplitScreenScrollBox>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t</FlexLayoutContainer>\r\n\t\t\t\t)}\r\n\t\t\t\t{afterDropTargetComponent.length != 0 ? (\r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t{afterDropTargetComponent.map(\r\n\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tcontainerName: cName,\r\n\t\t\t\t\t\t\t\t\tcomponent,\r\n\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\tscreenKey,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\ti,\r\n\t\t\t\t\t\t\t) => (\r\n\t\t\t\t\t\t\t\t<FlexLayoutContainer\r\n\t\t\t\t\t\t\t\t\tcontainerName={cName}\r\n\t\t\t\t\t\t\t\t\tisInitialResizable\r\n\t\t\t\t\t\t\t\t\tisResizePanel={\r\n\t\t\t\t\t\t\t\t\t\tafterDropTargetComponent.length - 1 !==\r\n\t\t\t\t\t\t\t\t\t\ti\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tkey={cName}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t<FlexLayoutSplitScreenChild\r\n\t\t\t\t\t\t\t\t\t\tparentDirection={direction}\r\n\t\t\t\t\t\t\t\t\t\tlayoutName={`${layoutName}_after`}\r\n\t\t\t\t\t\t\t\t\t\tparentLayoutName={layoutName}\r\n\t\t\t\t\t\t\t\t\t\tcontainerName={cName}\r\n\t\t\t\t\t\t\t\t\t\tdepth={1}\r\n\t\t\t\t\t\t\t\t\t\t//isSplit={isSplit}\r\n\t\t\t\t\t\t\t\t\t\trootRef={layoutRef}\r\n\t\t\t\t\t\t\t\t\t\tscreenKey={screenKey}\r\n\t\t\t\t\t\t\t\t\t\tinitialCenterComponents={[\r\n\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\t\t\t\tcomponent,\r\n\t\t\t\t\t\t\t\t\t\t\t\tcontainerName: cName,\r\n\t\t\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\t\t\tscreenKey,\r\n\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t]}\r\n\t\t\t\t\t\t\t\t\t\trootName={layoutName}\r\n\t\t\t\t\t\t\t\t\t></FlexLayoutSplitScreenChild>\r\n\t\t\t\t\t\t\t\t</FlexLayoutContainer>\r\n\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t</>\r\n\t\t\t\t) : (\r\n\t\t\t\t\t<div></div>\r\n\t\t\t\t)}\r\n\t\t\t</FlexLayout>\r\n\t\t\t{boundaryContainerSize && (\r\n\t\t\t\t<div\r\n\t\t\t\t\tclassName={`${styles[\"flex-split-screen-boundary-container\"]}`}\r\n\t\t\t\t\tstyle={{ ...boundaryContainerSize }}\r\n\t\t\t\t>\r\n\t\t\t\t\t⬇️드롭하면 화면이 분할됩니다.\r\n\t\t\t\t</div>\r\n\t\t\t)}\r\n\t\t</div>\r\n\t);\r\n}\r\n\r\nfunction FlexLayoutSplitScreenChild({\r\n\tcontainerName,\r\n\tlayoutName,\r\n\tparentLayoutName,\r\n\tparentDirection,\r\n\tdepth,\r\n\t//isSplit: isSplitInitial,\r\n\trootRef,\r\n\trootName,\r\n\tinitialCenterComponents,\r\n\tscreenKey,\r\n}: {\r\n\tlayoutName: string;\r\n\tparentLayoutName: string;\r\n\tcontainerName: string;\r\n\tparentDirection: \"row\" | \"column\";\r\n\tdepth: number;\r\n\t//isSplit: boolean;\r\n\trootRef: RefObject<HTMLDivElement | null>;\r\n\trootName: string;\r\n\tinitialCenterComponents?: DropTargetComponent[];\r\n\tscreenKey: string;\r\n}) {\r\n\t// const memoizedChildren = useMemo(\r\n\t// () => <MemoizedChildren>{children}</MemoizedChildren>,\r\n\t// [children]\r\n\t// );\r\n\tconst {\r\n\t\tdirection,\r\n\t\tisSplit,\r\n\t\tboundaryContainerSize,\r\n\t\tafterDropTargetComponent,\r\n\t\tbeforeDropTargetComponent,\r\n\t\tcenterDropTargetComponent,\r\n\t\tsetAfterDropTargetComponent,\r\n\t\tsetBeforeDropTargetComponent,\r\n\t\tsetCenterDropTargetComponent,\r\n\t\tlayoutRef,\r\n\t\tsetIsSplit,\r\n\t\tsetDirection,\r\n\t} = useFlexLayoutSplitScreen({\r\n\t\tisSplitInitial: false,\r\n\t\tdirectionInitial: \"row\",\r\n\t\tparentDirection,\r\n\t\tselfContainerName: containerName,\r\n\t\tparentLayoutName: parentLayoutName,\r\n\t\tlayoutName: layoutName,\r\n\t});\r\n\r\n\tconst [isEmptyContent, setIsEmptyContent] = useState<boolean>(false);\r\n\tconst [activeIndex, setActiveIndex] = useState<number>(0);\r\n\tconst centerDropTargetComponentRef = useRef(centerDropTargetComponent);\r\n\tconst activeIndexRef = useRef(activeIndex);\r\n\tuseEffect(() => {\r\n\t\tconst subscribe = getSplitScreen(rootName, `${layoutName}=${screenKey}`)\r\n\t\t\t.pipe(take(1))\r\n\t\t\t.subscribe((layoutInfo) => {\r\n\t\t\t\tsetSplitScreen(rootName, `${layoutName}=${screenKey}`, {\r\n\t\t\t\t\tafterDropTargetComponent:\r\n\t\t\t\t\t\tlayoutInfo?.afterDropTargetComponent || [],\r\n\t\t\t\t\tbeforeDropTargetComponent:\r\n\t\t\t\t\t\tlayoutInfo?.beforeDropTargetComponent || [],\r\n\t\t\t\t\tcenterDropTargetComponent:\r\n\t\t\t\t\t\tlayoutInfo?.centerDropTargetComponent ||\r\n\t\t\t\t\t\tinitialCenterComponents ||\r\n\t\t\t\t\t\t[],\r\n\t\t\t\t\tdirection: layoutInfo?.direction || direction,\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\treturn () => {\r\n\t\t\tremoveSplitScreenChild(rootName, layoutName);\r\n\t\t\tsubscribe.unsubscribe();\r\n\t\t};\r\n\t}, [rootName, layoutName, initialCenterComponents]);\r\n\tuseEffect(() => {\r\n\t\tconst subscribe = getSplitScreen(rootName, `${layoutName}=${screenKey}`)\r\n\t\t\t//.pipe(take(1))\r\n\t\t\t.subscribe((layoutInfo) => {\r\n\t\t\t\tif (layoutInfo) {\r\n\t\t\t\t\t// console.log(\r\n\t\t\t\t\t// 'layoutInfo:::',\r\n\t\t\t\t\t// layoutInfo,\r\n\t\t\t\t\t// layoutName,\r\n\t\t\t\t\t// containerName\r\n\t\t\t\t\t// );\r\n\t\t\t\t\tsetBeforeDropTargetComponent([\r\n\t\t\t\t\t\t...layoutInfo.beforeDropTargetComponent,\r\n\t\t\t\t\t]);\r\n\t\t\t\t\tsetAfterDropTargetComponent([\r\n\t\t\t\t\t\t...layoutInfo.afterDropTargetComponent,\r\n\t\t\t\t\t]);\r\n\t\t\t\t\tsetCenterDropTargetComponent([\r\n\t\t\t\t\t\t...layoutInfo.centerDropTargetComponent,\r\n\t\t\t\t\t]);\r\n\t\t\t\t\tsetDirection(layoutInfo.direction);\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tlayoutInfo.beforeDropTargetComponent.length !== 0 ||\r\n\t\t\t\t\t\tlayoutInfo.afterDropTargetComponent.length !== 0\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tsetIsSplit(true);\r\n\t\t\t\t\t} else if (\r\n\t\t\t\t\t\tlayoutInfo.beforeDropTargetComponent.length === 0 &&\r\n\t\t\t\t\t\tlayoutInfo.centerDropTargetComponent.length === 0 &&\r\n\t\t\t\t\t\tlayoutInfo.afterDropTargetComponent.length === 0\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tdropMovementEventSubject.next({\r\n\t\t\t\t\t\t\tstate: \"remove\",\r\n\t\t\t\t\t\t\ttargetContainerName: containerName,\r\n\t\t\t\t\t\t\ttargetParentLayoutName: \"\",\r\n\t\t\t\t\t\t\ttargetLayoutName: parentLayoutName,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tsetIsEmptyContent(true);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\treturn () => {\r\n\t\t\tsubscribe.unsubscribe();\r\n\t\t};\r\n\t}, [rootName, layoutName]);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst subscribe = dropMovementEventSubject\r\n\t\t\t.pipe(\r\n\t\t\t\tdistinctUntilChanged((prev, curr) => {\r\n\t\t\t\t\t// 이전 상태와 현재 상태를 비교하여 동일하면 필터링\r\n\t\t\t\t\tconst filterChildren = (obj: any) => {\r\n\t\t\t\t\t\t// 객체 복사 후 children 속성 제거\r\n\t\t\t\t\t\tconst {\r\n\t\t\t\t\t\t\tchildren,\r\n\t\t\t\t\t\t\tcomponent,\r\n\t\t\t\t\t\t\ttargetComponent,\r\n\t\t\t\t\t\t\tx,\r\n\t\t\t\t\t\t\ty,\r\n\t\t\t\t\t\t\t...rest\r\n\t\t\t\t\t\t} = obj || {};\r\n\t\t\t\t\t\treturn rest;\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\treturn equal(filterChildren(prev), filterChildren(curr));\r\n\t\t\t\t}),\r\n\t\t\t)\r\n\t\t\t.subscribe((event) => {\r\n\t\t\t\tif (event.state === \"remove\") {\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tevent.targetParentLayoutName === layoutName ||\r\n\t\t\t\t\t\t(event.targetParentLayoutName === \"\" &&\r\n\t\t\t\t\t\t\tevent.targetLayoutName === layoutName)\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\trequestAnimationFrame(() => {\r\n\t\t\t\t\t\t\tlet removeCallback = (\r\n\t\t\t\t\t\t\t\tremoveOrderName: DropPositionOrderName,\r\n\t\t\t\t\t\t\t) => {\r\n\t\t\t\t\t\t\t\t// removeSplitScreenChild(\r\n\t\t\t\t\t\t\t\t// rootName,\r\n\t\t\t\t\t\t\t\t// event.targetLayoutName\r\n\t\t\t\t\t\t\t\t// );\r\n\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\tevent.nextContainerName &&\r\n\t\t\t\t\t\t\t\t\tevent.dropTargetComponentEvent &&\r\n\t\t\t\t\t\t\t\t\tevent.targetComponent\r\n\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\tconst targetComponentsMap =\r\n\t\t\t\t\t\t\t\t\t\thandleUpdateDropTargetComponents({\r\n\t\t\t\t\t\t\t\t\t\t\torderName: removeOrderName,\r\n\t\t\t\t\t\t\t\t\t\t\tcontainerName:\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent.nextContainerName,\r\n\t\t\t\t\t\t\t\t\t\t\tparentLayoutName,\r\n\t\t\t\t\t\t\t\t\t\t\tlayoutName,\r\n\t\t\t\t\t\t\t\t\t\t\tdropComponent:\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent.targetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tnavigationTitle:\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent.dropTargetComponentEvent\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t.navigationTitle!,\r\n\t\t\t\t\t\t\t\t\t\t\tisUsePrefix: true,\r\n\t\t\t\t\t\t\t\t\t\t\tafterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tbeforeDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption:\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent.dropTargetComponentEvent\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t?.dropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\t\tscreenKey:\r\n\t\t\t\t\t\t\t\t\t\t\t\tevent.dropTargetComponentEvent\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t.screenKey,\r\n\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\tsetSplitScreen(\r\n\t\t\t\t\t\t\t\t\t\trootName,\r\n\t\t\t\t\t\t\t\t\t\t`${layoutName}=${screenKey}`,\r\n\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t...(getCurrentSplitScreenComponents(\r\n\t\t\t\t\t\t\t\t\t\t\t\trootName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t`${layoutName}=${screenKey}`,\r\n\t\t\t\t\t\t\t\t\t\t\t) || {\r\n\t\t\t\t\t\t\t\t\t\t\t\tafterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\t\tbeforeDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\t\tdirection,\r\n\t\t\t\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t\t\t\t...targetComponentsMap,\r\n\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\tPromise.resolve().then(\r\n\t\t\t\t\t\t\t\t\t\t() =>\r\n\t\t\t\t\t\t\t\t\t\t\tevent.dropEndCallback &&\r\n\t\t\t\t\t\t\t\t\t\t\tevent.dropEndCallback({\r\n\t\t\t\t\t\t\t\t\t\t\t\tx: event.x!,\r\n\t\t\t\t\t\t\t\t\t\t\t\ty: event.y!,\r\n\t\t\t\t\t\t\t\t\t\t\t\tcontainerName: containerName,\r\n\t\t\t\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\tconst currentComponents =\r\n\t\t\t\t\t\t\t\tgetCurrentSplitScreenComponents(\r\n\t\t\t\t\t\t\t\t\trootName,\r\n\t\t\t\t\t\t\t\t\t`${layoutName}=${screenKey}`,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tconst afterList = handleRemove(\r\n\t\t\t\t\t\t\t\tcurrentComponents?.afterDropTargetComponent ||\r\n\t\t\t\t\t\t\t\t\tafterDropTargetComponent,\r\n\t\t\t\t\t\t\t\tevent.targetContainerName,\r\n\t\t\t\t\t\t\t\t() => removeCallback(\"after\"),\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tconst beforList = handleRemove(\r\n\t\t\t\t\t\t\t\tcurrentComponents?.beforeDropTargetComponent ||\r\n\t\t\t\t\t\t\t\t\tbeforeDropTargetComponent,\r\n\t\t\t\t\t\t\t\tevent.targetContainerName,\r\n\t\t\t\t\t\t\t\t() => removeCallback(\"before\"),\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tconst centerList = handleRemove(\r\n\t\t\t\t\t\t\t\tcurrentComponents?.centerDropTargetComponent ||\r\n\t\t\t\t\t\t\t\t\tcenterDropTargetComponent,\r\n\t\t\t\t\t\t\t\tevent.targetContainerName,\r\n\t\t\t\t\t\t\t\t() => removeCallback(\"center\"),\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\tsetSplitScreen(\r\n\t\t\t\t\t\t\t\trootName,\r\n\t\t\t\t\t\t\t\t`${layoutName}=${screenKey}`,\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tafterDropTargetComponent: afterList,\r\n\t\t\t\t\t\t\t\t\tbeforeDropTargetComponent: beforList,\r\n\t\t\t\t\t\t\t\t\tcenterDropTargetComponent: centerList,\r\n\t\t\t\t\t\t\t\t\tdirection,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t} else if (event.state === \"append\") {\r\n\t\t\t\t\tconst {\r\n\t\t\t\t\t\tx,\r\n\t\t\t\t\t\ty,\r\n\t\t\t\t\t\tdropEndCallback,\r\n\t\t\t\t\t\tdropTargetComponentEvent,\r\n\t\t\t\t\t\torderName,\r\n\t\t\t\t\t\ttargetLayoutName,\r\n\t\t\t\t\t\ttargetParentLayoutName,\r\n\t\t\t\t\t\ttargetContainerName,\r\n\t\t\t\t\t\ttargetComponent,\r\n\t\t\t\t\t\tnextContainerName,\r\n\t\t\t\t\t\tparentOrderName,\r\n\t\t\t\t\t} = event;\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tlayoutRef.current &&\r\n\t\t\t\t\t\torderName &&\r\n\t\t\t\t\t\tx &&\r\n\t\t\t\t\t\ty &&\r\n\t\t\t\t\t\tdropTargetComponentEvent &&\r\n\t\t\t\t\t\tisInnerDrop({ x, y, element: layoutRef.current })\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tconst {\r\n\t\t\t\t\t\t\tdirection: dropDirection,\r\n\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\tscreenKey: containerScreenKey,\r\n\t\t\t\t\t\t} = dropTargetComponentEvent;\r\n\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t//orderName !== 'center' &&\r\n\t\t\t\t\t\t\ttargetLayoutName === layoutName &&\r\n\t\t\t\t\t\t\ttargetComponent\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t//드래그앤드롭으로 추가되었을 때\r\n\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\tdropDirection === parentDirection &&\r\n\t\t\t\t\t\t\t\torderName !== \"center\"\r\n\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\tdropMovementEventSubject.next({\r\n\t\t\t\t\t\t\t\t\tstate: \"append\",\r\n\t\t\t\t\t\t\t\t\ttargetContainerName: targetContainerName,\r\n\t\t\t\t\t\t\t\t\ttargetParentLayoutName: \"\",\r\n\t\t\t\t\t\t\t\t\ttargetLayoutName: parentLayoutName,\r\n\t\t\t\t\t\t\t\t\ttargetComponent: targetComponent,\r\n\t\t\t\t\t\t\t\t\tnextContainerName: containerName,\r\n\t\t\t\t\t\t\t\t\tparentOrderName:\r\n\t\t\t\t\t\t\t\t\t\tgetSelfOrderName(layoutName) ||\r\n\t\t\t\t\t\t\t\t\t\torderName,\r\n\t\t\t\t\t\t\t\t\torderName,\r\n\t\t\t\t\t\t\t\t\tx,\r\n\t\t\t\t\t\t\t\t\ty,\r\n\t\t\t\t\t\t\t\t\tdropEndCallback,\r\n\t\t\t\t\t\t\t\t\tdropTargetComponentEvent: {\r\n\t\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\tdirection: parentDirection,\r\n\t\t\t\t\t\t\t\t\t\tscreenKey,\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tif (orderName !== \"center\") {\r\n\t\t\t\t\t\t\t\t\tsetDirection(dropDirection);\r\n\t\t\t\t\t\t\t\t\tsetIsSplit(true);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tconst targetComponentsMap =\r\n\t\t\t\t\t\t\t\t\thandleUpdateDropTargetComponents({\r\n\t\t\t\t\t\t\t\t\t\torderName,\r\n\t\t\t\t\t\t\t\t\t\tparentOrderName,\r\n\t\t\t\t\t\t\t\t\t\tcontainerName: targetContainerName,\r\n\t\t\t\t\t\t\t\t\t\tnextContainerName: nextContainerName,\r\n\t\t\t\t\t\t\t\t\t\tparentLayoutName,\r\n\t\t\t\t\t\t\t\t\t\tlayoutName,\r\n\t\t\t\t\t\t\t\t\t\tdropComponent: targetComponent,\r\n\t\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\t\tisUsePrefix: orderName !== \"center\",\r\n\t\t\t\t\t\t\t\t\t\tafterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\tbeforeDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\tsetSplitScreen(\r\n\t\t\t\t\t\t\t\t\trootName,\r\n\t\t\t\t\t\t\t\t\t`${layoutName}=${screenKey}`,\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t...(getCurrentSplitScreenComponents(\r\n\t\t\t\t\t\t\t\t\t\t\trootName,\r\n\t\t\t\t\t\t\t\t\t\t\t`${layoutName}=${screenKey}`,\r\n\t\t\t\t\t\t\t\t\t\t) || {\r\n\t\t\t\t\t\t\t\t\t\t\tafterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tbeforeDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent,\r\n\t\t\t\t\t\t\t\t\t\t\tdirection,\r\n\t\t\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t\t\t...targetComponentsMap,\r\n\t\t\t\t\t\t\t\t\t\t...{ direction: dropDirection },\r\n\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tPromise.resolve().then(\r\n\t\t\t\t\t\t\t\t\t() =>\r\n\t\t\t\t\t\t\t\t\t\tevent.dropEndCallback &&\r\n\t\t\t\t\t\t\t\t\t\tevent.dropEndCallback({\r\n\t\t\t\t\t\t\t\t\t\t\tx: event.x!,\r\n\t\t\t\t\t\t\t\t\t\t\ty: event.y!,\r\n\t\t\t\t\t\t\t\t\t\t\tcontainerName: containerName,\r\n\t\t\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t//else if (dropDirection === direction) {\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t//console.log('1111:::', layoutName, parentLayoutName, event);\r\n\t\t\t\t//setRemoveContainerName(event.targetContainerName);\r\n\t\t\t});\r\n\t\treturn () => {\r\n\t\t\tsubscribe.unsubscribe();\r\n\t\t};\r\n\t}, [\r\n\t\tdirection,\r\n\t\tparentDirection,\r\n\t\tparentLayoutName,\r\n\t\tlayoutName,\r\n\t\tbeforeDropTargetComponent,\r\n\t\tafterDropTargetComponent,\r\n\t\tcenterDropTargetComponent,\r\n\t]);\r\n\r\n\tuseEffect(() => {\r\n\t\tcenterDropTargetComponentRef.current = centerDropTargetComponent;\r\n\t}, [centerDropTargetComponent]);\r\n\tuseEffect(() => {\r\n\t\tactiveIndexRef.current = activeIndex;\r\n\t}, [activeIndex]);\r\n\r\n\t// useEffect(() => {\r\n\t// const subscribe = getSplitScreen(\r\n\t// rootName,\r\n\t// `${layoutName}=${screenKey}`\r\n\t// ).subscribe(layoutInfo => {\r\n\t// if (\r\n\t// beforeDropTargetComponent.length === 0 &&\r\n\t// centerDropTargetComponent.length === 0 &&\r\n\t// afterDropTargetComponent.length === 0 &&\r\n\t// (layoutInfo?.beforeDropTargetComponent || []).length === 0 &&\r\n\t// (layoutInfo?.centerDropTargetComponent || []).length === 0 &&\r\n\t// (layoutInfo?.afterDropTargetComponent || []).length === 0\r\n\t// ) {\r\n\t// console.log(\r\n\t// 'remove ::: ',\r\n\t// parentLayoutName,\r\n\t// layoutName,\r\n\t// initialCenterComponents\r\n\t// );\r\n\t// dropMovementEventSubject.next({\r\n\t// state: 'remove',\r\n\t// targetContainerName: containerName,\r\n\t// targetParentLayoutName: '',\r\n\t// targetLayoutName: parentLayoutName,\r\n\t// });\r\n\t// setIsEmptyContent(true);\r\n\t// }\r\n\t// return () => {\r\n\t// subscribe.unsubscribe();\r\n\t// };\r\n\t// });\r\n\t// }, [\r\n\t// layoutName,\r\n\t// beforeDropTargetComponent,\r\n\t// afterDropTargetComponent,\r\n\t// centerDropTargetComponent,\r\n\t// ]);\r\n\tconst [isOnlyOneScreen, setIsOnlyOneScreen] = useState<boolean>(false);\r\n\t// useEffect(() => {\r\n\t// const subscribe = allSplitScreenCount.subscribe(allSplitScreenCount => {\r\n\t// setIsOnlyOneScreen(allSplitScreenCount === 1);\r\n\t// });\r\n\t// return () => subscribe.unsubscribe();\r\n\t// }, []);\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{!isEmptyContent && (\r\n\t\t\t\t<div\r\n\t\t\t\t\tclassName={`${styles[\"flex-split-screen\"]}`}\r\n\t\t\t\t\tref={layoutRef}\r\n\t\t\t\t>\r\n\t\t\t\t\t<FlexLayout\r\n\t\t\t\t\t\tdirection={direction}\r\n\t\t\t\t\t\tlayoutName={`${layoutName}`}\r\n\t\t\t\t\t\tpanelMovementMode=\"bulldozer\"\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{beforeDropTargetComponent.length != 0 ? (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t{beforeDropTargetComponent.map(\r\n\t\t\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\tcontainerName: cName,\r\n\t\t\t\t\t\t\t\t\t\t\tcomponent,\r\n\t\t\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\t\tscreenKey,\r\n\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\ti,\r\n\t\t\t\t\t\t\t\t\t) => (\r\n\t\t\t\t\t\t\t\t\t\t<FlexLayoutContainer\r\n\t\t\t\t\t\t\t\t\t\t\tcontainerName={cName}\r\n\t\t\t\t\t\t\t\t\t\t\tisInitialResizable\r\n\t\t\t\t\t\t\t\t\t\t\tisResizePanel\r\n\t\t\t\t\t\t\t\t\t\t\tkey={cName}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t<FlexLayoutSplitScreenChild\r\n\t\t\t\t\t\t\t\t\t\t\t\tparentDirection={direction}\r\n\t\t\t\t\t\t\t\t\t\t\t\tlayoutName={`${layoutName}_before-${depth}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\tparentLayoutName={layoutName}\r\n\t\t\t\t\t\t\t\t\t\t\t\tcontainerName={cName}\r\n\t\t\t\t\t\t\t\t\t\t\t\tdepth={depth + 1}\r\n\t\t\t\t\t\t\t\t\t\t\t\t//isSplit={isSplit}\r\n\t\t\t\t\t\t\t\t\t\t\t\trootRef={rootRef}\r\n\t\t\t\t\t\t\t\t\t\t\t\tscreenKey={screenKey}\r\n\t\t\t\t\t\t\t\t\t\t\t\tinitialCenterComponents={[\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcomponent,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontainerName: cName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tscreenKey,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t]}\r\n\t\t\t\t\t\t\t\t\t\t\t\trootName={rootName}\r\n\t\t\t\t\t\t\t\t\t\t\t></FlexLayoutSplitScreenChild>\r\n\t\t\t\t\t\t\t\t\t\t</FlexLayoutContainer>\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t</>\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t<div></div>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{centerDropTargetComponent.length != 0 ? (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t<FlexLayoutContainer\r\n\t\t\t\t\t\t\t\t\tcontainerName={`${(centerDropTargetComponent[activeIndex] || centerDropTargetComponent[0]).containerName}`}\r\n\t\t\t\t\t\t\t\t\tisInitialResizable\r\n\t\t\t\t\t\t\t\t\tisResizePanel={isSplit}\r\n\t\t\t\t\t\t\t\t\tkey={\r\n\t\t\t\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[\r\n\t\t\t\t\t\t\t\t\t\t\t\tactiveIndex\r\n\t\t\t\t\t\t\t\t\t\t\t] || centerDropTargetComponent[0]\r\n\t\t\t\t\t\t\t\t\t\t).containerName\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t{isSplit ? (\r\n\t\t\t\t\t\t\t\t\t\t<div data-key={screenKey}>\r\n\t\t\t\t\t\t\t\t\t\t\t<FlexLayoutSplitScreenChild\r\n\t\t\t\t\t\t\t\t\t\t\t\tparentDirection={direction}\r\n\t\t\t\t\t\t\t\t\t\t\t\tlayoutName={`${layoutName}_center-${depth}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\tparentLayoutName={layoutName}\r\n\t\t\t\t\t\t\t\t\t\t\t\tcontainerName={`${(centerDropTargetComponent[activeIndex] || centerDropTargetComponent[0]).containerName}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\tdepth={depth + 1}\r\n\t\t\t\t\t\t\t\t\t\t\t\trootRef={rootRef}\r\n\t\t\t\t\t\t\t\t\t\t\t\tinitialCenterComponents={centerDropTargetComponent.map(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcomponent,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontainerName: cName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tscreenKey:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcenterScreenKey,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}) => ({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcomponent,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontainerName: cName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tscreenKey:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcenterScreenKey,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\tscreenKey={screenKey}\r\n\t\t\t\t\t\t\t\t\t\t\t\trootName={rootName}\r\n\t\t\t\t\t\t\t\t\t\t\t></FlexLayoutSplitScreenChild>\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t\t\t\t<FlexLayoutSplitScreenScrollBox\r\n\t\t\t\t\t\t\t\t\t\t\tkeyName={\r\n\t\t\t\t\t\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveIndex\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t] ||\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[0]\r\n\t\t\t\t\t\t\t\t\t\t\t\t).containerName\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\tisDefaultScrollStyle={true}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t{!isOnlyOneScreen && (\r\n\t\t\t\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={`${styles[\"flex-split-screen-drag-box-title-wrapper-sticky\"]}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata-is_split={isSplit}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata-layout_name={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayoutName\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata-parent_layout_name={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tparentLayoutName\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata-container_name={`${(centerDropTargetComponent[activeIndex] || centerDropTargetComponent[0]).containerName}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName={`${styles[\"flex-split-screen-drag-box-title-wrapper\"]}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<FlexLayoutSplitScreenDragBoxContainer\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={layoutName}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata-layout_name={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayoutName\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayoutName={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayoutName\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{centerDropTargetComponent.map(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tindex,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) => (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<FlexLayoutSplitScreenDragBoxItem\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClose={(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tev,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveIndexRef.current ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tindex &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent.length ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdropMovementEventSubject.next(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstate: \"remove\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttargetContainerName:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontainerName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttargetParentLayoutName:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tparentLayoutName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttargetLayoutName:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayoutName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent.length ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveIndexRef.current +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetActiveIndex(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveIndexRef.current -\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t1,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetCenterDropTargetComponent(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tprev,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst result =\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleRemove(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tprev,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.containerName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t() => {},\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn result;\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.navigationTitle +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayoutName +\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.containerName\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisActive={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveIndex ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tindex\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<FlexLayoutSplitScreenDragBox\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={() => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetActiveIndex(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tindex,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontainerName={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.containerName\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.dropDocumentOutsideOption\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttargetComponent={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.component\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnavigationTitle={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.navigationTitle\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata-container-name={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.containerName\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata-layout-name={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayoutName\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdata-parent-layout-name={\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tparentLayoutName\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdropEndCallback={({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tx,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ty,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontainerName:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tappendContainerName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}) =>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t//isDroppedInValidArea: boolean\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t!rootRef.current ||\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t!layoutRef.current\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn;\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst isRootOver =\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisOverDrop(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tx,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ty,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telement:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trootRef.current,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst isLayoutInner =\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisInnerDrop(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tx,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ty,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telement:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayoutRef.current,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(!isRootOver &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t!isLayoutInner) ||\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(!isRootOver &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisLayoutInner &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponentRef\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.current\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.length >\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t1)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst option =\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{};\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponentRef\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.current\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.length >\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t1\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tadjacentItem,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tadjacentIndex,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t} =\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tgetAdjacentItem(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponentRef.current,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveIndexRef.current,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tadjacentItem &&\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveIndexRef.current ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tindex\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t//탭 이동이고 현재 활성화 된 탭인 경우우\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tObject.assign(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\toption,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tx,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ty,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttargetComponent:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tadjacentItem.component,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnextContainerName:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tadjacentItem.containerName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\torderName:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"center\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdropTargetComponentEvent:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tnavigationTitle:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tadjacentItem.navigationTitle,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tadjacentItem.dropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdirection:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdirection,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tscreenKey,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tindex ===\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t0\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t//이동하려는 탭이 첫번째일 때 (position = center)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdropMovementEventSubject.next(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstate: \"remove\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttargetContainerName:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.containerName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttargetParentLayoutName:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tparentLayoutName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttargetLayoutName:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayoutName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...option,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t//이동하려는 탭이 첫번째가 아닐 때 (position = center > center)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdropMovementEventSubject.next(\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstate: \"remove\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttargetContainerName:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.containerName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttargetParentLayoutName:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"\",\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttargetLayoutName:\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlayoutName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...option,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem.navigationTitle\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</FlexLayoutSplitScreenDragBox>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</FlexLayoutSplitScreenDragBoxItem>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</FlexLayoutSplitScreenDragBoxContainer>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<FlexLayoutSplitScreenDragBoxTitleMore></FlexLayoutSplitScreenDragBoxTitleMore>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t\t\t{(() => {\r\n\t\t\t\t\t\t\t\t\t\t\t\tconst target =\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tactiveIndex\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t] ||\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tcenterDropTargetComponent[0];\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn target.component;\r\n\t\t\t\t\t\t\t\t\t\t\t})()}\r\n\t\t\t\t\t\t\t\t\t\t</FlexLayoutSplitScreenScrollBox>\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t</FlexLayoutContainer>\r\n\t\t\t\t\t\t\t</>\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t<div></div>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t{afterDropTargetComponent.length != 0 ? (\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t{afterDropTargetComponent.map(\r\n\t\t\t\t\t\t\t\t\t(\r\n\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\tcontainerName: cName,\r\n\t\t\t\t\t\t\t\t\t\t\tcomponent,\r\n\t\t\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\t\tscreenKey,\r\n\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\ti,\r\n\t\t\t\t\t\t\t\t\t) => (\r\n\t\t\t\t\t\t\t\t\t\t<FlexLayoutContainer\r\n\t\t\t\t\t\t\t\t\t\t\tcontainerName={cName}\r\n\t\t\t\t\t\t\t\t\t\t\tisInitialResizable\r\n\t\t\t\t\t\t\t\t\t\t\tisResizePanel={\r\n\t\t\t\t\t\t\t\t\t\t\t\ti !==\r\n\t\t\t\t\t\t\t\t\t\t\t\tafterDropTargetComponent.length -\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t1\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\tkey={cName}\r\n\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t<FlexLayoutSplitScreenChild\r\n\t\t\t\t\t\t\t\t\t\t\t\tparentDirection={direction}\r\n\t\t\t\t\t\t\t\t\t\t\t\tlayoutName={`${layoutName}_after-${depth}`}\r\n\t\t\t\t\t\t\t\t\t\t\t\tparentLayoutName={layoutName}\r\n\t\t\t\t\t\t\t\t\t\t\t\tcontainerName={cName}\r\n\t\t\t\t\t\t\t\t\t\t\t\tdepth={depth + 1}\r\n\t\t\t\t\t\t\t\t\t\t\t\t//isSplit={isSplit}\r\n\t\t\t\t\t\t\t\t\t\t\t\trootRef={rootRef}\r\n\t\t\t\t\t\t\t\t\t\t\t\tscreenKey={screenKey}\r\n\t\t\t\t\t\t\t\t\t\t\t\tinitialCenterComponents={[\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcomponent,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcontainerName: cName,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tscreenKey,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t]}\r\n\t\t\t\t\t\t\t\t\t\t\t\trootName={rootName}\r\n\t\t\t\t\t\t\t\t\t\t\t></FlexLayoutSplitScreenChild>\r\n\t\t\t\t\t\t\t\t\t\t</FlexLayoutContainer>\r\n\t\t\t\t\t\t\t\t\t),\r\n\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t</>\r\n\t\t\t\t\t\t) : (\r\n\t\t\t\t\t\t\t<div></div>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t</FlexLayout>\r\n\t\t\t\t\t{boundaryContainerSize && (\r\n\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\tclassName={`${styles[\"flex-split-screen-boundary-container\"]}`}\r\n\t\t\t\t\t\t\tstyle={{ ...boundaryContainerSize }}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t⬇️드롭하면 화면이 분할됩니다.\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t)}\r\n\t\t\t\t</div>\r\n\t\t\t)}\r\n\t\t</>\r\n\t);\r\n}\r\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/flex-layout/components/FlexLayoutSplitScreenDragBox.tsx"],"names":["useRef","useDragEvents","x","y","dragState","isDocumentOut","useEffect","styles","jsx","Fragment"],"mappings":";;;;;;;;;;;;AAeA,MAAM,QAAA,GAAW,EAAA;AAejB,SAAS,YAAA,CAAa,GAAW,CAAA,EAAW;AAC3C,EAAA,MAAM,CAAA,GAAI,MAAA,CAAO,UAAA,EAChB,CAAA,GAAI,MAAA,CAAO,WAAA;AACZ,EAAA,MAAM,EAAA,GAAK,CAAA,GAAI,IAAA,EACd,EAAA,GAAK,CAAA,GAAI,IAAA;AAGV,EAAA,IAAI,EAAA,GAAK,CAAA;AACT,EAAA,IAAI,CAAA,GAAI,EAAA;AAEP,IAAA,EAAA,GAAK,EAAA,CAAG,EAAA,GAAK,CAAA,IAAK,EAAA,CAAA,GAAM,QAAA;AAAA,OAAA,IAChB,IAAI,CAAA,GAAI,EAAA;AAEhB,IAAA,EAAA,GAAA,CAAO,CAAA,IAAK,CAAA,GAAI,EAAA,CAAA,IAAO,EAAA,GAAM,QAAA;AAG9B,EAAA,IAAI,EAAA,GAAK,CAAA;AACT,EAAA,IAAI,CAAA,GAAI,EAAA;AAEP,IAAA,EAAA,GAAK,EAAA,CAAG,EAAA,GAAK,CAAA,IAAK,EAAA,CAAA,GAAM,QAAA;AAAA,OAAA,IAChB,IAAI,CAAA,GAAI,EAAA;AAEhB,IAAA,EAAA,GAAA,CAAO,CAAA,IAAK,CAAA,GAAI,EAAA,CAAA,IAAO,EAAA,GAAM,QAAA;AAE9B,EAAA,OAAO,EAAE,IAAI,EAAA,EAAG;AACjB;AA2De,SAAR,4BAAA,CAAqE;AAAA,EAC3E,WAAA;AAAA,EACA,YAAA;AAAA,EACA,eAAA;AAAA,EACA,KAAA;AAAA,EACA,eAAA;AAAA,EACA,eAAA;AAAA,EACA,aAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,yBAAA;AAAA,EACA,YAAY,KAAA,CAAM,IAAA;AAAA,IACjB,OAAO,MAAA,CAAO,eAAA,CAAgB,IAAI,WAAA,CAAY,EAAE,CAAC,CAAA;AAAA,IACjD,CAAC,MAAM,CAAA,CAAE,QAAA,CAAS,EAAE,CAAA,CAAE,QAAA,CAAS,GAAG,GAAG;AAAA,GACtC,CAAE,KAAK,EAAE,CAAA;AAAA,EACT,qBAAA,GAAwB,KAAA;AAAA,EACxB,aAAa,EAAC;AAAA,EACd,eAAA;AAAA,EACA,GAAG;AACJ,CAAA,EAAsC;AAErC,EAAA,MAAM,SAAA,GAAYA,aAAsB,IAAI,CAAA;AAC5C,EAAA,MAAM,WAAWA,YAAA,CAAmC,EAAE,IAAI,CAAA,EAAG,EAAA,EAAI,GAAG,CAAA;AACpE,EAAA,MAAM,GAAA,GAAMA,aAAuB,IAAI,CAAA;AACvC,EAAA,MAAM,aAAA,GAAgBA,aAA8B,IAAI,CAAA;AACxD,EAAA,MAAM,WAAA,GAAcA,aAAsB,IAAI,CAAA;AAC9C,EAAA,MAAM,YAAA,GAAeA,aAAsB,IAAI,CAAA;AAC/C,EAAA,MAAM,UAAA,GAAaA,aAAe,EAAE,CAAA;AAEpC,EAAA,MAAM,EAAE,WAAA,EAAa,UAAA,EAAY,SAAA,KAAcC,qBAAA,CAAc;AAAA,IAC5D;AAAA,GACA,CAAA;AACD,EAAA,MAAM,iBAAA,GAAoB,CAAC,KAAA,KAAiB;AAE3C,IAAA,IAAI,CAAA,GAAI,CAAA;AACR,IAAA,IAAI,CAAA,GAAI,CAAA;AAER,IAAA,IAAI,KAAA,CAAM,SAAS,WAAA,EAAa;AAC/B,MAAA,MAAM,CAAA,GAAK,KAAA,CAAgC,OAAA,CAAQ,CAAC,CAAA;AACpD,MAAA,CAAA,GAAI,CAAA,CAAE,OAAA;AACN,MAAA,CAAA,GAAI,CAAA,CAAE,OAAA;AAAA,IACP,CAAA,MAAO;AACN,MAAA,MAAM,CAAA,GAAI,KAAA;AACV,MAAA,CAAA,GAAI,CAAA,CAAE,OAAA;AACN,MAAA,CAAA,GAAI,CAAA,CAAE,OAAA;AAAA,IACP;AACA,IAAA,MAAM,EAAE,EAAA,EAAI,EAAA,EAAG,GAAI,YAAA,CAAa,GAAG,CAAC,CAAA;AACpC,IAAA,MAAM,MAAA,GAAS,EAAA,KAAO,CAAA,IAAK,EAAA,KAAO,CAAA;AAIlC,IAAA,IAAI,aAAA,CAAc,OAAA,EAAS,WAAA,IAAe,CAAC,MAAA,EAAQ;AAClD,MAAA,KAAA,CAAM,cAAA,EAAe;AACrB,MAAA,IAAI,UAAU,OAAA,EAAS;AACtB,QAAA,oBAAA,CAAqB,UAAU,OAAO,CAAA;AACtC,QAAA,SAAA,CAAU,OAAA,GAAU,IAAA;AAAA,MACrB;AAAA,IAED;AAEA,IAAA,IACC,aAAA,CAAc,OAAA,EAAS,WAAA,IACvB,MAAA,EAEC;AACD,MAAA,KAAA,CAAM,cAAA,EAAe;AAIrB,MAAA,QAAA,CAAS,OAAA,GAAU,EAAE,EAAA,EAAI,EAAA,EAAG;AAI5B,MAAA,IAAI,CAAC,UAAU,OAAA,EAAS;AACvB,QAAA,MAAM,OAAO,MAAM;AAClB,UAAA,MAAM,MAAA,GACL,eAAA,EAAiB,OAAA,IAChB,QAAA,CAAS,gBAAA;AAEX,UAAA,IAAI,QAAQ,QAAA,EAAU;AACrB,YAAA,MAAA,CAAO,QAAA;AAAA,cACN,SAAS,OAAA,CAAQ,EAAA;AAAA,cACjB,SAAS,OAAA,CAAQ;AAAA,aAClB;AAAA,UACD,CAAA,MAAO;AACN,YAAA,MAAA,CAAO,QAAA;AAAA,cACN,SAAS,OAAA,CAAQ,EAAA;AAAA,cACjB,SAAS,OAAA,CAAQ;AAAA,aAClB;AAAA,UACD;AACA,UAAA,IACC,SAAS,OAAA,CAAQ,EAAA,KAAO,KACxB,QAAA,CAAS,OAAA,CAAQ,OAAO,CAAA,EACvB;AACD,YAAA,SAAA,CAAU,OAAA,GAAU,IAAA;AACpB,YAAA;AAAA,UACD;AACA,UAAA,SAAA,CAAU,OAAA,GAAU,sBAAsB,IAAI,CAAA;AAAA,QAC/C,CAAA;AACA,QAAA,SAAA,CAAU,OAAA,GAAU,sBAAsB,IAAI,CAAA;AAAA,MAC/C;AAAA,IAGD;AACA,IAAA,IAAI,KAAA,CAAM,SAAS,WAAA,EAAa;AAE/B,MAAA,KAAA,CAAM,cAAA,EAAe;AAAA,IACtB;AACA,IAAA,UAAA,CAAW;AAAA,MACV,KAAA;AAAA,MACA,iBAAiB,CAAC,EAAE,GAAAC,EAAAA,EAAG,CAAA,EAAAC,IAAE,KAAM;AAC9B,QAAA,IAAI,aAAA,CAAc,OAAA,EAAS,aAAA,CAAc,OAAA,CAAQ,MAAA,EAAO;AAAA,MACzD,CAAA;AAAA,MACA,mBAAmB,CAAC,EAAE,GAAAD,EAAAA,EAAG,CAAA,EAAAC,IAAE,KAAM;AAChC,QAAA,IAAI,CAAC,cAAc,OAAA,EAAS;AAC5B,QAAA,SAAA,CAAU,QAAQ,GAAG,CAAA;AACrB,QAAA,aAAA,CAAc,OAAA,CAAQ,MAAM,IAAA,GAAO,CAAA,EAAGD,MAAK,WAAA,CAAY,OAAA,IAAW,KAAK,CAAC,CAAA,EAAA,CAAA;AACxE,QAAA,aAAA,CAAc,OAAA,CAAQ,MAAM,GAAA,GAAM,CAAA,EAAGC,MAAK,YAAA,CAAa,OAAA,IAAW,KAAK,CAAC,CAAA,EAAA,CAAA;AAAA,MACzE,CAAA;AAAA,MACA,iBAAiB,CAAC,EAAE,GAAAD,EAAAA,EAAG,CAAA,EAAAC,IAAE,KAAM;AAC9B,QAAA,IAAI,aAAA,CAAc,SAAS,WAAA,EAAa;AACvC,UAAA,aAAA,CAAc,OAAA,CAAQ,MAAM,IAAA,GAAO,CAAA,EAAGD,MAAK,WAAA,CAAY,OAAA,IAAW,KAAK,CAAC,CAAA,EAAA,CAAA;AACxE,UAAA,aAAA,CAAc,OAAA,CAAQ,MAAM,GAAA,GAAM,CAAA,EAAGC,MAAK,YAAA,CAAa,OAAA,IAAW,KAAK,CAAC,CAAA,EAAA,CAAA;AAAA,QACzE;AAEA,QAAAC,iBAAA,CAAU,IAAA,CAAK;AAAA,UACd,UAAA,EAAY,IAAA;AAAA,UACZ,MAAA,EAAQ,KAAA;AAAA,UACR,eAAA;AAAA,UACA,QAAA,EAAU,eAAA;AAAA,UACV,CAAA,EAAAF,EAAAA;AAAA,UACA,CAAA,EAAAC,EAAAA;AAAA,UACA,aAAA;AAAA,UACA,yBAAA;AAAA,UACA;AAAA,SACA,CAAA;AAAA,MACF;AAAA,KACA,CAAA;AAAA,EACF,CAAA;AACA,EAAA,MAAM,gBAAA,GAAmB,CAAC,KAAA,KAAiB;AAC1C,IAAA,IAAI,SAAA,CAAU,YAAY,IAAA,EAAM;AAC/B,MAAA,oBAAA,CAAqB,UAAU,OAAO,CAAA;AACtC,MAAA,SAAA,CAAU,OAAA,GAAU,IAAA;AAAA,IACrB;AACA,IAAA,QAAA,CAAS,OAAA,GAAU,EAAE,EAAA,EAAI,CAAA,EAAG,IAAI,CAAA,EAAE;AAElC,IAAA,SAAA,CAAU;AAAA,MACT,KAAA;AAAA,MACA,eAAA,EAAiB,CAAC,EAAE,CAAA,EAAG,GAAE,KAAM;AAC9B,QAAA,MAAM,OAAO,UAAA,CAAW,OAAA;AACxB,QAAA,IAAI,aAAA,CAAc,OAAA,EAAS,aAAA,CAAc,OAAA,CAAQ,MAAA,EAAO;AACxD,QAAA,IAAI,6BAA6BE,6BAAA,CAAc,EAAE,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG;AACzD,UAAA,IACC,0BAA0B,QAAA,IACzB,CAAC,0BAA0B,UAAA,IAC3B,CAAC,0BAA0B,WAAA,EAC3B;AACD,YAAA,MAAA,CAAO,IAAA,CAAK,MAAM,QAAQ,CAAA;AAAA,UAC3B,CAAA,MAAO;AACN,YAAA,MAAM,KAAA,GACL,MAAA,CAAO,UAAA,IACN,yBAAA,CAA0B,UAAA,IAAc,CAAA,CAAA;AAC1C,YAAA,MAAM,MAAA,GACL,MAAA,CAAO,WAAA,IACN,yBAAA,CAA0B,WAAA,IAAe,CAAA,CAAA;AAC3C,YAAA,MAAA,CAAO,IAAA;AAAA,cACN,IAAA;AAAA,cACA,QAAA;AAAA,cACA,CAAA,MAAA,EAAS,KAAK,CAAA,QAAA,EAAW,MAAM,CAAA,MAAA,EAAS,MAAA,CAAO,UAAA,GAAa,CAAA,GAAI,EAAA,GAAK,KAAK,CAAA,KAAA,EAAQ,MAAA,CAAO,YAAY,CAAC,CAAA;AAAA,aACvG;AAAA,UACD;AAAA,QACD;AACA,QAAAD,iBAAA,CAAU,IAAA,CAAK;AAAA,UACd,UAAA,EAAY,KAAA;AAAA,UACZ,MAAA,EAAQ,IAAA;AAAA,UACR,eAAA;AAAA,UACA,QAAA,EAAU,eAAA;AAAA,UACV,CAAA;AAAA,UACA,CAAA;AAAA,UACA,aAAA;AAAA,UACA,yBAAA;AAAA,UACA,eAAA;AAAA,UACA,SAAA;AAAA,UACA;AAAA,SACA,CAAA;AAAA,MACF;AAAA,KACA,CAAA;AAAA,EACF,CAAA;AACA,EAAAE,eAAA,CAAU,MAAM;AACf,IAAA,IAAI,IAAI,OAAA,EAAS;AAChB,MAAA,MAAM,KAAA,GAAQ,GAAA,CAAI,OAAA,CAAQ,SAAA,CAAU,IAAI,CAAA;AACxC,MAAA,MAAM,UAAA,GAAa,GAAA,CAAI,OAAA,CAAQ,qBAAA,EAAsB;AACrD,MAAA,KAAA,CAAM,KAAA,CAAM,KAAA,GAAQ,UAAA,CAAW,KAAA,GAAQ,IAAA;AACvC,MAAA,KAAA,CAAM,KAAA,CAAM,MAAA,GAAS,UAAA,CAAW,MAAA,GAAS,IAAA;AACzC,MAAA,KAAA,CAAM,MAAM,OAAA,GAAU,KAAA;AACtB,MAAA,KAAA,CAAM,MAAM,cAAA,GAAiB,WAAA;AAC7B,MAAA,WAAA,CAAY,UAAU,UAAA,CAAW,KAAA;AACjC,MAAA,YAAA,CAAa,UAAU,UAAA,CAAW,MAAA;AAClC,MAAA,IAAI,2BAA2B,OAAA,EAAS;AACvC,QAAA,UAAA,CAAW,UAAU,yBAAA,CAA2B,OAAA;AAChD,QAAA,MAAM,IAAA,GAAO,QAAA,CAAS,aAAA,CAAc,MAAM,CAAA;AAC1C,QAAA,IAAA,CAAK,cAAc,UAAA,CAAW,OAAA;AAC9B,QAAA,KAAA,CAAM,QAAQ,IAAI,CAAA;AAAA,MACnB;AAEA,MAAA,IAAI,eAAA,EAAiB;AACpB,QAAA,MAAM,KAAA,GAAQ,QAAA,CAAS,aAAA,CAAc,MAAM,CAAA;AAC3C,QAAA,KAAA,CAAM,WAAA,GAAc,eAAA;AACpB,QAAA,KAAA,CAAM,QAAQ,KAAK,CAAA;AAAA,MACpB;AACA,MAAA,KAAA,CAAM,MAAM,QAAA,GAAW,OAAA;AACvB,MAAA,aAAA,CAAc,OAAA,GAAU,KAAA;AACxB,MAAA,aAAA,CAAc,QAAQ,SAAA,CAAU,GAAA;AAAA,QAC/BC,wBAAO,kCAAkC;AAAA,OAC1C;AAAA,IACD;AAAA,EACD,CAAA,EAAG,EAAE,CAAA;AAEL,EAAAD,eAAA,CAAU,MAAM;AACf,IAAA,MAAM,UAAA,GAA0C;AAAA,MAC/C,WAAA;AAAA,MACA;AAAA,KACD;AACA,IAAA,MAAM,SAAA,GAAyC,CAAC,SAAA,EAAW,UAAU,CAAA;AAErE,IAAA,UAAA,CAAW,OAAA,CAAQ,CAAC,SAAA,KAAc;AACjC,MAAA,MAAA,CAAO,gBAAA,CAAiB,WAAW,iBAAA,EAAmB;AAAA,QACrD,OAAA,EAAS;AAAA,OACT,CAAA;AAAA,IACF,CAAC,CAAA;AACD,IAAA,SAAA,CAAU,OAAA,CAAQ,CAAC,SAAA,KAAc;AAChC,MAAA,MAAA,CAAO,gBAAA,CAAiB,WAAW,gBAAgB,CAAA;AAAA,IACpD,CAAC,CAAA;AACD,IAAA,OAAO,MAAM;AACZ,MAAA,UAAA,CAAW,OAAA,CAAQ,CAAC,SAAA,KAAc;AACjC,QAAA,MAAA,CAAO,mBAAA,CAAoB,WAAW,iBAAiB,CAAA;AAAA,MACxD,CAAC,CAAA;AACD,MAAA,SAAA,CAAU,OAAA,CAAQ,CAAC,SAAA,KAAc;AAChC,QAAA,MAAA,CAAO,mBAAA,CAAoB,WAAW,gBAAgB,CAAA;AAAA,MACvD,CAAC,CAAA;AAAA,IACF,CAAA;AAAA,EACD,CAAA,EAAG;AAAA,IACF,UAAA;AAAA,IACA,eAAA;AAAA,IACA,yBAAA;AAAA,IACA,SAAA;AAAA,IACA,qBAAA;AAAA,IACA,aAAA;AAAA,IACA,eAAA;AAAA,IACA;AAAA,GACA,CAAA;AACD,EAAAA,eAAA,CAAU,MAAM;AACf,IAAA,MAAM,KAAK,GAAA,CAAI,OAAA;AACf,IAAA,IAAI,CAAC,EAAA,EAAI;AAET,IAAA,MAAM,KAAA,GAAQ,CAAC,CAAA,KAAa,CAAA,CAAE,cAAA,EAAe;AAE7C,IAAA,EAAA,CAAG,gBAAA,CAAiB,eAAe,KAAK,CAAA;AAExC,IAAA,OAAO,MAAM;AACZ,MAAA,EAAA,CAAG,mBAAA,CAAoB,eAAe,KAAK,CAAA;AAAA,IAC5C,CAAA;AAAA,EACD,CAAA,EAAG,EAAE,CAAA;AACL,EAAA,uBACCE,cAAA,CAAAC,mBAAA,EAAA,EACC,QAAA,kBAAAD,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACA,WAAW,CAAA,EAAG,SAAA,IAAa,EAAE,CAAA,CAAA,EAAID,uBAAA,CAAO,4BAA4B,CAAC,CAAA,CAAA;AAAA,MACrE,GAAA;AAAA,MACA,aAAA,EAAe,CAAC,CAAA,KAAM,CAAA,CAAE,cAAA,EAAe;AAAA,MACvC,WAAA,EAAa,CAAC,EAAA,KAAO;AACpB,QAAA,IAAI,WAAA,EAAa;AAChB,UAAA,OAAA,CAAQ,SAAQ,CAAE,IAAA,CAAK,MAAM,WAAA,CAAY,EAAE,CAAC,CAAA;AAAA,QAC7C;AACA,QAAA,WAAA,CAAY;AAAA,UACX,KAAA,EAAO,EAAA;AAAA,UACP,iBAAA,EAAmB,CAAC,EAAE,CAAA,EAAG,GAAE,KAAM;AAChC,YAAA,IAAI,cAAc,OAAA,EAAS;AAC1B,cAAA,QAAA,CAAS,IAAA,CAAK,WAAA;AAAA,gBACb,aAAA,CAAc;AAAA,eACf;AACA,cAAA,IAAI,IAAI,OAAA,EAAS;AAChB,gBAAA,MAAM,UAAA,GACL,GAAA,CAAI,OAAA,CAAQ,qBAAA,EAAsB;AACnC,gBAAA,aAAA,CAAc,OAAA,CAAQ,KAAA,CAAM,KAAA,GAC3B,UAAA,CAAW,KAAA,GAAQ,IAAA;AACpB,gBAAA,aAAA,CAAc,OAAA,CAAQ,KAAA,CAAM,MAAA,GAC3B,UAAA,CAAW,MAAA,GAAS,IAAA;AAErB,gBAAA,WAAA,CAAY,UAAU,UAAA,CAAW,KAAA;AACjC,gBAAA,YAAA,CAAa,UAAU,UAAA,CAAW,MAAA;AAAA,cACnC;AAAA,YACD;AAEA,YAAA,IAAI,aAAA,CAAc,SAAS,WAAA,EAAa;AACvC,cAAA,SAAA,CAAU,QAAQ,GAAG,CAAA;AACrB,cAAA,aAAA,CAAc,OAAA,CAAQ,MAAM,IAAA,GAAO,CAAA,EAAG,KAAK,WAAA,CAAY,OAAA,IAAW,KAAK,CAAC,CAAA,EAAA,CAAA;AACxE,cAAA,aAAA,CAAc,OAAA,CAAQ,MAAM,GAAA,GAAM,CAAA,EAAG,KAAK,YAAA,CAAa,OAAA,IAAW,KAAK,CAAC,CAAA,EAAA,CAAA;AAAA,YAGzE;AACA,YAAAH,iBAAA,CAAU,IAAA,CAAK;AAAA,cACd,UAAA,EAAY,IAAA;AAAA,cACZ,MAAA,EAAQ,KAAA;AAAA,cACR,eAAA;AAAA,cACA,QAAA,EAAU,eAAA;AAAA,cACV,CAAA;AAAA,cACA,CAAA;AAAA,cACA,aAAA;AAAA,cACA,yBAAA;AAAA,cACA;AAAA,aACA,CAAA;AAAA,UACF;AAAA,SACA,CAAA;AAAA,MACF,CAAA;AAAA,MACA,YAAA,EAAc,CAAC,EAAA,KAAO;AACrB,QAAA,IAAI,YAAA,EAAc;AACjB,UAAA,OAAA,CAAQ,SAAQ,CAAE,IAAA,CAAK,MAAM,YAAA,CAAa,EAAE,CAAC,CAAA;AAAA,QAC9C;AACA,QAAA,WAAA,CAAY;AAAA,UACX,KAAA,EAAO,EAAA;AAAA,UACP,iBAAA,EAAmB,CAAC,EAAE,CAAA,EAAG,GAAE,KAAM;AAChC,YAAA,IAAI,cAAc,OAAA,EAAS;AAC1B,cAAA,QAAA,CAAS,IAAA,CAAK,WAAA;AAAA,gBACb,aAAA,CAAc;AAAA,eACf;AACA,cAAA,IAAI,IAAI,OAAA,EAAS;AAChB,gBAAA,MAAM,UAAA,GACL,GAAA,CAAI,OAAA,CAAQ,qBAAA,EAAsB;AACnC,gBAAA,aAAA,CAAc,OAAA,CAAQ,KAAA,CAAM,KAAA,GAC3B,UAAA,CAAW,KAAA,GAAQ,IAAA;AACpB,gBAAA,aAAA,CAAc,OAAA,CAAQ,KAAA,CAAM,MAAA,GAC3B,UAAA,CAAW,MAAA,GAAS,IAAA;AAErB,gBAAA,WAAA,CAAY,UAAU,UAAA,CAAW,KAAA;AACjC,gBAAA,YAAA,CAAa,UAAU,UAAA,CAAW,MAAA;AAAA,cACnC;AAAA,YACD;AACA,YAAA,IAAI,aAAA,CAAc,SAAS,WAAA,EAAa;AACvC,cAAA,SAAA,CAAU,QAAQ,GAAG,CAAA;AACrB,cAAA,aAAA,CAAc,OAAA,CAAQ,MAAM,IAAA,GAAO,CAAA,EAAG,KAAK,WAAA,CAAY,OAAA,IAAW,KAAK,CAAC,CAAA,EAAA,CAAA;AACxE,cAAA,aAAA,CAAc,OAAA,CAAQ,MAAM,GAAA,GAAM,CAAA,EAAG,KAAK,YAAA,CAAa,OAAA,IAAW,KAAK,CAAC,CAAA,EAAA,CAAA;AAAA,YAGzE;AACA,YAAAA,iBAAA,CAAU,IAAA,CAAK;AAAA,cACd,UAAA,EAAY,IAAA;AAAA,cACZ,MAAA,EAAQ,KAAA;AAAA,cACR,eAAA;AAAA,cACA,QAAA,EAAU,eAAA;AAAA,cACV,CAAA;AAAA,cACA,CAAA;AAAA,cACA,aAAA;AAAA,cACA,yBAAA;AAAA,cACA;AAAA,aACA,CAAA;AAAA,UACF;AAAA,SACA,CAAA;AAAA,MACF,CAAA;AAAA,MACA,KAAA,EAAO,EAAE,GAAG,KAAA,EAAM;AAAA,MACjB,GAAG,KAAA;AAAA,MAEH;AAAA;AAAA,GACF,EAED,CAAA;AAEF","file":"FlexLayoutSplitScreenDragBox.cjs","sourcesContent":["import {\r\n\tCSSProperties,\r\n\tHTMLAttributes,\r\n\tMouseEvent,\r\n\tReactElement,\r\n\tReactNode,\r\n\tRefObject,\r\n\tTouchEvent,\r\n\tuseEffect,\r\n\tuseRef,\r\n} from \"react\";\r\nimport { dragState, useDragEvents } from \"../hooks/useDrag\";\r\n\r\nimport styles from \"../styles/FlexLayout.module.css\";\r\nimport { isDocumentOut } from \"../utils/FlexLayoutUtils\";\r\nconst MAX_STEP = 18;\r\n\r\nfunction shouldAllowViewportScroll(x: number, y: number) {\r\n\tconst w = window.innerWidth;\r\n\tconst h = window.innerHeight;\r\n\tconst marginX = w * 0.15;\r\n\tconst marginY = h * 0.15;\r\n\treturn (\r\n\t\tx < marginX || // 왼쪽 15 %\r\n\t\tx > w - marginX || // 오른쪽 15 %\r\n\t\ty < marginY || // 상단 15 %\r\n\t\ty > h - marginY // 하단 15 %\r\n\t);\r\n}\r\n\r\nfunction edgeVelocity(x: number, y: number) {\r\n\tconst w = window.innerWidth,\r\n\t\th = window.innerHeight;\r\n\tconst mx = w * 0.15,\r\n\t\tmy = h * 0.15;\r\n\r\n\t/* X 축 */\r\n\tlet vx = 0;\r\n\tif (x < mx)\r\n\t\t// ← 왼쪽\r\n\t\tvx = -((mx - x) / mx) * MAX_STEP;\r\n\telse if (x > w - mx)\r\n\t\t// → 오른쪽\r\n\t\tvx = ((x - (w - mx)) / mx) * MAX_STEP;\r\n\r\n\t/* Y 축 */\r\n\tlet vy = 0;\r\n\tif (y < my)\r\n\t\t// ↑ 상단\r\n\t\tvy = -((my - y) / my) * MAX_STEP;\r\n\telse if (y > h - my)\r\n\t\t// ↓ 하단\r\n\t\tvy = ((y - (h - my)) / my) * MAX_STEP;\r\n\r\n\treturn { vx, vy };\r\n}\r\nfunction calcVelocity(dx: number, dy: number, x: number, y: number) {\r\n\tconst w = window.innerWidth,\r\n\t\th = window.innerHeight;\r\n\tconst marginX = w * 0.15,\r\n\t\tmarginY = h * 0.15;\r\n\r\n\t/* 거리가 0(가장자리)~margin 사이면 1~4 배 가중치 */\r\n\tconst multX =\r\n\t\tx < marginX\r\n\t\t\t? 1 + ((marginX - x) / marginX) * 3\r\n\t\t\t: x > w - marginX\r\n\t\t\t\t? 1 + ((x - (w - marginX)) / marginX) * 3\r\n\t\t\t\t: 1;\r\n\r\n\tconst multY =\r\n\t\ty < marginY\r\n\t\t\t? 1 + ((marginY - y) / marginY) * 3\r\n\t\t\t: y > h - marginY\r\n\t\t\t\t? 1 + ((y - (h - marginY)) / marginY) * 3\r\n\t\t\t\t: 1;\r\n\r\n\t/* ←→·↑↓ **반대 방향**으로 스크롤 */\r\n\treturn { vx: -dx * multX, vy: -dy * multY };\r\n}\r\n\r\nexport interface FlexLayoutSplitScreenDragBoxProps<\r\n\tE extends HTMLElement = HTMLElement,\r\n> extends Omit<HTMLAttributes<HTMLDivElement>, \"children\"> {\r\n\tonMouseDown?: (event: MouseEvent<HTMLDivElement>) => void;\r\n\tonTouchStart?: (event: TouchEvent<HTMLDivElement>) => void;\r\n\tdropEndCallback?: ({\r\n\t\tx,\r\n\t\ty,\r\n\t\tcontainerName,\r\n\t}: {\r\n\t\tx: number;\r\n\t\ty: number;\r\n\t\tcontainerName: string;\r\n\t}) => void;\r\n\tstyle?: CSSProperties;\r\n\tnavigationTitle?: string;\r\n\ttargetComponent?: ReactElement;\r\n\tdropDocumentOutsideOption?: DropDocumentOutsideOption;\r\n\tchildren: ReactNode;\r\n\tcontainerName: string;\r\n\tscreenKey?: string;\r\n\tisBlockingActiveInput?: boolean;\r\n\tcustomData?: Record<string, string | number | boolean | undefined>;\r\n\tscrollTargetRef?: RefObject<E>;\r\n}\r\n\r\nexport interface DropDocumentOutsideOption {\r\n\topenUrl: string;\r\n\twidthRatio?: number;\r\n\theightRatio?: number;\r\n\tisNewTap?: boolean;\r\n}\r\n\r\nexport default function FlexLayoutSplitScreenDragBox<E extends HTMLElement>({\r\n\tonMouseDown,\r\n\tonTouchStart,\r\n\tdropEndCallback,\r\n\tstyle,\r\n\tnavigationTitle,\r\n\ttargetComponent,\r\n\tcontainerName,\r\n\tchildren,\r\n\tclassName,\r\n\tdropDocumentOutsideOption,\r\n\tscreenKey = Array.from(\r\n\t\twindow.crypto.getRandomValues(new Uint32Array(16)),\r\n\t\t(e) => e.toString(32).padStart(2, \"0\"),\r\n\t).join(\"\"),\r\n\tisBlockingActiveInput = false,\r\n\tcustomData = {},\r\n\tscrollTargetRef,\r\n\t...props\r\n}: FlexLayoutSplitScreenDragBoxProps) {\r\n\t//const lastTouch = useRef<{ x: number; y: number } | null>(null);\r\n\tconst scrollRAF = useRef<number | null>(null); // 애니메이션 루프 id\r\n\tconst velocity = useRef<{ vx: number; vy: number }>({ vx: 0, vy: 0 });\r\n\tconst ref = useRef<HTMLDivElement>(null);\r\n\tconst clonedNodeRef = useRef<HTMLDivElement | null>(null);\r\n\tconst clonedWidth = useRef<number | null>(null);\r\n\tconst clonedHeight = useRef<number | null>(null);\r\n\tconst hrefUrlRef = useRef<string>(\"\");\r\n\r\n\tconst { handleStart, handleMove, handleEnd } = useDragEvents({\r\n\t\tisBlockingActiveInput,\r\n\t});\r\n\tconst handleMoveWrapper = (event: Event) => {\r\n\t\tlet allowScrollEdge = false;\r\n\t\tlet x = 0;\r\n\t\tlet y = 0;\r\n\r\n\t\tif (event.type === \"touchmove\") {\r\n\t\t\tconst t = (event as globalThis.TouchEvent).touches[0];\r\n\t\t\tx = t.clientX;\r\n\t\t\ty = t.clientY;\r\n\t\t} else {\r\n\t\t\tconst m = event as globalThis.MouseEvent;\r\n\t\t\tx = m.clientX;\r\n\t\t\ty = m.clientY;\r\n\t\t}\r\n\t\tconst { vx, vy } = edgeVelocity(x, y);\r\n\t\tconst inEdge = vx !== 0 || vy !== 0;\r\n\r\n\t\tallowScrollEdge = shouldAllowViewportScroll(x, y);\r\n\t\t/* 중앙 영역이면 스크롤 막음, 가장자리면 허용 */\r\n\t\tif (clonedNodeRef.current?.isConnected && !inEdge) {\r\n\t\t\tevent.preventDefault(); // 화면 고정\r\n\t\t\tif (scrollRAF.current) {\r\n\t\t\t\tcancelAnimationFrame(scrollRAF.current);\r\n\t\t\t\tscrollRAF.current = null;\r\n\t\t\t}\r\n\t\t\t// velocity.current = { vx: 0, vy: 0 };\r\n\t\t}\r\n\r\n\t\tif (\r\n\t\t\tclonedNodeRef.current?.isConnected &&\r\n\t\t\tinEdge\r\n\t\t\t//&&lastTouch.current\r\n\t\t) {\r\n\t\t\tevent.preventDefault();\r\n\t\t\t// const dx = x - lastTouch.current.x; // 손가락 이동량\r\n\t\t\t// const dy = y - lastTouch.current.y;\r\n\r\n\t\t\tvelocity.current = { vx, vy }; // ← X·Y 둘 다 들어갈 수 있음\r\n\r\n\t\t\t// const { vx, vy } = calcVelocity(dx, dy, x, y);\r\n\r\n\t\t\tif (!scrollRAF.current) {\r\n\t\t\t\tconst step = () => {\r\n\t\t\t\t\tconst target =\r\n\t\t\t\t\t\tscrollTargetRef?.current ??\r\n\t\t\t\t\t\t(document.scrollingElement as HTMLElement | null);\r\n\r\n\t\t\t\t\tif (target?.scrollBy) {\r\n\t\t\t\t\t\ttarget.scrollBy(\r\n\t\t\t\t\t\t\tvelocity.current.vx,\r\n\t\t\t\t\t\t\tvelocity.current.vy,\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\twindow.scrollBy(\r\n\t\t\t\t\t\t\tvelocity.current.vx,\r\n\t\t\t\t\t\t\tvelocity.current.vy,\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tvelocity.current.vx === 0 &&\r\n\t\t\t\t\t\tvelocity.current.vy === 0\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\tscrollRAF.current = null;\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tscrollRAF.current = requestAnimationFrame(step);\r\n\t\t\t\t};\r\n\t\t\t\tscrollRAF.current = requestAnimationFrame(step);\r\n\t\t\t}\r\n\r\n\t\t\t//lastTouch.current = { x, y };\r\n\t\t}\r\n\t\tif (event.type !== \"touchmove\") {\r\n\t\t\t/* 마우스 · 펜 → 항상 고정 */\r\n\t\t\tevent.preventDefault();\r\n\t\t}\r\n\t\thandleMove({\r\n\t\t\tevent,\r\n\t\t\tnotDragCallback: ({ x, y }) => {\r\n\t\t\t\tif (clonedNodeRef.current) clonedNodeRef.current.remove();\r\n\t\t\t},\r\n\t\t\tdragStartCallback: ({ x, y }) => {\r\n\t\t\t\tif (!clonedNodeRef.current) return;\r\n\t\t\t\tnavigator.vibrate(100);\r\n\t\t\t\tclonedNodeRef.current.style.left = `${x - (clonedWidth.current || 0) / 2}px`;\r\n\t\t\t\tclonedNodeRef.current.style.top = `${y - (clonedHeight.current || 0) / 2}px`;\r\n\t\t\t},\r\n\t\t\tmoveingCallback: ({ x, y }) => {\r\n\t\t\t\tif (clonedNodeRef.current?.isConnected) {\r\n\t\t\t\t\tclonedNodeRef.current.style.left = `${x - (clonedWidth.current || 0) / 2}px`;\r\n\t\t\t\t\tclonedNodeRef.current.style.top = `${y - (clonedHeight.current || 0) / 2}px`;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tdragState.next({\r\n\t\t\t\t\tisDragging: true,\r\n\t\t\t\t\tisDrop: false,\r\n\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\tchildren: targetComponent,\r\n\t\t\t\t\tx,\r\n\t\t\t\t\ty,\r\n\t\t\t\t\tcontainerName,\r\n\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\tcustomData,\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\tconst handleEndWrapper = (event: Event) => {\r\n\t\tif (scrollRAF.current !== null) {\r\n\t\t\tcancelAnimationFrame(scrollRAF.current);\r\n\t\t\tscrollRAF.current = null;\r\n\t\t}\r\n\t\tvelocity.current = { vx: 0, vy: 0 };\r\n\t\t//lastTouch.current = null;\r\n\t\thandleEnd({\r\n\t\t\tevent,\r\n\t\t\tdragEndCallback: ({ x, y }) => {\r\n\t\t\t\tconst href = hrefUrlRef.current;\r\n\t\t\t\tif (clonedNodeRef.current) clonedNodeRef.current.remove();\r\n\t\t\t\tif (dropDocumentOutsideOption && isDocumentOut({ x, y })) {\r\n\t\t\t\t\tif (\r\n\t\t\t\t\t\tdropDocumentOutsideOption.isNewTap ||\r\n\t\t\t\t\t\t(!dropDocumentOutsideOption.widthRatio &&\r\n\t\t\t\t\t\t\t!dropDocumentOutsideOption.heightRatio)\r\n\t\t\t\t\t) {\r\n\t\t\t\t\t\twindow.open(href, \"_blank\");\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tconst width =\r\n\t\t\t\t\t\t\twindow.innerWidth *\r\n\t\t\t\t\t\t\t(dropDocumentOutsideOption.widthRatio || 1);\r\n\t\t\t\t\t\tconst height =\r\n\t\t\t\t\t\t\twindow.innerHeight *\r\n\t\t\t\t\t\t\t(dropDocumentOutsideOption.heightRatio || 1);\r\n\t\t\t\t\t\twindow.open(\r\n\t\t\t\t\t\t\thref,\r\n\t\t\t\t\t\t\t\"_blank\",\r\n\t\t\t\t\t\t\t`width=${width},height=${height},left=${window.screenLeft - x * -1 - width},top=${window.screenTop + y}`,\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tdragState.next({\r\n\t\t\t\t\tisDragging: false,\r\n\t\t\t\t\tisDrop: true,\r\n\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\tchildren: targetComponent,\r\n\t\t\t\t\tx,\r\n\t\t\t\t\ty,\r\n\t\t\t\t\tcontainerName,\r\n\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\tdropEndCallback,\r\n\t\t\t\t\tscreenKey,\r\n\t\t\t\t\tcustomData,\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t});\r\n\t};\r\n\tuseEffect(() => {\r\n\t\tif (ref.current) {\r\n\t\t\tconst clone = ref.current.cloneNode(true) as HTMLDivElement; //document.createElement('div');\r\n\t\t\tconst originRect = ref.current.getBoundingClientRect();\r\n\t\t\tclone.style.width = originRect.width + \"px\";\r\n\t\t\tclone.style.height = originRect.height + \"px\";\r\n\t\t\tclone.style.opacity = \"0.3\";\r\n\t\t\tclone.style.backdropFilter = \"blur(6px)\";\r\n\t\t\tclonedWidth.current = originRect.width;\r\n\t\t\tclonedHeight.current = originRect.height;\r\n\t\t\tif (dropDocumentOutsideOption?.openUrl) {\r\n\t\t\t\threfUrlRef.current = dropDocumentOutsideOption!.openUrl;\r\n\t\t\t\tconst href = document.createElement(\"span\");\r\n\t\t\t\thref.textContent = hrefUrlRef.current;\r\n\t\t\t\tclone.prepend(href);\r\n\t\t\t}\r\n\r\n\t\t\tif (navigationTitle) {\r\n\t\t\t\tconst title = document.createElement(\"span\");\r\n\t\t\t\ttitle.textContent = navigationTitle;\r\n\t\t\t\tclone.prepend(title);\r\n\t\t\t}\r\n\t\t\tclone.style.position = \"fixed\";\r\n\t\t\tclonedNodeRef.current = clone;\r\n\t\t\tclonedNodeRef.current.classList.add(\r\n\t\t\t\tstyles[\"flex-split-screen-drag-box-clone\"],\r\n\t\t\t);\r\n\t\t}\r\n\t}, []);\r\n\r\n\tuseEffect(() => {\r\n\t\tconst moveEvents: Array<keyof WindowEventMap> = [\r\n\t\t\t\"mousemove\",\r\n\t\t\t\"touchmove\",\r\n\t\t];\r\n\t\tconst endEvents: Array<keyof WindowEventMap> = [\"mouseup\", \"touchend\"];\r\n\r\n\t\tmoveEvents.forEach((eventName) => {\r\n\t\t\twindow.addEventListener(eventName, handleMoveWrapper, {\r\n\t\t\t\tpassive: false,\r\n\t\t\t});\r\n\t\t});\r\n\t\tendEvents.forEach((eventName) => {\r\n\t\t\twindow.addEventListener(eventName, handleEndWrapper);\r\n\t\t});\r\n\t\treturn () => {\r\n\t\t\tmoveEvents.forEach((eventName) => {\r\n\t\t\t\twindow.removeEventListener(eventName, handleMoveWrapper);\r\n\t\t\t});\r\n\t\t\tendEvents.forEach((eventName) => {\r\n\t\t\t\twindow.removeEventListener(eventName, handleEndWrapper);\r\n\t\t\t});\r\n\t\t};\r\n\t}, [\r\n\t\tcustomData,\r\n\t\ttargetComponent,\r\n\t\tdropDocumentOutsideOption,\r\n\t\tscreenKey,\r\n\t\tisBlockingActiveInput,\r\n\t\tcontainerName,\r\n\t\tnavigationTitle,\r\n\t\tdropEndCallback,\r\n\t]);\r\n\tuseEffect(() => {\r\n\t\tconst el = ref.current;\r\n\t\tif (!el) return;\r\n\r\n\t\tconst onCtx = (e: Event) => e.preventDefault();\r\n\r\n\t\tel.addEventListener(\"contextmenu\", onCtx);\r\n\r\n\t\treturn () => {\r\n\t\t\tel.removeEventListener(\"contextmenu\", onCtx);\r\n\t\t};\r\n\t}, []);\r\n\treturn (\r\n\t\t<>\r\n\t\t\t<div\r\n\t\t\t\tclassName={`${className || \"\"} ${styles[\"flex-split-screen-drag-box\"]}`}\r\n\t\t\t\tref={ref}\r\n\t\t\t\tonContextMenu={(e) => e.preventDefault()}\r\n\t\t\t\tonMouseDown={(ev) => {\r\n\t\t\t\t\tif (onMouseDown) {\r\n\t\t\t\t\t\tPromise.resolve().then(() => onMouseDown(ev));\r\n\t\t\t\t\t}\r\n\t\t\t\t\thandleStart({\r\n\t\t\t\t\t\tevent: ev,\r\n\t\t\t\t\t\tdragStartCallback: ({ x, y }) => {\r\n\t\t\t\t\t\t\tif (clonedNodeRef.current) {\r\n\t\t\t\t\t\t\t\tdocument.body.appendChild(\r\n\t\t\t\t\t\t\t\t\tclonedNodeRef.current,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tif (ref.current) {\r\n\t\t\t\t\t\t\t\t\tconst originRect =\r\n\t\t\t\t\t\t\t\t\t\tref.current.getBoundingClientRect();\r\n\t\t\t\t\t\t\t\t\tclonedNodeRef.current.style.width =\r\n\t\t\t\t\t\t\t\t\t\toriginRect.width + \"px\";\r\n\t\t\t\t\t\t\t\t\tclonedNodeRef.current.style.height =\r\n\t\t\t\t\t\t\t\t\t\toriginRect.height + \"px\";\r\n\r\n\t\t\t\t\t\t\t\t\tclonedWidth.current = originRect.width;\r\n\t\t\t\t\t\t\t\t\tclonedHeight.current = originRect.height;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tif (clonedNodeRef.current?.isConnected) {\r\n\t\t\t\t\t\t\t\tnavigator.vibrate(100);\r\n\t\t\t\t\t\t\t\tclonedNodeRef.current.style.left = `${x - (clonedWidth.current || 0) / 2}px`;\r\n\t\t\t\t\t\t\t\tclonedNodeRef.current.style.top = `${y - (clonedHeight.current || 0) / 2}px`;\r\n\t\t\t\t\t\t\t\t//clonedNodeRef.current.style.left = `${clientX}px`;\r\n\t\t\t\t\t\t\t\t//clonedNodeRef.current.style.top = `${clientY}px`;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tdragState.next({\r\n\t\t\t\t\t\t\t\tisDragging: true,\r\n\t\t\t\t\t\t\t\tisDrop: false,\r\n\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\tchildren: targetComponent,\r\n\t\t\t\t\t\t\t\tx,\r\n\t\t\t\t\t\t\t\ty,\r\n\t\t\t\t\t\t\t\tcontainerName,\r\n\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\tcustomData,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t});\r\n\t\t\t\t}}\r\n\t\t\t\tonTouchStart={(ev) => {\r\n\t\t\t\t\tif (onTouchStart) {\r\n\t\t\t\t\t\tPromise.resolve().then(() => onTouchStart(ev));\r\n\t\t\t\t\t}\r\n\t\t\t\t\thandleStart({\r\n\t\t\t\t\t\tevent: ev,\r\n\t\t\t\t\t\tdragStartCallback: ({ x, y }) => {\r\n\t\t\t\t\t\t\tif (clonedNodeRef.current) {\r\n\t\t\t\t\t\t\t\tdocument.body.appendChild(\r\n\t\t\t\t\t\t\t\t\tclonedNodeRef.current,\r\n\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\tif (ref.current) {\r\n\t\t\t\t\t\t\t\t\tconst originRect =\r\n\t\t\t\t\t\t\t\t\t\tref.current.getBoundingClientRect();\r\n\t\t\t\t\t\t\t\t\tclonedNodeRef.current.style.width =\r\n\t\t\t\t\t\t\t\t\t\toriginRect.width + \"px\";\r\n\t\t\t\t\t\t\t\t\tclonedNodeRef.current.style.height =\r\n\t\t\t\t\t\t\t\t\t\toriginRect.height + \"px\";\r\n\r\n\t\t\t\t\t\t\t\t\tclonedWidth.current = originRect.width;\r\n\t\t\t\t\t\t\t\t\tclonedHeight.current = originRect.height;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (clonedNodeRef.current?.isConnected) {\r\n\t\t\t\t\t\t\t\tnavigator.vibrate(100);\r\n\t\t\t\t\t\t\t\tclonedNodeRef.current.style.left = `${x - (clonedWidth.current || 0) / 2}px`;\r\n\t\t\t\t\t\t\t\tclonedNodeRef.current.style.top = `${y - (clonedHeight.current || 0) / 2}px`;\r\n\t\t\t\t\t\t\t\t//clonedNodeRef.current.style.left = `${clientX}px`;\r\n\t\t\t\t\t\t\t\t//clonedNodeRef.current.style.top = `${clientY}px`;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tdragState.next({\r\n\t\t\t\t\t\t\t\tisDragging: true,\r\n\t\t\t\t\t\t\t\tisDrop: false,\r\n\t\t\t\t\t\t\t\tnavigationTitle,\r\n\t\t\t\t\t\t\t\tchildren: targetComponent,\r\n\t\t\t\t\t\t\t\tx,\r\n\t\t\t\t\t\t\t\ty,\r\n\t\t\t\t\t\t\t\tcontainerName,\r\n\t\t\t\t\t\t\t\tdropDocumentOutsideOption,\r\n\t\t\t\t\t\t\t\tcustomData,\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t});\r\n\t\t\t\t}}\r\n\t\t\t\tstyle={{ ...style }}\r\n\t\t\t\t{...props}\r\n\t\t\t>\r\n\t\t\t\t{children}\r\n\t\t\t</div>\r\n\t\t\t{}\r\n\t\t</>\r\n\t);\r\n}\r\n"]}