@liteforge/calendar 0.1.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 (67) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +395 -0
  3. package/dist/calendar.d.ts +6 -0
  4. package/dist/calendar.d.ts.map +1 -0
  5. package/dist/calendar.js +318 -0
  6. package/dist/calendar.js.map +1 -0
  7. package/dist/components/toolbar.d.ts +18 -0
  8. package/dist/components/toolbar.d.ts.map +1 -0
  9. package/dist/components/toolbar.js +84 -0
  10. package/dist/components/toolbar.js.map +1 -0
  11. package/dist/date-utils.d.ts +104 -0
  12. package/dist/date-utils.d.ts.map +1 -0
  13. package/dist/date-utils.js +323 -0
  14. package/dist/date-utils.js.map +1 -0
  15. package/dist/index.d.ts +12 -0
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/index.js +14 -0
  18. package/dist/index.js.map +1 -0
  19. package/dist/interactions/drag-drop.d.ts +30 -0
  20. package/dist/interactions/drag-drop.d.ts.map +1 -0
  21. package/dist/interactions/drag-drop.js +207 -0
  22. package/dist/interactions/drag-drop.js.map +1 -0
  23. package/dist/interactions/index.d.ts +10 -0
  24. package/dist/interactions/index.d.ts.map +1 -0
  25. package/dist/interactions/index.js +7 -0
  26. package/dist/interactions/index.js.map +1 -0
  27. package/dist/interactions/resize.d.ts +25 -0
  28. package/dist/interactions/resize.d.ts.map +1 -0
  29. package/dist/interactions/resize.js +116 -0
  30. package/dist/interactions/resize.js.map +1 -0
  31. package/dist/interactions/slot-selection.d.ts +25 -0
  32. package/dist/interactions/slot-selection.d.ts.map +1 -0
  33. package/dist/interactions/slot-selection.js +151 -0
  34. package/dist/interactions/slot-selection.js.map +1 -0
  35. package/dist/recurring.d.ts +15 -0
  36. package/dist/recurring.d.ts.map +1 -0
  37. package/dist/recurring.js +158 -0
  38. package/dist/recurring.js.map +1 -0
  39. package/dist/styles.d.ts +6 -0
  40. package/dist/styles.d.ts.map +1 -0
  41. package/dist/styles.js +632 -0
  42. package/dist/styles.js.map +1 -0
  43. package/dist/types.d.ts +169 -0
  44. package/dist/types.d.ts.map +1 -0
  45. package/dist/types.js +5 -0
  46. package/dist/types.js.map +1 -0
  47. package/dist/views/agenda-view.d.ts +19 -0
  48. package/dist/views/agenda-view.d.ts.map +1 -0
  49. package/dist/views/agenda-view.js +114 -0
  50. package/dist/views/agenda-view.js.map +1 -0
  51. package/dist/views/day-view.d.ts +30 -0
  52. package/dist/views/day-view.d.ts.map +1 -0
  53. package/dist/views/day-view.js +432 -0
  54. package/dist/views/day-view.js.map +1 -0
  55. package/dist/views/month-view.d.ts +17 -0
  56. package/dist/views/month-view.d.ts.map +1 -0
  57. package/dist/views/month-view.js +123 -0
  58. package/dist/views/month-view.js.map +1 -0
  59. package/dist/views/shared.d.ts +30 -0
  60. package/dist/views/shared.d.ts.map +1 -0
  61. package/dist/views/shared.js +281 -0
  62. package/dist/views/shared.js.map +1 -0
  63. package/dist/views/week-view.d.ts +24 -0
  64. package/dist/views/week-view.d.ts.map +1 -0
  65. package/dist/views/week-view.js +377 -0
  66. package/dist/views/week-view.js.map +1 -0
  67. package/package.json +61 -0
