akfatimeline 2.4.1 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/dist/{Timeline.js → index.js} +421 -3328
  2. package/dist/{components/Timeline/Timeline.css → styles.css} +1 -0
  3. package/package.json +18 -11
  4. package/dist/components/Timeline/AutocompleteSelect.js +0 -150
  5. package/dist/components/Timeline/AutocompleteSelect.jsx +0 -158
  6. package/dist/components/Timeline/ContextMenu.js +0 -149
  7. package/dist/components/Timeline/ContextMenu.jsx +0 -149
  8. package/dist/components/Timeline/DailyView.js +0 -255
  9. package/dist/components/Timeline/DailyView.jsx +0 -256
  10. package/dist/components/Timeline/DatePickerComponent.js +0 -13
  11. package/dist/components/Timeline/DragAndDropHandler.js +0 -35
  12. package/dist/components/Timeline/EventBadge.js +0 -26
  13. package/dist/components/Timeline/EventBadge.jsx +0 -26
  14. package/dist/components/Timeline/EventDetailModal.js +0 -138
  15. package/dist/components/Timeline/EventDetailModal.jsx +0 -138
  16. package/dist/components/Timeline/EventIcon.js +0 -47
  17. package/dist/components/Timeline/EventIcon.jsx +0 -47
  18. package/dist/components/Timeline/EventTooltip.js +0 -206
  19. package/dist/components/Timeline/EventTooltip.jsx +0 -207
  20. package/dist/components/Timeline/FilterPanel.js +0 -179
  21. package/dist/components/Timeline/Indicator.js +0 -26
  22. package/dist/components/Timeline/Indicator.jsx +0 -27
  23. package/dist/components/Timeline/LoadingSpinner.js +0 -48
  24. package/dist/components/Timeline/LoadingSpinner.jsx +0 -48
  25. package/dist/components/Timeline/MasterHeader.js +0 -104
  26. package/dist/components/Timeline/MasterHeader.jsx +0 -135
  27. package/dist/components/Timeline/Resources.js +0 -53
  28. package/dist/components/Timeline/Resources.jsx +0 -54
  29. package/dist/components/Timeline/ResourcesHeader.js +0 -14
  30. package/dist/components/Timeline/ResourcesHeader.jsx +0 -15
  31. package/dist/components/Timeline/Timeline.js +0 -607
  32. package/dist/components/Timeline/Timeline.jsx +0 -670
  33. package/dist/components/Timeline/TimelineCell.js +0 -8
  34. package/dist/components/Timeline/TimelineContent.js +0 -838
  35. package/dist/components/Timeline/TimelineContent.jsx +0 -1036
  36. package/dist/components/Timeline/TimelineEvents.js +0 -118
  37. package/dist/components/Timeline/TimelineHeader.js +0 -54
  38. package/dist/components/Timeline/TimelineHeader.jsx +0 -55
  39. package/dist/components/Timeline/TimelineMonthContainer.js +0 -29
  40. package/dist/components/Timeline/TimelineResources.js +0 -16
  41. package/dist/hooks/useDragAndDrop.js +0 -80
  42. package/dist/hooks/useEventDragDrop.js +0 -171
  43. package/dist/hooks/useEventManagement.js +0 -172
  44. package/dist/hooks/useEventSelection.js +0 -82
  45. package/dist/hooks/useExtendEvent.js +0 -28
  46. package/dist/hooks/useKeyboardShortcuts.js +0 -158
  47. package/dist/hooks/useTouchGestures.js +0 -90
  48. package/dist/library.js +0 -30
  49. package/dist/utils/HorizontalVirtualScroll.js +0 -0
  50. package/dist/utils/conflictUtils.js +0 -105
  51. package/dist/utils/dateUtils.js +0 -133
  52. package/dist/utils/filterTimelineData.js +0 -21
  53. package/dist/utils/filterUtils.js +0 -106
  54. package/dist/utils/timeUtils.js +0 -179
  55. package/dist/utils/timelineUtils.js +0 -40
  56. package/dist/utils/viewModeUtils.js +0 -54
  57. package/src/App.js +0 -592
  58. package/src/components/Timeline/AutocompleteSelect.jsx +0 -158
  59. package/src/components/Timeline/ContextMenu.jsx +0 -149
  60. package/src/components/Timeline/DailyView.jsx +0 -256
  61. package/src/components/Timeline/DatePickerComponent.js +0 -13
  62. package/src/components/Timeline/DragAndDropHandler.js +0 -35
  63. package/src/components/Timeline/EventBadge.jsx +0 -26
  64. package/src/components/Timeline/EventDetailModal.jsx +0 -138
  65. package/src/components/Timeline/EventIcon.jsx +0 -47
  66. package/src/components/Timeline/EventTooltip.jsx +0 -207
  67. package/src/components/Timeline/FilterPanel.js +0 -179
  68. package/src/components/Timeline/Indicator.jsx +0 -27
  69. package/src/components/Timeline/LoadingSpinner.jsx +0 -48
  70. package/src/components/Timeline/MasterHeader.jsx +0 -135
  71. package/src/components/Timeline/Resources.jsx +0 -54
  72. package/src/components/Timeline/ResourcesHeader.jsx +0 -15
  73. package/src/components/Timeline/Timeline.css +0 -2599
  74. package/src/components/Timeline/Timeline.jsx +0 -670
  75. package/src/components/Timeline/TimelineCell.js +0 -8
  76. package/src/components/Timeline/TimelineContent.jsx +0 -1036
  77. package/src/components/Timeline/TimelineEvents.js +0 -118
  78. package/src/components/Timeline/TimelineHeader.jsx +0 -55
  79. package/src/components/Timeline/TimelineMonthContainer.js +0 -29
  80. package/src/components/Timeline/TimelineResources.js +0 -16
  81. package/src/demo.css +0 -4
  82. package/src/hooks/useDragAndDrop.js +0 -80
  83. package/src/hooks/useEventDragDrop.js +0 -171
  84. package/src/hooks/useEventManagement.js +0 -172
  85. package/src/hooks/useEventSelection.js +0 -82
  86. package/src/hooks/useExtendEvent.js +0 -28
  87. package/src/hooks/useKeyboardShortcuts.js +0 -158
  88. package/src/hooks/useTouchGestures.js +0 -90
  89. package/src/index.js +0 -11
  90. package/src/library.js +0 -30
  91. package/src/utils/HorizontalVirtualScroll.js +0 -0
  92. package/src/utils/conflictUtils.js +0 -105
  93. package/src/utils/dateUtils.js +0 -133
  94. package/src/utils/filterTimelineData.js +0 -21
  95. package/src/utils/filterUtils.js +0 -106
  96. package/src/utils/timeUtils.js +0 -179
  97. package/src/utils/timelineUtils.js +0 -40
  98. package/src/utils/viewModeUtils.js +0 -54
