@byeolnaerim/flex-layout 0.0.2 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/dist/FlexLayoutSplitScreenDragBox-eCtq4kLd.d.cts +31 -0
  2. package/dist/FlexLayoutSplitScreenDragBox-eCtq4kLd.d.ts +31 -0
  3. package/dist/chunk-3EDKZTM3.js +3 -0
  4. package/dist/chunk-3EDKZTM3.js.map +1 -0
  5. package/dist/chunk-5HWEFTNQ.js +176 -0
  6. package/dist/chunk-5HWEFTNQ.js.map +1 -0
  7. package/dist/chunk-7J5JUVZK.js +3 -0
  8. package/dist/chunk-7J5JUVZK.js.map +1 -0
  9. package/dist/chunk-CFQQ6ZDC.js +182 -0
  10. package/dist/chunk-CFQQ6ZDC.js.map +1 -0
  11. package/dist/chunk-JM3CZ5DU.js +238 -0
  12. package/dist/chunk-JM3CZ5DU.js.map +1 -0
  13. package/dist/chunk-PMTZFSP4.js +219 -0
  14. package/dist/chunk-PMTZFSP4.js.map +1 -0
  15. package/dist/chunk-UYI4Z27V.js +2432 -0
  16. package/dist/chunk-UYI4Z27V.js.map +1 -0
  17. package/dist/chunk-W4CNFJTK.js +197 -0
  18. package/dist/chunk-W4CNFJTK.js.map +1 -0
  19. package/dist/chunk-YIHCWXKY.js +3 -0
  20. package/dist/chunk-YIHCWXKY.js.map +1 -0
  21. package/dist/components.cjs +3048 -0
  22. package/dist/components.cjs.map +1 -0
  23. package/dist/components.css +471 -0
  24. package/dist/components.css.map +1 -0
  25. package/dist/components.d.cts +122 -0
  26. package/dist/components.d.ts +122 -0
  27. package/dist/components.js +7 -0
  28. package/dist/components.js.map +1 -0
  29. package/dist/hooks.cjs +425 -0
  30. package/dist/hooks.cjs.map +1 -0
  31. package/dist/hooks.d.cts +37 -0
  32. package/dist/hooks.d.ts +37 -0
  33. package/dist/hooks.js +5 -0
  34. package/dist/hooks.js.map +1 -0
  35. package/dist/index.cjs +2600 -1
  36. package/dist/index.cjs.map +1 -1
  37. package/dist/index.d.cts +10 -287
  38. package/dist/index.d.ts +10 -287
  39. package/dist/index.js +9 -814
  40. package/dist/index.js.map +1 -1
  41. package/dist/providers.cjs +411 -0
  42. package/dist/providers.cjs.map +1 -0
  43. package/dist/providers.d.cts +54 -0
  44. package/dist/providers.d.ts +54 -0
  45. package/dist/providers.js +6 -0
  46. package/dist/providers.js.map +1 -0
  47. package/dist/store.cjs +204 -0
  48. package/dist/store.cjs.map +1 -0
  49. package/dist/store.d.cts +67 -0
  50. package/dist/store.d.ts +67 -0
  51. package/dist/store.js +4 -0
  52. package/dist/store.js.map +1 -0
  53. package/dist/useDrag-CYQnhUFk.d.cts +108 -0
  54. package/dist/useDrag-DR01Ob3s.d.ts +108 -0
  55. package/dist/utils.cjs +209 -0
  56. package/dist/utils.cjs.map +1 -0
  57. package/dist/utils.d.cts +28 -0
  58. package/dist/utils.d.ts +28 -0
  59. package/dist/utils.js +4 -0
  60. package/dist/utils.js.map +1 -0
  61. package/package.json +25 -5