package/dist/styles.js ADDED
@@ -0,0 +1,632 @@
1
+ /**
2
+ * @liteforge/calendar - Default CSS Theme
3
+ */
4
+ let stylesInjected = false;
5
+ const DEFAULT_STYLES = `
6
+ /* ─── CSS Variables ─────────────────────────────────────── */
7
+
8
+ :root {
9
+ --lf-cal-bg: #ffffff;
10
+ --lf-cal-border: #e2e8f0;
11
+ --lf-cal-border-radius: 8px;
12
+ --lf-cal-slot-height: 40px;
13
+ --lf-cal-header-bg: #f8fafc;
14
+ --lf-cal-header-color: #374151;
15
+ --lf-cal-header-font-weight: 600;
16
+ --lf-cal-today-bg: #eff6ff;
17
+ --lf-cal-weekend-bg: #fafafa;
18
+ --lf-cal-now-color: #ef4444;
19
+ --lf-cal-now-width: 2px;
20
+ --lf-cal-event-radius: 4px;
21
+ --lf-cal-event-font-size: 12px;
22
+ --lf-cal-event-padding: 2px 6px;
23
+ --lf-cal-event-default-bg: #3b82f6;
24
+ --lf-cal-event-default-color: #ffffff;
25
+ --lf-cal-blocked-bg: #f1f5f9;
26
+ --lf-cal-blocked-pattern: repeating-linear-gradient(
27
+ 45deg, transparent, transparent 5px, rgba(0,0,0,0.03) 5px, rgba(0,0,0,0.03) 10px
28
+ );
29
+ --lf-cal-selection-bg: rgba(59, 130, 246, 0.15);
30
+ --lf-cal-selection-border: #3b82f6;
31
+ --lf-cal-drag-opacity: 0.7;
32
+ --lf-cal-time-color: #94a3b8;
33
+ --lf-cal-time-font-size: 11px;
34
+ --lf-cal-time-width: 60px;
35
+ }
36
+
37
+ /* ─── Root Container ────────────────────────────────────── */
38
+
39
+ .lf-cal {
40
+ background: var(--lf-cal-bg);
41
+ border: 1px solid var(--lf-cal-border);
42
+ border-radius: var(--lf-cal-border-radius);
43
+ overflow: hidden;
44
+ font-family: system-ui, -apple-system, sans-serif;
45
+ font-size: 14px;
46
+ }
47
+
48
+ /* ─── Toolbar ───────────────────────────────────────────── */
49
+
50
+ .lf-cal-toolbar {
51
+ display: flex;
52
+ align-items: center;
53
+ justify-content: space-between;
54
+ padding: 12px 16px;
55
+ background: var(--lf-cal-header-bg);
56
+ border-bottom: 1px solid var(--lf-cal-border);
57
+ gap: 16px;
58
+ }
59
+
60
+ .lf-cal-toolbar-nav {
61
+ display: flex;
62
+ align-items: center;
63
+ gap: 8px;
64
+ }
65
+
66
+ .lf-cal-toolbar-nav button {
67
+ padding: 6px 12px;
68
+ border: 1px solid var(--lf-cal-border);
69
+ border-radius: 4px;
70
+ background: white;
71
+ cursor: pointer;
72
+ font-size: 13px;
73
+ transition: background-color 0.15s;
74
+ }
75
+
76
+ .lf-cal-toolbar-nav button:hover {
77
+ background: var(--lf-cal-today-bg);
78
+ }
79
+
80
+ .lf-cal-toolbar-title {
81
+ font-size: 16px;
82
+ font-weight: var(--lf-cal-header-font-weight);
83
+ color: var(--lf-cal-header-color);
84
+ min-width: 200px;
85
+ text-align: center;
86
+ }
87
+
88
+ .lf-cal-toolbar-views {
89
+ display: flex;
90
+ gap: 4px;
91
+ }
92
+
93
+ .lf-cal-toolbar-views button {
94
+ padding: 6px 12px;
95
+ border: 1px solid var(--lf-cal-border);
96
+ background: white;
97
+ cursor: pointer;
98
+ font-size: 13px;
99
+ transition: all 0.15s;
100
+ }
101
+
102
+ .lf-cal-toolbar-views button:first-child {
103
+ border-radius: 4px 0 0 4px;
104
+ }
105
+
106
+ .lf-cal-toolbar-views button:last-child {
107
+ border-radius: 0 4px 4px 0;
108
+ }
109
+
110
+ .lf-cal-toolbar-views button:not(:first-child) {
111
+ margin-left: -1px;
112
+ }
113
+
114
+ .lf-cal-toolbar-views button:hover {
115
+ background: var(--lf-cal-today-bg);
116
+ }
117
+
118
+ .lf-cal-toolbar-views button.active {
119
+ background: var(--lf-cal-event-default-bg);
120
+ color: white;
121
+ border-color: var(--lf-cal-event-default-bg);
122
+ }
123
+
124
+ /* ─── Header ────────────────────────────────────────────── */
125
+
126
+ .lf-cal-header {
127
+ display: flex;
128
+ border-bottom: 1px solid var(--lf-cal-border);
129
+ background: var(--lf-cal-header-bg);
130
+ }
131
+
132
+ .lf-cal-header-time-spacer {
133
+ width: var(--lf-cal-time-width);
134
+ flex-shrink: 0;
135
+ border-right: 1px solid var(--lf-cal-border);
136
+ }
137
+
138
+ .lf-cal-header-cell {
139
+ flex: 1;
140
+ padding: 8px 4px;
141
+ text-align: center;
142
+ font-size: 13px;
143
+ font-weight: var(--lf-cal-header-font-weight);
144
+ color: var(--lf-cal-header-color);
145
+ border-right: 1px solid var(--lf-cal-border);
146
+ }
147
+
148
+ .lf-cal-header-cell:last-child {
149
+ border-right: none;
150
+ }
151
+
152
+ .lf-cal-header-cell--today {
153
+ background: var(--lf-cal-today-bg);
154
+ color: var(--lf-cal-event-default-bg);
155
+ }
156
+
157
+ .lf-cal-header-cell--weekend {
158
+ background: var(--lf-cal-weekend-bg);
159
+ }
160
+
161
+ .lf-cal-header-day-name {
162
+ font-size: 11px;
163
+ text-transform: uppercase;
164
+ letter-spacing: 0.5px;
165
+ opacity: 0.7;
166
+ }
167
+
168
+ .lf-cal-header-day-number {
169
+ font-size: 18px;
170
+ font-weight: 600;
171
+ }
172
+
173
+ /* ─── All-Day Row ───────────────────────────────────────── */
174
+
175
+ .lf-cal-allday-row {
176
+ display: flex;
177
+ border-bottom: 1px solid var(--lf-cal-border);
178
+ background: var(--lf-cal-header-bg);
179
+ min-height: 28px;
180
+ }
181
+
182
+ .lf-cal-allday-label {
183
+ width: var(--lf-cal-time-width);
184
+ flex-shrink: 0;
185
+ border-right: 1px solid var(--lf-cal-border);
186
+ padding: 4px 8px;
187
+ font-size: var(--lf-cal-time-font-size);
188
+ color: var(--lf-cal-time-color);
189
+ text-align: right;
190
+ }
191
+
192
+ .lf-cal-allday-cells {
193
+ flex: 1;
194
+ display: flex;
195
+ }
196
+
197
+ .lf-cal-allday-cell {
198
+ flex: 1;
199
+ padding: 2px;
200
+ border-right: 1px solid var(--lf-cal-border);
201
+ min-height: 24px;
202
+ display: flex;
203
+ flex-direction: column;
204
+ gap: 2px;
205
+ }
206
+
207
+ .lf-cal-allday-cell:last-child {
208
+ border-right: none;
209
+ }
210
+
211
+ /* ─── Body / Grid ───────────────────────────────────────── */
212
+
213
+ .lf-cal-body {
214
+ display: flex;
215
+ overflow-y: auto;
216
+ max-height: 600px;
217
+ }
218
+
219
+ .lf-cal-time-column {
220
+ width: var(--lf-cal-time-width);
221
+ flex-shrink: 0;
222
+ border-right: 1px solid var(--lf-cal-border);
223
+ }
224
+
225
+ .lf-cal-time-label {
226
+ height: var(--lf-cal-slot-height);
227
+ padding: 0 8px;
228
+ font-size: var(--lf-cal-time-font-size);
229
+ color: var(--lf-cal-time-color);
230
+ text-align: right;
231
+ line-height: 1;
232
+ position: relative;
233
+ top: -6px;
234
+ }
235
+
236
+ .lf-cal-grid {
237
+ flex: 1;
238
+ display: flex;
239
+ position: relative;
240
+ }
241
+
242
+ .lf-cal-day-column {
243
+ flex: 1;
244
+ position: relative;
245
+ border-right: 1px solid var(--lf-cal-border);
246
+ }
247
+
248
+ .lf-cal-day-column:last-child {
249
+ border-right: none;
250
+ }
251
+
252
+ .lf-cal-day-column--today {
253
+ background: var(--lf-cal-today-bg);
254
+ }
255
+
256
+ .lf-cal-day-column--weekend {
257
+ background: var(--lf-cal-weekend-bg);
258
+ }
259
+
260
+ .lf-cal-resource-column {
261
+ flex: 1;
262
+ position: relative;
263
+ border-right: 1px solid var(--lf-cal-border);
264
+ }
265
+
266
+ .lf-cal-resource-column:last-child {
267
+ border-right: none;
268
+ }
269
+
270
+ /* ─── Time Slots ────────────────────────────────────────── */
271
+
272
+ .lf-cal-time-slot {
273
+ height: var(--lf-cal-slot-height);
274
+ border-bottom: 1px solid var(--lf-cal-border);
275
+ box-sizing: border-box;
276
+ }
277
+
278
+ .lf-cal-time-slot:last-child {
279
+ border-bottom: none;
280
+ }
281
+
282
+ .lf-cal-time-slot--blocked {
283
+ background: var(--lf-cal-blocked-bg);
284
+ background-image: var(--lf-cal-blocked-pattern);
285
+ }
286
+
287
+ .lf-cal-time-slot--selected {
288
+ background: var(--lf-cal-selection-bg);
289
+ }
290
+
291
+ .lf-cal-time-slot--hour {
292
+ border-bottom-color: #cbd5e1;
293
+ }
294
+
295
+ /* ─── Events ────────────────────────────────────────────── */
296
+
297
+ .lf-cal-event {
298
+ position: absolute;
299
+ left: 2px;
300
+ right: 2px;
301
+ padding: var(--lf-cal-event-padding);
302
+ border-radius: var(--lf-cal-event-radius);
303
+ font-size: var(--lf-cal-event-font-size);
304
+ background: var(--lf-cal-event-default-bg);
305
+ color: var(--lf-cal-event-default-color);
306
+ overflow: hidden;
307
+ cursor: pointer;
308
+ transition: box-shadow 0.15s;
309
+ z-index: 1;
310
+ box-sizing: border-box;
311
+ border-left: 3px solid rgba(0,0,0,0.2);
312
+ }
313
+
314
+ .lf-cal-event:hover {
315
+ box-shadow: 0 4px 12px rgba(0,0,0,0.2);
316
+ z-index: 50;
317
+ min-width: 150px;
318
+ max-width: 250px;
319
+ width: max-content;
320
+ }
321
+
322
+ .lf-cal-event:hover .lf-cal-event-title {
323
+ white-space: normal;
324
+ word-break: break-word;
325
+ }
326
+
327
+ .lf-cal-event--dragging {
328
+ opacity: var(--lf-cal-drag-opacity);
329
+ box-shadow: 0 4px 12px rgba(0,0,0,0.2);
330
+ z-index: 100;
331
+ cursor: grabbing;
332
+ }
333
+
334
+ .lf-cal-event--ghost {
335
+ pointer-events: none;
336
+ z-index: 10000;
337
+ border: 2px dashed rgba(255,255,255,0.5);
338
+ }
339
+
340
+ .lf-cal-event--resizing {
341
+ z-index: 100;
342
+ }
343
+
344
+ .lf-cal-event[data-editable="true"] {
345
+ cursor: grab;
346
+ }
347
+
348
+ .lf-cal-day-column--drop-target {
349
+ background: var(--lf-cal-selection-bg);
350
+ }
351
+
352
+ .lf-cal-time-slot--drop-target {
353
+ background: var(--lf-cal-selection-bg);
354
+ border: 1px dashed var(--lf-cal-selection-border);
355
+ }
356
+
357
+ .lf-cal-event--selected {
358
+ box-shadow: 0 0 0 2px var(--lf-cal-selection-border);
359
+ }
360
+
361
+ .lf-cal-event--allday {
362
+ position: relative;
363
+ left: auto;
364
+ right: auto;
365
+ top: auto;
366
+ width: auto;
367
+ height: auto;
368
+ margin: 0;
369
+ padding: 2px 6px;
370
+ font-size: 11px;
371
+ border-left: none;
372
+ border-radius: 3px;
373
+ }
374
+
375
+ .lf-cal-event-title {
376
+ font-weight: 500;
377
+ white-space: nowrap;
378
+ overflow: hidden;
379
+ text-overflow: ellipsis;
380
+ }
381
+
382
+ .lf-cal-event-time {
383
+ font-size: 10px;
384
+ opacity: 0.8;
385
+ }
386
+
387
+ .lf-cal-event-resize-handle {
388
+ position: absolute;
389
+ bottom: 0;
390
+ left: 0;
391
+ right: 0;
392
+ height: 8px;
393
+ cursor: ns-resize;
394
+ }
395
+
396
+ /* ─── Now Indicator ─────────────────────────────────────── */
397
+
398
+ .lf-cal-now-indicator {
399
+ position: absolute;
400
+ left: 0;
401
+ right: 0;
402
+ height: var(--lf-cal-now-width, 2px);
403
+ background: var(--lf-cal-now-color);
404
+ z-index: 100;
405
+ pointer-events: none;
406
+ box-shadow: 0 0 3px var(--lf-cal-now-color);
407
+ }
408
+
409
+ .lf-cal-now-indicator::before {
410
+ content: '';
411
+ position: absolute;
412
+ left: 0;
413
+ top: -4px;
414
+ width: 10px;
415
+ height: 10px;
416
+ border-radius: 50%;
417
+ background: var(--lf-cal-now-color);
418
+ transform: translateX(-4px);
419
+ }
420
+
421
+ .lf-cal-now-indicator--no-dot::before {
422
+ display: none;
423
+ }
424
+
425
+ /* ─── Month View ────────────────────────────────────────── */
426
+
427
+ .lf-cal-month-grid {
428
+ display: grid;
429
+ grid-template-columns: repeat(7, 1fr);
430
+ }
431
+
432
+ .lf-cal-month-header {
433
+ display: grid;
434
+ grid-template-columns: repeat(7, 1fr);
435
+ background: var(--lf-cal-header-bg);
436
+ border-bottom: 1px solid var(--lf-cal-border);
437
+ }
438
+
439
+ .lf-cal-month-header-cell {
440
+ padding: 8px;
441
+ text-align: center;
442
+ font-size: 12px;
443
+ font-weight: var(--lf-cal-header-font-weight);
444
+ color: var(--lf-cal-header-color);
445
+ text-transform: uppercase;
446
+ }
447
+
448
+ .lf-cal-month-cell {
449
+ min-height: 100px;
450
+ padding: 4px;
451
+ border-right: 1px solid var(--lf-cal-border);
452
+ border-bottom: 1px solid var(--lf-cal-border);
453
+ background: var(--lf-cal-bg);
454
+ }
455
+
456
+ .lf-cal-month-cell:nth-child(7n) {
457
+ border-right: none;
458
+ }
459
+
460
+ .lf-cal-month-cell--today {
461
+ background: var(--lf-cal-today-bg);
462
+ }
463
+
464
+ .lf-cal-month-cell--other-month {
465
+ background: var(--lf-cal-weekend-bg);
466
+ opacity: 0.6;
467
+ }
468
+
469
+ .lf-cal-month-cell--weekend {
470
+ background: var(--lf-cal-weekend-bg);
471
+ }
472
+
473
+ .lf-cal-month-day-number {
474
+ font-size: 14px;
475
+ font-weight: 500;
476
+ color: var(--lf-cal-header-color);
477
+ margin-bottom: 4px;
478
+ }
479
+
480
+ .lf-cal-month-cell--today .lf-cal-month-day-number {
481
+ display: inline-flex;
482
+ align-items: center;
483
+ justify-content: center;
484
+ width: 24px;
485
+ height: 24px;
486
+ background: var(--lf-cal-event-default-bg);
487
+ color: white;
488
+ border-radius: 50%;
489
+ }
490
+
491
+ .lf-cal-month-event {
492
+ padding: 2px 4px;
493
+ margin-bottom: 2px;
494
+ font-size: 11px;
495
+ border-radius: 2px;
496
+ background: var(--lf-cal-event-default-bg);
497
+ color: var(--lf-cal-event-default-color);
498
+ white-space: nowrap;
499
+ overflow: hidden;
500
+ text-overflow: ellipsis;
501
+ cursor: pointer;
502
+ }
503
+
504
+ .lf-cal-month-event:hover {
505
+ filter: brightness(0.9);
506
+ }
507
+
508
+ .lf-cal-month-more {
509
+ font-size: 11px;
510
+ color: var(--lf-cal-event-default-bg);
511
+ cursor: pointer;
512
+ padding: 2px 4px;
513
+ }
514
+
515
+ .lf-cal-month-more:hover {
516
+ text-decoration: underline;
517
+ }
518
+
519
+ /* ─── Agenda View ───────────────────────────────────────── */
520
+
521
+ .lf-cal-agenda {
522
+ padding: 0;
523
+ overflow-y: auto;
524
+ max-height: 600px;
525
+ }
526
+
527
+ .lf-cal-agenda-day {
528
+ border-bottom: 1px solid var(--lf-cal-border);
529
+ }
530
+
531
+ .lf-cal-agenda-day:last-child {
532
+ border-bottom: none;
533
+ }
534
+
535
+ .lf-cal-agenda-day-header {
536
+ padding: 12px 16px;
537
+ background: var(--lf-cal-header-bg);
538
+ font-weight: var(--lf-cal-header-font-weight);
539
+ color: var(--lf-cal-header-color);
540
+ font-size: 13px;
541
+ position: sticky;
542
+ top: 0;
543
+ }
544
+
545
+ .lf-cal-agenda-day-header--today {
546
+ background: var(--lf-cal-today-bg);
547
+ color: var(--lf-cal-event-default-bg);
548
+ }
549
+
550
+ .lf-cal-agenda-item {
551
+ display: flex;
552
+ align-items: flex-start;
553
+ padding: 12px 16px;
554
+ gap: 16px;
555
+ cursor: pointer;
556
+ transition: background-color 0.15s;
557
+ }
558
+
559
+ .lf-cal-agenda-item:hover {
560
+ background: var(--lf-cal-today-bg);
561
+ }
562
+
563
+ .lf-cal-agenda-item-time {
564
+ width: 100px;
565
+ flex-shrink: 0;
566
+ font-size: 13px;
567
+ color: var(--lf-cal-time-color);
568
+ }
569
+
570
+ .lf-cal-agenda-item-indicator {
571
+ width: 4px;
572
+ height: 40px;
573
+ border-radius: 2px;
574
+ background: var(--lf-cal-event-default-bg);
575
+ flex-shrink: 0;
576
+ }
577
+
578
+ .lf-cal-agenda-item-content {
579
+ flex: 1;
580
+ }
581
+
582
+ .lf-cal-agenda-item-title {
583
+ font-weight: 500;
584
+ color: var(--lf-cal-header-color);
585
+ margin-bottom: 2px;
586
+ }
587
+
588
+ .lf-cal-agenda-item-details {
589
+ font-size: 13px;
590
+ color: var(--lf-cal-time-color);
591
+ }
592
+
593
+ /* ─── Empty State ───────────────────────────────────────── */
594
+
595
+ .lf-cal-empty {
596
+ padding: 40px;
597
+ text-align: center;
598
+ color: var(--lf-cal-time-color);
599
+ }
600
+
601
+ /* ─── Dark Mode ─────────────────────────────────────────── */
602
+
603
+ [data-theme="dark"] {
604
+ --lf-cal-bg: #1e1e2e;
605
+ --lf-cal-border: #313244;
606
+ --lf-cal-header-bg: #181825;
607
+ --lf-cal-header-color: #cdd6f4;
608
+ --lf-cal-today-bg: rgba(137, 180, 250, 0.1);
609
+ --lf-cal-weekend-bg: #181825;
610
+ --lf-cal-blocked-bg: #11111b;
611
+ --lf-cal-time-color: #6c7086;
612
+ }
613
+ `;
614
+ export function injectCalendarStyles() {
615
+ if (stylesInjected)
616
+ return;
617
+ if (typeof document === 'undefined')
618
+ return;
619
+ const style = document.createElement('style');
620
+ style.id = 'lf-calendar-styles';
621
+ style.textContent = DEFAULT_STYLES;
622
+ document.head.appendChild(style);
623
+ stylesInjected = true;
624
+ }
625
+ export function resetCalendarStylesInjection() {
626
+ stylesInjected = false;
627
+ const existing = document.getElementById('lf-calendar-styles');
628
+ if (existing) {
629
+ existing.remove();
630
+ }
631
+ }
632
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,IAAI,cAAc,GAAG,KAAK,CAAA;AAE1B,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgmBtB,CAAA;AAED,MAAM,UAAU,oBAAoB;IAClC,IAAI,cAAc;QAAE,OAAM;IAC1B,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAM;IAE3C,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;IAC7C,KAAK,CAAC,EAAE,GAAG,oBAAoB,CAAA;IAC/B,KAAK,CAAC,WAAW,GAAG,cAAc,CAAA;IAClC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;IAEhC,cAAc,GAAG,IAAI,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,4BAA4B;IAC1C,cAAc,GAAG,KAAK,CAAA;IACtB,MAAM,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAA;IAC9D,IAAI,QAAQ,EAAE,CAAC;QACb,QAAQ,CAAC,MAAM,EAAE,CAAA;IACnB,CAAC;AACH,CAAC"}