@@ -1,3127 +1,29 @@
1
- (function webpackUniversalModuleDefinition(root, factory) {
2
- if(typeof exports === 'object' && typeof module === 'object')
3
- module.exports = factory(require("react"));
4
- else if(typeof define === 'function' && define.amd)
5
- define(["react"], factory);
6
- else if(typeof exports === 'object')
7
- exports["AkfaTimeline"] = factory(require("react"));
8
- else
9
- root["AkfaTimeline"] = factory(root["react"]);
10
- })(this, (__WEBPACK_EXTERNAL_MODULE__155__) => {
11
- return /******/ (() => { // webpackBootstrap
12
- /******/ "use strict";
13
- /******/ var __webpack_modules__ = ({
14
-
15
- /***/ 27
16
- (module, __webpack_exports__, __webpack_require__) {
17
-
18
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
19
- /* harmony export */ A: () => (__WEBPACK_DEFAULT_EXPORT__)
20
- /* harmony export */ });
21
- /* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(601);
22
- /* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__);
23
- /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(314);
24
- /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);
25
- // Imports
26
-
27
-
28
- var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default()));
29
- // Module
30
- ___CSS_LOADER_EXPORT___.push([module.id, `/* AkfaTimeline - Glassmorphism Theme */
31
-
32
- :root {
33
- /* Light Theme - Glassmorphism */
34
- --bg-primary: rgba(255, 255, 255, 0.7);
35
- --bg-secondary: rgba(255, 255, 255, 0.5);
36
- --bg-tertiary: rgba(255, 255, 255, 0.3);
37
- --bg-hover: rgba(255, 255, 255, 0.8);
38
-
39
- --text-primary: #1a1a1a;
40
- --text-secondary: #4a4a4a;
41
- --text-tertiary: #6a6a6a;
42
-
43
- --border-color: rgba(0, 0, 0, 0.15);
44
- --border-hover: rgba(0, 0, 0, 0.25);
45
- --border-strong: rgba(0, 0, 0, 0.2);
46
-
47
- --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.1);
48
- --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.15);
49
- --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.2);
50
- --shadow-glow: 0 0 20px rgba(99, 102, 241, 0.3);
51
-
52
- --accent-primary: rgba(99, 102, 241, 0.6);
53
- --accent-hover: rgba(99, 102, 241, 0.8);
54
- --accent-light: rgba(99, 102, 241, 0.2);
55
-
56
- --event-bg: rgba(99, 102, 241, 0.85);
57
- --event-text: #ffffff;
58
- --event-border: rgba(99, 102, 241, 0.3);
59
- --event-shadow: rgba(99, 102, 241, 0.4);
60
-
61
- --new-event-bg: rgba(236, 72, 153, 0.85);
62
- --new-event-text: #ffffff;
63
-
64
- --selected-bg: rgba(99, 102, 241, 0.25);
65
- --group-header-bg: rgb(176, 175, 175);
66
-
67
- --resource-width: 180px;
68
- --cell-height: 45px;
69
- --header-height: 70px;
70
- --header-total-height: 80px;
71
- --header-month-height: 40px;
72
- --header-day-height: 40px;
73
- --container-height: 600px;
74
-
75
- --blur-sm: blur(8px);
76
- --blur-md: blur(12px);
77
- --blur-lg: blur(16px);
78
- }
79
-
80
- /* Dark Theme - Glassmorphism */
81
- .dark-mode {
82
- --bg-primary: rgba(17, 24, 39, 0.7);
83
- --bg-secondary: rgba(17, 24, 39, 0.5);
84
- --bg-tertiary: rgba(17, 24, 39, 0.3);
85
- --bg-hover: rgba(17, 24, 39, 0.85);
86
-
87
- --text-primary: #f3f4f6;
88
- --text-secondary: #d1d5db;
89
- --text-tertiary: #9ca3af;
90
-
91
- --border-color: rgba(255, 255, 255, 0.1);
92
- --border-hover: rgba(255, 255, 255, 0.2);
93
- --border-strong: rgba(255, 255, 255, 0.15);
94
-
95
- --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.3);
96
- --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.4);
97
- --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.5);
98
- --shadow-glow: 0 0 20px rgba(139, 92, 246, 0.4);
99
-
100
- --accent-primary: rgba(139, 92, 246, 0.6);
101
- --accent-hover: rgba(139, 92, 246, 0.8);
102
- --accent-light: rgba(139, 92, 246, 0.25);
103
-
104
- --event-bg: rgba(139, 92, 246, 0.75);
105
- --event-text: #ffffff;
106
- --event-border: rgba(255, 255, 255, 0.25);
107
- --event-shadow: rgba(139, 92, 246, 0.5);
108
-
109
- --new-event-bg: rgba(236, 72, 153, 0.75);
110
- --new-event-text: #ffffff;
111
-
112
- --selected-bg: rgba(139, 92, 246, 0.3);
113
- --group-header-bg: rgba(16, 16, 26, 0.5);
114
- }
115
-
116
- /* Base Container */
117
- .timeline-container {
118
- display: flex;
119
- flex-direction: column;
120
- width: 100%;
121
- height: 100%;
122
- background: var(--bg-primary);
123
- backdrop-filter: var(--blur-md);
124
- -webkit-backdrop-filter: var(--blur-md);
125
- border: 1px solid var(--border-color);
126
- border-radius: 20px;
127
- box-shadow: var(--shadow-lg);
128
- overflow: hidden;
129
- box-sizing: border-box;
130
- color: var(--text-primary);
131
- user-select: none;
132
- }
133
-
134
- /* Master Header */
135
- .timeline-master-header {
136
- width: 100%;
137
- background: var(--bg-secondary);
138
- backdrop-filter: var(--blur-sm);
139
- -webkit-backdrop-filter: var(--blur-sm);
140
- border-bottom: 1px solid var(--border-color);
141
- padding: 15px 20px;
142
- box-sizing: border-box;
143
- z-index: 10;
144
- box-shadow: var(--shadow-sm);
145
- }
146
-
147
- /* Timeline Body */
148
- .timeline-body {
149
- display: flex;
150
- flex: 1;
151
- overflow: hidden;
152
- }
153
-
154
- /* Resources Container */
155
- .timeline-resources-container {
156
- width: var(--resource-width);
157
- display: flex;
158
- flex-direction: column;
159
- background: var(--bg-secondary);
160
- backdrop-filter: var(--blur-sm);
161
- -webkit-backdrop-filter: var(--blur-sm);
162
- border-right: 1px solid var(--border-color);
163
- position: sticky;
164
- left: 0;
165
- top: var(--header-total-height);
166
- z-index: 5;
167
- overflow-y: auto;
168
- box-shadow: var(--shadow-md);
169
- }
170
-
171
- /* Resources Header */
172
- .resources-header {
173
- background: var(--bg-tertiary);
174
- backdrop-filter: var(--blur-sm);
175
- -webkit-backdrop-filter: var(--blur-sm);
176
- color: var(--text-primary);
177
- text-align: center;
178
- width: var(--resource-width);
179
- font-weight: 600;
180
- font-size: 14px;
181
- display: flex;
182
- flex-direction: column;
183
- justify-content: center;
184
- align-items: center;
185
- height: var(--header-total-height);
186
- border-right: 1px solid var(--border-color);
187
- border-bottom: 1px solid var(--border-color);
188
- box-sizing: border-box;
189
- text-transform: uppercase;
190
- letter-spacing: 1px;
191
- box-shadow: var(--shadow-sm);
192
- padding: 12px;
193
- }
194
-
195
- /* Group Header Row */
196
- .group-header-row {
197
- display: flex;
198
- height: var(--cell-height);
199
- background: var(--group-header-bg);
200
- backdrop-filter: var(--blur-sm);
201
- -webkit-backdrop-filter: var(--blur-sm);
202
- }
203
-
204
- .group-header-cell {
205
- flex: 1;
206
- border-right: 1px solid var(--border-color);
207
- text-align: center;
208
- background: transparent;
209
- color: var(--text-secondary);
210
- height: var(--cell-height);
211
- display: flex;
212
- align-items: center;
213
- justify-content: center;
214
- font-weight: 500;
215
- font-size: 12px;
216
- box-sizing: border-box;
217
- }
218
-
219
- /* Resource Groups */
220
- .resource-group {
221
- display: flex;
222
- flex-direction: column;
223
- }
224
-
225
- .resource-group-header {
226
- background: var(--bg-tertiary);
227
- backdrop-filter: var(--blur-sm);
228
- -webkit-backdrop-filter: var(--blur-sm);
229
- color: var(--text-primary);
230
- font-weight: 600;
231
- font-size: 13px;
232
- height: var(--cell-height);
233
- box-sizing: border-box;
234
- display: flex;
235
- align-items: center;
236
- justify-content: space-between;
237
- padding: 0 15px;
238
- cursor: pointer;
239
- border-bottom: 1px solid var(--border-color);
240
- transition: all 0.3s ease;
241
- }
242
-
243
- .resource-group-header:hover {
244
- background: var(--bg-hover);
245
- backdrop-filter: var(--blur-md);
246
- -webkit-backdrop-filter: var(--blur-md);
247
- }
248
-
249
- /* Resource Cells */
250
- .resource-cell {
251
- padding: 0 15px;
252
- text-align: left;
253
- background: var(--bg-secondary);
254
- backdrop-filter: var(--blur-sm);
255
- -webkit-backdrop-filter: var(--blur-sm);
256
- color: var(--text-primary);
257
- height: var(--cell-height);
258
- display: flex;
259
- align-items: center;
260
- border-bottom: 1px solid var(--border-color);
261
- box-sizing: border-box;
262
- font-size: 13px;
263
- transition: all 0.2s ease;
264
- }
265
-
266
- .resource-cell:hover {
267
- background: var(--bg-hover);
268
- backdrop-filter: var(--blur-md);
269
- -webkit-backdrop-filter: var(--blur-md);
270
- }
271
-
272
- /* Timeline Scrollable Container */
273
- .timeline-scrollable-container {
274
- flex: 1;
275
- overflow-x: auto;
276
- overflow-y: hidden;
277
- display: flex;
278
- flex-direction: column;
279
- position: relative;
280
- background: var(--bg-primary);
281
- backdrop-filter: var(--blur-sm);
282
- -webkit-backdrop-filter: var(--blur-sm);
283
- }
284
-
285
- /* Header Content Wrapper */
286
- .timeline-header-content-wrapper {
287
- display: flex;
288
- flex-direction: column;
289
- }
290
-
291
- /* Timeline Header */
292
- .timeline-header {
293
- display: flex;
294
- background: var(--bg-secondary);
295
- backdrop-filter: var(--blur-sm);
296
- -webkit-backdrop-filter: var(--blur-sm);
297
- color: var(--text-primary);
298
- position: sticky;
299
- top: 0;
300
- z-index: 3;
301
- height: var(--header-total-height);
302
- overflow: hidden;
303
- box-sizing: border-box;
304
- border-bottom: 1px solid var(--border-color);
305
- box-shadow: var(--shadow-sm);
306
- }
307
-
308
- /* Timeline Content */
309
- .timeline-content {
310
- display: flex;
311
- flex-direction: column;
312
- }
313
-
314
- /* Group Container */
315
- .group-container {
316
- display: flex;
317
- flex-direction: column;
318
- }
319
-
320
- /* Resource Rows */
321
- .resource-row {
322
- display: flex;
323
- box-sizing: border-box;
324
- position: relative;
325
- height: var(--cell-height);
326
- border-bottom: 1px solid var(--border-strong);
327
- overflow: visible;
328
- }
329
-
330
- /* Timeline Cells */
331
- .timeline-cell {
332
- flex: 1;
333
- border-right: 1px solid var(--border-color);
334
- border-bottom: 1px solid var(--border-color);
335
- height: 100%;
336
- position: relative;
337
- box-sizing: border-box;
338
- cursor: pointer;
339
- background: transparent;
340
- transition: all 0.2s ease;
341
- }
342
-
343
- .timeline-cell:hover {
344
- background: var(--accent-light);
345
- backdrop-filter: var(--blur-sm);
346
- -webkit-backdrop-filter: var(--blur-sm);
347
- }
348
-
349
- .timeline-cell.selected {
350
- background: var(--selected-bg);
351
- backdrop-filter: var(--blur-sm);
352
- -webkit-backdrop-filter: var(--blur-sm);
353
- box-shadow: inset 0 0 10px var(--accent-primary);
354
- }
355
-
356
- /* Timeline Event */
357
- .timeline-event {
358
- position: absolute;
359
- background: var(--event-bg);
360
- backdrop-filter: var(--blur-md);
361
- -webkit-backdrop-filter: var(--blur-md);
362
- color: var(--event-text);
363
- font-size: 13px;
364
- font-weight: 500;
365
- padding: 6px 12px;
366
- padding-left: 20px; /* Drag handle için alan */
367
- border-radius: 12px;
368
- box-sizing: border-box;
369
- z-index: 10;
370
- overflow: hidden;
371
- text-overflow: ellipsis;
372
- white-space: nowrap;
373
- border: 1px solid var(--event-border);
374
- top: 5px;
375
- height: calc(var(--cell-height) - 10px);
376
- max-height: calc(var(--cell-height) - 10px);
377
- box-shadow: var(--shadow-md), 0 0 15px var(--event-shadow);
378
- cursor: default;
379
- transition: all 0.3s ease;
380
- display: flex;
381
- align-items: center;
382
- gap: 4px;
383
- flex-wrap: nowrap;
384
- }
385
-
386
- .timeline-event:hover {
387
- transform: translateY(-2px);
388
- box-shadow: var(--shadow-lg), 0 0 20px var(--event-shadow);
389
- backdrop-filter: var(--blur-lg);
390
- -webkit-backdrop-filter: var(--blur-lg);
391
- }
392
-
393
- .timeline-event-title {
394
- flex: 1;
395
- overflow: hidden;
396
- text-overflow: ellipsis;
397
- white-space: nowrap;
398
- min-width: 0;
399
- display: inline-block;
400
- }
401
-
402
- /* Saatlik Rezervasyon Stilleri - Ana Timeline'da Gruplanmış Görünüm */
403
- .timeline-event-hourly {
404
- background: linear-gradient(135deg, rgba(236, 72, 153, 0.75), rgba(219, 39, 119, 0.75)) !important;
405
- border: 2px solid rgba(255, 255, 255, 0.6) !important;
406
- border-left: 4px solid rgba(255, 255, 255, 0.9) !important;
407
- box-shadow: 0 2px 8px rgba(236, 72, 153, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.25) !important;
408
- opacity: 0.95;
409
- position: absolute !important;
410
- font-weight: 600;
411
- padding: 6px 6px !important; /* Kompakt padding - drag handle yok */
412
- padding-left: 24px !important; /* Saat ikonu için alan */
413
- min-width: 0 !important; /* Sütun genişliğini bozmaması için */
414
- max-width: calc(100% - 4px) !important; /* Border için alan bırak */
415
- box-sizing: border-box !important;
416
- overflow: hidden !important; /* Taşan içeriği gizle */
417
- text-overflow: ellipsis !important;
418
- white-space: nowrap !important;
419
- word-wrap: break-word !important;
420
- }
421
-
422
- .timeline-event-hourly::before {
423
- content: '⏰';
424
- position: absolute;
425
- left: 8px;
426
- top: 50%;
427
- transform: translateY(-50%);
428
- font-size: 14px;
429
- opacity: 0.95;
430
- line-height: 1;
431
- }
432
-
433
- .timeline-event-hourly:hover {
434
- transform: translateY(-1px);
435
- box-shadow: 0 4px 12px rgba(236, 72, 153, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.25) !important;
436
- opacity: 1;
437
- }
438
-
439
- .timeline-event-hourly .timeline-event-title {
440
- padding-left: 0 !important; /* İkon zaten ::before ile eklendi */
441
- font-weight: 600;
442
- font-size: 12px;
443
- line-height: 1.3;
444
- overflow: hidden;
445
- text-overflow: ellipsis;
446
- white-space: nowrap;
447
- }
448
-
449
- .timeline-event-hourly-time {
450
- font-size: 10px;
451
- opacity: 0.85;
452
- font-weight: 500;
453
- margin-left: 6px;
454
- }
455
-
456
- /* Saatlik rezervasyonlarda drag ve extend handle'ları gizle */
457
- .timeline-event-hourly .timeline-event-drag-handle,
458
- .timeline-event-hourly .timeline-event-extend-handle {
459
- display: none !important;
460
- }
461
-
462
- .dark-mode .timeline-event-hourly {
463
- background: linear-gradient(135deg, rgba(236, 72, 153, 0.65), rgba(219, 39, 119, 0.65)) !important;
464
- border: 2px solid rgba(255, 255, 255, 0.5) !important;
465
- border-left: 4px solid rgba(255, 255, 255, 0.8) !important;
466
- box-shadow: 0 2px 8px rgba(236, 72, 153, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
467
- }
468
-
469
- /* Event Drag Handle - Sol Taraf */
470
- .timeline-event-drag-handle {
471
- position: absolute;
472
- left: 0;
473
- top: 0;
474
- width: 16px;
475
- height: 100%;
476
- background: rgba(255, 255, 255, 0.4);
477
- backdrop-filter: var(--blur-sm);
478
- -webkit-backdrop-filter: var(--blur-sm);
479
- cursor: grab;
480
- z-index: 25;
481
- border-top-left-radius: 12px;
482
- border-bottom-left-radius: 12px;
483
- transition: all 0.2s ease;
484
- display: flex;
485
- align-items: center;
486
- justify-content: center;
487
- }
488
-
489
- .timeline-event-drag-handle::before {
490
- content: '⋮⋮';
491
- color: rgba(255, 255, 255, 0.8);
492
- font-size: 10px;
493
- letter-spacing: -2px;
494
- line-height: 1;
495
- }
496
-
497
- .timeline-event-drag-handle:hover {
498
- background: rgba(255, 255, 255, 0.6);
499
- width: 20px;
500
- }
501
-
502
- .timeline-event-drag-handle:active {
503
- cursor: grabbing;
504
- background: rgba(255, 255, 255, 0.7);
505
- }
506
-
507
- /* Event Extend Handle */
508
- .timeline-event-extend-handle {
509
- position: absolute;
510
- right: 0;
511
- top: 0;
512
- width: 12px;
513
- height: 100%;
514
- background: rgba(255, 255, 255, 0.3);
515
- backdrop-filter: var(--blur-sm);
516
- -webkit-backdrop-filter: var(--blur-sm);
517
- cursor: col-resize;
518
- z-index: 20;
519
- border-top-right-radius: 12px;
520
- border-bottom-right-radius: 12px;
521
- transition: all 0.2s ease;
522
- }
523
-
524
- .timeline-event-extend-handle:hover {
525
- background: rgba(255, 255, 255, 0.5);
526
- width: 16px;
527
- }
528
-
529
- /* Temp Event (Creating) */
530
- .timeline-temp-event {
531
- position: absolute;
532
- background: var(--new-event-bg);
533
- backdrop-filter: var(--blur-md);
534
- -webkit-backdrop-filter: var(--blur-md);
535
- color: var(--new-event-text);
536
- opacity: 0.8;
537
- border-radius: 12px;
538
- z-index: 9;
539
- display: flex;
540
- align-items: center;
541
- justify-content: center;
542
- font-size: 13px;
543
- font-weight: 500;
544
- padding: 6px 12px;
545
- top: 6px;
546
- border: 1px solid rgba(255, 255, 255, 0.3);
547
- box-shadow: var(--shadow-md);
548
- animation: pulse 2s ease-in-out infinite;
549
- }
550
-
551
- @keyframes pulse {
552
- 0%, 100% {
553
- opacity: 0.8;
554
- }
555
- 50% {
556
- opacity: 1;
557
- }
558
- }
559
-
560
- /* Timeline Header Container */
561
- .timeline-header-container {
562
- flex: 1;
563
- display: flex;
564
- flex-direction: column;
565
- }
566
-
567
- /* Month Row */
568
- .timeline-header-month-row {
569
- display: flex;
570
- background: var(--bg-tertiary);
571
- backdrop-filter: var(--blur-sm);
572
- -webkit-backdrop-filter: var(--blur-sm);
573
- color: var(--text-primary);
574
- font-weight: 600;
575
- font-size: 17px;
576
- height: var(--header-month-height);
577
- line-height: var(--header-month-height);
578
- border-bottom: 1px solid var(--border-color);
579
- }
580
-
581
- .timeline-header-month-cell {
582
- text-align: center;
583
- display: flex;
584
- align-items: center;
585
- justify-content: center;
586
- box-sizing: border-box;
587
- border-right: 1px solid var(--border-color);
588
- }
589
-
590
- /* Day Row */
591
- .timeline-header-day-row {
592
- display: flex;
593
- background: var(--bg-secondary);
594
- backdrop-filter: var(--blur-sm);
595
- -webkit-backdrop-filter: var(--blur-sm);
596
- color: var(--text-primary);
597
- border-bottom: -1px solid var(--border-strong);
598
- }
599
-
600
- .timeline-header-day-cell {
601
- height: var(--header-day-height);
602
- line-height: var(--header-day-height);
603
- font-size: 13px;
604
- font-weight: 500;
605
- white-space: nowrap;
606
- overflow: hidden;
607
- text-overflow: ellipsis;
608
- text-align: center;
609
- box-sizing: border-box;
610
- border-right: 1px solid var(--border-color);
611
- }
612
-
613
- /* Timeline Content Container */
614
- .timeline-content-container {
615
- position: relative;
616
- width: 100%;
617
- height: auto;
618
- display: flex;
619
- flex-direction: column;
620
- }
621
-
622
- /* Timeline Group Container */
623
- .timeline-group-container {
624
- margin-bottom: 0;
625
- display: flex;
626
- flex-direction: column;
627
- }
628
-
629
- /* Group Header Row */
630
- .timeline-group-header-row {
631
- display: flex;
632
- margin-top: 0;
633
- }
634
-
635
- .timeline-group-header-cell {
636
- flex: 1;
637
- height: var(--cell-height);
638
- background: var(--group-header-bg);
639
- backdrop-filter: var(--blur-sm);
640
- -webkit-backdrop-filter: var(--blur-sm);
641
- border-right: 1px solid var(--border-strong);
642
- border-bottom: 1px solid var(--border-strong);
643
- box-sizing: border-box;
644
- display: flex;
645
- align-items: center;
646
- justify-content: center;
647
- }
648
-
649
- /* Resource Row */
650
- .timeline-resource-row {
651
- display: flex;
652
- position: relative;
653
- height: var(--cell-height);
654
- border-bottom: 1px solid var(--border-strong);
655
- box-sizing: border-box;
656
- overflow: visible;
657
- }
658
-
659
- /* Scrollbar Styling */
660
- .timeline-scrollable-container::-webkit-scrollbar,
661
- .timeline-resources-container::-webkit-scrollbar {
662
- width: 8px;
663
- height: 8px;
664
- }
665
-
666
- .timeline-scrollable-container::-webkit-scrollbar-track,
667
- .timeline-resources-container::-webkit-scrollbar-track {
668
- background: var(--bg-tertiary);
669
- backdrop-filter: var(--blur-sm);
670
- -webkit-backdrop-filter: var(--blur-sm);
671
- }
672
-
673
- .timeline-scrollable-container::-webkit-scrollbar-thumb,
674
- .timeline-resources-container::-webkit-scrollbar-thumb {
675
- background: var(--accent-primary);
676
- backdrop-filter: var(--blur-sm);
677
- -webkit-backdrop-filter: var(--blur-sm);
678
- border-radius: 10px;
679
- border: 2px solid transparent;
680
- background-clip: padding-box;
681
- }
682
-
683
- .timeline-scrollable-container::-webkit-scrollbar-thumb:hover,
684
- .timeline-resources-container::-webkit-scrollbar-thumb:hover {
685
- background: var(--accent-hover);
686
- }
687
-
688
- /* Master Header Styles */
689
- .master-header-container {
690
- display: flex;
691
- align-items: center;
692
- justify-content: space-between;
693
- padding: 0;
694
- background: transparent;
695
- }
696
-
697
- .master-header-buttons {
698
- display: flex;
699
- align-items: center;
700
- gap: 8px;
701
- }
702
-
703
- .master-header-btn {
704
- background: var(--bg-secondary);
705
- backdrop-filter: var(--blur-sm);
706
- -webkit-backdrop-filter: var(--blur-sm);
707
- color: var(--text-primary);
708
- border: 1px solid var(--border-color);
709
- border-radius: 10px;
710
- padding: 8px 16px;
711
- cursor: pointer;
712
- font-size: 13px;
713
- font-weight: 500;
714
- transition: all 0.3s ease;
715
- box-shadow: var(--shadow-sm);
716
- }
717
-
718
- .master-header-btn:hover {
719
- background: var(--bg-hover);
720
- backdrop-filter: var(--blur-md);
721
- -webkit-backdrop-filter: var(--blur-md);
722
- border-color: var(--border-hover);
723
- transform: translateY(-2px);
724
- box-shadow: var(--shadow-md);
725
- }
726
-
727
- .master-header-btn:active {
728
- transform: translateY(0);
729
- }
730
-
731
- .master-header-btn:focus {
732
- outline: none;
733
- box-shadow: var(--shadow-md), 0 0 0 3px var(--accent-light);
734
- }
735
-
736
- /* Seçili custom button stili - sadece border parlar, arka plan olmaz */
737
- .master-header-btn-active {
738
- background: transparent !important;
739
- backdrop-filter: none !important;
740
- -webkit-backdrop-filter: none !important;
741
- border: 2px solid var(--accent-color, #0ea5e9) !important;
742
- box-shadow: 0 0 10px rgba(14, 165, 233, 0.5), 0 0 20px rgba(14, 165, 233, 0.3) !important;
743
- color: var(--text-primary) !important;
744
- }
745
-
746
- .master-header-btn-active:hover {
747
- background: transparent !important;
748
- border-color: var(--accent-color, #0ea5e9) !important;
749
- box-shadow: 0 0 15px rgba(14, 165, 233, 0.7), 0 0 25px rgba(14, 165, 233, 0.4) !important;
750
- transform: translateY(-2px);
751
- }
752
-
753
- .master-header-date-picker {
754
- background: var(--bg-secondary);
755
- backdrop-filter: var(--blur-sm);
756
- -webkit-backdrop-filter: var(--blur-sm);
757
- color: var(--text-primary);
758
- border: 1px solid var(--border-color);
759
- border-radius: 10px;
760
- padding: 8px 16px;
761
- cursor: pointer;
762
- font-size: 13px;
763
- font-weight: 500;
764
- transition: all 0.3s ease;
765
- box-shadow: var(--shadow-sm);
766
- }
767
-
768
- .master-header-date-picker:hover {
769
- background: var(--bg-hover);
770
- backdrop-filter: var(--blur-md);
771
- -webkit-backdrop-filter: var(--blur-md);
772
- border-color: var(--border-hover);
773
- transform: translateY(-2px);
774
- box-shadow: var(--shadow-md);
775
- }
776
-
777
- .master-header-date-picker:focus {
778
- outline: none;
779
- box-shadow: var(--shadow-md), 0 0 0 3px var(--accent-light);
780
- }
781
-
782
- .master-header-select {
783
- margin-left: auto;
784
- background: var(--bg-secondary);
785
- backdrop-filter: var(--blur-sm);
786
- -webkit-backdrop-filter: var(--blur-sm);
787
- color: var(--text-primary);
788
- border: 1px solid var(--border-color);
789
- border-radius: 10px;
790
- padding: 8px 16px;
791
- font-size: 13px;
792
- font-weight: 500;
793
- cursor: pointer;
794
- transition: all 0.3s ease;
795
- box-shadow: var(--shadow-sm);
796
- }
797
-
798
- .master-header-select:hover {
799
- background: var(--bg-hover);
800
- backdrop-filter: var(--blur-md);
801
- -webkit-backdrop-filter: var(--blur-md);
802
- border-color: var(--border-hover);
803
- transform: translateY(-2px);
804
- box-shadow: var(--shadow-md);
805
- }
806
-
807
- .master-header-select:focus {
808
- outline: none;
809
- box-shadow: var(--shadow-md), 0 0 0 3px var(--accent-light);
810
- }
811
-
812
- /* Zoom Controls */
813
- .master-header-zoom-controls {
814
- display: flex;
815
- align-items: center;
816
- gap: 8px;
817
- margin-left: 12px;
818
- }
819
-
820
- .master-header-zoom-level {
821
- min-width: 50px;
822
- text-align: center;
823
- font-size: 13px;
824
- font-weight: 600;
825
- color: var(--text-primary);
826
- padding: 0 8px;
827
- }
828
-
829
- .master-header-zoom-controls .master-header-btn {
830
- min-width: 36px;
831
- padding: 8px 12px;
832
- font-size: 18px;
833
- font-weight: 700;
834
- line-height: 1;
835
- }
836
-
837
- .master-header-zoom-controls .master-header-btn:disabled {
838
- opacity: 0.4;
839
- cursor: not-allowed;
840
- transform: none;
841
- }
842
-
843
- .master-header-zoom-controls .master-header-btn:disabled:hover {
844
- transform: none;
845
- box-shadow: none;
846
- }
847
-
848
- /* ============================================
849
- Context Menu Styles
850
- ============================================ */
851
- .context-menu {
852
- position: fixed;
853
- z-index: 10005;
854
- pointer-events: auto;
855
- }
856
-
857
- .context-menu-content {
858
- background: var(--bg-primary);
859
- backdrop-filter: var(--blur-md);
860
- -webkit-backdrop-filter: var(--blur-md);
861
- border: 1px solid var(--border-color);
862
- border-radius: 12px;
863
- box-shadow: var(--shadow-lg);
864
- padding: 6px;
865
- min-width: 200px;
866
- max-width: 300px;
867
- overflow: hidden;
868
- animation: contextMenuFadeIn 0.15s ease-out;
869
- }
870
-
871
- @keyframes contextMenuFadeIn {
872
- from {
873
- opacity: 0;
874
- transform: scale(0.95) translateY(-5px);
875
- }
876
- to {
877
- opacity: 1;
878
- transform: scale(1) translateY(0);
879
- }
880
- }
881
-
882
- .context-menu-item {
883
- display: flex;
884
- align-items: center;
885
- gap: 10px;
886
- padding: 10px 12px;
887
- border-radius: 8px;
888
- cursor: pointer;
889
- font-size: 13px;
890
- color: var(--text-primary);
891
- transition: all 0.2s ease;
892
- user-select: none;
893
- position: relative;
894
- }
895
-
896
- .context-menu-item:hover:not(.context-menu-item-disabled) {
897
- background: var(--bg-hover);
898
- color: var(--text-primary);
899
- }
900
-
901
- .context-menu-item-disabled {
902
- opacity: 0.5;
903
- cursor: not-allowed;
904
- pointer-events: none;
905
- }
906
-
907
- .context-menu-item-danger {
908
- color: var(--danger-color, #dc3545);
909
- }
910
-
911
- .context-menu-item-danger:hover:not(.context-menu-item-disabled) {
912
- background: rgba(220, 53, 69, 0.1);
913
- color: var(--danger-color, #dc3545);
914
- }
915
-
916
- .context-menu-item-icon {
917
- display: flex;
918
- align-items: center;
919
- justify-content: center;
920
- width: 18px;
921
- height: 18px;
922
- font-size: 14px;
923
- flex-shrink: 0;
924
- }
925
-
926
- .context-menu-item-label {
927
- flex: 1;
928
- font-weight: 500;
929
- }
930
-
931
- .context-menu-item-shortcut {
932
- font-size: 11px;
933
- color: var(--text-tertiary);
934
- font-family: monospace;
935
- padding: 2px 6px;
936
- background: var(--bg-tertiary);
937
- border-radius: 4px;
938
- margin-left: auto;
939
- }
940
-
941
- .context-menu-separator {
942
- height: 1px;
943
- background: var(--border-color);
944
- margin: 4px 0;
945
- }
946
-
947
- /* Dark mode adjustments */
948
- .dark-mode .context-menu-item-shortcut {
949
- background: var(--bg-secondary);
950
- color: var(--text-secondary);
951
- }
952
-
953
- /* ============================================
954
- Daily View Styles
955
- ============================================ */
956
- .daily-view-overlay {
957
- position: fixed;
958
- top: 0;
959
- left: 0;
960
- right: 0;
961
- bottom: 0;
962
- background: rgba(0, 0, 0, 0.8);
963
- backdrop-filter: blur(10px);
964
- -webkit-backdrop-filter: blur(10px);
965
- z-index: 10006;
966
- display: flex;
967
- justify-content: center;
968
- align-items: center;
969
- animation: dailyViewFadeIn 0.4s ease-out;
970
- overflow: hidden;
971
- }
972
-
973
- @keyframes dailyViewFadeIn {
974
- from {
975
- opacity: 0;
976
- }
977
- to {
978
- opacity: 1;
979
- }
980
- }
981
-
982
- .daily-view-container {
983
- width: 95%;
984
- max-width: 1400px;
985
- height: 90vh;
986
- background: var(--bg-primary);
987
- backdrop-filter: var(--blur-lg);
988
- -webkit-backdrop-filter: var(--blur-lg);
989
- border: 1px solid var(--border-color);
990
- border-radius: 20px;
991
- box-shadow: var(--shadow-lg);
992
- display: flex;
993
- flex-direction: column;
994
- overflow: hidden;
995
- animation: dailyViewScaleIn 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
996
- position: relative;
997
- }
998
-
999
- @keyframes dailyViewScaleIn {
1000
- from {
1001
- opacity: 0;
1002
- transform: scale(0.8) translateY(50px);
1003
- }
1004
- to {
1005
- opacity: 1;
1006
- transform: scale(1) translateY(0);
1007
- }
1008
- }
1009
-
1010
- .daily-view-header {
1011
- display: flex;
1012
- justify-content: space-between;
1013
- align-items: center;
1014
- padding: 20px 30px;
1015
- border-bottom: 1px solid var(--border-color);
1016
- background: var(--bg-secondary);
1017
- backdrop-filter: var(--blur-sm);
1018
- -webkit-backdrop-filter: var(--blur-sm);
1019
- }
1020
-
1021
- .daily-view-header-content {
1022
- flex: 1;
1023
- }
1024
-
1025
- .daily-view-title {
1026
- font-size: 24px;
1027
- font-weight: 700;
1028
- color: var(--text-primary);
1029
- margin: 0 0 5px 0;
1030
- }
1031
-
1032
- .daily-view-date {
1033
- font-size: 14px;
1034
- color: var(--text-secondary);
1035
- margin: 0;
1036
- text-transform: capitalize;
1037
- }
1038
-
1039
- .daily-view-close {
1040
- background: var(--bg-tertiary);
1041
- border: 1px solid var(--border-color);
1042
- border-radius: 8px;
1043
- width: 36px;
1044
- height: 36px;
1045
- display: flex;
1046
- align-items: center;
1047
- justify-content: center;
1048
- cursor: pointer;
1049
- font-size: 20px;
1050
- color: var(--text-primary);
1051
- transition: all 0.2s ease;
1052
- }
1053
-
1054
- .daily-view-close:hover {
1055
- background: var(--bg-hover);
1056
- transform: rotate(90deg);
1057
- }
1058
-
1059
- .daily-view-body {
1060
- display: flex;
1061
- flex: 1;
1062
- overflow: hidden;
1063
- }
1064
-
1065
- .daily-view-hours {
1066
- width: 100px;
1067
- background: var(--bg-secondary);
1068
- backdrop-filter: var(--blur-sm);
1069
- -webkit-backdrop-filter: var(--blur-sm);
1070
- border-right: 1px solid var(--border-color);
1071
- overflow-y: auto;
1072
- flex-shrink: 0;
1073
- }
1074
-
1075
- .daily-view-hour-label {
1076
- height: calc(100% / 24);
1077
- display: flex;
1078
- align-items: center;
1079
- justify-content: center;
1080
- font-size: 12px;
1081
- color: var(--text-secondary);
1082
- font-weight: 500;
1083
- border-bottom: 1px solid var(--border-color);
1084
- position: relative;
1085
- }
1086
-
1087
- .daily-view-hour-label:last-child {
1088
- border-bottom: none;
1089
- }
1090
-
1091
- .daily-view-timeline {
1092
- flex: 1;
1093
- overflow-y: auto;
1094
- position: relative;
1095
- background: var(--bg-primary);
1096
- cursor: crosshair;
1097
- }
1098
-
1099
- .daily-view-hour-cell {
1100
- height: calc(100% / 24);
1101
- border-bottom: 1px solid var(--border-color);
1102
- position: relative;
1103
- cursor: pointer;
1104
- transition: background 0.2s ease;
1105
- }
1106
-
1107
- .daily-view-hour-cell:hover {
1108
- background: var(--bg-hover);
1109
- }
1110
-
1111
- .daily-view-hour-cell:last-child {
1112
- border-bottom: none;
1113
- }
1114
-
1115
- .daily-view-event {
1116
- position: absolute;
1117
- left: 5px;
1118
- right: 5px;
1119
- background: var(--event-bg);
1120
- color: var(--event-text);
1121
- border-radius: 8px;
1122
- padding: 8px 12px;
1123
- box-shadow: var(--shadow-md);
1124
- cursor: pointer;
1125
- transition: all 0.2s ease;
1126
- border: 1px solid var(--event-border);
1127
- z-index: 10;
1128
- display: flex;
1129
- flex-direction: column;
1130
- gap: 4px;
1131
- overflow: hidden;
1132
- }
1133
-
1134
- .daily-view-event:hover {
1135
- transform: translateY(-2px);
1136
- box-shadow: var(--shadow-lg);
1137
- z-index: 15;
1138
- }
1139
-
1140
- .daily-view-event-title {
1141
- font-weight: 600;
1142
- font-size: 13px;
1143
- white-space: nowrap;
1144
- overflow: hidden;
1145
- text-overflow: ellipsis;
1146
- }
1147
-
1148
- .daily-view-event-time {
1149
- font-size: 11px;
1150
- opacity: 0.9;
1151
- white-space: nowrap;
1152
- }
1153
-
1154
- .daily-view-temp-event {
1155
- position: absolute;
1156
- left: 5px;
1157
- right: 5px;
1158
- background: var(--new-event-bg);
1159
- color: var(--new-event-text);
1160
- border-radius: 8px;
1161
- padding: 8px 12px;
1162
- box-shadow: var(--shadow-md);
1163
- border: 2px dashed rgba(255, 255, 255, 0.5);
1164
- z-index: 20;
1165
- font-weight: 500;
1166
- font-size: 13px;
1167
- animation: dailyViewPulse 1.5s ease-in-out infinite;
1168
- }
1169
-
1170
- @keyframes dailyViewPulse {
1171
- 0%, 100% {
1172
- opacity: 0.8;
1173
- }
1174
- 50% {
1175
- opacity: 1;
1176
- }
1177
- }
1178
-
1179
- /* Responsive */
1180
- @media (max-width: 768px) {
1181
- .daily-view-container {
1182
- width: 100%;
1183
- height: 100vh;
1184
- border-radius: 0;
1185
- }
1186
-
1187
- .daily-view-hours {
1188
- width: 80px;
1189
- }
1190
-
1191
- .daily-view-title {
1192
- font-size: 20px;
1193
- }
1194
- }
1195
-
1196
- /* Flatpickr Calendar Glassmorphism */
1197
- .flatpickr-calendar {
1198
- background: var(--bg-primary) !important;
1199
- backdrop-filter: var(--blur-lg) !important;
1200
- -webkit-backdrop-filter: var(--blur-lg) !important;
1201
- border: 1px solid var(--border-color) !important;
1202
- box-shadow: var(--shadow-lg) !important;
1203
- border-radius: 16px !important;
1204
- overflow: hidden;
1205
- }
1206
-
1207
- .flatpickr-day {
1208
- background: transparent !important;
1209
- color: var(--text-primary) !important;
1210
- border-radius: 8px !important;
1211
- cursor: pointer;
1212
- transition: all 0.2s ease;
1213
- }
1214
-
1215
- .flatpickr-day:hover {
1216
- background: var(--accent-light) !important;
1217
- backdrop-filter: var(--blur-sm) !important;
1218
- -webkit-backdrop-filter: var(--blur-sm) !important;
1219
- }
1220
-
1221
- .flatpickr-day.selected {
1222
- background: var(--accent-primary) !important;
1223
- backdrop-filter: var(--blur-md) !important;
1224
- -webkit-backdrop-filter: var(--blur-md) !important;
1225
- color: white !important;
1226
- box-shadow: var(--shadow-md);
1227
- }
1228
-
1229
- .flatpickr-months .flatpickr-month {
1230
- background: transparent !important;
1231
- color: var(--text-primary) !important;
1232
- }
1233
-
1234
- .flatpickr-prev-month,
1235
- .flatpickr-next-month {
1236
- color: var(--text-primary) !important;
1237
- cursor: pointer;
1238
- transition: all 0.2s ease;
1239
- }
1240
-
1241
- .flatpickr-prev-month:hover,
1242
- .flatpickr-next-month:hover {
1243
- background: var(--accent-light) !important;
1244
- backdrop-filter: var(--blur-sm) !important;
1245
- -webkit-backdrop-filter: var(--blur-sm) !important;
1246
- border-radius: 8px;
1247
- }
1248
-
1249
- /* Event Time Style */
1250
- .event-time {
1251
- font-size: 11px;
1252
- margin-top: 2px;
1253
- opacity: 0.9;
1254
- }
1255
-
1256
- /* Legacy class support (for backward compatibility) */
1257
- .event {
1258
- position: absolute;
1259
- background: var(--event-bg);
1260
- backdrop-filter: var(--blur-md);
1261
- -webkit-backdrop-filter: var(--blur-md);
1262
- color: var(--event-text);
1263
- font-size: 13px;
1264
- font-weight: 500;
1265
- padding: 6px 12px;
1266
- border-radius: 12px;
1267
- text-align: left;
1268
- display: flex;
1269
- flex-direction: column;
1270
- justify-content: center;
1271
- box-sizing: border-box;
1272
- z-index: 10;
1273
- overflow: hidden;
1274
- text-overflow: ellipsis;
1275
- white-space: nowrap;
1276
- border: 1px solid var(--event-border);
1277
- cursor: pointer;
1278
- box-shadow: var(--shadow-md), var(--shadow-glow);
1279
- transition: all 0.3s ease;
1280
- }
1281
-
1282
- .event:hover {
1283
- transform: translateY(-2px);
1284
- box-shadow: var(--shadow-lg), var(--shadow-glow);
1285
- }
1286
-
1287
- /* Time-based Mode Styles */
1288
- .timeline-header-time-row {
1289
- display: flex;
1290
- background: var(--bg-tertiary);
1291
- backdrop-filter: var(--blur-sm);
1292
- -webkit-backdrop-filter: var(--blur-sm);
1293
- border-bottom: 1px solid var(--border-strong);
1294
- height: 60px;
1295
- }
1296
-
1297
- .timeline-header-time-cell {
1298
- flex: 1;
1299
- border-right: 1px solid var(--border-color);
1300
- position: relative;
1301
- height: 100%;
1302
- }
1303
-
1304
- .timeline-time-slots {
1305
- display: flex;
1306
- flex-direction: column;
1307
- height: 100%;
1308
- position: relative;
1309
- }
1310
-
1311
- .timeline-time-slot {
1312
- border-bottom: 1px solid var(--border-color);
1313
- position: relative;
1314
- box-sizing: border-box;
1315
- }
1316
-
1317
- .timeline-time-label {
1318
- position: absolute;
1319
- left: 4px;
1320
- top: 2px;
1321
- font-size: 10px;
1322
- font-weight: 500;
1323
- color: var(--text-secondary);
1324
- background: var(--bg-secondary);
1325
- backdrop-filter: var(--blur-sm);
1326
- -webkit-backdrop-filter: var(--blur-sm);
1327
- padding: 2px 4px;
1328
- border-radius: 3px;
1329
- z-index: 1;
1330
- }
1331
-
1332
- /* Time-based Event Styles */
1333
- .timeline-event-time-based {
1334
- position: absolute;
1335
- top: 0;
1336
- left: 0;
1337
- height: auto;
1338
- min-height: 20px;
1339
- }
1340
-
1341
- .timeline-resource-row {
1342
- position: relative;
1343
- min-height: var(--cell-height);
1344
- height: var(--cell-height);
1345
- overflow: visible;
1346
- }
1347
-
1348
- .timeline-resource-row.time-mode {
1349
- min-height: 400px; /* Time mode için daha yüksek */
1350
- height: auto;
1351
- }
1352
-
1353
- /* Time mode için cell yüksekliği */
1354
- .timeline-cell.time-mode {
1355
- min-height: 400px;
1356
- height: auto;
1357
- position: relative;
1358
- }
1359
-
1360
- /* Event saat bilgisi */
1361
- .timeline-event-time {
1362
- display: block;
1363
- font-size: 10px;
1364
- opacity: 0.8;
1365
- margin-top: 2px;
1366
- font-weight: 500;
1367
- }
1368
-
1369
- .timeline-event-conflict-icon {
1370
- display: inline-block;
1371
- margin-left: 4px;
1372
- font-size: 12px;
1373
- animation: pulse-warning 2s ease-in-out infinite;
1374
- }
1375
-
1376
- @keyframes pulse-warning {
1377
- 0%, 100% {
1378
- opacity: 1;
1379
- }
1380
- 50% {
1381
- opacity: 0.5;
1382
- }
1383
- }
1384
-
1385
- /* Time-based event için daha iyi görünüm */
1386
- .timeline-event-time-based .timeline-event-title {
1387
- font-size: 11px;
1388
- line-height: 1.2;
1389
- white-space: nowrap;
1390
- overflow: hidden;
1391
- text-overflow: ellipsis;
1392
- }
1393
-
1394
- .timeline-event-time-based {
1395
- min-height: 30px;
1396
- padding: 4px 8px;
1397
- }
1398
-
1399
- /* Filter Panel Styles */
1400
- .filter-panel {
1401
- background: var(--bg-secondary);
1402
- backdrop-filter: var(--blur-md);
1403
- -webkit-backdrop-filter: var(--blur-md);
1404
- border: 1px solid var(--border-color);
1405
- border-radius: 12px;
1406
- padding: 16px;
1407
- margin-bottom: 16px;
1408
- box-shadow: var(--shadow-md);
1409
- }
1410
-
1411
- .filter-panel-header {
1412
- display: flex;
1413
- justify-content: space-between;
1414
- align-items: center;
1415
- margin-bottom: 16px;
1416
- padding-bottom: 12px;
1417
- border-bottom: 1px solid var(--border-color);
1418
- }
1419
-
1420
- .filter-panel-header h3 {
1421
- margin: 0;
1422
- font-size: 16px;
1423
- font-weight: 600;
1424
- color: var(--text-primary);
1425
- }
1426
-
1427
- .filter-clear-btn {
1428
- background: var(--bg-tertiary);
1429
- border: 1px solid var(--border-color);
1430
- color: var(--text-primary);
1431
- padding: 6px 12px;
1432
- border-radius: 6px;
1433
- cursor: pointer;
1434
- font-size: 12px;
1435
- transition: all 0.2s ease;
1436
- }
1437
-
1438
- .filter-clear-btn:hover {
1439
- background: var(--bg-primary);
1440
- transform: translateY(-1px);
1441
- }
1442
-
1443
- .filter-section {
1444
- margin-bottom: 16px;
1445
- }
1446
-
1447
- .filter-section label {
1448
- display: block;
1449
- margin-bottom: 8px;
1450
- font-size: 13px;
1451
- font-weight: 500;
1452
- color: var(--text-secondary);
1453
- }
1454
-
1455
- .filter-search-input,
1456
- .filter-date-input {
1457
- width: 100%;
1458
- padding: 8px 12px;
1459
- background: var(--bg-tertiary);
1460
- border: 1px solid var(--border-color);
1461
- border-radius: 6px;
1462
- color: var(--text-primary);
1463
- font-size: 13px;
1464
- transition: all 0.2s ease;
1465
- }
1466
-
1467
- .filter-search-input:focus,
1468
- .filter-date-input:focus {
1469
- outline: none;
1470
- border-color: var(--border-hover);
1471
- box-shadow: 0 0 0 3px rgba(99, 102, 241, 0.1);
1472
- }
1473
-
1474
- .filter-date-range {
1475
- display: flex;
1476
- align-items: center;
1477
- gap: 8px;
1478
- }
1479
-
1480
- .filter-date-range span {
1481
- color: var(--text-secondary);
1482
- font-size: 12px;
1483
- }
1484
-
1485
- .filter-checkbox-group {
1486
- display: flex;
1487
- flex-direction: column;
1488
- gap: 8px;
1489
- max-height: 200px;
1490
- overflow-y: auto;
1491
- }
1492
-
1493
- .filter-checkbox {
1494
- display: flex;
1495
- align-items: center;
1496
- gap: 8px;
1497
- cursor: pointer;
1498
- font-size: 13px;
1499
- color: var(--text-primary);
1500
- padding: 4px 0;
1501
- }
1502
-
1503
- .filter-checkbox input[type="checkbox"] {
1504
- cursor: pointer;
1505
- width: 16px;
1506
- height: 16px;
1507
- accent-color: rgba(99, 102, 241, 0.8);
1508
- }
1509
-
1510
- .filter-checkbox span {
1511
- user-select: none;
1512
- }
1513
-
1514
- /* View Mode Styles */
1515
- .master-header-view-mode {
1516
- display: flex;
1517
- gap: 4px;
1518
- margin-right: 12px;
1519
- }
1520
-
1521
- .master-header-view-mode .master-header-btn {
1522
- padding: 6px 12px;
1523
- font-size: 12px;
1524
- min-width: 50px;
1525
- }
1526
-
1527
- .master-header-view-mode .master-header-btn.active {
1528
- background: var(--bg-primary);
1529
- border-color: var(--border-hover);
1530
- box-shadow: var(--shadow-sm);
1531
- font-weight: 600;
1532
- }
1533
-
1534
- /* ============================================
1535
- MOBILE RESPONSIVE STYLES
1536
- ============================================ */
1537
-
1538
- @media (max-width: 768px) {
1539
- /* Mobil için CSS değişkenleri */
1540
- :root {
1541
- --resource-width: 120px;
1542
- --cell-height: 40px;
1543
- --header-total-height: 70px;
1544
- --header-month-height: 35px;
1545
- --header-day-height: 35px;
1546
- --container-height: 500px;
1547
- }
1548
-
1549
- /* Timeline Container */
1550
- .timeline-container {
1551
- font-size: 12px;
1552
- }
1553
-
1554
- /* Master Header */
1555
- .master-header-container {
1556
- flex-direction: column;
1557
- gap: 8px;
1558
- padding: 8px;
1559
- }
1560
-
1561
- .master-header-buttons {
1562
- flex-wrap: wrap;
1563
- gap: 6px;
1564
- }
1565
-
1566
- .master-header-btn {
1567
- padding: 6px 10px;
1568
- font-size: 11px;
1569
- min-width: auto;
1570
- }
1571
-
1572
- .master-header-date-picker {
1573
- width: 100%;
1574
- padding: 8px;
1575
- font-size: 14px;
1576
- }
1577
-
1578
- .master-header-select {
1579
- width: 100%;
1580
- padding: 8px;
1581
- font-size: 14px;
1582
- }
1583
-
1584
- /* Resources Header */
1585
- .resources-header {
1586
- font-size: 12px;
1587
- padding: 8px;
1588
- }
1589
-
1590
- .resource-group-header {
1591
- font-size: 11px;
1592
- padding: 8px 10px;
1593
- height: var(--cell-height);
1594
- }
1595
-
1596
- .resource-cell {
1597
- font-size: 11px;
1598
- padding: 0 10px;
1599
- height: var(--cell-height);
1600
- }
1601
-
1602
- /* Timeline Header */
1603
- .timeline-header-month-cell {
1604
- font-size: 11px;
1605
- padding: 6px 4px;
1606
- }
1607
-
1608
- .timeline-header-day-cell {
1609
- font-size: 10px;
1610
- padding: 4px 2px;
1611
- }
1612
-
1613
- /* Timeline Events */
1614
- .timeline-event {
1615
- font-size: 10px;
1616
- padding: 4px 6px;
1617
- min-height: 32px;
1618
- border-radius: 12px;
1619
- }
1620
-
1621
- .timeline-event-title {
1622
- font-size: 10px;
1623
- line-height: 1.2;
1624
- }
1625
-
1626
- .timeline-event-drag-handle {
1627
- width: 12px;
1628
- }
1629
-
1630
- .timeline-event-drag-handle:hover {
1631
- width: 14px;
1632
- }
1633
-
1634
- /* Timeline Cells */
1635
- .timeline-cell {
1636
- min-width: 40px;
1637
- }
1638
-
1639
- /* Scrollable Container */
1640
- .timeline-scrollable-container {
1641
- -webkit-overflow-scrolling: touch; /* iOS smooth scrolling */
1642
- scroll-behavior: smooth;
1643
- }
1644
-
1645
- /* Group Header */
1646
- .timeline-group-header-cell {
1647
- font-size: 10px;
1648
- }
1649
-
1650
- /* Tooltip */
1651
- .event-tooltip {
1652
- font-size: 11px;
1653
- padding: 8px;
1654
- max-width: 200px;
1655
- }
1656
- }
1657
-
1658
- @media (max-width: 480px) {
1659
- /* Küçük mobil cihazlar için */
1660
- :root {
1661
- --resource-width: 100px;
1662
- --cell-height: 35px;
1663
- --header-total-height: 60px;
1664
- --header-month-height: 30px;
1665
- --header-day-height: 30px;
1666
- --container-height: 400px;
1667
- }
1668
-
1669
- .master-header-btn {
1670
- padding: 5px 8px;
1671
- font-size: 10px;
1672
- }
1673
-
1674
- .timeline-header-month-cell {
1675
- font-size: 10px;
1676
- padding: 4px 2px;
1677
- }
1678
-
1679
- .timeline-header-day-cell {
1680
- font-size: 9px;
1681
- padding: 3px 1px;
1682
- }
1683
-
1684
- .timeline-event {
1685
- font-size: 9px;
1686
- padding: 3px 5px;
1687
- min-height: 28px;
1688
- }
1689
-
1690
- .timeline-event-title {
1691
- font-size: 9px;
1692
- }
1693
-
1694
- .resource-cell {
1695
- font-size: 10px;
1696
- padding: 0 8px;
1697
- }
1698
-
1699
- .timeline-cell {
1700
- min-width: 35px;
1701
- }
1702
- }
1703
-
1704
- /* Touch-friendly styles */
1705
- @media (hover: none) and (pointer: coarse) {
1706
- /* Touch cihazlar için */
1707
- .timeline-event {
1708
- min-height: 44px; /* Touch target minimum size */
1709
- }
1710
-
1711
- .master-header-btn {
1712
- min-height: 44px;
1713
- min-width: 44px;
1714
- }
1715
-
1716
- .timeline-cell {
1717
- min-height: 44px;
1718
- }
1719
-
1720
- /* Hover efektlerini devre dışı bırak */
1721
- .timeline-event:hover {
1722
- transform: none;
1723
- }
1724
-
1725
- .resource-cell:hover {
1726
- background: var(--bg-secondary);
1727
- }
1728
- }
1729
-
1730
- /* Landscape orientation için */
1731
- @media (max-width: 768px) and (orientation: landscape) {
1732
- :root {
1733
- --container-height: 300px;
1734
- --cell-height: 35px;
1735
- }
1736
- }
1737
-
1738
- /* Past Date Protection Styles - Disabled gibi görünüm */
1739
- .timeline-cell-past {
1740
- cursor: not-allowed !important;
1741
- pointer-events: none !important;
1742
- position: relative;
1743
- background: var(--group-header-bg, rgba(176, 175, 175, 0.8)) !important;
1744
- backdrop-filter: var(--blur-sm);
1745
- -webkit-backdrop-filter: var(--blur-sm);
1746
- border-color: var(--border-strong) !important;
1747
- opacity: 0.7;
1748
- z-index: 0;
1749
- }
1750
-
1751
- .timeline-cell-past::before {
1752
- content: '';
1753
- position: absolute;
1754
- top: 0;
1755
- left: 0;
1756
- right: 0;
1757
- bottom: 0;
1758
- background: repeating-linear-gradient(
1759
- 45deg,
1760
- transparent,
1761
- transparent 6px,
1762
- rgba(0, 0, 0, 0.1) 6px,
1763
- rgba(0, 0, 0, 0.1) 12px
1764
- );
1765
- pointer-events: none;
1766
- z-index: 1;
1767
- opacity: 0.5;
1768
- }
1769
-
1770
- .dark-mode .timeline-cell-past {
1771
- background: var(--group-header-bg, rgba(16, 16, 26, 0.8)) !important;
1772
- opacity: 0.6;
1773
- }
1774
-
1775
- .dark-mode .timeline-cell-past::before {
1776
- background: repeating-linear-gradient(
1777
- 45deg,
1778
- transparent,
1779
- transparent 6px,
1780
- rgba(255, 255, 255, 0.1) 6px,
1781
- rgba(255, 255, 255, 0.1) 12px
1782
- );
1783
- }
1784
-
1785
- /* Grup header cell'lerde de geçmiş tarih stili */
1786
- .timeline-group-header-cell.timeline-cell-past {
1787
- background: var(--group-header-bg, rgba(176, 175, 175, 0.8)) !important;
1788
- cursor: not-allowed !important;
1789
- pointer-events: none !important;
1790
- }
1791
-
1792
- .dark-mode .timeline-group-header-cell.timeline-cell-past {
1793
- background: var(--group-header-bg, rgba(16, 16, 26, 0.8)) !important;
1794
- }
1795
-
1796
- /* Disabled Dates Styles - Blok şeklinde, grup header gibi */
1797
- .timeline-cell-disabled {
1798
- cursor: not-allowed !important;
1799
- pointer-events: none !important;
1800
- position: relative;
1801
- background: var(--group-header-bg, rgba(176, 175, 175, 0.8)) !important;
1802
- backdrop-filter: var(--blur-sm);
1803
- -webkit-backdrop-filter: var(--blur-sm);
1804
- border-color: var(--border-strong) !important;
1805
- opacity: 0.7;
1806
- z-index: 0;
1807
- }
1808
-
1809
- .timeline-cell-disabled::before {
1810
- content: '';
1811
- position: absolute;
1812
- top: 0;
1813
- left: 0;
1814
- right: 0;
1815
- bottom: 0;
1816
- background: repeating-linear-gradient(
1817
- 45deg,
1818
- transparent,
1819
- transparent 6px,
1820
- rgba(0, 0, 0, 0.1) 6px,
1821
- rgba(0, 0, 0, 0.1) 12px
1822
- );
1823
- pointer-events: none;
1824
- z-index: 1;
1825
- opacity: 0.5;
1826
- }
1827
-
1828
- .dark-mode .timeline-cell-disabled {
1829
- background: var(--group-header-bg, rgba(16, 16, 26, 0.8)) !important;
1830
- opacity: 0.6;
1831
- }
1832
-
1833
- .dark-mode .timeline-cell-disabled::before {
1834
- background: repeating-linear-gradient(
1835
- 45deg,
1836
- transparent,
1837
- transparent 6px,
1838
- rgba(255, 255, 255, 0.1) 6px,
1839
- rgba(255, 255, 255, 0.1) 12px
1840
- );
1841
- }
1842
-
1843
- /* Grup header cell'lerde de disabled stili */
1844
- .timeline-group-header-cell.timeline-cell-disabled {
1845
- background: var(--group-header-bg, rgba(176, 175, 175, 0.8)) !important;
1846
- cursor: not-allowed !important;
1847
- pointer-events: none !important;
1848
- }
1849
-
1850
- .dark-mode .timeline-group-header-cell.timeline-cell-disabled {
1851
- background: var(--group-header-bg, rgba(16, 16, 26, 0.8)) !important;
1852
- }
1853
-
1854
- /* Weekend Highlighting Styles - Subtle, matching group header intensity */
1855
- /* Light mode: daha açık ve şeffaf */
1856
- .timeline-header-day-weekend {
1857
- background: rgba(200, 200, 200, 0.15) !important;
1858
- }
1859
-
1860
- .dark-mode .timeline-header-day-weekend {
1861
- background: var(--group-header-bg, rgba(16, 16, 26, 0.5)) !important;
1862
- }
1863
-
1864
- .timeline-cell-weekend {
1865
- background: rgba(200, 200, 200, 0.15) !important;
1866
- }
1867
-
1868
- .dark-mode .timeline-cell-weekend {
1869
- background: var(--group-header-bg, rgba(16, 16, 26, 0.5)) !important;
1870
- }
1871
-
1872
- .timeline-group-header-cell.timeline-cell-weekend {
1873
- background: rgba(200, 200, 200, 0.15) !important;
1874
- }
1875
-
1876
- .dark-mode .timeline-group-header-cell.timeline-cell-weekend {
1877
- background: var(--group-header-bg, rgba(16, 16, 26, 0.5)) !important;
1878
- }
1879
-
1880
- /* Autocomplete Select Styles */
1881
- .autocomplete-select-container {
1882
- position: relative;
1883
- width: 100%;
1884
- max-width: 300px;
1885
- }
1886
-
1887
- .autocomplete-select-input {
1888
- position: relative;
1889
- display: flex;
1890
- align-items: center;
1891
- background: var(--bg-secondary);
1892
- backdrop-filter: var(--blur-sm);
1893
- -webkit-backdrop-filter: var(--blur-sm);
1894
- border: 1px solid var(--border-color);
1895
- border-radius: 8px;
1896
- padding: 8px 12px;
1897
- cursor: text;
1898
- transition: all 0.2s ease;
1899
- }
1900
-
1901
- .autocomplete-select-input:hover {
1902
- border-color: var(--border-hover);
1903
- background: var(--bg-hover);
1904
- }
1905
-
1906
- .autocomplete-select-input.open {
1907
- border-color: var(--accent-primary);
1908
- box-shadow: 0 0 0 2px var(--accent-light);
1909
- }
1910
-
1911
- .autocomplete-select-input-field {
1912
- flex: 1;
1913
- border: none;
1914
- outline: none;
1915
- background: transparent;
1916
- color: var(--text-primary);
1917
- font-size: 14px;
1918
- width: 100%;
1919
- }
1920
-
1921
- .autocomplete-select-input-field::placeholder {
1922
- color: var(--text-tertiary);
1923
- }
1924
-
1925
- .autocomplete-select-arrow {
1926
- margin-left: 8px;
1927
- color: var(--text-secondary);
1928
- font-size: 10px;
1929
- pointer-events: none;
1930
- transition: transform 0.2s ease;
1931
- }
1932
-
1933
- .autocomplete-select-input.open .autocomplete-select-arrow {
1934
- transform: rotate(180deg);
1935
- }
1936
-
1937
- .autocomplete-select-dropdown {
1938
- position: absolute;
1939
- top: 100%;
1940
- left: 0;
1941
- right: 0;
1942
- margin-top: 4px;
1943
- background: var(--bg-primary);
1944
- backdrop-filter: var(--blur-md);
1945
- -webkit-backdrop-filter: var(--blur-md);
1946
- border: 1px solid var(--border-color);
1947
- border-radius: 8px;
1948
- box-shadow: var(--shadow-lg);
1949
- z-index: 10000 !important; /* Çok yüksek z-index - diğer elementlerin üstünde görünsün */
1950
- max-height: 250px;
1951
- overflow-y: auto;
1952
- overflow-x: hidden;
1953
- }
1954
-
1955
- .autocomplete-select-option {
1956
- padding: 10px 12px;
1957
- cursor: pointer;
1958
- color: var(--text-primary);
1959
- transition: all 0.2s ease;
1960
- border-bottom: 1px solid var(--border-color);
1961
- }
1962
-
1963
- .autocomplete-select-option:last-child {
1964
- border-bottom: none;
1965
- }
1966
-
1967
- .autocomplete-select-option:hover {
1968
- background: var(--bg-hover);
1969
- backdrop-filter: var(--blur-sm);
1970
- -webkit-backdrop-filter: var(--blur-sm);
1971
- }
1972
-
1973
- .autocomplete-select-option.selected {
1974
- background: var(--accent-light);
1975
- color: var(--accent-primary);
1976
- font-weight: 600;
1977
- }
1978
-
1979
- .autocomplete-select-no-results {
1980
- padding: 12px;
1981
- text-align: center;
1982
- color: var(--text-tertiary);
1983
- font-size: 14px;
1984
- }
1985
-
1986
- /* Resources Header içinde autocomplete için özel stil */
1987
- .resources-header-content .autocomplete-select-container {
1988
- max-width: 100%;
1989
- z-index: 10001 !important; /* Header içinde de yüksek z-index */
1990
- }
1991
-
1992
- .resources-header {
1993
- position: relative;
1994
- z-index: 10000; /* Header'ın kendisi de yüksek z-index'e sahip olsun */
1995
- }
1996
-
1997
- /* Cell Tooltip Styles */
1998
- .cell-tooltip {
1999
- position: fixed;
2000
- z-index: 10002;
2001
- pointer-events: none;
2002
- }
2003
-
2004
- .cell-tooltip-content {
2005
- background: var(--bg-primary);
2006
- backdrop-filter: var(--blur-md);
2007
- -webkit-backdrop-filter: var(--blur-md);
2008
- border: 1px solid var(--border-color);
2009
- border-radius: 8px;
2010
- padding: 8px 12px;
2011
- color: var(--text-primary);
2012
- font-size: 13px;
2013
- box-shadow: var(--shadow-lg);
2014
- white-space: nowrap;
2015
- max-width: 300px;
2016
- word-wrap: break-word;
2017
- }
2018
-
2019
- .cell-tooltip-arrow {
2020
- position: absolute;
2021
- top: -6px;
2022
- left: 10px;
2023
- width: 0;
2024
- height: 0;
2025
- border-left: 6px solid transparent;
2026
- border-right: 6px solid transparent;
2027
- border-bottom: 6px solid var(--bg-primary);
2028
- filter: drop-shadow(0 -2px 4px rgba(0, 0, 0, 0.2));
2029
- }
2030
-
2031
- .dark-mode .cell-tooltip-arrow {
2032
- border-bottom-color: var(--bg-primary);
2033
- }
2034
-
2035
- /* Event Management Styles */
2036
- .timeline-event.selected {
2037
- outline: 2px solid var(--accent-primary) !important;
2038
- outline-offset: 2px;
2039
- box-shadow: 0 0 0 4px var(--accent-light) !important;
2040
- }
2041
-
2042
- /* Modal Styles */
2043
- .modal-overlay {
2044
- position: fixed;
2045
- top: 0;
2046
- left: 0;
2047
- right: 0;
2048
- bottom: 0;
2049
- background: rgba(0, 0, 0, 0.5);
2050
- backdrop-filter: blur(4px);
2051
- -webkit-backdrop-filter: blur(4px);
2052
- display: flex;
2053
- align-items: center;
2054
- justify-content: center;
2055
- z-index: 10003;
2056
- }
2057
-
2058
- .modal-content {
2059
- background: var(--bg-primary);
2060
- backdrop-filter: var(--blur-md);
2061
- -webkit-backdrop-filter: var(--blur-md);
2062
- border: 1px solid var(--border-color);
2063
- border-radius: 16px;
2064
- box-shadow: var(--shadow-lg);
2065
- width: 90%;
2066
- max-width: 500px;
2067
- max-height: 90vh;
2068
- overflow-y: auto;
2069
- color: var(--text-primary);
2070
- }
2071
-
2072
- .modal-header {
2073
- display: flex;
2074
- justify-content: space-between;
2075
- align-items: center;
2076
- padding: 20px;
2077
- border-bottom: 1px solid var(--border-color);
2078
- }
2079
-
2080
- .modal-header h2 {
2081
- margin: 0;
2082
- font-size: 20px;
2083
- font-weight: 600;
2084
- }
2085
-
2086
- .modal-close-btn {
2087
- background: none;
2088
- border: none;
2089
- font-size: 28px;
2090
- color: var(--text-secondary);
2091
- cursor: pointer;
2092
- padding: 0;
2093
- width: 32px;
2094
- height: 32px;
2095
- display: flex;
2096
- align-items: center;
2097
- justify-content: center;
2098
- border-radius: 8px;
2099
- transition: all 0.2s ease;
2100
- }
2101
-
2102
- .modal-close-btn:hover {
2103
- background: var(--bg-hover);
2104
- color: var(--text-primary);
2105
- }
2106
-
2107
- .modal-form {
2108
- padding: 20px;
2109
- }
2110
-
2111
- .form-group {
2112
- margin-bottom: 16px;
2113
- }
2114
-
2115
- .form-group label {
2116
- display: block;
2117
- margin-bottom: 8px;
2118
- font-size: 14px;
2119
- font-weight: 500;
2120
- color: var(--text-primary);
2121
- }
2122
-
2123
- .form-group input,
2124
- .form-group select {
2125
- width: 100%;
2126
- padding: 10px 12px;
2127
- background: var(--bg-secondary);
2128
- backdrop-filter: var(--blur-sm);
2129
- -webkit-backdrop-filter: var(--blur-sm);
2130
- border: 1px solid var(--border-color);
2131
- border-radius: 8px;
2132
- color: var(--text-primary);
2133
- font-size: 14px;
2134
- transition: all 0.2s ease;
2135
- box-sizing: border-box;
2136
- }
2137
-
2138
- .form-group input:focus,
2139
- .form-group select:focus {
2140
- outline: none;
2141
- border-color: var(--accent-primary);
2142
- box-shadow: 0 0 0 2px var(--accent-light);
2143
- }
2144
-
2145
- .form-row {
2146
- display: grid;
2147
- grid-template-columns: 1fr 1fr;
2148
- gap: 16px;
2149
- }
2150
-
2151
- .modal-actions {
2152
- display: flex;
2153
- justify-content: space-between;
2154
- align-items: center;
2155
- margin-top: 24px;
2156
- padding-top: 20px;
2157
- border-top: 1px solid var(--border-color);
2158
- }
2159
-
2160
- .btn-save,
2161
- .btn-cancel,
2162
- .btn-delete {
2163
- padding: 10px 20px;
2164
- border: none;
2165
- border-radius: 8px;
2166
- font-size: 14px;
2167
- font-weight: 500;
2168
- cursor: pointer;
2169
- transition: all 0.2s ease;
2170
- }
2171
-
2172
- .btn-save {
2173
- background: var(--accent-primary);
2174
- color: white;
2175
- margin-left: 8px;
2176
- }
2177
-
2178
- .btn-save:hover {
2179
- background: var(--accent-hover);
2180
- }
2181
-
2182
- .btn-cancel {
2183
- background: var(--bg-secondary);
2184
- color: var(--text-primary);
2185
- border: 1px solid var(--border-color);
2186
- }
2187
-
2188
- .btn-cancel:hover {
2189
- background: var(--bg-hover);
2190
- }
2191
-
2192
- .btn-delete {
2193
- background: rgba(220, 53, 69, 0.8);
2194
- color: white;
2195
- }
2196
-
2197
- .btn-delete:hover {
2198
- background: rgba(220, 53, 69, 1);
2199
- }
2200
-
2201
- /* ============================================
2202
- Event Icons
2203
- ============================================ */
2204
- .event-icon {
2205
- display: inline-flex !important;
2206
- align-items: center;
2207
- justify-content: center;
2208
- font-size: 16px !important;
2209
- line-height: 1;
2210
- margin-right: 6px;
2211
- flex-shrink: 0;
2212
- animation: iconPulse 2s ease-in-out infinite;
2213
- width: auto;
2214
- height: auto;
2215
- min-width: 18px;
2216
- z-index: 15;
2217
- position: relative;
2218
- opacity: 1 !important;
2219
- visibility: visible !important;
2220
- pointer-events: none;
2221
- }
2222
-
2223
- .event-icon-balance-warning {
2224
- color: #ffc107;
2225
- filter: drop-shadow(0 0 2px rgba(255, 193, 7, 0.5));
2226
- }
2227
-
2228
- .event-icon-important-note {
2229
- color: #17a2b8;
2230
- filter: drop-shadow(0 0 2px rgba(23, 162, 184, 0.5));
2231
- }
2232
-
2233
- .event-icon-payment-pending {
2234
- color: #ff9800;
2235
- }
2236
-
2237
- .event-icon-confirmed {
2238
- color: #28a745;
2239
- }
2240
-
2241
- .event-icon-cancelled {
2242
- color: #dc3545;
2243
- }
2244
-
2245
- .event-icon-pending {
2246
- color: #6c757d;
2247
- }
2248
-
2249
- .event-icon-completed {
2250
- color: #28a745;
2251
- font-weight: bold;
2252
- }
2253
-
2254
- .event-icon-in-progress {
2255
- color: #007bff;
2256
- }
2257
-
2258
- .event-icon-alert {
2259
- color: #dc3545;
2260
- animation: iconShake 0.5s ease-in-out infinite;
2261
- }
2262
-
2263
- .event-icon-info {
2264
- color: #17a2b8;
2265
- }
2266
-
2267
- @keyframes iconPulse {
2268
- 0%, 100% {
2269
- opacity: 1;
2270
- transform: scale(1);
2271
- }
2272
- 50% {
2273
- opacity: 0.7;
2274
- transform: scale(1.1);
2275
- }
2276
- }
2277
-
2278
- @keyframes iconShake {
2279
- 0%, 100% {
2280
- transform: translateX(0);
2281
- }
2282
- 25% {
2283
- transform: translateX(-2px);
2284
- }
2285
- 75% {
2286
- transform: translateX(2px);
2287
- }
2288
- }
2289
-
2290
- /* ============================================
2291
- Event Badges
2292
- ============================================ */
2293
- .event-badge {
2294
- position: absolute;
2295
- display: inline-flex;
2296
- align-items: center;
2297
- justify-content: center;
2298
- padding: 2px 6px;
2299
- font-size: 9px;
2300
- font-weight: 600;
2301
- border-radius: 10px;
2302
- white-space: nowrap;
2303
- z-index: 30;
2304
- animation: badgeFadeIn 0.3s ease-out;
2305
- pointer-events: none;
2306
- line-height: 1;
2307
- max-width: 50px;
2308
- overflow: hidden;
2309
- text-overflow: ellipsis;
2310
- top: -6px;
2311
- }
2312
-
2313
- .event-badge-top-right {
2314
- top: -6px;
2315
- right: -6px;
2316
- }
2317
-
2318
- .event-badge-top-left {
2319
- top: -6px;
2320
- left: -6px;
2321
- }
2322
-
2323
- .event-badge-bottom-right {
2324
- bottom: -6px;
2325
- right: -6px;
2326
- }
2327
-
2328
- .event-badge-bottom-left {
2329
- bottom: -6px;
2330
- left: -6px;
2331
- }
2332
-
2333
- .event-badge-default {
2334
- background: var(--accent-primary);
2335
- color: white;
2336
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
2337
- }
2338
-
2339
- .event-badge-important {
2340
- background: linear-gradient(135deg, #ff6b6b, #ee5a6f);
2341
- color: white;
2342
- box-shadow: 0 2px 8px rgba(255, 107, 107, 0.4);
2343
- animation: badgePulse 2s ease-in-out infinite;
2344
- }
2345
-
2346
- .event-badge-urgent {
2347
- background: linear-gradient(135deg, #ffc107, #ff9800);
2348
- color: #000;
2349
- box-shadow: 0 2px 8px rgba(255, 193, 7, 0.4);
2350
- animation: badgeShake 0.5s ease-in-out infinite;
2351
- }
2352
-
2353
- .event-badge-new {
2354
- background: linear-gradient(135deg, #28a745, #20c997);
2355
- color: white;
2356
- box-shadow: 0 2px 8px rgba(40, 167, 69, 0.4);
2357
- }
2358
-
2359
- .event-badge-custom {
2360
- background: var(--bg-secondary);
2361
- color: var(--text-primary);
2362
- border: 1px solid var(--border-color);
2363
- }
2364
-
2365
- @keyframes badgeFadeIn {
2366
- from {
2367
- opacity: 0;
2368
- transform: scale(0.8);
2369
- }
2370
- to {
2371
- opacity: 1;
2372
- transform: scale(1);
2373
- }
2374
- }
2375
-
2376
- @keyframes badgePulse {
2377
- 0%, 100% {
2378
- transform: scale(1);
2379
- box-shadow: 0 2px 8px rgba(255, 107, 107, 0.4);
2380
- }
2381
- 50% {
2382
- transform: scale(1.05);
2383
- box-shadow: 0 4px 12px rgba(255, 107, 107, 0.6);
2384
- }
2385
- }
2386
-
2387
- @keyframes badgeShake {
2388
- 0%, 100% {
2389
- transform: translateX(0) rotate(0deg);
2390
- }
2391
- 25% {
2392
- transform: translateX(-2px) rotate(-2deg);
2393
- }
2394
- 75% {
2395
- transform: translateX(2px) rotate(2deg);
2396
- }
2397
- }
2398
-
2399
- /* ============================================
2400
- Loading Spinner
2401
- ============================================ */
2402
- .loading-overlay {
2403
- position: absolute;
2404
- top: 0;
2405
- left: 0;
2406
- right: 0;
2407
- bottom: 0;
2408
- background: rgba(0, 0, 0, 0.3);
2409
- backdrop-filter: blur(2px);
2410
- -webkit-backdrop-filter: blur(2px);
2411
- display: flex;
2412
- align-items: center;
2413
- justify-content: center;
2414
- z-index: 10000;
2415
- animation: overlayFadeIn 0.2s ease-out;
2416
- }
2417
-
2418
- .loading-spinner {
2419
- display: inline-flex;
2420
- align-items: center;
2421
- justify-content: center;
2422
- }
2423
-
2424
- .loading-spinner-small {
2425
- width: 20px;
2426
- height: 20px;
2427
- }
2428
-
2429
- .loading-spinner-medium {
2430
- width: 40px;
2431
- height: 40px;
2432
- }
2433
-
2434
- .loading-spinner-large {
2435
- width: 60px;
2436
- height: 60px;
2437
- }
2438
-
2439
- /* Spinner Type: Circle */
2440
- .spinner-circle {
2441
- width: 100%;
2442
- height: 100%;
2443
- border: 3px solid var(--border-color);
2444
- border-top-color: var(--accent-primary);
2445
- border-radius: 50%;
2446
- animation: spinnerRotate 1s linear infinite;
2447
- }
2448
-
2449
- /* Spinner Type: Dots */
2450
- .dots-container {
2451
- display: flex;
2452
- gap: 4px;
2453
- align-items: center;
2454
- }
2455
-
2456
- .dots-container span {
2457
- width: 8px;
2458
- height: 8px;
2459
- border-radius: 50%;
2460
- background: var(--accent-primary);
2461
- animation: dotsBounce 1.4s ease-in-out infinite both;
2462
- }
2463
-
2464
- .dots-container span:nth-child(1) {
2465
- animation-delay: -0.32s;
2466
- }
2467
-
2468
- .dots-container span:nth-child(2) {
2469
- animation-delay: -0.16s;
2470
- }
2471
-
2472
- .dots-container span:nth-child(3) {
2473
- animation-delay: 0s;
2474
- }
2475
-
2476
- /* Spinner Type: Pulse */
2477
- .pulse-circle {
2478
- width: 100%;
2479
- height: 100%;
2480
- border-radius: 50%;
2481
- background: var(--accent-primary);
2482
- animation: pulseScale 1.5s ease-in-out infinite;
2483
- }
2484
-
2485
- @keyframes spinnerRotate {
2486
- to {
2487
- transform: rotate(360deg);
2488
- }
2489
- }
2490
-
2491
- @keyframes dotsBounce {
2492
- 0%, 80%, 100% {
2493
- transform: scale(0);
2494
- opacity: 0.5;
2495
- }
2496
- 40% {
2497
- transform: scale(1);
2498
- opacity: 1;
2499
- }
2500
- }
2501
-
2502
- @keyframes pulseScale {
2503
- 0%, 100% {
2504
- transform: scale(0.8);
2505
- opacity: 0.5;
2506
- }
2507
- 50% {
2508
- transform: scale(1);
2509
- opacity: 1;
2510
- }
2511
- }
2512
-
2513
- @keyframes overlayFadeIn {
2514
- from {
2515
- opacity: 0;
2516
- }
2517
- to {
2518
- opacity: 1;
2519
- }
2520
- }
2521
-
2522
- /* ============================================
2523
- Event Animations
2524
- ============================================ */
2525
- .timeline-event {
2526
- transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
2527
- }
2528
-
2529
- .timeline-event:hover {
2530
- transform: translateY(-2px);
2531
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
2532
- }
2533
-
2534
- .timeline-event.selected {
2535
- animation: eventSelectPulse 0.3s ease-out;
2536
- }
2537
-
2538
- .timeline-event-enter {
2539
- animation: eventFadeIn 0.4s ease-out;
2540
- }
2541
-
2542
- .timeline-event-exit {
2543
- animation: eventFadeOut 0.3s ease-in;
2544
- }
2545
-
2546
- @keyframes eventFadeIn {
2547
- from {
2548
- opacity: 0;
2549
- transform: scale(0.9) translateY(-10px);
2550
- }
2551
- to {
2552
- opacity: 1;
2553
- transform: scale(1) translateY(0);
2554
- }
2555
- }
2556
-
2557
- @keyframes eventFadeOut {
2558
- from {
2559
- opacity: 1;
2560
- transform: scale(1) translateY(0);
2561
- }
2562
- to {
2563
- opacity: 0;
2564
- transform: scale(0.9) translateY(-10px);
2565
- }
2566
- }
2567
-
2568
- @keyframes eventSelectPulse {
2569
- 0% {
2570
- box-shadow: 0 0 0 0 var(--accent-primary);
2571
- }
2572
- 50% {
2573
- box-shadow: 0 0 0 8px rgba(0, 123, 255, 0.1);
2574
- }
2575
- 100% {
2576
- box-shadow: 0 0 0 0 var(--accent-primary);
2577
- }
2578
- }
2579
-
2580
- /* Timeline Container Animations */
2581
- .timeline-container {
2582
- animation: containerFadeIn 0.5s ease-out;
2583
- }
2584
-
2585
- @keyframes containerFadeIn {
2586
- from {
2587
- opacity: 0;
2588
- transform: translateY(10px);
2589
- }
2590
- to {
2591
- opacity: 1;
2592
- transform: translateY(0);
2593
- }
2594
- }
2595
-
2596
- /* Cell Hover Animation */
2597
- .timeline-cell {
2598
- transition: background-color 0.2s ease, transform 0.2s ease;
2599
- }
2600
-
2601
- .timeline-cell:hover {
2602
- transform: scale(1.02);
2603
- }
2604
-
2605
- /* Smooth Scroll Animation */
2606
- .timeline-scrollable-container {
2607
- scroll-behavior: smooth;
2608
- }
2609
-
2610
- /* Loading State for Timeline */
2611
- .timeline-loading {
2612
- position: relative;
2613
- min-height: 200px;
2614
- }
2615
-
2616
- .timeline-loading::after {
2617
- content: '';
2618
- position: absolute;
2619
- top: 50%;
2620
- left: 50%;
2621
- transform: translate(-50%, -50%);
2622
- width: 40px;
2623
- height: 40px;
2624
- border: 3px solid var(--border-color);
2625
- border-top-color: var(--accent-primary);
2626
- border-radius: 50%;
2627
- animation: spinnerRotate 1s linear infinite;
2628
- }
2629
- `, ""]);
2630
- // Exports
2631
- /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___);
2632
-
2633
-
2634
- /***/ },
2635
-
2636
- /***/ 56
2637
- (module, __unused_webpack_exports, __webpack_require__) {
2638
-
2639
-
2640
-
2641
- /* istanbul ignore next */
2642
- function setAttributesWithoutAttributes(styleElement) {
2643
- var nonce = true ? __webpack_require__.nc : 0;
2644
- if (nonce) {
2645
- styleElement.setAttribute("nonce", nonce);
2646
- }
2647
- }
2648
- module.exports = setAttributesWithoutAttributes;
2649
-
2650
- /***/ },
2651
-
2652
- /***/ 72
2653
- (module) {
2654
-
2655
-
2656
-
2657
- var stylesInDOM = [];
2658
- function getIndexByIdentifier(identifier) {
2659
- var result = -1;
2660
- for (var i = 0; i < stylesInDOM.length; i++) {
2661
- if (stylesInDOM[i].identifier === identifier) {
2662
- result = i;
2663
- break;
2664
- }
2665
- }
2666
- return result;
2667
- }
2668
- function modulesToDom(list, options) {
2669
- var idCountMap = {};
2670
- var identifiers = [];
2671
- for (var i = 0; i < list.length; i++) {
2672
- var item = list[i];
2673
- var id = options.base ? item[0] + options.base : item[0];
2674
- var count = idCountMap[id] || 0;
2675
- var identifier = "".concat(id, " ").concat(count);
2676
- idCountMap[id] = count + 1;
2677
- var indexByIdentifier = getIndexByIdentifier(identifier);
2678
- var obj = {
2679
- css: item[1],
2680
- media: item[2],
2681
- sourceMap: item[3],
2682
- supports: item[4],
2683
- layer: item[5]
2684
- };
2685
- if (indexByIdentifier !== -1) {
2686
- stylesInDOM[indexByIdentifier].references++;
2687
- stylesInDOM[indexByIdentifier].updater(obj);
2688
- } else {
2689
- var updater = addElementStyle(obj, options);
2690
- options.byIndex = i;
2691
- stylesInDOM.splice(i, 0, {
2692
- identifier: identifier,
2693
- updater: updater,
2694
- references: 1
2695
- });
2696
- }
2697
- identifiers.push(identifier);
2698
- }
2699
- return identifiers;
2700
- }
2701
- function addElementStyle(obj, options) {
2702
- var api = options.domAPI(options);
2703
- api.update(obj);
2704
- var updater = function updater(newObj) {
2705
- if (newObj) {
2706
- if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {
2707
- return;
2708
- }
2709
- api.update(obj = newObj);
2710
- } else {
2711
- api.remove();
2712
- }
2713
- };
2714
- return updater;
2715
- }
2716
- module.exports = function (list, options) {
2717
- options = options || {};
2718
- list = list || [];
2719
- var lastIdentifiers = modulesToDom(list, options);
2720
- return function update(newList) {
2721
- newList = newList || [];
2722
- for (var i = 0; i < lastIdentifiers.length; i++) {
2723
- var identifier = lastIdentifiers[i];
2724
- var index = getIndexByIdentifier(identifier);
2725
- stylesInDOM[index].references--;
2726
- }
2727
- var newLastIdentifiers = modulesToDom(newList, options);
2728
- for (var _i = 0; _i < lastIdentifiers.length; _i++) {
2729
- var _identifier = lastIdentifiers[_i];
2730
- var _index = getIndexByIdentifier(_identifier);
2731
- if (stylesInDOM[_index].references === 0) {
2732
- stylesInDOM[_index].updater();
2733
- stylesInDOM.splice(_index, 1);
2734
- }
2735
- }
2736
- lastIdentifiers = newLastIdentifiers;
2737
- };
2738
- };
2739
-
2740
- /***/ },
2741
-
2742
- /***/ 113
2743
- (module) {
2744
-
2745
-
2746
-
2747
- /* istanbul ignore next */
2748
- function styleTagTransform(css, styleElement) {
2749
- if (styleElement.styleSheet) {
2750
- styleElement.styleSheet.cssText = css;
2751
- } else {
2752
- while (styleElement.firstChild) {
2753
- styleElement.removeChild(styleElement.firstChild);
2754
- }
2755
- styleElement.appendChild(document.createTextNode(css));
2756
- }
2757
- }
2758
- module.exports = styleTagTransform;
2759
-
2760
- /***/ },
2761
-
2762
- /***/ 155
2763
- (module) {
2764
-
2765
- module.exports = __WEBPACK_EXTERNAL_MODULE__155__;
2766
-
2767
- /***/ },
2768
-
2769
- /***/ 314
2770
- (module) {
2771
-
2772
-
2773
-
2774
- /*
2775
- MIT License http://www.opensource.org/licenses/mit-license.php
2776
- Author Tobias Koppers @sokra
2777
- */
2778
- module.exports = function (cssWithMappingToString) {
2779
- var list = [];
2780
-
2781
- // return the list of modules as css string
2782
- list.toString = function toString() {
2783
- return this.map(function (item) {
2784
- var content = "";
2785
- var needLayer = typeof item[5] !== "undefined";
2786
- if (item[4]) {
2787
- content += "@supports (".concat(item[4], ") {");
2788
- }
2789
- if (item[2]) {
2790
- content += "@media ".concat(item[2], " {");
2791
- }
2792
- if (needLayer) {
2793
- content += "@layer".concat(item[5].length > 0 ? " ".concat(item[5]) : "", " {");
2794
- }
2795
- content += cssWithMappingToString(item);
2796
- if (needLayer) {
2797
- content += "}";
2798
- }
2799
- if (item[2]) {
2800
- content += "}";
2801
- }
2802
- if (item[4]) {
2803
- content += "}";
2804
- }
2805
- return content;
2806
- }).join("");
2807
- };
2808
-
2809
- // import a list of modules into the list
2810
- list.i = function i(modules, media, dedupe, supports, layer) {
2811
- if (typeof modules === "string") {
2812
- modules = [[null, modules, undefined]];
2813
- }
2814
- var alreadyImportedModules = {};
2815
- if (dedupe) {
2816
- for (var k = 0; k < this.length; k++) {
2817
- var id = this[k][0];
2818
- if (id != null) {
2819
- alreadyImportedModules[id] = true;
2820
- }
2821
- }
2822
- }
2823
- for (var _k = 0; _k < modules.length; _k++) {
2824
- var item = [].concat(modules[_k]);
2825
- if (dedupe && alreadyImportedModules[item[0]]) {
2826
- continue;
2827
- }
2828
- if (typeof layer !== "undefined") {
2829
- if (typeof item[5] === "undefined") {
2830
- item[5] = layer;
2831
- } else {
2832
- item[1] = "@layer".concat(item[5].length > 0 ? " ".concat(item[5]) : "", " {").concat(item[1], "}");
2833
- item[5] = layer;
2834
- }
2835
- }
2836
- if (media) {
2837
- if (!item[2]) {
2838
- item[2] = media;
2839
- } else {
2840
- item[1] = "@media ".concat(item[2], " {").concat(item[1], "}");
2841
- item[2] = media;
2842
- }
2843
- }
2844
- if (supports) {
2845
- if (!item[4]) {
2846
- item[4] = "".concat(supports);
2847
- } else {
2848
- item[1] = "@supports (".concat(item[4], ") {").concat(item[1], "}");
2849
- item[4] = supports;
2850
- }
2851
- }
2852
- list.push(item);
2853
- }
2854
- };
2855
- return list;
2856
- };
2857
-
2858
- /***/ },
2859
-
2860
- /***/ 540
2861
- (module) {
2862
-
2863
-
2864
-
2865
- /* istanbul ignore next */
2866
- function insertStyleElement(options) {
2867
- var element = document.createElement("style");
2868
- options.setAttributes(element, options.attributes);
2869
- options.insert(element, options.options);
2870
- return element;
2871
- }
2872
- module.exports = insertStyleElement;
2873
-
2874
- /***/ },
2875
-
2876
- /***/ 601
2877
- (module) {
2878
-
2879
-
2880
-
2881
- module.exports = function (i) {
2882
- return i[1];
2883
- };
2884
-
2885
- /***/ },
2886
-
2887
- /***/ 659
2888
- (module) {
2889
-
2890
-
2891
-
2892
- var memo = {};
2893
-
2894
- /* istanbul ignore next */
2895
- function getTarget(target) {
2896
- if (typeof memo[target] === "undefined") {
2897
- var styleTarget = document.querySelector(target);
2898
-
2899
- // Special case to return head of iframe instead of iframe itself
2900
- if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {
2901
- try {
2902
- // This will throw an exception if access to iframe is blocked
2903
- // due to cross-origin restrictions
2904
- styleTarget = styleTarget.contentDocument.head;
2905
- } catch (e) {
2906
- // istanbul ignore next
2907
- styleTarget = null;
2908
- }
2909
- }
2910
- memo[target] = styleTarget;
2911
- }
2912
- return memo[target];
2913
- }
2914
-
2915
- /* istanbul ignore next */
2916
- function insertBySelector(insert, style) {
2917
- var target = getTarget(insert);
2918
- if (!target) {
2919
- throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");
2920
- }
2921
- target.appendChild(style);
2922
- }
2923
- module.exports = insertBySelector;
2924
-
2925
- /***/ },
2926
-
2927
- /***/ 825
2928
- (module) {
2929
-
2930
-
2931
-
2932
- /* istanbul ignore next */
2933
- function apply(styleElement, options, obj) {
2934
- var css = "";
2935
- if (obj.supports) {
2936
- css += "@supports (".concat(obj.supports, ") {");
2937
- }
2938
- if (obj.media) {
2939
- css += "@media ".concat(obj.media, " {");
2940
- }
2941
- var needLayer = typeof obj.layer !== "undefined";
2942
- if (needLayer) {
2943
- css += "@layer".concat(obj.layer.length > 0 ? " ".concat(obj.layer) : "", " {");
2944
- }
2945
- css += obj.css;
2946
- if (needLayer) {
2947
- css += "}";
2948
- }
2949
- if (obj.media) {
2950
- css += "}";
2951
- }
2952
- if (obj.supports) {
2953
- css += "}";
2954
- }
2955
- var sourceMap = obj.sourceMap;
2956
- if (sourceMap && typeof btoa !== "undefined") {
2957
- css += "\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), " */");
2958
- }
2959
-
2960
- // For old IE
2961
- /* istanbul ignore if */
2962
- options.styleTagTransform(css, styleElement, options.options);
2963
- }
2964
- function removeStyleElement(styleElement) {
2965
- // istanbul ignore if
2966
- if (styleElement.parentNode === null) {
2967
- return false;
2968
- }
2969
- styleElement.parentNode.removeChild(styleElement);
2970
- }
2971
-
2972
- /* istanbul ignore next */
2973
- function domAPI(options) {
2974
- if (typeof document === "undefined") {
2975
- return {
2976
- update: function update() {},
2977
- remove: function remove() {}
2978
- };
2979
- }
2980
- var styleElement = options.insertStyleElement(options);
2981
- return {
2982
- update: function update(obj) {
2983
- apply(styleElement, options, obj);
2984
- },
2985
- remove: function remove() {
2986
- removeStyleElement(styleElement);
2987
- }
2988
- };
2989
- }
2990
- module.exports = domAPI;
2991
-
2992
- /***/ }
2993
-
2994
- /******/ });
2995
- /************************************************************************/
2996
- /******/ // The module cache
2997
- /******/ var __webpack_module_cache__ = {};
2998
- /******/
2999
- /******/ // The require function
3000
- /******/ function __webpack_require__(moduleId) {
3001
- /******/ // Check if module is in cache
3002
- /******/ var cachedModule = __webpack_module_cache__[moduleId];
3003
- /******/ if (cachedModule !== undefined) {
3004
- /******/ return cachedModule.exports;
3005
- /******/ }
3006
- /******/ // Create a new module (and put it into the cache)
3007
- /******/ var module = __webpack_module_cache__[moduleId] = {
3008
- /******/ id: moduleId,
3009
- /******/ // no module.loaded needed
3010
- /******/ exports: {}
3011
- /******/ };
3012
- /******/
3013
- /******/ // Execute the module function
3014
- /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
3015
- /******/
3016
- /******/ // Return the exports of the module
3017
- /******/ return module.exports;
3018
- /******/ }
3019
- /******/
1
+ import { default as __WEBPACK_EXTERNAL_MODULE_react_default__, useCallback as __WEBPACK_EXTERNAL_MODULE_react_useCallback__, useEffect as __WEBPACK_EXTERNAL_MODULE_react_useEffect__, useMemo as __WEBPACK_EXTERNAL_MODULE_react_useMemo__, useRef as __WEBPACK_EXTERNAL_MODULE_react_useRef__, useState as __WEBPACK_EXTERNAL_MODULE_react_useState__ } from "react";
2
+ /******/ // The require scope
3
+ /******/ var __webpack_require__ = {};
4
+ /******/
3020
5
  /************************************************************************/
3021
- /******/ /* webpack/runtime/compat get default export */
3022
- /******/ (() => {
3023
- /******/ // getDefaultExport function for compatibility with non-harmony modules
3024
- /******/ __webpack_require__.n = (module) => {
3025
- /******/ var getter = module && module.__esModule ?
3026
- /******/ () => (module['default']) :
3027
- /******/ () => (module);
3028
- /******/ __webpack_require__.d(getter, { a: getter });
3029
- /******/ return getter;
3030
- /******/ };
3031
- /******/ })();
3032
- /******/
3033
- /******/ /* webpack/runtime/define property getters */
3034
- /******/ (() => {
3035
- /******/ // define getter functions for harmony exports
3036
- /******/ __webpack_require__.d = (exports, definition) => {
3037
- /******/ for(var key in definition) {
3038
- /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
3039
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
3040
- /******/ }
6
+ /******/ /* webpack/runtime/define property getters */
7
+ /******/ (() => {
8
+ /******/ // define getter functions for harmony exports
9
+ /******/ __webpack_require__.d = (exports, definition) => {
10
+ /******/ for(var key in definition) {
11
+ /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
12
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
3041
13
  /******/ }
3042
- /******/ };
3043
- /******/ })();
3044
- /******/
3045
- /******/ /* webpack/runtime/hasOwnProperty shorthand */
3046
- /******/ (() => {
3047
- /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
3048
- /******/ })();
3049
- /******/
3050
- /******/ /* webpack/runtime/make namespace object */
3051
- /******/ (() => {
3052
- /******/ // define __esModule on exports
3053
- /******/ __webpack_require__.r = (exports) => {
3054
- /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
3055
- /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
3056
- /******/ }
3057
- /******/ Object.defineProperty(exports, '__esModule', { value: true });
3058
- /******/ };
3059
- /******/ })();
3060
- /******/
3061
- /******/ /* webpack/runtime/nonce */
3062
- /******/ (() => {
3063
- /******/ __webpack_require__.nc = undefined;
3064
- /******/ })();
3065
- /******/
14
+ /******/ }
15
+ /******/ };
16
+ /******/ })();
17
+ /******/
18
+ /******/ /* webpack/runtime/hasOwnProperty shorthand */
19
+ /******/ (() => {
20
+ /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
21
+ /******/ })();
22
+ /******/
3066
23
  /************************************************************************/
3067
24
  var __webpack_exports__ = {};
3068
- // ESM COMPAT FLAG
3069
- __webpack_require__.r(__webpack_exports__);
3070
-
3071
- // EXPORTS
3072
- __webpack_require__.d(__webpack_exports__, {
3073
- "default": () => (/* binding */ components_Timeline_Timeline)
3074
- });
3075
-
3076
- // EXTERNAL MODULE: external "react"
3077
- var external_react_ = __webpack_require__(155);
3078
- var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
3079
- // EXTERNAL MODULE: ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js
3080
- var injectStylesIntoStyleTag = __webpack_require__(72);
3081
- var injectStylesIntoStyleTag_default = /*#__PURE__*/__webpack_require__.n(injectStylesIntoStyleTag);
3082
- // EXTERNAL MODULE: ./node_modules/style-loader/dist/runtime/styleDomAPI.js
3083
- var styleDomAPI = __webpack_require__(825);
3084
- var styleDomAPI_default = /*#__PURE__*/__webpack_require__.n(styleDomAPI);
3085
- // EXTERNAL MODULE: ./node_modules/style-loader/dist/runtime/insertBySelector.js
3086
- var insertBySelector = __webpack_require__(659);
3087
- var insertBySelector_default = /*#__PURE__*/__webpack_require__.n(insertBySelector);
3088
- // EXTERNAL MODULE: ./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js
3089
- var setAttributesWithoutAttributes = __webpack_require__(56);
3090
- var setAttributesWithoutAttributes_default = /*#__PURE__*/__webpack_require__.n(setAttributesWithoutAttributes);
3091
- // EXTERNAL MODULE: ./node_modules/style-loader/dist/runtime/insertStyleElement.js
3092
- var insertStyleElement = __webpack_require__(540);
3093
- var insertStyleElement_default = /*#__PURE__*/__webpack_require__.n(insertStyleElement);
3094
- // EXTERNAL MODULE: ./node_modules/style-loader/dist/runtime/styleTagTransform.js
3095
- var styleTagTransform = __webpack_require__(113);
3096
- var styleTagTransform_default = /*#__PURE__*/__webpack_require__.n(styleTagTransform);
3097
- // EXTERNAL MODULE: ./node_modules/css-loader/dist/cjs.js!./src/components/Timeline/Timeline.css
3098
- var Timeline = __webpack_require__(27);
3099
- ;// ./src/components/Timeline/Timeline.css
3100
-
3101
-
3102
-
3103
-
3104
-
3105
-
3106
-
3107
-
3108
-
3109
-
3110
-
3111
- var options = {};
3112
-
3113
- options.styleTagTransform = (styleTagTransform_default());
3114
- options.setAttributes = (setAttributesWithoutAttributes_default());
3115
- options.insert = insertBySelector_default().bind(null, "head");
3116
- options.domAPI = (styleDomAPI_default());
3117
- options.insertStyleElement = (insertStyleElement_default());
3118
-
3119
- var update = injectStylesIntoStyleTag_default()(Timeline/* default */.A, options);
3120
-
3121
-
3122
-
3123
-
3124
- /* harmony default export */ const Timeline_Timeline = (Timeline/* default */.A && Timeline/* default */.A.locals ? Timeline/* default */.A.locals : undefined);
25
+
26
+ ;// external "react"
3125
27
 
3126
28
  ;// ./src/components/Timeline/MasterHeader.jsx
3127
29
 
@@ -3151,17 +53,17 @@ const MasterHeader = _ref => {
3151
53
  } = _ref;
3152
54
  const formattedDate = new Date(selectedDate.getTime() + 24 * 60 * 60 * 1000 - selectedDate.getTimezoneOffset() * 60000).toISOString().split("T")[0]; // YYYY-MM-DD formatı
3153
55
 
3154
- return /*#__PURE__*/external_react_default().createElement("div", {
56
+ return /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
3155
57
  className: "master-header-container"
3156
- }, /*#__PURE__*/external_react_default().createElement("div", {
58
+ }, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
3157
59
  className: "master-header-buttons"
3158
- }, showDefaultButtons && /*#__PURE__*/external_react_default().createElement((external_react_default()).Fragment, null, /*#__PURE__*/external_react_default().createElement("button", {
60
+ }, showDefaultButtons && /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement(__WEBPACK_EXTERNAL_MODULE_react_default__.Fragment, null, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("button", {
3159
61
  className: "master-header-btn",
3160
62
  onClick: onMonthRetreat
3161
- }, "1 Ay Geri"), /*#__PURE__*/external_react_default().createElement("button", {
63
+ }, "1 Ay Geri"), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("button", {
3162
64
  className: "master-header-btn",
3163
65
  onClick: onRetreat
3164
- }, "5 G\xFCn Geri"), /*#__PURE__*/external_react_default().createElement("input", {
66
+ }, "5 G\xFCn Geri"), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("input", {
3165
67
  type: "date",
3166
68
  className: "master-header-date-picker",
3167
69
  value: formattedDate // Seçili tarih burada gösteriliyor
@@ -3169,16 +71,16 @@ const MasterHeader = _ref => {
3169
71
  onChange: e => onDateSelect(e.target.value) // Tarih seçimi
3170
72
  ,
3171
73
  onKeyDown: e => e.preventDefault() // Manuel girişleri engelle
3172
- }), /*#__PURE__*/external_react_default().createElement("button", {
74
+ }), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("button", {
3173
75
  className: "master-header-btn",
3174
76
  onClick: onAdvance
3175
- }, "5 G\xFCn \u0130leri"), /*#__PURE__*/external_react_default().createElement("button", {
77
+ }, "5 G\xFCn \u0130leri"), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("button", {
3176
78
  className: "master-header-btn",
3177
79
  onClick: onMonthAdvance
3178
- }, "1 Ay \u0130leri"), /*#__PURE__*/external_react_default().createElement("button", {
80
+ }, "1 Ay \u0130leri"), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("button", {
3179
81
  className: "master-header-btn",
3180
82
  onClick: onToday
3181
- }, "Bug\xFCn")), customButtons && customButtons.length > 0 && customButtons.map(button => /*#__PURE__*/external_react_default().createElement("button", {
83
+ }, "Bug\xFCn")), customButtons && customButtons.length > 0 && customButtons.map(button => /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("button", {
3182
84
  key: button.id,
3183
85
  className: button.className ? "master-header-btn ".concat(button.className) : "master-header-btn",
3184
86
  onClick: () => {
@@ -3193,23 +95,23 @@ const MasterHeader = _ref => {
3193
95
  },
3194
96
  disabled: button.disabled,
3195
97
  title: button.tooltip || button.label
3196
- }, button.icon && /*#__PURE__*/external_react_default().createElement("span", {
98
+ }, button.icon && /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("span", {
3197
99
  style: {
3198
100
  marginRight: button.label ? '4px' : '0'
3199
101
  }
3200
- }, button.icon), button.label))), /*#__PURE__*/external_react_default().createElement("select", {
102
+ }, button.icon), button.label))), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("select", {
3201
103
  className: "master-header-select",
3202
104
  value: dayRange,
3203
105
  onChange: e => setDayRange(parseInt(e.target.value, 10))
3204
- }, /*#__PURE__*/external_react_default().createElement("option", {
106
+ }, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("option", {
3205
107
  value: 30
3206
- }, "30 G\xFCn"), /*#__PURE__*/external_react_default().createElement("option", {
108
+ }, "30 G\xFCn"), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("option", {
3207
109
  value: 60
3208
- }, "60 G\xFCn"), /*#__PURE__*/external_react_default().createElement("option", {
110
+ }, "60 G\xFCn"), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("option", {
3209
111
  value: 90
3210
- }, "90 G\xFCn")), zoomOn && setZoomLevel && /*#__PURE__*/external_react_default().createElement("div", {
112
+ }, "90 G\xFCn")), zoomOn && setZoomLevel && /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
3211
113
  className: "master-header-zoom-controls"
3212
- }, /*#__PURE__*/external_react_default().createElement("button", {
114
+ }, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("button", {
3213
115
  className: "master-header-btn",
3214
116
  onClick: () => {
3215
117
  const newZoom = Math.max(minZoomLevel, zoomLevel - zoomStep);
@@ -3217,9 +119,9 @@ const MasterHeader = _ref => {
3217
119
  },
3218
120
  disabled: zoomLevel <= minZoomLevel,
3219
121
  title: "Zoom Out (".concat(Math.round((zoomLevel - zoomStep) * 100), "%)")
3220
- }, "\u2212"), /*#__PURE__*/external_react_default().createElement("span", {
122
+ }, "\u2212"), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("span", {
3221
123
  className: "master-header-zoom-level"
3222
- }, Math.round(zoomLevel * 100), "%"), /*#__PURE__*/external_react_default().createElement("button", {
124
+ }, Math.round(zoomLevel * 100), "%"), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("button", {
3223
125
  className: "master-header-btn",
3224
126
  onClick: () => {
3225
127
  const newZoom = Math.min(maxZoomLevel, zoomLevel + zoomStep);
@@ -3238,7 +140,7 @@ const ResourcesHeader = _ref => {
3238
140
  let {
3239
141
  content
3240
142
  } = _ref;
3241
- return /*#__PURE__*/external_react_default().createElement("div", {
143
+ return /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
3242
144
  className: "resources-header"
3243
145
  }, content);
3244
146
  };
@@ -3266,22 +168,22 @@ const Resources = _ref => {
3266
168
  isGrouped,
3267
169
  isCollapsible
3268
170
  } = resourceSettings;
3269
- return /*#__PURE__*/external_react_default().createElement("div", {
171
+ return /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
3270
172
  className: "timeline-resources"
3271
173
  }, isGrouped ?
3272
174
  // Gruplama aktif
3273
- groupedResources.map((group, groupIndex) => /*#__PURE__*/external_react_default().createElement("div", {
175
+ groupedResources.map((group, groupIndex) => /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
3274
176
  key: groupIndex,
3275
177
  className: "resource-group"
3276
- }, /*#__PURE__*/external_react_default().createElement("div", {
178
+ }, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
3277
179
  className: "resource-group-header",
3278
180
  onClick: () => isCollapsible && toggleGroupCollapse(group.groupName)
3279
- }, group.groupName, " ", isCollapsible && (collapsedGroups[group.groupName] ? "▲" : "▼")), !collapsedGroups[group.groupName] && group.resources.map((resource, resourceIndex) => /*#__PURE__*/external_react_default().createElement("div", {
181
+ }, group.groupName, " ", isCollapsible && (collapsedGroups[group.groupName] ? "▲" : "▼")), !collapsedGroups[group.groupName] && group.resources.map((resource, resourceIndex) => /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
3280
182
  key: resourceIndex,
3281
183
  className: "resource-cell"
3282
184
  }, showIdAsName ? resource.id : resource.name || resource.id)))) :
3283
185
  // Gruplama yok
3284
- groupedResources.flatMap(group => group.resources).map((resource, resourceIndex) => /*#__PURE__*/external_react_default().createElement("div", {
186
+ groupedResources.flatMap(group => group.resources).map((resource, resourceIndex) => /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
3285
187
  key: resourceIndex,
3286
188
  className: "resource-cell"
3287
189
  }, showIdAsName ? resource.id : resource.name || resource.id)));
@@ -3431,18 +333,18 @@ const TimelineHeader = _ref => {
3431
333
  monthHeaders,
3432
334
  highlightWeekends = false
3433
335
  } = _ref;
3434
- return /*#__PURE__*/external_react_default().createElement("div", {
336
+ return /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
3435
337
  className: "timeline-header-container"
3436
- }, /*#__PURE__*/external_react_default().createElement("div", {
338
+ }, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
3437
339
  className: "timeline-header-month-row"
3438
- }, monthHeaders.map((monthHeader, index) => /*#__PURE__*/external_react_default().createElement("div", {
340
+ }, monthHeaders.map((monthHeader, index) => /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
3439
341
  key: index,
3440
342
  className: "timeline-header-month-cell",
3441
343
  style: {
3442
344
  flex: monthHeader.endIndex - monthHeader.startIndex + 1,
3443
345
  borderRight: index < monthHeaders.length - 1 ? "1px solid var(--border-color)" : "none"
3444
346
  }
3445
- }, monthHeader.monthName, " ", monthHeader.year))), /*#__PURE__*/external_react_default().createElement("div", {
347
+ }, monthHeader.monthName, " ", monthHeader.year))), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
3446
348
  className: "timeline-header-day-row"
3447
349
  }, dates.map((date, index) => {
3448
350
  // Hafta sonu kontrolü
@@ -3452,7 +354,7 @@ const TimelineHeader = _ref => {
3452
354
  const dayOfWeek = cellDate.getDay(); // 0 = Pazar, 6 = Cumartesi
3453
355
  isWeekend = dayOfWeek === 0 || dayOfWeek === 6;
3454
356
  }
3455
- return /*#__PURE__*/external_react_default().createElement("div", {
357
+ return /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
3456
358
  key: index,
3457
359
  className: "timeline-header-day-cell ".concat(isWeekend ? "timeline-header-day-weekend" : ""),
3458
360
  style: {
@@ -3470,10 +372,10 @@ const TimelineHeader = _ref => {
3470
372
 
3471
373
  const useDragAndDrop = function () {
3472
374
  let initialEvents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
3473
- const [isDragging, setIsDragging] = (0,external_react_.useState)(false);
3474
- const [dragStart, setDragStart] = (0,external_react_.useState)(null);
3475
- const [dragEnd, setDragEnd] = (0,external_react_.useState)(null);
3476
- const [events, setEvents] = (0,external_react_.useState)(initialEvents);
375
+ const [isDragging, setIsDragging] = __WEBPACK_EXTERNAL_MODULE_react_useState__(false);
376
+ const [dragStart, setDragStart] = __WEBPACK_EXTERNAL_MODULE_react_useState__(null);
377
+ const [dragEnd, setDragEnd] = __WEBPACK_EXTERNAL_MODULE_react_useState__(null);
378
+ const [events, setEvents] = __WEBPACK_EXTERNAL_MODULE_react_useState__(initialEvents);
3477
379
 
3478
380
  // Sürükleme başlat
3479
381
  const startDrag = (resourceId, date) => {
@@ -3551,9 +453,9 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
3551
453
 
3552
454
  const useEventDragDrop = function (events, setEvents, setDropInfo) {
3553
455
  let onDragInfo = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
3554
- const [draggingEvent, setDraggingEvent] = (0,external_react_.useState)(null);
3555
- const [dragOffset, setDragOffset] = (0,external_react_.useState)(0);
3556
- const [mode, setMode] = (0,external_react_.useState)(null); // "drag" veya "extend"
456
+ const [draggingEvent, setDraggingEvent] = __WEBPACK_EXTERNAL_MODULE_react_useState__(null);
457
+ const [dragOffset, setDragOffset] = __WEBPACK_EXTERNAL_MODULE_react_useState__(0);
458
+ const [mode, setMode] = __WEBPACK_EXTERNAL_MODULE_react_useState__(null); // "drag" veya "extend"
3557
459
 
3558
460
  const handleDragStart = (event, eventId) => {
3559
461
  console.log("[useEventDragDrop] handleDragStart called:", {
@@ -3700,7 +602,7 @@ const Indicator = _ref => {
3700
602
  if (todayIndex < 0 || todayIndex >= totalDays) {
3701
603
  return null; // Bugün timeline dışında ise çizgiyi gösterme
3702
604
  }
3703
- return /*#__PURE__*/external_react_default().createElement("div", {
605
+ return /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
3704
606
  style: {
3705
607
  position: "absolute",
3706
608
  top: 0,
@@ -3770,7 +672,7 @@ const EventIcon = _ref => {
3770
672
  };
3771
673
  const iconContent = getIconContent();
3772
674
  if (!iconContent) return null;
3773
- return /*#__PURE__*/external_react_default().createElement("span", {
675
+ return /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("span", {
3774
676
  className: "event-icon event-icon-".concat(type, " ").concat(className)
3775
677
  }, iconContent);
3776
678
  };
@@ -3793,7 +695,7 @@ const EventBadge = _ref => {
3793
695
  className = '',
3794
696
  style = {}
3795
697
  } = _ref;
3796
- return /*#__PURE__*/external_react_default().createElement("span", {
698
+ return /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("span", {
3797
699
  className: "event-badge event-badge-".concat(type, " event-badge-").concat(position, " ").concat(className),
3798
700
  style: style
3799
701
  }, text);
@@ -3817,11 +719,11 @@ const ContextMenu = _ref => {
3817
719
  resource = null,
3818
720
  date = null
3819
721
  } = _ref;
3820
- const menuRef = (0,external_react_.useRef)(null);
3821
- const [adjustedPosition, setAdjustedPosition] = (0,external_react_.useState)(position);
722
+ const menuRef = __WEBPACK_EXTERNAL_MODULE_react_useRef__(null);
723
+ const [adjustedPosition, setAdjustedPosition] = __WEBPACK_EXTERNAL_MODULE_react_useState__(position);
3822
724
 
3823
725
  // Menü pozisyonunu mouse'a yakın tut ve ekran sınırları içinde tut
3824
- (0,external_react_.useEffect)(() => {
726
+ __WEBPACK_EXTERNAL_MODULE_react_useEffect__(() => {
3825
727
  if (!menuRef.current || !position || !isOpen) {
3826
728
  setAdjustedPosition(position);
3827
729
  return;
@@ -3865,7 +767,7 @@ const ContextMenu = _ref => {
3865
767
  }, [position, isOpen]);
3866
768
 
3867
769
  // Menü dışına tıklanınca kapat
3868
- (0,external_react_.useEffect)(() => {
770
+ __WEBPACK_EXTERNAL_MODULE_react_useEffect__(() => {
3869
771
  const handleClickOutside = event => {
3870
772
  if (menuRef.current && !menuRef.current.contains(event.target)) {
3871
773
  onClose();
@@ -3897,7 +799,7 @@ const ContextMenu = _ref => {
3897
799
  onClose();
3898
800
  }
3899
801
  };
3900
- return /*#__PURE__*/external_react_default().createElement("div", {
802
+ return /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
3901
803
  ref: menuRef,
3902
804
  className: "context-menu",
3903
805
  style: {
@@ -3906,13 +808,13 @@ const ContextMenu = _ref => {
3906
808
  top: "".concat(((_adjustedPosition$y = adjustedPosition === null || adjustedPosition === void 0 ? void 0 : adjustedPosition.y) !== null && _adjustedPosition$y !== void 0 ? _adjustedPosition$y : position.y) - 150, "px"),
3907
809
  zIndex: 10005
3908
810
  }
3909
- }, /*#__PURE__*/external_react_default().createElement("div", {
811
+ }, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
3910
812
  className: "context-menu-content"
3911
- }, menuItems.length === 0 ? /*#__PURE__*/external_react_default().createElement("div", {
813
+ }, menuItems.length === 0 ? /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
3912
814
  className: "context-menu-item context-menu-item-disabled"
3913
815
  }, "Men\xFC \xF6\u011Fesi yok") : menuItems.map((item, index) => {
3914
816
  if (item.separator) {
3915
- return /*#__PURE__*/external_react_default().createElement("div", {
817
+ return /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
3916
818
  key: "separator-".concat(index),
3917
819
  className: "context-menu-separator"
3918
820
  });
@@ -3920,16 +822,16 @@ const ContextMenu = _ref => {
3920
822
  if (item.hidden) {
3921
823
  return null;
3922
824
  }
3923
- return /*#__PURE__*/external_react_default().createElement("div", {
825
+ return /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
3924
826
  key: item.id || index,
3925
827
  className: "context-menu-item ".concat(item.disabled ? 'context-menu-item-disabled' : '', " ").concat(item.danger ? 'context-menu-item-danger' : ''),
3926
828
  onClick: () => !item.disabled && handleItemClick(item),
3927
829
  title: item.tooltip || item.label
3928
- }, item.icon && /*#__PURE__*/external_react_default().createElement("span", {
830
+ }, item.icon && /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("span", {
3929
831
  className: "context-menu-item-icon"
3930
- }, item.icon), /*#__PURE__*/external_react_default().createElement("span", {
832
+ }, item.icon), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("span", {
3931
833
  className: "context-menu-item-label"
3932
- }, item.label), item.shortcut && /*#__PURE__*/external_react_default().createElement("span", {
834
+ }, item.label), item.shortcut && /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("span", {
3933
835
  className: "context-menu-item-shortcut"
3934
836
  }, item.shortcut));
3935
837
  })));
@@ -4022,7 +924,7 @@ const TimelineContent = _ref => {
4022
924
  autoSelectRanges = null // [{ start: '2025-12-31', end: '2026-01-05' }, ...] - Auto-select için range'ler (disableDates'ten bağımsız)
4023
925
  } = _ref;
4024
926
  // ------------------- HOOKS & STATE -------------------
4025
- const containerRef = (0,external_react_.useRef)(null);
927
+ const containerRef = __WEBPACK_EXTERNAL_MODULE_react_useRef__(null);
4026
928
 
4027
929
  // Drag
4028
930
  const {
@@ -4041,24 +943,24 @@ const TimelineContent = _ref => {
4041
943
 
4042
944
  // Extend
4043
945
  // extendEvent removed - not used (extend logic handled manually)
4044
- const [mode, setMode] = (0,external_react_.useState)(null); // null | "extend"
4045
- const [extendingEvent, setExtendingEvent] = (0,external_react_.useState)(null);
4046
- const [originalEndDate, setOriginalEndDate] = (0,external_react_.useState)(null);
4047
- const [startMouseX, setStartMouseX] = (0,external_react_.useState)(null);
946
+ const [mode, setMode] = __WEBPACK_EXTERNAL_MODULE_react_useState__(null); // null | "extend"
947
+ const [extendingEvent, setExtendingEvent] = __WEBPACK_EXTERNAL_MODULE_react_useState__(null);
948
+ const [originalEndDate, setOriginalEndDate] = __WEBPACK_EXTERNAL_MODULE_react_useState__(null);
949
+ const [startMouseX, setStartMouseX] = __WEBPACK_EXTERNAL_MODULE_react_useState__(null);
4048
950
 
4049
951
  // Create new event
4050
- const [isCreating, setIsCreating] = (0,external_react_.useState)(false);
4051
- const [tempEvent, setTempEvent] = (0,external_react_.useState)(null);
952
+ const [isCreating, setIsCreating] = __WEBPACK_EXTERNAL_MODULE_react_useState__(false);
953
+ const [tempEvent, setTempEvent] = __WEBPACK_EXTERNAL_MODULE_react_useState__(null);
4052
954
 
4053
955
  // Cell Tooltip State
4054
- const [cellTooltip, setCellTooltip] = (0,external_react_.useState)(null);
4055
- const [cellTooltipPosition, setCellTooltipPosition] = (0,external_react_.useState)({
956
+ const [cellTooltip, setCellTooltip] = __WEBPACK_EXTERNAL_MODULE_react_useState__(null);
957
+ const [cellTooltipPosition, setCellTooltipPosition] = __WEBPACK_EXTERNAL_MODULE_react_useState__({
4056
958
  top: 0,
4057
959
  left: 0
4058
960
  });
4059
961
 
4060
962
  // Context Menu State
4061
- const [contextMenu, setContextMenu] = (0,external_react_.useState)({
963
+ const [contextMenu, setContextMenu] = __WEBPACK_EXTERNAL_MODULE_react_useState__({
4062
964
  isOpen: false,
4063
965
  position: null,
4064
966
  resource: null,
@@ -4066,8 +968,8 @@ const TimelineContent = _ref => {
4066
968
  });
4067
969
 
4068
970
  // Tooltip
4069
- const [selectedEvent, setSelectedEvent] = (0,external_react_.useState)(null);
4070
- const [tooltipPosition, setTooltipPosition] = (0,external_react_.useState)({
971
+ const [selectedEvent, setSelectedEvent] = __WEBPACK_EXTERNAL_MODULE_react_useState__(null);
972
+ const [tooltipPosition, setTooltipPosition] = __WEBPACK_EXTERNAL_MODULE_react_useState__({
4071
973
  top: 0,
4072
974
  left: 0
4073
975
  });
@@ -4112,7 +1014,7 @@ const TimelineContent = _ref => {
4112
1014
  };
4113
1015
 
4114
1016
  // ------------------- Context Menu -------------------
4115
- const handleCellContextMenu = (0,external_react_.useCallback)((e, resource, dateObj) => {
1017
+ const handleCellContextMenu = __WEBPACK_EXTERNAL_MODULE_react_useCallback__((e, resource, dateObj) => {
4116
1018
  if (!cellContextMenuOn) return;
4117
1019
  e.preventDefault();
4118
1020
  e.stopPropagation();
@@ -4134,7 +1036,7 @@ const TimelineContent = _ref => {
4134
1036
  onCellContextMenu(resourceObj || resource, dateObj, e);
4135
1037
  }
4136
1038
  }, [cellContextMenuOn, groupedResources, onCellContextMenu]);
4137
- const handleCloseContextMenu = (0,external_react_.useCallback)(() => {
1039
+ const handleCloseContextMenu = __WEBPACK_EXTERNAL_MODULE_react_useCallback__(() => {
4138
1040
  setContextMenu({
4139
1041
  isOpen: false,
4140
1042
  position: null,
@@ -4248,7 +1150,7 @@ const TimelineContent = _ref => {
4248
1150
  setIsCreating(true);
4249
1151
  }
4250
1152
  };
4251
- (0,external_react_.useEffect)(() => {
1153
+ __WEBPACK_EXTERNAL_MODULE_react_useEffect__(() => {
4252
1154
  if (!createNewEventOn) return;
4253
1155
  if (!isCreating) return;
4254
1156
  if (mode === "extend") {
@@ -4432,7 +1334,7 @@ const TimelineContent = _ref => {
4432
1334
  setOriginalEndDate(event.endDate);
4433
1335
  setStartMouseX(mouseEvent.clientX);
4434
1336
  };
4435
- const handleMouseMoveExtend = (0,external_react_.useCallback)(e => {
1337
+ const handleMouseMoveExtend = __WEBPACK_EXTERNAL_MODULE_react_useCallback__(e => {
4436
1338
  if (mode !== "extend" || !extendingEvent) return;
4437
1339
  if (!eventsExtendOn) return;
4438
1340
  const currentMouseX = e.clientX;
@@ -4445,7 +1347,7 @@ const TimelineContent = _ref => {
4445
1347
  endDate: newEndDate
4446
1348
  }) : evt));
4447
1349
  }, [mode, extendingEvent, eventsExtendOn, originalEndDate, startMouseX, setEvents]);
4448
- const handleMouseUpExtend = (0,external_react_.useCallback)(() => {
1350
+ const handleMouseUpExtend = __WEBPACK_EXTERNAL_MODULE_react_useCallback__(() => {
4449
1351
  if (onExtendInfo && extendingEvent) {
4450
1352
  // callback
4451
1353
  const updatedEvent = events.find(ev => ev.id === extendingEvent.id);
@@ -4465,7 +1367,7 @@ const TimelineContent = _ref => {
4465
1367
  setOriginalEndDate(null);
4466
1368
  setStartMouseX(null);
4467
1369
  }, [extendingEvent, onExtendInfo, events]);
4468
- (0,external_react_.useEffect)(() => {
1370
+ __WEBPACK_EXTERNAL_MODULE_react_useEffect__(() => {
4469
1371
  if (mode === "extend") {
4470
1372
  const onMove = e => handleMouseMoveExtend(e);
4471
1373
  const onUp = () => handleMouseUpExtend();
@@ -4549,7 +1451,7 @@ const TimelineContent = _ref => {
4549
1451
  };
4550
1452
 
4551
1453
  // ------------------- RENDER -------------------
4552
- return /*#__PURE__*/external_react_default().createElement((external_react_default()).Fragment, null, cellTooltip && cellTooltipOn && /*#__PURE__*/external_react_default().createElement("div", {
1454
+ return /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement(__WEBPACK_EXTERNAL_MODULE_react_default__.Fragment, null, cellTooltip && cellTooltipOn && /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
4553
1455
  className: "cell-tooltip",
4554
1456
  style: {
4555
1457
  position: 'fixed',
@@ -4560,20 +1462,20 @@ const TimelineContent = _ref => {
4560
1462
  pointerEvents: 'none',
4561
1463
  zIndex: 10002
4562
1464
  }
4563
- }, /*#__PURE__*/external_react_default().createElement("div", {
1465
+ }, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
4564
1466
  className: "cell-tooltip-content"
4565
- }, typeof cellTooltip.content === 'string' ? cellTooltip.content : cellTooltip.content), /*#__PURE__*/external_react_default().createElement("div", {
1467
+ }, typeof cellTooltip.content === 'string' ? cellTooltip.content : cellTooltip.content), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
4566
1468
  className: "cell-tooltip-arrow"
4567
- })), /*#__PURE__*/external_react_default().createElement("div", {
1469
+ })), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
4568
1470
  ref: containerRef,
4569
1471
  className: "timeline-content-container" // Yeni class, stilini timeline.css'e ekleyebilirsin
4570
- }, indicatorOn && /*#__PURE__*/external_react_default().createElement(Timeline_Indicator, {
1472
+ }, indicatorOn && /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement(Timeline_Indicator, {
4571
1473
  todayIndex: todayIndex,
4572
1474
  totalDays: totalDays
4573
- }), groupedResources.map((group, groupIndex) => /*#__PURE__*/external_react_default().createElement("div", {
1475
+ }), groupedResources.map((group, groupIndex) => /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
4574
1476
  key: groupIndex,
4575
1477
  className: "timeline-group-container"
4576
- }, resourceSettings.isGrouped && /*#__PURE__*/external_react_default().createElement("div", {
1478
+ }, resourceSettings.isGrouped && /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
4577
1479
  className: "timeline-group-header-row"
4578
1480
  }, dates.map((dateObj, colIndex) => {
4579
1481
  // Hafta sonu kontrolü
@@ -4596,7 +1498,7 @@ const TimelineContent = _ref => {
4596
1498
 
4597
1499
  // Disabled tarih kontrolü
4598
1500
  const isDisabled = disableDates ? isDateDisabled(dateObj.fullDate, disableDates) : false;
4599
- return /*#__PURE__*/external_react_default().createElement("div", {
1501
+ return /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
4600
1502
  key: "group-header-".concat(groupIndex, "-").concat(colIndex),
4601
1503
  className: "timeline-group-header-cell ".concat(isWeekend ? "timeline-cell-weekend" : "", " ").concat(isPastDate ? "timeline-cell-past" : "", " ").concat(isDisabled ? "timeline-cell-disabled" : "")
4602
1504
  });
@@ -4643,7 +1545,7 @@ const TimelineContent = _ref => {
4643
1545
 
4644
1546
  // Normal event'ler ve gruplanmış saatlik event'leri birleştir
4645
1547
  const resourceEvents = [...normalEvents, ...groupedHourlyEvents];
4646
- return /*#__PURE__*/external_react_default().createElement("div", {
1548
+ return /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
4647
1549
  key: resource.id,
4648
1550
  className: "timeline-resource-row"
4649
1551
  }, resourceEvents.map(event => {
@@ -4668,7 +1570,7 @@ const TimelineContent = _ref => {
4668
1570
 
4669
1571
  // Event color'ı al (event.color varsa kullan, yoksa eventStyle'den al, yoksa varsayılan)
4670
1572
  const eventColor = event.color || (eventStyle === null || eventStyle === void 0 ? void 0 : eventStyle.backgroundColor) || '#8b5cf6';
4671
- return /*#__PURE__*/external_react_default().createElement("div", {
1573
+ return /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
4672
1574
  key: event.id,
4673
1575
  className: "timeline-event timeline-event-enter ".concat(selectedEvents.includes(event.id) ? "selected" : "", " ").concat(isHourly ? "timeline-event-hourly" : ""),
4674
1576
  draggable: false,
@@ -4692,12 +1594,12 @@ const TimelineContent = _ref => {
4692
1594
  // Kullanıcı tarafından tanımlanan stiller
4693
1595
  backgroundColor: (eventStyle === null || eventStyle === void 0 ? void 0 : eventStyle.backgroundColor) || eventColor // Event color'ı kullan (eventStyle.backgroundColor varsa onu kullan, yoksa eventColor)
4694
1596
  })
4695
- }, badgeInfo && /*#__PURE__*/external_react_default().createElement(Timeline_EventBadge, {
1597
+ }, badgeInfo && /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement(Timeline_EventBadge, {
4696
1598
  text: badgeInfo.text,
4697
1599
  type: badgeInfo.type || 'default',
4698
1600
  position: badgeInfo.position || 'top-right',
4699
1601
  style: badgeInfo.style
4700
- }), eventsDragOn && mode !== "extend" && !isHourly && /*#__PURE__*/external_react_default().createElement("div", {
1602
+ }), eventsDragOn && mode !== "extend" && !isHourly && /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
4701
1603
  className: "timeline-event-drag-handle",
4702
1604
  draggable: eventsDragOn,
4703
1605
  onDragStart: e => {
@@ -4750,18 +1652,18 @@ const TimelineContent = _ref => {
4750
1652
  onMouseDown: e => {
4751
1653
  e.stopPropagation();
4752
1654
  }
4753
- }), iconType && /*#__PURE__*/external_react_default().createElement(Timeline_EventIcon, {
1655
+ }), iconType && /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement(Timeline_EventIcon, {
4754
1656
  type: iconType
4755
- }), /*#__PURE__*/external_react_default().createElement("span", {
1657
+ }), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("span", {
4756
1658
  className: "timeline-event-title"
4757
- }, event.title), eventsExtendOn && !isHourly && /*#__PURE__*/external_react_default().createElement("div", {
1659
+ }, event.title), eventsExtendOn && !isHourly && /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
4758
1660
  className: "timeline-event-extend-handle",
4759
1661
  onMouseDown: mouseEvent => {
4760
1662
  mouseEvent.stopPropagation();
4761
1663
  handleMouseDownExtend(mouseEvent, event);
4762
1664
  }
4763
1665
  }));
4764
- }), tempEvent && tempEvent.resourceId === resource.id && /*#__PURE__*/external_react_default().createElement("div", {
1666
+ }), tempEvent && tempEvent.resourceId === resource.id && /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
4765
1667
  className: "timeline-temp-event",
4766
1668
  style: TimelineContent_objectSpread(TimelineContent_objectSpread({}, calculatePosition(tempEvent, dates)), tempEventStyle)
4767
1669
  }, tempEvent.title), dates.map((dateObj, colIndex) => {
@@ -4785,7 +1687,7 @@ const TimelineContent = _ref => {
4785
1687
 
4786
1688
  // Disabled tarih kontrolü
4787
1689
  const isDisabled = disableDates ? isDateDisabled(dateObj.fullDate, disableDates) : false;
4788
- return /*#__PURE__*/external_react_default().createElement("div", {
1690
+ return /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
4789
1691
  key: "cell-".concat(groupIndex, "-").concat(rowIndex, "-").concat(colIndex),
4790
1692
  className: "timeline-cell ".concat(isCellSelected(resource.id, dateObj) ? "selected" : "", " ").concat(isPastDate ? "timeline-cell-past" : "", " ").concat(isWeekend ? "timeline-cell-weekend" : "", " ").concat(isDisabled ? "timeline-cell-disabled" : ""),
4791
1693
  "data-date": JSON.stringify(dateObj),
@@ -4870,11 +1772,11 @@ const TimelineContent = _ref => {
4870
1772
  }
4871
1773
  });
4872
1774
  }));
4873
- }))), eventTooltipOn && selectedEvent && TooltipComponent && mode !== "extend" && /*#__PURE__*/external_react_default().createElement(TooltipComponent, {
1775
+ }))), eventTooltipOn && selectedEvent && TooltipComponent && mode !== "extend" && /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement(TooltipComponent, {
4874
1776
  event: selectedEvent,
4875
1777
  position: tooltipPosition,
4876
1778
  onClose: handleCloseTooltip
4877
- }), cellContextMenuOn && /*#__PURE__*/external_react_default().createElement(Timeline_ContextMenu, {
1779
+ }), cellContextMenuOn && /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement(Timeline_ContextMenu, {
4878
1780
  isOpen: contextMenu.isOpen,
4879
1781
  position: contextMenu.position,
4880
1782
  onClose: handleCloseContextMenu,
@@ -4925,7 +1827,7 @@ const EventTooltip = _ref => {
4925
1827
  }
4926
1828
  };
4927
1829
  const statusColor = getStatusColor(event.status);
4928
- return /*#__PURE__*/external_react_default().createElement("div", {
1830
+ return /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
4929
1831
  style: {
4930
1832
  position: "absolute",
4931
1833
  top: top - 200,
@@ -4945,7 +1847,7 @@ const EventTooltip = _ref => {
4945
1847
  width: "100%",
4946
1848
  transition: "opacity 0.3s ease, transform 0.3s ease"
4947
1849
  }
4948
- }, onClose && /*#__PURE__*/external_react_default().createElement("button", {
1850
+ }, onClose && /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("button", {
4949
1851
  onClick: onClose,
4950
1852
  style: {
4951
1853
  position: "absolute",
@@ -4961,7 +1863,7 @@ const EventTooltip = _ref => {
4961
1863
  "aria-label": "Kapat",
4962
1864
  onMouseOver: e => e.target.style.color = "#000",
4963
1865
  onMouseOut: e => e.target.style.color = "#aaa"
4964
- }, "\xD7"), /*#__PURE__*/external_react_default().createElement("div", {
1866
+ }, "\xD7"), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
4965
1867
  style: {
4966
1868
  backgroundColor: statusColor,
4967
1869
  color: "#ffffff",
@@ -4972,35 +1874,35 @@ const EventTooltip = _ref => {
4972
1874
  flexDirection: "column",
4973
1875
  gap: "5px"
4974
1876
  }
4975
- }, /*#__PURE__*/external_react_default().createElement("div", {
1877
+ }, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
4976
1878
  style: {
4977
1879
  fontWeight: "bold",
4978
1880
  fontSize: "18px"
4979
1881
  }
4980
- }, event.title), /*#__PURE__*/external_react_default().createElement("div", {
1882
+ }, event.title), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
4981
1883
  style: {
4982
1884
  fontSize: "14px"
4983
1885
  }
4984
- }, "Rezervasyon ID: ", event.reservationId)), /*#__PURE__*/external_react_default().createElement("div", {
1886
+ }, "Rezervasyon ID: ", event.reservationId)), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
4985
1887
  style: {
4986
1888
  padding: "20px",
4987
1889
  display: "flex",
4988
1890
  flexDirection: "column",
4989
1891
  gap: "15px"
4990
1892
  }
4991
- }, Array.isArray(event.guestNames) && /*#__PURE__*/external_react_default().createElement("div", null, /*#__PURE__*/external_react_default().createElement("strong", null, "Misafirler:"), " ", event.guestNames.join(", ")), /*#__PURE__*/external_react_default().createElement("div", {
1893
+ }, Array.isArray(event.guestNames) && /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", null, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("strong", null, "Misafirler:"), " ", event.guestNames.join(", ")), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
4992
1894
  style: {
4993
1895
  display: "flex",
4994
1896
  justifyContent: "space-between",
4995
1897
  marginBottom: "10px"
4996
1898
  }
4997
- }, /*#__PURE__*/external_react_default().createElement("div", null, /*#__PURE__*/external_react_default().createElement("strong", null, "Giri\u015F:"), " ", new Date(event.startDate).toLocaleDateString()), /*#__PURE__*/external_react_default().createElement("div", null, /*#__PURE__*/external_react_default().createElement("strong", null, "\xC7\u0131k\u0131\u015F:"), " ", new Date(event.endDate).toLocaleDateString())), (event.totalAmount !== undefined || event.amountPaid !== undefined) && /*#__PURE__*/external_react_default().createElement("div", {
1899
+ }, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", null, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("strong", null, "Giri\u015F:"), " ", new Date(event.startDate).toLocaleDateString()), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", null, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("strong", null, "\xC7\u0131k\u0131\u015F:"), " ", new Date(event.endDate).toLocaleDateString())), (event.totalAmount !== undefined || event.amountPaid !== undefined) && /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
4998
1900
  style: {
4999
1901
  display: "flex",
5000
1902
  justifyContent: "space-between",
5001
1903
  marginBottom: "10px"
5002
1904
  }
5003
- }, event.amountPaid !== undefined && /*#__PURE__*/external_react_default().createElement("div", null, /*#__PURE__*/external_react_default().createElement("strong", null, "\xD6denen Miktar:"), " $", event.amountPaid.toFixed(2)), event.totalAmount !== undefined && /*#__PURE__*/external_react_default().createElement("div", null, /*#__PURE__*/external_react_default().createElement("strong", null, "Toplam Bor\xE7:"), " $", event.totalAmount.toFixed(2))), event.status && /*#__PURE__*/external_react_default().createElement("div", null, /*#__PURE__*/external_react_default().createElement("strong", null, "Durum:"), " ", event.status), event.note && /*#__PURE__*/external_react_default().createElement("div", null, /*#__PURE__*/external_react_default().createElement("strong", null, "Not:"), " ", event.note)), /*#__PURE__*/external_react_default().createElement("div", {
1905
+ }, event.amountPaid !== undefined && /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", null, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("strong", null, "\xD6denen Miktar:"), " $", event.amountPaid.toFixed(2)), event.totalAmount !== undefined && /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", null, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("strong", null, "Toplam Bor\xE7:"), " $", event.totalAmount.toFixed(2))), event.status && /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", null, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("strong", null, "Durum:"), " ", event.status), event.note && /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", null, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("strong", null, "Not:"), " ", event.note)), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
5004
1906
  style: {
5005
1907
  padding: "15px 20px",
5006
1908
  borderTop: "1px solid #ddd",
@@ -5010,7 +1912,7 @@ const EventTooltip = _ref => {
5010
1912
  borderBottomLeftRadius: "10px",
5011
1913
  borderBottomRightRadius: "10px"
5012
1914
  }
5013
- }, onEdit && /*#__PURE__*/external_react_default().createElement("button", {
1915
+ }, onEdit && /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("button", {
5014
1916
  onClick: () => onEdit(event),
5015
1917
  style: {
5016
1918
  padding: "8px 16px",
@@ -5027,10 +1929,10 @@ const EventTooltip = _ref => {
5027
1929
  },
5028
1930
  onMouseOver: e => e.target.style.backgroundColor = "#1976d2",
5029
1931
  onMouseOut: e => e.target.style.backgroundColor = "#2196f3"
5030
- }, /*#__PURE__*/external_react_default().createElement("span", {
1932
+ }, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("span", {
5031
1933
  role: "img",
5032
1934
  "aria-label": "D\xFCzenle"
5033
- }, "\u270F\uFE0F"), "D\xFCzenle"), onDelete && /*#__PURE__*/external_react_default().createElement("button", {
1935
+ }, "\u270F\uFE0F"), "D\xFCzenle"), onDelete && /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("button", {
5034
1936
  onClick: () => onDelete(event.id),
5035
1937
  style: {
5036
1938
  padding: "8px 16px",
@@ -5047,7 +1949,7 @@ const EventTooltip = _ref => {
5047
1949
  },
5048
1950
  onMouseOver: e => e.target.style.backgroundColor = "#d32f2f",
5049
1951
  onMouseOut: e => e.target.style.backgroundColor = "#f44336"
5050
- }, /*#__PURE__*/external_react_default().createElement("span", {
1952
+ }, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("span", {
5051
1953
  role: "img",
5052
1954
  "aria-label": "Sil"
5053
1955
  }, "\uD83D\uDDD1\uFE0F"), "Sil")));
@@ -5070,13 +1972,13 @@ const EventDetailModal = _ref => {
5070
1972
  onDelete,
5071
1973
  resources = []
5072
1974
  } = _ref;
5073
- const [formData, setFormData] = (0,external_react_.useState)(EventDetailModal_objectSpread({
1975
+ const [formData, setFormData] = __WEBPACK_EXTERNAL_MODULE_react_useState__(EventDetailModal_objectSpread({
5074
1976
  title: '',
5075
1977
  startDate: '',
5076
1978
  endDate: '',
5077
1979
  resourceId: ''
5078
1980
  }, event));
5079
- (0,external_react_.useEffect)(() => {
1981
+ __WEBPACK_EXTERNAL_MODULE_react_useEffect__(() => {
5080
1982
  if (event) {
5081
1983
  setFormData(EventDetailModal_objectSpread({
5082
1984
  title: event.title || '',
@@ -5104,73 +2006,73 @@ const EventDetailModal = _ref => {
5104
2006
  onClose();
5105
2007
  }
5106
2008
  };
5107
- return /*#__PURE__*/external_react_default().createElement("div", {
2009
+ return /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
5108
2010
  className: "modal-overlay",
5109
2011
  onClick: onClose
5110
- }, /*#__PURE__*/external_react_default().createElement("div", {
2012
+ }, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
5111
2013
  className: "modal-content",
5112
2014
  onClick: e => e.stopPropagation()
5113
- }, /*#__PURE__*/external_react_default().createElement("div", {
2015
+ }, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
5114
2016
  className: "modal-header"
5115
- }, /*#__PURE__*/external_react_default().createElement("h2", null, "Event D\xFCzenle"), /*#__PURE__*/external_react_default().createElement("button", {
2017
+ }, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("h2", null, "Event D\xFCzenle"), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("button", {
5116
2018
  className: "modal-close-btn",
5117
2019
  onClick: onClose
5118
- }, "\xD7")), /*#__PURE__*/external_react_default().createElement("form", {
2020
+ }, "\xD7")), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("form", {
5119
2021
  onSubmit: handleSubmit,
5120
2022
  className: "modal-form"
5121
- }, /*#__PURE__*/external_react_default().createElement("div", {
2023
+ }, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
5122
2024
  className: "form-group"
5123
- }, /*#__PURE__*/external_react_default().createElement("label", null, "Ba\u015Fl\u0131k"), /*#__PURE__*/external_react_default().createElement("input", {
2025
+ }, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("label", null, "Ba\u015Fl\u0131k"), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("input", {
5124
2026
  type: "text",
5125
2027
  value: formData.title,
5126
2028
  onChange: e => setFormData(EventDetailModal_objectSpread(EventDetailModal_objectSpread({}, formData), {}, {
5127
2029
  title: e.target.value
5128
2030
  })),
5129
2031
  required: true
5130
- })), /*#__PURE__*/external_react_default().createElement("div", {
2032
+ })), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
5131
2033
  className: "form-group"
5132
- }, /*#__PURE__*/external_react_default().createElement("label", null, "Resource"), /*#__PURE__*/external_react_default().createElement("select", {
2034
+ }, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("label", null, "Resource"), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("select", {
5133
2035
  value: formData.resourceId,
5134
2036
  onChange: e => setFormData(EventDetailModal_objectSpread(EventDetailModal_objectSpread({}, formData), {}, {
5135
2037
  resourceId: e.target.value
5136
2038
  })),
5137
2039
  required: true
5138
- }, /*#__PURE__*/external_react_default().createElement("option", {
2040
+ }, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("option", {
5139
2041
  value: ""
5140
- }, "Se\xE7iniz..."), resources.map(resource => /*#__PURE__*/external_react_default().createElement("option", {
2042
+ }, "Se\xE7iniz..."), resources.map(resource => /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("option", {
5141
2043
  key: resource.id,
5142
2044
  value: resource.id
5143
- }, resource.name)))), /*#__PURE__*/external_react_default().createElement("div", {
2045
+ }, resource.name)))), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
5144
2046
  className: "form-row"
5145
- }, /*#__PURE__*/external_react_default().createElement("div", {
2047
+ }, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
5146
2048
  className: "form-group"
5147
- }, /*#__PURE__*/external_react_default().createElement("label", null, "Ba\u015Flang\u0131\xE7 Tarihi"), /*#__PURE__*/external_react_default().createElement("input", {
2049
+ }, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("label", null, "Ba\u015Flang\u0131\xE7 Tarihi"), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("input", {
5148
2050
  type: "date",
5149
2051
  value: formData.startDate,
5150
2052
  onChange: e => setFormData(EventDetailModal_objectSpread(EventDetailModal_objectSpread({}, formData), {}, {
5151
2053
  startDate: e.target.value
5152
2054
  })),
5153
2055
  required: true
5154
- })), /*#__PURE__*/external_react_default().createElement("div", {
2056
+ })), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
5155
2057
  className: "form-group"
5156
- }, /*#__PURE__*/external_react_default().createElement("label", null, "Biti\u015F Tarihi"), /*#__PURE__*/external_react_default().createElement("input", {
2058
+ }, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("label", null, "Biti\u015F Tarihi"), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("input", {
5157
2059
  type: "date",
5158
2060
  value: formData.endDate,
5159
2061
  onChange: e => setFormData(EventDetailModal_objectSpread(EventDetailModal_objectSpread({}, formData), {}, {
5160
2062
  endDate: e.target.value
5161
2063
  })),
5162
2064
  required: true
5163
- }))), /*#__PURE__*/external_react_default().createElement("div", {
2065
+ }))), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
5164
2066
  className: "modal-actions"
5165
- }, /*#__PURE__*/external_react_default().createElement("button", {
2067
+ }, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("button", {
5166
2068
  type: "button",
5167
2069
  className: "btn-delete",
5168
2070
  onClick: handleDelete
5169
- }, "Sil"), /*#__PURE__*/external_react_default().createElement("div", null, /*#__PURE__*/external_react_default().createElement("button", {
2071
+ }, "Sil"), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", null, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("button", {
5170
2072
  type: "button",
5171
2073
  className: "btn-cancel",
5172
2074
  onClick: onClose
5173
- }, "\u0130ptal"), /*#__PURE__*/external_react_default().createElement("button", {
2075
+ }, "\u0130ptal"), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("button", {
5174
2076
  type: "submit",
5175
2077
  className: "btn-save"
5176
2078
  }, "Kaydet"))))));
@@ -5201,10 +2103,10 @@ const DailyView = _ref => {
5201
2103
  onEventDelete,
5202
2104
  themeType = 'light'
5203
2105
  } = _ref;
5204
- const [isCreating, setIsCreating] = (0,external_react_.useState)(false);
5205
- const [tempEvent, setTempEvent] = (0,external_react_.useState)(null);
5206
- const containerRef = (0,external_react_.useRef)(null);
5207
- const timelineRef = (0,external_react_.useRef)(null);
2106
+ const [isCreating, setIsCreating] = __WEBPACK_EXTERNAL_MODULE_react_useState__(false);
2107
+ const [tempEvent, setTempEvent] = __WEBPACK_EXTERNAL_MODULE_react_useState__(null);
2108
+ const containerRef = __WEBPACK_EXTERNAL_MODULE_react_useRef__(null);
2109
+ const timelineRef = __WEBPACK_EXTERNAL_MODULE_react_useRef__(null);
5208
2110
 
5209
2111
  // Saatleri oluştur (0-23)
5210
2112
  const hours = Array.from({
@@ -5254,7 +2156,7 @@ const DailyView = _ref => {
5254
2156
  };
5255
2157
 
5256
2158
  // Mouse hareketi ile event oluşturma
5257
- const handleMouseMove = (0,external_react_.useCallback)(e => {
2159
+ const handleMouseMove = __WEBPACK_EXTERNAL_MODULE_react_useCallback__(e => {
5258
2160
  if (!isCreating || !tempEvent || !timelineRef.current) return;
5259
2161
  const rect = timelineRef.current.getBoundingClientRect();
5260
2162
  const mouseY = e.clientY - rect.top;
@@ -5275,7 +2177,7 @@ const DailyView = _ref => {
5275
2177
  }, [isCreating, tempEvent]);
5276
2178
 
5277
2179
  // Mouse bırakıldığında event oluştur
5278
- const handleMouseUp = (0,external_react_.useCallback)(() => {
2180
+ const handleMouseUp = __WEBPACK_EXTERNAL_MODULE_react_useCallback__(() => {
5279
2181
  if (!isCreating || !tempEvent || !onEventCreate) return;
5280
2182
 
5281
2183
  // Minimum süre kontrolü (en az 15 dakika)
@@ -5299,7 +2201,7 @@ const DailyView = _ref => {
5299
2201
  }, [isCreating, tempEvent, onEventCreate, resource]);
5300
2202
 
5301
2203
  // Global mouse event listener'ları
5302
- (0,external_react_.useEffect)(() => {
2204
+ __WEBPACK_EXTERNAL_MODULE_react_useEffect__(() => {
5303
2205
  if (!isCreating) return;
5304
2206
  document.addEventListener('mousemove', handleMouseMove);
5305
2207
  document.addEventListener('mouseup', handleMouseUp);
@@ -5326,41 +2228,41 @@ const DailyView = _ref => {
5326
2228
  return "".concat(hour.toString().padStart(2, '0'), ":00");
5327
2229
  };
5328
2230
  if (!isOpen || !resource || !date) return null;
5329
- return /*#__PURE__*/external_react_default().createElement("div", {
2231
+ return /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
5330
2232
  className: "daily-view-overlay ".concat(themeType === 'dark' ? 'dark-mode' : ''),
5331
2233
  onClick: onClose
5332
- }, /*#__PURE__*/external_react_default().createElement("div", {
2234
+ }, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
5333
2235
  ref: containerRef,
5334
2236
  className: "daily-view-container",
5335
2237
  onClick: e => e.stopPropagation()
5336
- }, /*#__PURE__*/external_react_default().createElement("div", {
2238
+ }, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
5337
2239
  className: "daily-view-header"
5338
- }, /*#__PURE__*/external_react_default().createElement("div", {
2240
+ }, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
5339
2241
  className: "daily-view-header-content"
5340
- }, /*#__PURE__*/external_react_default().createElement("h2", {
2242
+ }, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("h2", {
5341
2243
  className: "daily-view-title"
5342
- }, resource.name || resource.id), /*#__PURE__*/external_react_default().createElement("p", {
2244
+ }, resource.name || resource.id), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("p", {
5343
2245
  className: "daily-view-date"
5344
- }, formatDate(date))), /*#__PURE__*/external_react_default().createElement("button", {
2246
+ }, formatDate(date))), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("button", {
5345
2247
  className: "daily-view-close",
5346
2248
  onClick: onClose
5347
- }, "\u2715")), /*#__PURE__*/external_react_default().createElement("div", {
2249
+ }, "\u2715")), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
5348
2250
  className: "daily-view-body"
5349
- }, /*#__PURE__*/external_react_default().createElement("div", {
2251
+ }, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
5350
2252
  className: "daily-view-hours"
5351
- }, hours.map(hour => /*#__PURE__*/external_react_default().createElement("div", {
2253
+ }, hours.map(hour => /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
5352
2254
  key: hour,
5353
2255
  className: "daily-view-hour-label"
5354
- }, formatHour(hour)))), /*#__PURE__*/external_react_default().createElement("div", {
2256
+ }, formatHour(hour)))), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
5355
2257
  ref: timelineRef,
5356
2258
  className: "daily-view-timeline",
5357
2259
  onClick: handleTimelineClick
5358
- }, hours.map(hour => /*#__PURE__*/external_react_default().createElement("div", {
2260
+ }, hours.map(hour => /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
5359
2261
  key: hour,
5360
2262
  className: "daily-view-hour-cell"
5361
2263
  })), dayEvents.map(event => {
5362
2264
  const position = getEventPosition(event);
5363
- return /*#__PURE__*/external_react_default().createElement("div", {
2265
+ return /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
5364
2266
  key: event.id,
5365
2267
  className: "daily-view-event",
5366
2268
  style: position,
@@ -5368,9 +2270,9 @@ const DailyView = _ref => {
5368
2270
  e.stopPropagation();
5369
2271
  // Event detayları göster
5370
2272
  }
5371
- }, /*#__PURE__*/external_react_default().createElement("span", {
2273
+ }, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("span", {
5372
2274
  className: "daily-view-event-title"
5373
- }, event.title), /*#__PURE__*/external_react_default().createElement("span", {
2275
+ }, event.title), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("span", {
5374
2276
  className: "daily-view-event-time"
5375
2277
  }, new Date(event.startDate).toLocaleTimeString('tr-TR', {
5376
2278
  hour: '2-digit',
@@ -5379,7 +2281,7 @@ const DailyView = _ref => {
5379
2281
  hour: '2-digit',
5380
2282
  minute: '2-digit'
5381
2283
  })));
5382
- }), isCreating && tempEvent && /*#__PURE__*/external_react_default().createElement("div", {
2284
+ }), isCreating && tempEvent && /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
5383
2285
  className: "daily-view-temp-event",
5384
2286
  style: getEventPosition({
5385
2287
  startDate: tempEvent.startDate,
@@ -5443,10 +2345,10 @@ const useTouchGestures = _ref => {
5443
2345
  minSwipeDistance = 50,
5444
2346
  enabled = true
5445
2347
  } = _ref;
5446
- const touchStartRef = (0,external_react_.useRef)(null);
5447
- const touchStartTimeRef = (0,external_react_.useRef)(null);
5448
- const lastTouchRef = (0,external_react_.useRef)(null);
5449
- const handleTouchStart = (0,external_react_.useCallback)(e => {
2348
+ const touchStartRef = __WEBPACK_EXTERNAL_MODULE_react_useRef__(null);
2349
+ const touchStartTimeRef = __WEBPACK_EXTERNAL_MODULE_react_useRef__(null);
2350
+ const lastTouchRef = __WEBPACK_EXTERNAL_MODULE_react_useRef__(null);
2351
+ const handleTouchStart = __WEBPACK_EXTERNAL_MODULE_react_useCallback__(e => {
5450
2352
  if (!enabled) return;
5451
2353
  const touch = e.touches[0];
5452
2354
  touchStartRef.current = {
@@ -5459,7 +2361,7 @@ const useTouchGestures = _ref => {
5459
2361
  y: touch.clientY
5460
2362
  };
5461
2363
  }, [enabled]);
5462
- const handleTouchMove = (0,external_react_.useCallback)(e => {
2364
+ const handleTouchMove = __WEBPACK_EXTERNAL_MODULE_react_useCallback__(e => {
5463
2365
  if (!enabled || !touchStartRef.current) return;
5464
2366
  const touch = e.touches[0];
5465
2367
  if (lastTouchRef.current) {
@@ -5469,7 +2371,7 @@ const useTouchGestures = _ref => {
5469
2371
  };
5470
2372
  }
5471
2373
  }, [enabled]);
5472
- const handleTouchEnd = (0,external_react_.useCallback)(e => {
2374
+ const handleTouchEnd = __WEBPACK_EXTERNAL_MODULE_react_useCallback__(e => {
5473
2375
  if (!enabled || !touchStartRef.current || !lastTouchRef.current) return;
5474
2376
  const touchEnd = e.changedTouches[0];
5475
2377
  const deltaX = touchEnd.clientX - touchStartRef.current.x;
@@ -5542,7 +2444,7 @@ const useKeyboardShortcuts = _ref => {
5542
2444
  enabled = true
5543
2445
  } = _ref;
5544
2446
  // Default key mappings - useMemo ile sarmaladık
5545
- const defaultKeyMap = (0,external_react_.useMemo)(() => ({
2447
+ const defaultKeyMap = __WEBPACK_EXTERNAL_MODULE_react_useMemo__(() => ({
5546
2448
  navigateLeft: keyMap.navigateLeft || 'ArrowLeft',
5547
2449
  navigateRight: keyMap.navigateRight || 'ArrowRight',
5548
2450
  navigateUp: keyMap.navigateUp || 'ArrowUp',
@@ -5573,7 +2475,7 @@ const useKeyboardShortcuts = _ref => {
5573
2475
  ctrl: true
5574
2476
  }
5575
2477
  }), [keyMap]);
5576
- const handleKeyDown = (0,external_react_.useCallback)(e => {
2478
+ const handleKeyDown = __WEBPACK_EXTERNAL_MODULE_react_useCallback__(e => {
5577
2479
  if (!enabled) return;
5578
2480
  const key = e.key;
5579
2481
  const isCtrl = e.ctrlKey || e.metaKey; // Mac için cmd tuşu desteği
@@ -5628,7 +2530,7 @@ const useKeyboardShortcuts = _ref => {
5628
2530
  onZoomOut();
5629
2531
  }
5630
2532
  }, [enabled, defaultKeyMap, onNavigateLeft, onNavigateRight, onNavigateUp, onNavigateDown, onDelete, onUndo, onRedo, onCopy, onPaste, onZoomIn, onZoomOut]);
5631
- (0,external_react_.useEffect)(() => {
2533
+ __WEBPACK_EXTERNAL_MODULE_react_useEffect__(() => {
5632
2534
  if (enabled) {
5633
2535
  window.addEventListener('keydown', handleKeyDown);
5634
2536
  return () => {
@@ -5656,17 +2558,17 @@ const useEventManagement = function () {
5656
2558
  let initialEvents = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
5657
2559
  let onEventsChange = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
5658
2560
  let maxHistorySize = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 50;
5659
- const [events, setEvents] = (0,external_react_.useState)(initialEvents);
5660
- const [selectedEvents, setSelectedEvents] = (0,external_react_.useState)([]);
5661
- const [copiedEvents, setCopiedEvents] = (0,external_react_.useState)([]);
2561
+ const [events, setEvents] = __WEBPACK_EXTERNAL_MODULE_react_useState__(initialEvents);
2562
+ const [selectedEvents, setSelectedEvents] = __WEBPACK_EXTERNAL_MODULE_react_useState__([]);
2563
+ const [copiedEvents, setCopiedEvents] = __WEBPACK_EXTERNAL_MODULE_react_useState__([]);
5662
2564
 
5663
2565
  // Undo/Redo history
5664
- const historyRef = (0,external_react_.useRef)([]);
5665
- const historyIndexRef = (0,external_react_.useRef)(-1);
5666
- const isUndoRedoRef = (0,external_react_.useRef)(false);
2566
+ const historyRef = __WEBPACK_EXTERNAL_MODULE_react_useRef__([]);
2567
+ const historyIndexRef = __WEBPACK_EXTERNAL_MODULE_react_useRef__(-1);
2568
+ const isUndoRedoRef = __WEBPACK_EXTERNAL_MODULE_react_useRef__(false);
5667
2569
 
5668
2570
  // Update events and add to history
5669
- const updateEvents = (0,external_react_.useCallback)(function (newEvents) {
2571
+ const updateEvents = __WEBPACK_EXTERNAL_MODULE_react_useCallback__(function (newEvents) {
5670
2572
  let addToHistory = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
5671
2573
  setEvents(newEvents);
5672
2574
  if (onEventsChange) {
@@ -5696,7 +2598,7 @@ const useEventManagement = function () {
5696
2598
  }, [onEventsChange, maxHistorySize]);
5697
2599
 
5698
2600
  // Select event
5699
- const selectEvent = (0,external_react_.useCallback)(function (eventId) {
2601
+ const selectEvent = __WEBPACK_EXTERNAL_MODULE_react_useCallback__(function (eventId) {
5700
2602
  let multiSelect = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
5701
2603
  setSelectedEvents(prev => {
5702
2604
  if (multiSelect) {
@@ -5714,12 +2616,12 @@ const useEventManagement = function () {
5714
2616
  }, []);
5715
2617
 
5716
2618
  // Clear selection
5717
- const clearSelection = (0,external_react_.useCallback)(() => {
2619
+ const clearSelection = __WEBPACK_EXTERNAL_MODULE_react_useCallback__(() => {
5718
2620
  setSelectedEvents([]);
5719
2621
  }, []);
5720
2622
 
5721
2623
  // Delete selected events
5722
- const deleteSelectedEvents = (0,external_react_.useCallback)(() => {
2624
+ const deleteSelectedEvents = __WEBPACK_EXTERNAL_MODULE_react_useCallback__(() => {
5723
2625
  if (selectedEvents.length === 0) return;
5724
2626
  const newEvents = events.filter(event => !selectedEvents.includes(event.id));
5725
2627
  updateEvents(newEvents);
@@ -5727,14 +2629,14 @@ const useEventManagement = function () {
5727
2629
  }, [events, selectedEvents, updateEvents]);
5728
2630
 
5729
2631
  // Copy selected events
5730
- const copySelectedEvents = (0,external_react_.useCallback)(() => {
2632
+ const copySelectedEvents = __WEBPACK_EXTERNAL_MODULE_react_useCallback__(() => {
5731
2633
  if (selectedEvents.length === 0) return;
5732
2634
  const eventsToCopy = events.filter(event => selectedEvents.includes(event.id));
5733
2635
  setCopiedEvents(eventsToCopy);
5734
2636
  }, [events, selectedEvents]);
5735
2637
 
5736
2638
  // Paste copied events
5737
- const pasteEvents = (0,external_react_.useCallback)(function () {
2639
+ const pasteEvents = __WEBPACK_EXTERNAL_MODULE_react_useCallback__(function () {
5738
2640
  let targetDate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
5739
2641
  let targetResourceId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
5740
2642
  if (copiedEvents.length === 0) return;
@@ -5752,7 +2654,7 @@ const useEventManagement = function () {
5752
2654
  }, [events, copiedEvents, updateEvents]);
5753
2655
 
5754
2656
  // Undo
5755
- const undo = (0,external_react_.useCallback)(() => {
2657
+ const undo = __WEBPACK_EXTERNAL_MODULE_react_useCallback__(() => {
5756
2658
  const history = historyRef.current;
5757
2659
  const currentIndex = historyIndexRef.current;
5758
2660
  if (currentIndex > 0) {
@@ -5767,7 +2669,7 @@ const useEventManagement = function () {
5767
2669
  }, [onEventsChange]);
5768
2670
 
5769
2671
  // Redo
5770
- const redo = (0,external_react_.useCallback)(() => {
2672
+ const redo = __WEBPACK_EXTERNAL_MODULE_react_useCallback__(() => {
5771
2673
  const history = historyRef.current;
5772
2674
  const currentIndex = historyIndexRef.current;
5773
2675
  if (currentIndex < history.length - 1) {
@@ -5824,7 +2726,7 @@ function Timeline_toPrimitive(t, r) { if ("object" != typeof t || !t) return t;
5824
2726
 
5825
2727
 
5826
2728
 
5827
- const Timeline_Timeline_Timeline = _ref => {
2729
+ const Timeline = _ref => {
5828
2730
  let {
5829
2731
  resources,
5830
2732
  programDate = null,
@@ -5988,14 +2890,14 @@ const Timeline_Timeline_Timeline = _ref => {
5988
2890
  dates,
5989
2891
  monthHeaders
5990
2892
  } = timelineData;
5991
- const [selectedDate, setSelectedDate] = (0,external_react_.useState)(() => {
2893
+ const [selectedDate, setSelectedDate] = __WEBPACK_EXTERNAL_MODULE_react_useState__(() => {
5992
2894
  const date = programDate ? new Date(programDate) : new Date();
5993
2895
  date.setDate(date.getDate() - 3); // Program tarihinden 3 gün öncesini al
5994
2896
  return date;
5995
2897
  });
5996
2898
 
5997
2899
  // programDate prop'u değiştiğinde selectedDate'i güncelle
5998
- (0,external_react_.useEffect)(() => {
2900
+ __WEBPACK_EXTERNAL_MODULE_react_useEffect__(() => {
5999
2901
  if (programDate) {
6000
2902
  const date = new Date(programDate);
6001
2903
  date.setDate(date.getDate() - 3); // Program tarihinden 3 gün öncesini al
@@ -6005,7 +2907,7 @@ const Timeline_Timeline_Timeline = _ref => {
6005
2907
 
6006
2908
  // onToday prop'u değiştiğinde (tarih string'i ise) selectedDate'i güncelle
6007
2909
  // Bu, customHeaderButtons'un onClick'inde tarih geçildiğinde kullanılır
6008
- (0,external_react_.useEffect)(() => {
2910
+ __WEBPACK_EXTERNAL_MODULE_react_useEffect__(() => {
6009
2911
  // onToday bir string (tarih) ise, o tarihe git
6010
2912
  if (onToday && typeof onToday === 'string') {
6011
2913
  const date = new Date(onToday);
@@ -6019,10 +2921,10 @@ const Timeline_Timeline_Timeline = _ref => {
6019
2921
  // ---------------------------------------------------------
6020
2922
  // 2) local state
6021
2923
  // ---------------------------------------------------------
6022
- const [collapsedGroups, setCollapsedGroups] = (0,external_react_.useState)({});
2924
+ const [collapsedGroups, setCollapsedGroups] = __WEBPACK_EXTERNAL_MODULE_react_useState__({});
6023
2925
 
6024
2926
  // Internal zoom state - eğer setZoomLevel prop'u yoksa kullanılır
6025
- const [internalZoomLevel, setInternalZoomLevel] = (0,external_react_.useState)(zoomLevel);
2927
+ const [internalZoomLevel, setInternalZoomLevel] = __WEBPACK_EXTERNAL_MODULE_react_useState__(zoomLevel);
6026
2928
 
6027
2929
  // Effective zoom level - prop varsa prop'u kullan, yoksa internal state'i kullan
6028
2930
  const effectiveZoomLevel = setZoomLevel ? zoomLevel : internalZoomLevel;
@@ -6035,7 +2937,7 @@ const Timeline_Timeline_Timeline = _ref => {
6035
2937
  onEventUpdate(newEvents);
6036
2938
  }
6037
2939
  });
6038
- const [localEvents, setLocalEvents] = (0,external_react_.useState)(events);
2940
+ const [localEvents, setLocalEvents] = __WEBPACK_EXTERNAL_MODULE_react_useState__(events);
6039
2941
 
6040
2942
  // setDropInfo - eğer external yoksa no-op fonksiyon kullan
6041
2943
  // Not: internalDropInfo state'i kaldırıldı çünkü dropInfo hiçbir yerde okunmuyor
@@ -6045,19 +2947,19 @@ const Timeline_Timeline_Timeline = _ref => {
6045
2947
  });
6046
2948
 
6047
2949
  // Update local events when events prop changes
6048
- (0,external_react_.useEffect)(() => {
2950
+ __WEBPACK_EXTERNAL_MODULE_react_useEffect__(() => {
6049
2951
  setLocalEvents(events);
6050
2952
  }, [events]);
6051
- const [selectedEvent, setSelectedEvent] = (0,external_react_.useState)(null);
6052
- const [tooltipPosition] = (0,external_react_.useState)({
2953
+ const [selectedEvent, setSelectedEvent] = __WEBPACK_EXTERNAL_MODULE_react_useState__(null);
2954
+ const [tooltipPosition] = __WEBPACK_EXTERNAL_MODULE_react_useState__({
6053
2955
  top: 0,
6054
2956
  left: 0
6055
2957
  });
6056
- const [editingEvent, setEditingEvent] = (0,external_react_.useState)(null);
6057
- const [isModalOpen, setIsModalOpen] = (0,external_react_.useState)(false);
2958
+ const [editingEvent, setEditingEvent] = __WEBPACK_EXTERNAL_MODULE_react_useState__(null);
2959
+ const [isModalOpen, setIsModalOpen] = __WEBPACK_EXTERNAL_MODULE_react_useState__(false);
6058
2960
 
6059
2961
  // Daily View State
6060
- const [dailyView, setDailyView] = (0,external_react_.useState)({
2962
+ const [dailyView, setDailyView] = __WEBPACK_EXTERNAL_MODULE_react_useState__({
6061
2963
  isOpen: false,
6062
2964
  resource: null,
6063
2965
  date: null
@@ -6065,8 +2967,8 @@ const Timeline_Timeline_Timeline = _ref => {
6065
2967
 
6066
2968
  // dayRange = ekranda göstermeyi istediğimiz gün/hücre sayısı (ör. 30 gün)
6067
2969
 
6068
- const [isDarkMode, setIsDarkMode] = (0,external_react_.useState)(themeType === "dark");
6069
- (0,external_react_.useEffect)(() => {
2970
+ const [isDarkMode, setIsDarkMode] = __WEBPACK_EXTERNAL_MODULE_react_useState__(themeType === "dark");
2971
+ __WEBPACK_EXTERNAL_MODULE_react_useEffect__(() => {
6070
2972
  if (themeType !== undefined) {
6071
2973
  setIsDarkMode(themeType === "dark");
6072
2974
  }
@@ -6082,7 +2984,7 @@ const Timeline_Timeline_Timeline = _ref => {
6082
2984
  const containerWidth = dayRange * cellWidth;
6083
2985
 
6084
2986
  // Internal zoom state'i prop'tan gelen zoomLevel ile senkronize et
6085
- (0,external_react_.useEffect)(() => {
2987
+ __WEBPACK_EXTERNAL_MODULE_react_useEffect__(() => {
6086
2988
  if (setZoomLevel) {
6087
2989
  // Prop'tan gelen zoomLevel kullanılıyor, internal state'i güncelle
6088
2990
  setInternalZoomLevel(zoomLevel);
@@ -6092,7 +2994,7 @@ const Timeline_Timeline_Timeline = _ref => {
6092
2994
  // ---------------------------------------------------------
6093
2995
  // 4) Touch Gestures (Mobil desteği)
6094
2996
  // ---------------------------------------------------------
6095
- const timelineContainerRef = (0,external_react_.useRef)(null);
2997
+ const timelineContainerRef = __WEBPACK_EXTERNAL_MODULE_react_useRef__(null);
6096
2998
  const touchGestures = useTouchGestures({
6097
2999
  onSwipeLeft: () => {
6098
3000
  if (onAdvance) onAdvance();
@@ -6187,7 +3089,7 @@ const Timeline_Timeline_Timeline = _ref => {
6187
3089
 
6188
3090
  // CustomHeaderButtons için tarih değiştirme fonksiyonu
6189
3091
  // Bu fonksiyon customHeaderButtons'un onClick'inde kullanılabilir
6190
- const handleCustomDateChange = (0,external_react_.useCallback)(dateString => {
3092
+ const handleCustomDateChange = __WEBPACK_EXTERNAL_MODULE_react_useCallback__(dateString => {
6191
3093
  if (dateString) {
6192
3094
  const date = new Date(dateString);
6193
3095
  if (!isNaN(date.getTime())) {
@@ -6244,12 +3146,12 @@ const Timeline_Timeline_Timeline = _ref => {
6244
3146
  // ---------------------------------------------------------
6245
3147
  // 8.5) Zoom handlers
6246
3148
  // ---------------------------------------------------------
6247
- const handleZoomIn = (0,external_react_.useCallback)(() => {
3149
+ const handleZoomIn = __WEBPACK_EXTERNAL_MODULE_react_useCallback__(() => {
6248
3150
  if (zoomOn) {
6249
3151
  effectiveSetZoomLevel(prev => Math.min(maxZoomLevel, prev + zoomStep));
6250
3152
  }
6251
3153
  }, [zoomOn, maxZoomLevel, zoomStep, effectiveSetZoomLevel]);
6252
- const handleZoomOut = (0,external_react_.useCallback)(() => {
3154
+ const handleZoomOut = __WEBPACK_EXTERNAL_MODULE_react_useCallback__(() => {
6253
3155
  if (zoomOn) {
6254
3156
  effectiveSetZoomLevel(prev => Math.max(minZoomLevel, prev - zoomStep));
6255
3157
  }
@@ -6289,12 +3191,12 @@ const Timeline_Timeline_Timeline = _ref => {
6289
3191
  // ---------------------------------------------------------
6290
3192
  // 10) Return
6291
3193
  // ---------------------------------------------------------
6292
- return /*#__PURE__*/external_react_default().createElement("div", _extends({
3194
+ return /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", _extends({
6293
3195
  className: "timeline-container ".concat(isDarkMode ? "dark-mode" : ""),
6294
3196
  ref: timelineContainerRef
6295
- }, touchGestures), masterHeaderView && /*#__PURE__*/external_react_default().createElement("div", {
3197
+ }, touchGestures), masterHeaderView && /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
6296
3198
  className: "timeline-master-header"
6297
- }, /*#__PURE__*/external_react_default().createElement(Timeline_MasterHeader, {
3199
+ }, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement(Timeline_MasterHeader, {
6298
3200
  selectedDate: selectedDate // Seçili tarihi gönder
6299
3201
  ,
6300
3202
  onDateSelect: handleDateChange,
@@ -6314,35 +3216,35 @@ const Timeline_Timeline_Timeline = _ref => {
6314
3216
  showDefaultHeaderButtons: showDefaultHeaderButtons,
6315
3217
  customButtons: customHeaderButtons,
6316
3218
  onCustomButtonClick: handleCustomDateChange
6317
- })), /*#__PURE__*/external_react_default().createElement("div", {
3219
+ })), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
6318
3220
  className: "timeline-body"
6319
- }, /*#__PURE__*/external_react_default().createElement("div", {
3221
+ }, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
6320
3222
  className: "timeline-resources-container",
6321
3223
  style: {
6322
3224
  overflow: "hidden"
6323
3225
  }
6324
- }, /*#__PURE__*/external_react_default().createElement(Timeline_ResourcesHeader, {
3226
+ }, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement(Timeline_ResourcesHeader, {
6325
3227
  content: resourceHeaderContent
6326
- }), /*#__PURE__*/external_react_default().createElement(Timeline_Resources, {
3228
+ }), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement(Timeline_Resources, {
6327
3229
  groupedResources: resources,
6328
3230
  toggleGroupCollapse: toggleGroupCollapse,
6329
3231
  collapsedGroups: collapsedGroups,
6330
3232
  resourceSettings: resourceSettings
6331
- })), /*#__PURE__*/external_react_default().createElement("div", {
3233
+ })), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
6332
3234
  className: "timeline-scrollable-container",
6333
3235
  style: {
6334
3236
  overflowX: horizontalScrollOn ? "auto" : "hidden"
6335
3237
  }
6336
- }, /*#__PURE__*/external_react_default().createElement("div", {
3238
+ }, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
6337
3239
  className: "timeline-header-content-wrapper",
6338
3240
  style: {
6339
3241
  width: horizontalScrollOn ? "".concat(containerWidth, "px") : "100%"
6340
3242
  }
6341
- }, /*#__PURE__*/external_react_default().createElement(Timeline_TimelineHeader, {
3243
+ }, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement(Timeline_TimelineHeader, {
6342
3244
  dates: filteredDates,
6343
3245
  monthHeaders: filteredMonthHeaders,
6344
3246
  highlightWeekends: highlightWeekends
6345
- }), /*#__PURE__*/external_react_default().createElement(Timeline_TimelineContent, {
3247
+ }), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement(Timeline_TimelineContent, {
6346
3248
  groupedResources: resources,
6347
3249
  dates: filteredDates,
6348
3250
  collapsedGroups: collapsedGroups,
@@ -6405,12 +3307,12 @@ const Timeline_Timeline_Timeline = _ref => {
6405
3307
  disableDates: disableDates,
6406
3308
  autoSelectEnabledRange: autoSelectEnabledRange,
6407
3309
  autoSelectRanges: autoSelectRanges
6408
- }), selectedEvent && /*#__PURE__*/external_react_default().createElement(Timeline_EventTooltip, {
3310
+ }), selectedEvent && /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement(Timeline_EventTooltip, {
6409
3311
  event: selectedEvent,
6410
3312
  position: tooltipPosition,
6411
3313
  onClose: handleCloseTooltip,
6412
3314
  onDelete: eventId => setLocalEvents(prev => prev.filter(e => e.id !== eventId))
6413
- })))), eventManagementOn && /*#__PURE__*/external_react_default().createElement(Timeline_EventDetailModal, {
3315
+ })))), eventManagementOn && /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement(Timeline_EventDetailModal, {
6414
3316
  event: editingEvent,
6415
3317
  isOpen: isModalOpen,
6416
3318
  onClose: () => {
@@ -6420,7 +3322,7 @@ const Timeline_Timeline_Timeline = _ref => {
6420
3322
  onSave: handleEventSave,
6421
3323
  onDelete: handleEventDelete,
6422
3324
  resources: resources.flatMap(group => group.resources || [])
6423
- }), dailyViewOn && /*#__PURE__*/external_react_default().createElement(Timeline_DailyView, {
3325
+ }), dailyViewOn && /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement(Timeline_DailyView, {
6424
3326
  isOpen: dailyView.isOpen,
6425
3327
  onClose: () => setDailyView({
6426
3328
  isOpen: false,
@@ -6454,8 +3356,199 @@ const Timeline_Timeline_Timeline = _ref => {
6454
3356
  themeType: themeType
6455
3357
  }));
6456
3358
  };
6457
- /* harmony default export */ const components_Timeline_Timeline = (Timeline_Timeline_Timeline);
6458
- /******/ return __webpack_exports__;
6459
- /******/ })()
6460
- ;
6461
- });
3359
+ /* harmony default export */ const Timeline_Timeline = (Timeline);
3360
+ ;// ./src/components/Timeline/LoadingSpinner.jsx
3361
+
3362
+
3363
+
3364
+ /**
3365
+ * Loading Spinner Component
3366
+ * Yükleme durumlarında gösterilir
3367
+ */
3368
+ const LoadingSpinner = _ref => {
3369
+ let {
3370
+ size = 'medium',
3371
+ // 'small', 'medium', 'large'
3372
+ type = 'spinner',
3373
+ // 'spinner', 'dots', 'pulse'
3374
+ className = '',
3375
+ overlay = false // Overlay gösterilsin mi?
3376
+ } = _ref;
3377
+ if (overlay) {
3378
+ return /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
3379
+ className: "loading-overlay"
3380
+ }, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
3381
+ className: "loading-spinner loading-spinner-".concat(type, " loading-spinner-").concat(size, " ").concat(className)
3382
+ }, type === 'spinner' && /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
3383
+ className: "spinner-circle"
3384
+ }), type === 'dots' && /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
3385
+ className: "dots-container"
3386
+ }, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("span", null), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("span", null), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("span", null)), type === 'pulse' && /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
3387
+ className: "pulse-circle"
3388
+ })));
3389
+ }
3390
+ return /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
3391
+ className: "loading-spinner loading-spinner-".concat(type, " loading-spinner-").concat(size, " ").concat(className)
3392
+ }, type === 'spinner' && /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
3393
+ className: "spinner-circle"
3394
+ }), type === 'dots' && /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
3395
+ className: "dots-container"
3396
+ }, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("span", null), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("span", null), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("span", null)), type === 'pulse' && /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
3397
+ className: "pulse-circle"
3398
+ }));
3399
+ };
3400
+ /* harmony default export */ const Timeline_LoadingSpinner = (LoadingSpinner);
3401
+ ;// ./src/components/Timeline/AutocompleteSelect.jsx
3402
+
3403
+
3404
+ const AutocompleteSelect = _ref => {
3405
+ let {
3406
+ options = [],
3407
+ value = null,
3408
+ onChange = () => {},
3409
+ placeholder = "Seçiniz...",
3410
+ getOptionLabel = option => (option === null || option === void 0 ? void 0 : option.label) || (option === null || option === void 0 ? void 0 : option.name) || String(option),
3411
+ getOptionValue = option => (option === null || option === void 0 ? void 0 : option.value) || (option === null || option === void 0 ? void 0 : option.id) || option,
3412
+ filterOptions = (options, inputValue) => {
3413
+ if (!inputValue) return options;
3414
+ const lowerInput = inputValue.toLowerCase();
3415
+ return options.filter(option => {
3416
+ const label = getOptionLabel(option).toLowerCase();
3417
+ return label.includes(lowerInput);
3418
+ });
3419
+ }
3420
+ } = _ref;
3421
+ const [isOpen, setIsOpen] = __WEBPACK_EXTERNAL_MODULE_react_useState__(false);
3422
+ const [inputValue, setInputValue] = __WEBPACK_EXTERNAL_MODULE_react_useState__("");
3423
+ const [filteredOptions, setFilteredOptions] = __WEBPACK_EXTERNAL_MODULE_react_useState__(options);
3424
+ const containerRef = __WEBPACK_EXTERNAL_MODULE_react_useRef__(null);
3425
+ const inputRef = __WEBPACK_EXTERNAL_MODULE_react_useRef__(null);
3426
+
3427
+ // Seçili değerin label'ını bul (her render'da yeniden hesaplamayı önlemek için)
3428
+ // getOptionValue ve getOptionLabel'ı dependency'den çıkarıyoruz çünkü her render'da yeni fonksiyon olabilir
3429
+ const selectedOption = __WEBPACK_EXTERNAL_MODULE_react_useMemo__(() => {
3430
+ return options.find(opt => getOptionValue(opt) === value);
3431
+ // eslint-disable-next-line react-hooks/exhaustive-deps
3432
+ }, [options, value]);
3433
+ const displayValue = __WEBPACK_EXTERNAL_MODULE_react_useMemo__(() => {
3434
+ return selectedOption ? getOptionLabel(selectedOption) : inputValue || placeholder;
3435
+ // eslint-disable-next-line react-hooks/exhaustive-deps
3436
+ }, [selectedOption, inputValue, placeholder]);
3437
+
3438
+ // Input değiştiğinde filtrele
3439
+ __WEBPACK_EXTERNAL_MODULE_react_useEffect__(() => {
3440
+ if (isOpen) {
3441
+ const filtered = filterOptions(options, inputValue);
3442
+ setFilteredOptions(filtered);
3443
+ } else {
3444
+ setFilteredOptions(options);
3445
+ }
3446
+ // filterOptions'ı dependency'den çıkarıyoruz çünkü her render'da yeni fonksiyon olabilir
3447
+ // eslint-disable-next-line react-hooks/exhaustive-deps
3448
+ }, [inputValue, isOpen, options]);
3449
+
3450
+ // Dışarı tıklandığında kapat
3451
+ __WEBPACK_EXTERNAL_MODULE_react_useEffect__(() => {
3452
+ const handleClickOutside = event => {
3453
+ if (containerRef.current && !containerRef.current.contains(event.target)) {
3454
+ setIsOpen(false);
3455
+ setInputValue("");
3456
+ }
3457
+ };
3458
+ if (isOpen) {
3459
+ document.addEventListener("mousedown", handleClickOutside);
3460
+ return () => {
3461
+ document.removeEventListener("mousedown", handleClickOutside);
3462
+ };
3463
+ }
3464
+ }, [isOpen]);
3465
+ const handleInputChange = e => {
3466
+ const newValue = e.target.value;
3467
+ setInputValue(newValue);
3468
+ setIsOpen(true);
3469
+ };
3470
+ const handleSelect = option => {
3471
+ const optionValue = getOptionValue(option);
3472
+ onChange(optionValue, option);
3473
+ setInputValue("");
3474
+ setIsOpen(false);
3475
+ };
3476
+ const handleFocus = () => {
3477
+ setIsOpen(true);
3478
+ if (selectedOption) {
3479
+ setInputValue(getOptionLabel(selectedOption));
3480
+ }
3481
+ };
3482
+ const handleBlur = () => {
3483
+ // Input blur olduğunda hemen kapatma, click outside ile kapatılacak
3484
+ setTimeout(() => {
3485
+ var _containerRef$current;
3486
+ if (!((_containerRef$current = containerRef.current) !== null && _containerRef$current !== void 0 && _containerRef$current.contains(document.activeElement))) {
3487
+ setIsOpen(false);
3488
+ if (selectedOption) {
3489
+ setInputValue("");
3490
+ }
3491
+ }
3492
+ }, 200);
3493
+ };
3494
+ return /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
3495
+ className: "autocomplete-select-container",
3496
+ ref: containerRef
3497
+ }, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
3498
+ className: "autocomplete-select-input ".concat(isOpen ? "open" : ""),
3499
+ onClick: () => {
3500
+ var _inputRef$current;
3501
+ setIsOpen(!isOpen);
3502
+ (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.focus();
3503
+ }
3504
+ }, /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("input", {
3505
+ ref: inputRef,
3506
+ type: "text",
3507
+ value: isOpen ? inputValue : displayValue,
3508
+ onChange: handleInputChange,
3509
+ onFocus: handleFocus,
3510
+ onBlur: handleBlur,
3511
+ placeholder: placeholder,
3512
+ className: "autocomplete-select-input-field"
3513
+ }), /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("span", {
3514
+ className: "autocomplete-select-arrow"
3515
+ }, isOpen ? "▲" : "▼")), isOpen && /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
3516
+ className: "autocomplete-select-dropdown"
3517
+ }, filteredOptions.length > 0 ? filteredOptions.map((option, index) => {
3518
+ const optionValue = getOptionValue(option);
3519
+ const optionLabel = getOptionLabel(option);
3520
+ const isSelected = optionValue === value;
3521
+ return /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
3522
+ key: index,
3523
+ className: "autocomplete-select-option ".concat(isSelected ? "selected" : ""),
3524
+ onClick: () => handleSelect(option),
3525
+ onMouseDown: e => e.preventDefault() // Blur'u engelle
3526
+ }, optionLabel);
3527
+ }) : /*#__PURE__*/__WEBPACK_EXTERNAL_MODULE_react_default__.createElement("div", {
3528
+ className: "autocomplete-select-no-results"
3529
+ }, "Sonu\xE7 bulunamad\u0131")));
3530
+ };
3531
+ /* harmony default export */ const Timeline_AutocompleteSelect = (AutocompleteSelect);
3532
+ ;// ./src/library.js
3533
+
3534
+
3535
+
3536
+
3537
+
3538
+
3539
+
3540
+
3541
+
3542
+ // CSS dosyası package.json'da exports altında tanımlı
3543
+ // Kullanım: import 'akfatimeline/components/Timeline/Timeline.css'
3544
+
3545
+
3546
+ // Ana Timeline component'i default export (import akfatimeline from 'akfatimeline' için)
3547
+ /* harmony default export */ const library = (Timeline_Timeline);
3548
+
3549
+ // Named export (import { akfatimeline } from 'akfatimeline' için)
3550
+
3551
+
3552
+ // Diğer named exports - İsteğe bağlı kullanım için
3553
+
3554
+ export { Timeline_AutocompleteSelect as AutocompleteSelect, Timeline_ContextMenu as ContextMenu, Timeline_DailyView as DailyView, Timeline_EventBadge as EventBadge, Timeline_EventDetailModal as EventDetailModal, Timeline_EventIcon as EventIcon, Timeline_LoadingSpinner as LoadingSpinner, Timeline_Timeline as akfatimeline, library as default };