@@ -0,0 +1,471 @@
1
+ /* src/flex-layout/styles/FlexLayout.module.css */
2
+ .flex-layout {
3
+ display: flex;
4
+ height: 100%;
5
+ width: 100%;
6
+ overflow: auto;
7
+ overflow-wrap: revert;
8
+ position: relative;
9
+ &[data-direction=column] {
10
+ flex-direction: column;
11
+ & > .flex-resize-panel {
12
+ height: 4px;
13
+ width: auto;
14
+ cursor: ns-resize;
15
+ &:hover > .hover,
16
+ &:hover > .hover[data-is_hover],
17
+ &:active > .hover {
18
+ height: 3px;
19
+ width: 100%;
20
+ }
21
+ }
22
+ & > .flex-container > .flex-content-fit-wrapper {
23
+ width: 100%;
24
+ height: fit-content;
25
+ & > * {
26
+ width: 100%;
27
+ height: fit-content;
28
+ }
29
+ }
30
+ }
31
+ &[data-direction=row] {
32
+ flex-direction: row;
33
+ & > .flex-resize-panel {
34
+ width: 4px;
35
+ height: auto;
36
+ cursor: ew-resize;
37
+ &:hover > .hover,
38
+ &:hover > .hover[data-is_hover],
39
+ &:active > .hover {
40
+ width: 3px;
41
+ height: 100%;
42
+ }
43
+ }
44
+ & > .flex-container > .flex-content-fit-wrapper {
45
+ width: fit-content;
46
+ height: 100%;
47
+ & > * {
48
+ width: fit-content;
49
+ height: 100%;
50
+ }
51
+ }
52
+ }
53
+ & > .flex-container {
54
+ overflow: hidden;
55
+ box-sizing: border-box;
56
+ &[data-is_resize_panel=true] {
57
+ flex: 1 1 0%;
58
+ }
59
+ &[data-is_resize_panel=false] {
60
+ flex: 0 0 0%;
61
+ }
62
+ & > *:not(.flex-content-fit-wrapper) {
63
+ width: 100%;
64
+ height: 100%;
65
+ }
66
+ }
67
+ & .flex-resize-panel {
68
+ background-color: rgb(115 115 115);
69
+ z-index: 1001;
70
+ display: flex;
71
+ justify-content: center;
72
+ align-items: center;
73
+ flex: 0 0 0.1%;
74
+ position: relative;
75
+ -moz-user-select: -moz-none;
76
+ -khtml-user-select: none;
77
+ -webkit-user-select: none;
78
+ -ms-user-select: none;
79
+ user-select: none;
80
+ right: 0;
81
+ bottom: 0;
82
+ &:hover,
83
+ &:active {
84
+ animation-name: drag-panel-hover;
85
+ animation-fill-mode: forwards;
86
+ animation-direction: normal;
87
+ animation-duration: 0.3s;
88
+ animation-iteration-count: 1;
89
+ animation-timing-function: cubic-bezier(1, -0.37, 0.73, 0.8);
90
+ }
91
+ &:hover > .hover,
92
+ &:hover > .hover[data-is_hover],
93
+ &:active > .hover {
94
+ background-color: #0066ffb5;
95
+ z-index: 3002;
96
+ position: absolute;
97
+ display: block;
98
+ opacity: 1;
99
+ visibility: inherit;
100
+ transition: all 1s;
101
+ animation-name: drag-panel-hover-highlight;
102
+ animation-fill-mode: forwards;
103
+ animation-direction: normal;
104
+ animation-duration: 0.3s;
105
+ animation-iteration-count: 1;
106
+ animation-timing-function: cubic-bezier(1, -0.37, 0.73, 0.8);
107
+ }
108
+ & > .hover {
109
+ opacity: 0;
110
+ visibility: hidden;
111
+ transition: all 1s;
112
+ }
113
+ &.bottom-cylinder {
114
+ &::after {
115
+ border-bottom-left-radius: 15px;
116
+ border-bottom-right-radius: 15px;
117
+ bottom: 100%;
118
+ }
119
+ }
120
+ &.bottom-cylinder-reverse {
121
+ &::after {
122
+ border-top-left-radius: 15px;
123
+ border-top-right-radius: 15px;
124
+ bottom: 100%;
125
+ }
126
+ }
127
+ &.top-cylinder {
128
+ border-bottom-left-radius: 15px;
129
+ border-bottom-right-radius: 15px;
130
+ }
131
+ &.right-cylinder {
132
+ &::after {
133
+ border-top-right-radius: 15px;
134
+ border-bottom-right-radius: 15px;
135
+ left: 100%;
136
+ }
137
+ }
138
+ &.left-cylinder {
139
+ &::after {
140
+ right: 100%;
141
+ }
142
+ }
143
+ &.bottom-cylinder,
144
+ &.bottom-cylinder-reverse,
145
+ &.top-cylinder,
146
+ &.left-cylinder,
147
+ &.right-cylinder {
148
+ &::after {
149
+ background-color: hsla(0, 0%, 54%, 0.32);
150
+ content: " ";
151
+ position: absolute;
152
+ z-index: 3002;
153
+ }
154
+ &:hover,
155
+ &:hover::after,
156
+ &:active,
157
+ &:active::after {
158
+ background-color: rgb(0 102 255 / 45%);
159
+ transition: background-color 1s;
160
+ }
161
+ }
162
+ &.bottom-cylinder,
163
+ &.top-cylinder,
164
+ &.bottom-cylinder-reverse {
165
+ &::after {
166
+ height: 1.1rem;
167
+ width: 60%;
168
+ }
169
+ &:not(.bottom-cylinder-reverse)::after {
170
+ top: 0;
171
+ }
172
+ }
173
+ &.left-cylinder,
174
+ &.right-cylinder {
175
+ &::after {
176
+ width: 1.1rem;
177
+ height: 60%;
178
+ }
179
+ }
180
+ }
181
+ }
182
+ @keyframes drag-panel-hover {
183
+ 0% {
184
+ background-color: #b1b1b1d6;
185
+ }
186
+ 10% {
187
+ background-color: #b1b1b1ba;
188
+ }
189
+ 20% {
190
+ background-color: #b1b1b194;
191
+ }
192
+ 40% {
193
+ background-color: #b1b1b17d;
194
+ }
195
+ 60% {
196
+ background-color: #b1b1b152;
197
+ }
198
+ 80% {
199
+ background-color: #b1b1b130;
200
+ }
201
+ 100% {
202
+ background-color: #b1b1b100;
203
+ animation-play-state: paused;
204
+ }
205
+ }
206
+ @keyframes drag-panel-hover-highlight {
207
+ 0% {
208
+ opacity: 0;
209
+ }
210
+ 10% {
211
+ opacity: 0.1;
212
+ }
213
+ 20% {
214
+ opacity: 0.2;
215
+ }
216
+ 40% {
217
+ opacity: 0.4;
218
+ }
219
+ 60% {
220
+ opacity: 0.6;
221
+ }
222
+ 80% {
223
+ opacity: 0.8;
224
+ }
225
+ 100% {
226
+ opacity: 1;
227
+ animation-play-state: paused;
228
+ }
229
+ }
230
+ .flex-split-screen {
231
+ width: 100%;
232
+ height: 100%;
233
+ position: relative;
234
+ & .flex-split-screen-boundary-container {
235
+ position: absolute;
236
+ font-family: Arial, sans-serif;
237
+ transition: background-color 0.3s, border-color 0.3s;
238
+ color: #00acc1;
239
+ border: 2px dashed #00acc1;
240
+ border-radius: 10px;
241
+ background-color: #0014ff17;
242
+ font-size: 1.5rem;
243
+ display: flex;
244
+ align-items: center;
245
+ justify-content: center;
246
+ font-weight: bold;
247
+ z-index: 9001;
248
+ }
249
+ & .flex-split-screen-drag-box-title-wrapper-sticky {
250
+ position: sticky;
251
+ top: 0;
252
+ z-index: 2001;
253
+ background: #f0f0f0;
254
+ }
255
+ & .flex-split-screen-drag-box-title-wrapper {
256
+ html[data-color-scheme=dark] & {
257
+ background: #3c3c3c;
258
+ box-shadow: 0px 1px 20px 0px #1e1e1e;
259
+ }
260
+ html[data-color-scheme=light] & {
261
+ background: #edf1f5;
262
+ box-shadow: 0px 1px 20px 0px #e5e5e5;
263
+ }
264
+ scrollbar-width: initial;
265
+ scrollbar-color: initial;
266
+ display: flex;
267
+ justify-content: space-between;
268
+ transition:
269
+ background 0.3s,
270
+ color 0.3s,
271
+ box-shadow 0.3s;
272
+ position: relative;
273
+ border-bottom: 1px solid #e5e5e5;
274
+ & .flex-split-screen-drag-box-title-container {
275
+ display: flex;
276
+ width: 100%;
277
+ background: inherit;
278
+ }
279
+ }
280
+ }
281
+ .flex-split-screen-drag-box-title-item {
282
+ display: flex;
283
+ align-items: baseline;
284
+ padding-right: 0.5rem;
285
+ padding-left: 0.1rem;
286
+ &:last-child:not(:first-child) {
287
+ border-right: 2px solid #00000012;
288
+ }
289
+ &:not(.active) {
290
+ box-shadow: inset 0 0 20px 20px #00000000;
291
+ border-bottom: 1px solid #007fff40;
292
+ }
293
+ &:hover {
294
+ html[data-color-scheme=dark] & {
295
+ background: #494949;
296
+ }
297
+ html[data-color-scheme=light] & {
298
+ background: #e0e0e0;
299
+ }
300
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
301
+ }
302
+ &:active {
303
+ box-shadow: inset 0px 0px 17px 0px #00000029;
304
+ transform: scale(0.97);
305
+ }
306
+ & button {
307
+ background: none;
308
+ border: none;
309
+ color: #bbbbbb;
310
+ font-weight: bold;
311
+ font-family: none;
312
+ font-size: 0.9rem;
313
+ cursor: pointer;
314
+ padding: 0 0.25rem;
315
+ }
316
+ &.active {
317
+ html[data-color-scheme=dark] & {
318
+ color: #b9af3a;
319
+ }
320
+ html[data-color-scheme=light] & {
321
+ color: #494300;
322
+ }
323
+ font-weight: bold;
324
+ box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.1);
325
+ & button {
326
+ color: #5f5f5f;
327
+ }
328
+ }
329
+ }
330
+ .flex-split-screen-drag-box-title-more {
331
+ display: flex;
332
+ flex-direction: column;
333
+ line-height: 0.3;
334
+ padding: 0rem 0.65rem 0.5rem;
335
+ font-size: 1.2rem;
336
+ font-weight: bold;
337
+ border: none;
338
+ background: none;
339
+ color: black;
340
+ justify-content: space-evenly;
341
+ cursor: pointer;
342
+ background: inherit;
343
+ &:hover {
344
+ background: #797979;
345
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
346
+ }
347
+ &:active {
348
+ box-shadow: inset 0px 0px 17px 0px #00000029;
349
+ transform: scale(0.97);
350
+ }
351
+ }
352
+ .flex-split-screen-drag-box {
353
+ align-self: center;
354
+ -webkit-touch-callout: none;
355
+ -webkit-user-select: none;
356
+ -khtml-user-select: none;
357
+ -moz-user-select: none;
358
+ -ms-user-select: none;
359
+ user-select: none;
360
+ -webkit-tap-highlight-color: transparent;
361
+ -webkit-touch-callout: none;
362
+ }
363
+ .flex-split-screen-drag-box-clone {
364
+ -webkit-touch-callout: none;
365
+ -webkit-user-select: none;
366
+ -khtml-user-select: none;
367
+ -moz-user-select: none;
368
+ -ms-user-select: none;
369
+ user-select: none;
370
+ -webkit-tap-highlight-color: transparent;
371
+ -webkit-touch-callout: none;
372
+ display: flex;
373
+ background-color: #adadad;
374
+ flex-direction: column;
375
+ padding: 0.2rem 0.4rem;
376
+ border-radius: 7px;
377
+ line-height: 99%;
378
+ z-index: 9001;
379
+ & span:first-child {
380
+ font-weight: bold;
381
+ font-size: 0.85rem;
382
+ }
383
+ & span:last-child {
384
+ font-size: 0.75rem;
385
+ }
386
+ }
387
+
388
+ /* src/flex-layout/styles/listScroll.module.css */
389
+ .default-scroll {
390
+ overflow: auto;
391
+ }
392
+ .list-scroll {
393
+ position: relative;
394
+ flex-wrap: nowrap;
395
+ text-wrap: nowrap;
396
+ white-space: nowrap;
397
+ scroll-snap-type: x mandatory;
398
+ scroll-behavior: smooth;
399
+ scrollbar-gutter: stable both-edges;
400
+ &.y {
401
+ overflow-y: scroll;
402
+ overflow-x: clip;
403
+ padding-left: 0.15rem;
404
+ padding-right: 0.4rem;
405
+ &:not(:hover) {
406
+ padding-right: 0.4rem;
407
+ padding-top: 0.4rem;
408
+ }
409
+ &:hover {
410
+ padding-right: 0;
411
+ padding-left: top;
412
+ }
413
+ }
414
+ &.x {
415
+ overflow-y: clip;
416
+ overflow-x: scroll;
417
+ padding-top: 0.15rem;
418
+ padding-bottom: 0.4rem;
419
+ &:not(:hover) {
420
+ padding-bottom: 0.4rem;
421
+ padding-left: 0.4rem;
422
+ }
423
+ &:hover {
424
+ padding-bottom: 0;
425
+ padding-left: 0;
426
+ }
427
+ }
428
+ &.none {
429
+ scrollbar-width: none !important;
430
+ &::-webkit-scrollbar {
431
+ display: none !important;
432
+ }
433
+ }
434
+ &::-webkit-scrollbar {
435
+ display: none;
436
+ }
437
+ &.show-scroll::-webkit-scrollbar,
438
+ &:hover::-webkit-scrollbar {
439
+ scrollbar-width: thin;
440
+ display: initial;
441
+ width: 0.45rem;
442
+ height: 0.45rem;
443
+ }
444
+ &.show-scroll::-webkit-scrollbar-thumb,
445
+ &:hover::-webkit-scrollbar-thumb {
446
+ background: #222;
447
+ border-radius: 6px;
448
+ box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.5);
449
+ transition: background 0.3s ease, box-shadow 0.3s ease;
450
+ }
451
+ &.show-scroll::-webkit-scrollbar-thumb:hover,
452
+ &.show-scroll::-webkit-scrollbar-thumb:active,
453
+ &:hover::-webkit-scrollbar-thumb:hover {
454
+ background:
455
+ linear-gradient(
456
+ 145deg,
457
+ #ffecec,
458
+ #f1f1f1);
459
+ }
460
+ &.show-scroll::-webkit-scrollbar-track,
461
+ &:hover::-webkit-scrollbar-track {
462
+ background:
463
+ linear-gradient(
464
+ 145deg,
465
+ #989898,
466
+ #7c7c7c);
467
+ border-radius: 6px;
468
+ box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.3);
469
+ }
470
+ }
471
+ /*# sourceMappingURL=components.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/flex-layout/styles/FlexLayout.module.css","../src/flex-layout/styles/listScroll.module.css"],"sourcesContent":[".flex-layout {\n display: flex;\n height: 100%;\n width: 100%;\n overflow: auto;\n overflow-wrap: revert;\n position: relative;\n /* -ms-overflow-style: none;\n scrollbar-width: none; */\n /* &::-webkit-scrollbar {\n display: none;\n } */\n &[data-direction='column'] {\n flex-direction: column;\n & > .flex-resize-panel {\n height: 4px;\n width: auto;\n cursor: ns-resize;\n &:hover > .hover,\n &:hover > .hover[data-is_hover],\n &:active > .hover {\n height: 3px;\n width: 100%;\n }\n }\n & > .flex-container > .flex-content-fit-wrapper {\n width: 100%;\n height: fit-content;\n & > * {\n width: 100%;\n height: fit-content;\n }\n }\n }\n\n &[data-direction='row'] {\n flex-direction: row;\n & > .flex-resize-panel {\n width: 4px;\n height: auto;\n cursor: ew-resize;\n &:hover > .hover,\n &:hover > .hover[data-is_hover],\n &:active > .hover {\n width: 3px;\n height: 100%;\n }\n }\n & > .flex-container > .flex-content-fit-wrapper {\n width: fit-content;\n height: 100%;\n & > * {\n width: fit-content;\n height: 100%;\n }\n }\n }\n & > .flex-container {\n overflow: hidden;\n box-sizing: border-box;\n &[data-is_resize_panel='true'] {\n flex: 1 1 0%;\n }\n &[data-is_resize_panel='false'] {\n flex: 0 0 0%;\n }\n & > *:not(.flex-content-fit-wrapper) {\n width: 100%;\n height: 100%;\n }\n }\n & .flex-resize-panel {\n background-color: rgb(115 115 115);\n z-index: 1001;\n display: flex;\n justify-content: center;\n align-items: center;\n flex: 0 0 0.1%;\n position: relative;\n -moz-user-select: -moz-none;\n -khtml-user-select: none;\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n right: 0;\n bottom: 0;\n\n &:hover,\n &:active {\n animation-name: drag-panel-hover;\n animation-fill-mode: forwards;\n animation-direction: normal;\n animation-duration: 0.3s;\n animation-iteration-count: 1;\n animation-timing-function: cubic-bezier(1, -0.37, 0.73, 0.8);\n }\n\n &:hover > .hover,\n &:hover > .hover[data-is_hover],\n &:active > .hover {\n background-color: #0066ffb5;\n z-index: 3002;\n position: absolute;\n display: block;\n opacity: 1;\n visibility: inherit;\n transition: all 1s;\n animation-name: drag-panel-hover-highlight;\n animation-fill-mode: forwards;\n animation-direction: normal;\n animation-duration: 0.3s;\n animation-iteration-count: 1;\n animation-timing-function: cubic-bezier(1, -0.37, 0.73, 0.8);\n }\n\n & > .hover {\n opacity: 0;\n visibility: hidden;\n transition: all 1s;\n }\n &.bottom-cylinder {\n &::after {\n border-bottom-left-radius: 15px;\n border-bottom-right-radius: 15px;\n bottom: 100%;\n }\n }\n &.bottom-cylinder-reverse {\n &::after {\n border-top-left-radius: 15px;\n border-top-right-radius: 15px;\n bottom: 100%;\n }\n }\n &.top-cylinder {\n border-bottom-left-radius: 15px;\n border-bottom-right-radius: 15px;\n }\n &.right-cylinder {\n &::after {\n border-top-right-radius: 15px;\n border-bottom-right-radius: 15px;\n left: 100%;\n }\n }\n &.left-cylinder {\n &::after {\n right: 100%;\n }\n }\n &.bottom-cylinder,\n &.bottom-cylinder-reverse,\n &.top-cylinder,\n &.left-cylinder,\n &.right-cylinder {\n &::after {\n background-color: hsla(0, 0%, 54%, 0.32);\n content: ' ';\n position: absolute;\n z-index: 3002;\n }\n &:hover,\n &:hover::after,\n &:active,\n &:active::after {\n background-color: rgb(0 102 255 / 45%);\n transition: background-color 1s;\n }\n }\n &.bottom-cylinder,\n &.top-cylinder,\n &.bottom-cylinder-reverse {\n &::after {\n height: 1.1rem;\n width: 60%;\n }\n &:not(.bottom-cylinder-reverse)::after {\n top: 0;\n }\n }\n &.left-cylinder,\n &.right-cylinder {\n &::after {\n width: 1.1rem;\n height: 60%;\n }\n }\n }\n}\n\n@keyframes drag-panel-hover {\n 0% {\n background-color: #b1b1b1d6;\n }\n\n 10% {\n background-color: #b1b1b1ba;\n }\n\n 20% {\n background-color: #b1b1b194;\n }\n\n 40% {\n background-color: #b1b1b17d;\n }\n\n 60% {\n background-color: #b1b1b152;\n }\n\n 80% {\n background-color: #b1b1b130;\n }\n\n 100% {\n background-color: #b1b1b100;\n animation-play-state: paused;\n }\n}\n\n@keyframes drag-panel-hover-highlight {\n 0% {\n opacity: 0;\n }\n\n 10% {\n opacity: 0.1;\n }\n\n 20% {\n opacity: 0.2;\n }\n\n 40% {\n opacity: 0.4;\n }\n\n 60% {\n opacity: 0.6;\n }\n\n 80% {\n opacity: 0.8;\n }\n\n 100% {\n opacity: 1;\n animation-play-state: paused;\n }\n}\n\n.flex-split-screen {\n width: 100%;\n height: 100%;\n position: relative;\n & .flex-split-screen-boundary-container {\n position: absolute;\n font-family: Arial, sans-serif;\n transition:\n background-color 0.3s,\n border-color 0.3s;\n color: #00acc1;\n border: 2px dashed #00acc1;\n border-radius: 10px;\n background-color: #0014ff17;\n font-size: 1.5rem;\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: bold;\n z-index: 9001;\n }\n & .flex-split-screen-drag-box-title-wrapper-sticky {\n position: sticky;\n top: 0;\n z-index: 2001;\n background: #f0f0f0;\n }\n & .flex-split-screen-drag-box-title-wrapper {\n html[data-color-scheme='dark'] & {\n background: #3c3c3c;\n box-shadow: 0px 1px 20px 0px #1e1e1e;\n }\n html[data-color-scheme='light'] & {\n background: #edf1f5;\n box-shadow: 0px 1px 20px 0px #e5e5e5;\n }\n scrollbar-width: initial;\n scrollbar-color: initial;\n display: flex;\n justify-content: space-between;\n transition:\n background 0.3s,\n color 0.3s,\n box-shadow 0.3s;\n position: relative;\n border-bottom: 1px solid #e5e5e5;\n & .flex-split-screen-drag-box-title-container {\n display: flex;\n width: 100%;\n background: inherit;\n }\n }\n}\n.flex-split-screen-drag-box-title-item {\n display: flex;\n align-items: baseline;\n padding-right: 0.5rem;\n padding-left: 0.1rem;\n &:last-child:not(:first-child) {\n border-right: 2px solid #00000012;\n }\n &:not(.active) {\n box-shadow: inset 0 0 20px 20px #00000000;\n border-bottom: 1px solid #007fff40;\n }\n &:hover {\n html[data-color-scheme='dark'] & {\n background: #494949;\n }\n html[data-color-scheme='light'] & {\n background: #e0e0e0;\n }\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\n }\n &:active {\n box-shadow: inset 0px 0px 17px 0px #00000029;\n transform: scale(0.97);\n }\n & button {\n background: none;\n border: none;\n color: #bbbbbb;\n font-weight: bold;\n font-family: none;\n font-size: 0.9rem;\n cursor: pointer;\n padding: 0 0.25rem;\n }\n &.active {\n html[data-color-scheme='dark'] & {\n color: #b9af3a;\n }\n html[data-color-scheme='light'] & {\n color: #494300;\n }\n font-weight: bold;\n box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.1);\n & button {\n color: #5f5f5f;\n }\n }\n}\n.flex-split-screen-drag-box-title-more {\n display: flex;\n flex-direction: column;\n line-height: 0.3;\n padding: 0rem 0.65rem 0.5rem;\n font-size: 1.2rem;\n font-weight: bold;\n border: none;\n background: none;\n color: black;\n justify-content: space-evenly;\n cursor: pointer;\n background: inherit;\n &:hover {\n background: #797979;\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\n }\n &:active {\n box-shadow: inset 0px 0px 17px 0px #00000029;\n transform: scale(0.97);\n }\n}\n.flex-split-screen-drag-box {\n align-self: center;\n -webkit-touch-callout: none; /* iOS */\n -webkit-user-select: none; /* Safari */\n -khtml-user-select: none; /* Konqueror */\n -moz-user-select: none; /* Firefox */\n -ms-user-select: none; /* IE 10+ */\n user-select: none; /* Standard syntax */\n /* pointer-events: none; */\n -webkit-tap-highlight-color: transparent;\n /* touch-action: none; */\n -webkit-touch-callout: none;\n}\n.flex-split-screen-drag-box-clone {\n -webkit-touch-callout: none; /* iOS */\n -webkit-user-select: none; /* Safari */\n -khtml-user-select: none; /* Konqueror */\n -moz-user-select: none; /* Firefox */\n -ms-user-select: none; /* IE 10+ */\n user-select: none; /* Standard syntax */\n /* pointer-events: none; */\n -webkit-tap-highlight-color: transparent;\n /* touch-action: none; */\n -webkit-touch-callout: none;\n\n display: flex;\n background-color: #adadad;\n flex-direction: column;\n padding: 0.2rem 0.4rem;\n border-radius: 7px;\n line-height: 99%;\n z-index: 9001;\n & span:first-child {\n font-weight: bold;\n font-size: 0.85rem;\n }\n & span:last-child {\n font-size: 0.75rem;\n }\n}\n",".default-scroll {\r\n overflow: auto;\r\n}\r\n.list-scroll {\r\n position: relative;\r\n flex-wrap: nowrap;\r\n text-wrap: nowrap;\r\n white-space: nowrap;\r\n scroll-snap-type: x mandatory;\r\n scroll-behavior: smooth;\r\n scrollbar-gutter: stable both-edges;\r\n &.y {\r\n overflow-y: scroll;\r\n overflow-x: clip;\r\n padding-left: 0.15rem;\r\n padding-right: 0.4rem;\r\n &:not(:hover) {\r\n padding-right: 0.4rem;\r\n padding-top: 0.4rem;\r\n }\r\n &:hover {\r\n padding-right: 0;\r\n padding-left: top;\r\n }\r\n }\r\n\r\n &.x {\r\n overflow-y: clip;\r\n overflow-x: scroll;\r\n padding-top: 0.15rem;\r\n padding-bottom: 0.4rem;\r\n &:not(:hover) {\r\n padding-bottom: 0.4rem;\r\n padding-left: 0.4rem;\r\n }\r\n &:hover {\r\n padding-bottom: 0;\r\n padding-left: 0;\r\n }\r\n }\r\n\r\n &.none {\r\n scrollbar-width: none !important;\r\n\r\n &::-webkit-scrollbar {\r\n display: none !important;\r\n }\r\n }\r\n\r\n &::-webkit-scrollbar {\r\n display: none;\r\n }\r\n\r\n &.show-scroll::-webkit-scrollbar,\r\n &:hover::-webkit-scrollbar {\r\n scrollbar-width: thin;\r\n display: initial;\r\n width: 0.45rem;\r\n height: 0.45rem;\r\n }\r\n\r\n &.show-scroll::-webkit-scrollbar-thumb,\r\n &:hover::-webkit-scrollbar-thumb {\r\n background: #222; /* 스크롤 위치 */\r\n border-radius: 6px;\r\n box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.5); /* 입체감 있는 그림자 */\r\n transition:\r\n background 0.3s ease,\r\n box-shadow 0.3s ease;\r\n }\r\n\r\n &.show-scroll::-webkit-scrollbar-thumb:hover,\r\n &.show-scroll::-webkit-scrollbar-thumb:active,\r\n &:hover::-webkit-scrollbar-thumb:hover {\r\n background: linear-gradient(145deg, #ffecec, #f1f1f1);\r\n /* 호버 시 밝아지는 효과 */\r\n }\r\n\r\n &.show-scroll::-webkit-scrollbar-track,\r\n &:hover::-webkit-scrollbar-track {\r\n background: linear-gradient(145deg, #989898, #7c7c7c);\r\n border-radius: 6px;\r\n box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.3); /* 트랙 내부에 부드러운 그림자 */\r\n }\r\n}\r\n"],"mappings":"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","names":[]}
@@ -0,0 +1,122 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React$1 from 'react';
3
+ import React__default, { ReactElement, ReactNode, HTMLAttributes } from 'react';
4
+ import { D as DropDocumentOutsideOption } from './FlexLayoutSplitScreenDragBox-eCtq4kLd.cjs';
5
+ export { F as FlexLayoutSplitScreenDragBox } from './FlexLayoutSplitScreenDragBox-eCtq4kLd.cjs';
6
+
7
+ type ResizePanelMode =
8
+ | 'default'
9
+ | 'bottom-cylinder'
10
+ | 'bottom-cylinder-reverse'
11
+ | 'top-cylinder'
12
+ | 'left-cylinder'
13
+ | 'right-cylinder';
14
+
15
+ type Direction = 'row' | 'column';
16
+ type PanelMovementMode = 'bulldozer' | 'divorce' | 'stalker';
17
+ type FitContent = 'width' | 'height';
18
+
19
+ interface FlexLayoutChildrenType {
20
+ isInitialResizable?: boolean;
21
+ grow?: number;
22
+ prevGrow?: number;
23
+ panelMode?: ResizePanelMode;
24
+ isFitContent?: boolean;
25
+ isFitResize?: boolean;
26
+ isResizePanel?: boolean;
27
+ containerName: string;
28
+ children: ReactNode;
29
+ className?: string;
30
+ }
31
+
32
+ interface FlexContainerProps extends FlexLayoutChildrenType {
33
+ readonly fitContent?: FitContent;
34
+ readonly containerCount?: number;
35
+ readonly layoutName?: string;
36
+ }
37
+
38
+ interface FlexLayoutProps
39
+ extends Omit<
40
+ React.HTMLAttributes<HTMLDivElement>,
41
+ 'children',
42
+ 'id',
43
+ 'panelClassName'
44
+ > {
45
+ direction: Direction;
46
+ children:
47
+ | ReactElement<FlexLayoutChildrenType>[]
48
+ | ReactElement<FlexLayoutChildrenType>;
49
+ layoutName: string;
50
+ isSplitScreen?: boolean;
51
+ ref?: React.Ref<HTMLDivElement>;
52
+ className?: string;
53
+ panelClassName?: string;
54
+ panelMovementMode?: PanelMovementMode;
55
+ }
56
+
57
+ type FlexLayoutResizePanelProps = {
58
+ direction: string;
59
+ containerCount: number;
60
+ panelMode?: ResizePanelMode;
61
+ containerName: string;
62
+ layoutName: string;
63
+ panelMovementMode: PanelMovementMode;
64
+ panelClassName?: string;
65
+ };
66
+
67
+ declare const FlexLayout: ({ layoutName, direction, children, ref, className, panelClassName, panelMovementMode, ...props }: FlexLayoutProps) => react_jsx_runtime.JSX.Element | null;
68
+
69
+ declare const FlexLayoutContainer: ({ isFitContent, isFitResize, containerName, grow: initialGrow, prevGrow: initialPrevGrow, isInitialResizable, isResizePanel, children, className, panelMode, }: FlexContainerProps) => react_jsx_runtime.JSX.Element;
70
+
71
+ declare const FlexLayoutResizePanel: ({ direction, containerCount, panelMode, containerName, layoutName, panelClassName, panelMovementMode, }: FlexLayoutResizePanelProps) => react_jsx_runtime.JSX.Element;
72
+
73
+ type FlexLayoutSplitScreenProps = {
74
+ layoutName: string;
75
+ containerName: string;
76
+ children: ReactElement;
77
+ navigationTitle: string;
78
+ dropDocumentOutsideOption?: DropDocumentOutsideOption;
79
+ screenKey?: string;
80
+ };
81
+ declare function FlexLayoutSplitScreen({ children, containerName, layoutName, navigationTitle, dropDocumentOutsideOption, screenKey, }: FlexLayoutSplitScreenProps): react_jsx_runtime.JSX.Element;
82
+ declare namespace FlexLayoutSplitScreen {
83
+ var displayName: string;
84
+ }
85
+
86
+ interface FlexLayoutSplitScreenScrollBoxProps extends HTMLAttributes<HTMLDivElement> {
87
+ keyName: string;
88
+ className?: string;
89
+ direction?: "x" | "y";
90
+ isDefaultScrollStyle?: boolean;
91
+ }
92
+ declare const _default: React$1.MemoExoticComponent<({ className, children, keyName, direction, isDefaultScrollStyle, ...props }: FlexLayoutSplitScreenScrollBoxProps) => react_jsx_runtime.JSX.Element>;
93
+
94
+ type Edge = 'auto' | 'top' | 'bottom' | 'left' | 'right';
95
+ interface FlexLayoutStickyBoxProps extends React__default.HTMLAttributes<HTMLDivElement> {
96
+ /** 어느 방향으로 붙일지. 기본은 'auto' (세로 스크롤이면 top, 가로 스크롤이면 left) */
97
+ edge?: Edge;
98
+ /** 화면 모서리와의 여백(px). 기본 16 */
99
+ offset?: number;
100
+ /** 스크롤 루트. 명시 안 하면 가장 흔한 케이스인 <main> → 없으면 window(=viewport) */
101
+ scrollRoot?: Element | null;
102
+ /** 디버그 보조선 표시 */
103
+ debug?: boolean;
104
+ /** 자식 */
105
+ children: React__default.ReactNode;
106
+ onTranslateChange?: (value: number, rootRef: React__default.RefObject<HTMLDivElement | null>, contentRef: React__default.RefObject<HTMLDivElement | null>) => void;
107
+ }
108
+ /**
109
+ * FlexLayoutStickyBox
110
+ * 부모(실제 경계) 안에서만 움직이며, `transform`을 동적으로 부여해
111
+ * “sticky처럼 보이도록” 만든다.
112
+ *
113
+ * 구조:
114
+ * <div data-root> // 이 박스가 부모 경계 안에서 공간을 차지
115
+ * <div data-content> // 이 박스가 transform으로 부드럽게 움직임
116
+ * {children}
117
+ * </div>
118
+ * </div>
119
+ */
120
+ declare const FlexLayoutStickyBox: React__default.FC<FlexLayoutStickyBoxProps>;
121
+
122
+ export { FlexLayout, FlexLayoutContainer, FlexLayoutResizePanel, FlexLayoutSplitScreen, _default as FlexLayoutSplitScreenScrollBox, FlexLayoutStickyBox };