@jpahd/kalendus 0.1.1 → 0.6.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 (41) hide show
  1. package/custom-elements.json +156 -131
  2. package/dist/components/Day.d.ts +25 -0
  3. package/dist/components/Day.d.ts.map +1 -1
  4. package/dist/components/Entry.d.ts +0 -2
  5. package/dist/components/Entry.d.ts.map +1 -1
  6. package/dist/components/Header.d.ts.map +1 -1
  7. package/dist/components/Menu.d.ts.map +1 -1
  8. package/dist/components/Month.d.ts +2 -1
  9. package/dist/components/Month.d.ts.map +1 -1
  10. package/dist/components/Week.d.ts +20 -1
  11. package/dist/components/Week.d.ts.map +1 -1
  12. package/dist/components/Year.d.ts.map +1 -1
  13. package/dist/kalendus.js +407 -237
  14. package/dist/kalendus.js.map +1 -1
  15. package/dist/lib/LayoutCalculator.d.ts +1 -1
  16. package/dist/lib/LayoutCalculator.d.ts.map +1 -1
  17. package/dist/lib/SlotManager.d.ts +1 -17
  18. package/dist/lib/SlotManager.d.ts.map +1 -1
  19. package/dist/lib/colorParser.d.ts +18 -0
  20. package/dist/lib/colorParser.d.ts.map +1 -0
  21. package/dist/lib/getColorTextWithContrast.d.ts +1 -1
  22. package/dist/lib/getColorTextWithContrast.d.ts.map +1 -1
  23. package/dist/lib/localization.d.ts.map +1 -1
  24. package/dist/lib/weekDisplayContext.d.ts.map +1 -1
  25. package/dist/lib/weekStartHelper.d.ts.map +1 -1
  26. package/dist/lms-calendar.d.ts +11 -3
  27. package/dist/lms-calendar.d.ts.map +1 -1
  28. package/dist/themes/brutalist.css +100 -0
  29. package/dist/themes/default.css +100 -0
  30. package/dist/themes/ink.css +98 -0
  31. package/dist/themes/midnight.css +110 -0
  32. package/dist/themes/soft.css +97 -0
  33. package/package.json +13 -3
  34. package/dist/lib/catchError.d.ts +0 -2
  35. package/dist/lib/catchError.d.ts.map +0 -1
  36. package/dist/lib/getOverlappingEntitiesIndices.d.ts +0 -8
  37. package/dist/lib/getOverlappingEntitiesIndices.d.ts.map +0 -1
  38. package/dist/lib/getSortedGradingsByIndex.d.ts +0 -2
  39. package/dist/lib/getSortedGradingsByIndex.d.ts.map +0 -1
  40. package/dist/lib/partitionOverlappingIntervals.d.ts +0 -6
  41. package/dist/lib/partitionOverlappingIntervals.d.ts.map +0 -1
@@ -184,21 +184,15 @@
184
184
  "kind": "field",
185
185
  "name": "_layoutCalculator",
186
186
  "privacy": "private",
187
- "default": "new LayoutCalculator({ timeColumnWidth: 80, minuteHeight: 1, eventMinHeight: 20, cascadeOffset: 15, paddingLeft: 10, })"
187
+ "default": "new LayoutCalculator({ minuteHeight: 1, eventMinHeight: 20, })"
188
188
  },
189
189
  {
190
190
  "kind": "field",
191
- "name": "_handleResize",
192
- "privacy": "private"
193
- },
194
- {
195
- "kind": "field",
196
- "name": "_resizeController",
191
+ "name": "_resizeObserver",
197
192
  "type": {
198
- "text": "ResizeController<void>"
193
+ "text": "ResizeObserver | undefined"
199
194
  },
200
- "privacy": "private",
201
- "default": "new ResizeController<void>(this, { target: null, callback: this._handleResize, skipInitial: true, })"
195
+ "privacy": "private"
202
196
  },
203
197
  {
204
198
  "kind": "field",
@@ -881,6 +875,53 @@
881
875
  "default": "'en'",
882
876
  "attribute": "locale"
883
877
  },
878
+ {
879
+ "kind": "field",
880
+ "name": "activeDate",
881
+ "type": {
882
+ "text": "CalendarDate"
883
+ },
884
+ "default": "{ day: new Date().getDate(), month: new Date().getMonth() + 1, year: new Date().getFullYear(), }"
885
+ },
886
+ {
887
+ "kind": "field",
888
+ "name": "firstDayOfWeek",
889
+ "type": {
890
+ "text": "FirstDayOfWeek"
891
+ },
892
+ "default": "1",
893
+ "attribute": "firstDayOfWeek"
894
+ },
895
+ {
896
+ "kind": "field",
897
+ "name": "_scrollRO",
898
+ "type": {
899
+ "text": "ResizeObserver | undefined"
900
+ },
901
+ "privacy": "private"
902
+ },
903
+ {
904
+ "kind": "field",
905
+ "name": "_lastScrollH",
906
+ "type": {
907
+ "text": "number"
908
+ },
909
+ "privacy": "private",
910
+ "default": "0"
911
+ },
912
+ {
913
+ "kind": "method",
914
+ "name": "_applyScrollHeight",
915
+ "privacy": "private",
916
+ "parameters": [
917
+ {
918
+ "name": "h",
919
+ "type": {
920
+ "text": "number"
921
+ }
922
+ }
923
+ ]
924
+ },
884
925
  {
885
926
  "kind": "method",
886
927
  "name": "_renderIndicatorValue",
@@ -893,6 +934,21 @@
893
934
  }
894
935
  }
895
936
  ]
937
+ },
938
+ {
939
+ "kind": "method",
940
+ "name": "_isCurrentDate",
941
+ "privacy": "private"
942
+ },
943
+ {
944
+ "kind": "method",
945
+ "name": "_getWeekday",
946
+ "privacy": "private",
947
+ "return": {
948
+ "type": {
949
+ "text": "number"
950
+ }
951
+ }
896
952
  }
897
953
  ],
898
954
  "attributes": [
@@ -911,6 +967,14 @@
911
967
  },
912
968
  "default": "'en'",
913
969
  "fieldName": "locale"
970
+ },
971
+ {
972
+ "name": "firstDayOfWeek",
973
+ "type": {
974
+ "text": "FirstDayOfWeek"
975
+ },
976
+ "default": "1",
977
+ "fieldName": "firstDayOfWeek"
914
978
  }
915
979
  ],
916
980
  "superclass": {
@@ -1044,13 +1108,6 @@
1044
1108
  "text": "boolean | undefined"
1045
1109
  }
1046
1110
  },
1047
- {
1048
- "kind": "field",
1049
- "name": "_extended",
1050
- "type": {
1051
- "text": "boolean | undefined"
1052
- }
1053
- },
1054
1111
  {
1055
1112
  "kind": "field",
1056
1113
  "name": "_sumReducer",
@@ -1074,16 +1131,6 @@
1074
1131
  "name": "_renderContent",
1075
1132
  "privacy": "private"
1076
1133
  },
1077
- {
1078
- "kind": "method",
1079
- "name": "_shouldShowTime",
1080
- "privacy": "private",
1081
- "return": {
1082
- "type": {
1083
- "text": "boolean"
1084
- }
1085
- }
1086
- },
1087
1134
  {
1088
1135
  "kind": "method",
1089
1136
  "name": "_getAriaLabel",
@@ -1622,9 +1669,18 @@
1622
1669
  "default": "'en'",
1623
1670
  "attribute": "locale"
1624
1671
  },
1672
+ {
1673
+ "kind": "field",
1674
+ "name": "_scrollRafId",
1675
+ "type": {
1676
+ "text": "number | null"
1677
+ },
1678
+ "privacy": "private",
1679
+ "default": "null"
1680
+ },
1625
1681
  {
1626
1682
  "kind": "method",
1627
- "name": "_setupScrollDetection",
1683
+ "name": "_setupDelegatedScrollListener",
1628
1684
  "privacy": "private"
1629
1685
  },
1630
1686
  {
@@ -1902,6 +1958,36 @@
1902
1958
  "description": "Whether the view is condensed (showing fewer than 7 days).",
1903
1959
  "readonly": true
1904
1960
  },
1961
+ {
1962
+ "kind": "field",
1963
+ "name": "_scrollRO",
1964
+ "type": {
1965
+ "text": "ResizeObserver | undefined"
1966
+ },
1967
+ "privacy": "private"
1968
+ },
1969
+ {
1970
+ "kind": "field",
1971
+ "name": "_lastScrollH",
1972
+ "type": {
1973
+ "text": "number"
1974
+ },
1975
+ "privacy": "private",
1976
+ "default": "0"
1977
+ },
1978
+ {
1979
+ "kind": "method",
1980
+ "name": "_applyScrollHeight",
1981
+ "privacy": "private",
1982
+ "parameters": [
1983
+ {
1984
+ "name": "h",
1985
+ "type": {
1986
+ "text": "number"
1987
+ }
1988
+ }
1989
+ ]
1990
+ },
1905
1991
  {
1906
1992
  "kind": "method",
1907
1993
  "name": "_renderIndicatorValue",
@@ -3282,123 +3368,96 @@
3282
3368
  },
3283
3369
  {
3284
3370
  "kind": "javascript-module",
3285
- "path": "src/lib/catchError.ts",
3371
+ "path": "src/lib/colorParser.ts",
3286
3372
  "declarations": [
3287
3373
  {
3288
3374
  "kind": "function",
3289
- "name": "catchError",
3375
+ "name": "parseColor",
3290
3376
  "return": {
3291
3377
  "type": {
3292
- "text": "Promise<[undefined, T] | [Error]>"
3378
+ "text": "RGBTuple | undefined"
3293
3379
  }
3294
3380
  },
3295
3381
  "parameters": [
3296
3382
  {
3297
- "name": "promise",
3383
+ "name": "input",
3384
+ "optional": true,
3298
3385
  "type": {
3299
- "text": "Promise<T>"
3386
+ "text": "string"
3300
3387
  }
3301
3388
  }
3302
- ]
3303
- }
3304
- ],
3305
- "exports": [
3306
- {
3307
- "kind": "js",
3308
- "name": "catchError",
3309
- "declaration": {
3310
- "name": "catchError",
3311
- "module": "src/lib/catchError.ts"
3312
- }
3313
- }
3314
- ]
3315
- },
3316
- {
3317
- "kind": "javascript-module",
3318
- "path": "src/lib/getColorTextWithContrast.ts",
3319
- "declarations": [
3389
+ ],
3390
+ "description": "Parse any common CSS color string into an RGB tuple.\nReturns `undefined` for invalid input or `transparent`."
3391
+ },
3320
3392
  {
3321
3393
  "kind": "function",
3322
- "name": "getColorTextWithContrast",
3394
+ "name": "parseColorWithDefault",
3323
3395
  "return": {
3324
3396
  "type": {
3325
- "text": "[string, string]"
3397
+ "text": "RGBTuple"
3326
3398
  }
3327
3399
  },
3328
3400
  "parameters": [
3329
3401
  {
3330
- "name": "color",
3402
+ "name": "input",
3331
3403
  "optional": true,
3332
3404
  "type": {
3333
3405
  "text": "string"
3334
- },
3335
- "description": "The color to process."
3406
+ }
3407
+ },
3408
+ {
3409
+ "name": "fallback",
3410
+ "default": "DEFAULT_ACCENT",
3411
+ "type": {
3412
+ "text": "RGBTuple"
3413
+ }
3336
3414
  }
3337
3415
  ],
3338
- "description": "Calculates the text color and background color based on the given color."
3416
+ "description": "Parse a CSS color string, returning a fallback if parsing fails.\nDefault fallback is Material Blue 700 `[25, 118, 210]`."
3339
3417
  }
3340
3418
  ],
3341
3419
  "exports": [
3342
3420
  {
3343
3421
  "kind": "js",
3344
- "name": "default",
3422
+ "name": "parseColor",
3345
3423
  "declaration": {
3346
- "name": "getColorTextWithContrast",
3347
- "module": "src/lib/getColorTextWithContrast.ts"
3424
+ "name": "parseColor",
3425
+ "module": "src/lib/colorParser.ts"
3426
+ }
3427
+ },
3428
+ {
3429
+ "kind": "js",
3430
+ "name": "parseColorWithDefault",
3431
+ "declaration": {
3432
+ "name": "parseColorWithDefault",
3433
+ "module": "src/lib/colorParser.ts"
3348
3434
  }
3349
3435
  }
3350
3436
  ]
3351
3437
  },
3352
3438
  {
3353
3439
  "kind": "javascript-module",
3354
- "path": "src/lib/getOverlappingEntitiesIndices.ts",
3440
+ "path": "src/lib/getColorTextWithContrast.ts",
3355
3441
  "declarations": [
3356
3442
  {
3357
3443
  "kind": "function",
3358
- "name": "getOverlappingEntitiesIndices",
3444
+ "name": "getColorTextWithContrast",
3359
3445
  "return": {
3360
3446
  "type": {
3361
- "text": "Array<Grading>"
3447
+ "text": "[string, string]"
3362
3448
  }
3363
3449
  },
3364
3450
  "parameters": [
3365
3451
  {
3366
- "name": "partitions",
3452
+ "name": "color",
3453
+ "optional": true,
3367
3454
  "type": {
3368
- "text": "Array<Interval[]>"
3455
+ "text": "string"
3369
3456
  },
3370
- "description": "An array of partitions, where each partition is an array of intervals."
3457
+ "description": "The color to process (hex, rgb, hsl, or named CSS color)."
3371
3458
  }
3372
3459
  ],
3373
- "description": "Calculates the indices and depths of overlapping entities within a set of partitions."
3374
- }
3375
- ],
3376
- "exports": [
3377
- {
3378
- "kind": "js",
3379
- "name": "default",
3380
- "declaration": {
3381
- "name": "getOverlappingEntitiesIndices",
3382
- "module": "src/lib/getOverlappingEntitiesIndices.ts"
3383
- }
3384
- }
3385
- ]
3386
- },
3387
- {
3388
- "kind": "javascript-module",
3389
- "path": "src/lib/getSortedGradingsByIndex.ts",
3390
- "declarations": [
3391
- {
3392
- "kind": "function",
3393
- "name": "rearrangeDepths",
3394
- "parameters": [
3395
- {
3396
- "name": "gradings",
3397
- "type": {
3398
- "text": "Grading[]"
3399
- }
3400
- }
3401
- ]
3460
+ "description": "Calculates the text color and background color based on the given color."
3402
3461
  }
3403
3462
  ],
3404
3463
  "exports": [
@@ -3406,8 +3465,8 @@
3406
3465
  "kind": "js",
3407
3466
  "name": "default",
3408
3467
  "declaration": {
3409
- "name": "rearrangeDepths",
3410
- "module": "src/lib/getSortedGradingsByIndex.ts"
3468
+ "name": "getColorTextWithContrast",
3469
+ "module": "src/lib/getColorTextWithContrast.ts"
3411
3470
  }
3412
3471
  }
3413
3472
  ]
@@ -3717,40 +3776,6 @@
3717
3776
  }
3718
3777
  ]
3719
3778
  },
3720
- {
3721
- "kind": "javascript-module",
3722
- "path": "src/lib/partitionOverlappingIntervals.ts",
3723
- "declarations": [
3724
- {
3725
- "kind": "function",
3726
- "name": "partitionOverlappingIntervals",
3727
- "return": {
3728
- "type": {
3729
- "text": "Array<Interval[]>"
3730
- }
3731
- },
3732
- "parameters": [
3733
- {
3734
- "name": "intervals",
3735
- "type": {
3736
- "text": "Array<Interval>"
3737
- }
3738
- }
3739
- ],
3740
- "description": "This is an implementation of the sweep-line algorithm\nRef: https://www.baeldung.com/cs/finding-all-overlapping-intervals \\\nExample: https://stackoverflow.com/questions/30472556/how-to-find-all-overlapping-ranges-and-partition-them-into-chunks"
3741
- }
3742
- ],
3743
- "exports": [
3744
- {
3745
- "kind": "js",
3746
- "name": "default",
3747
- "declaration": {
3748
- "name": "partitionOverlappingIntervals",
3749
- "module": "src/lib/partitionOverlappingIntervals.ts"
3750
- }
3751
- }
3752
- ]
3753
- },
3754
3779
  {
3755
3780
  "kind": "javascript-module",
3756
3781
  "path": "src/lib/weekDisplayContext.ts",
@@ -1,11 +1,36 @@
1
1
  import { LitElement } from 'lit';
2
+ import type { FirstDayOfWeek } from '../lib/weekStartHelper.js';
2
3
  export default class Day extends LitElement {
3
4
  _hours: number[];
4
5
  _hasActiveSidebar: boolean;
5
6
  allDayRowCount: number;
6
7
  locale: string;
8
+ activeDate: CalendarDate;
9
+ firstDayOfWeek: FirstDayOfWeek;
10
+ private _scrollRO?;
11
+ private _lastScrollH;
12
+ /**
13
+ * Observe the scroll container and derive --minute-height (+ all dependent
14
+ * tokens) so that exactly 12 hours fills the visible viewport.
15
+ *
16
+ * CSS custom properties resolve var() at the element where the property is
17
+ * SET, not where it's consumed. So overriding --minute-height alone on this
18
+ * element won't recalculate --hour-height or --day-total-height (those were
19
+ * already resolved at the lms-calendar host). We must override every
20
+ * derived token directly.
21
+ *
22
+ * Style writes are deferred to the next frame via requestAnimationFrame to
23
+ * avoid the "ResizeObserver loop completed with undelivered notifications"
24
+ * error that occurs when synchronous style changes trigger additional
25
+ * layout observations within the same frame.
26
+ */
27
+ firstUpdated(): void;
28
+ private _applyScrollHeight;
29
+ disconnectedCallback(): void;
7
30
  static styles: import("lit").CSSResult;
8
31
  private _renderIndicatorValue;
32
+ private _isCurrentDate;
33
+ private _getWeekday;
9
34
  render(): import("lit").TemplateResult<1>;
10
35
  }
11
36
  //# sourceMappingURL=Day.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Day.d.ts","sourceRoot":"","sources":["../../src/components/Day.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,MAAM,KAAK,CAAC;AAOrD,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,UAAU;IAEvC,MAAM,WAAyB;IAG/B,iBAAiB,UAAS;IAG1B,cAAc,SAAK;IAGnB,MAAM,SAAQ;IAEd,OAAgB,MAAM,0BA0GpB;IAEF,OAAO,CAAC,qBAAqB;IAIpB,MAAM;CAkDlB"}
1
+ {"version":3,"file":"Day.d.ts","sourceRoot":"","sources":["../../src/components/Day.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,MAAM,KAAK,CAAC;AAKrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGhE,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,UAAU;IAEvC,MAAM,WAAyB;IAG/B,iBAAiB,UAAS;IAG1B,cAAc,SAAK;IAGnB,MAAM,SAAQ;IAGd,UAAU,EAAE,YAAY,CAItB;IAGF,cAAc,EAAE,cAAc,CAAK;IAEnC,OAAO,CAAC,SAAS,CAAC,CAAiB;IACnC,OAAO,CAAC,YAAY,CAAK;IAEzB;;;;;;;;;;;;;;OAcG;IACM,YAAY;IAoBrB,OAAO,CAAC,kBAAkB;IAUjB,oBAAoB;IAK7B,OAAgB,MAAM,0BA0KpB;IAEF,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,WAAW;IAUV,MAAM;CAwDlB"}
@@ -21,13 +21,11 @@ export default class Entry extends LitElement {
21
21
  };
22
22
  locale: string;
23
23
  _highlighted?: boolean;
24
- _extended?: boolean;
25
24
  private _sumReducer;
26
25
  static styles: import("lit").CSSResult;
27
26
  private _renderTitle;
28
27
  private _renderTime;
29
28
  private _renderContent;
30
- private _shouldShowTime;
31
29
  private _getAriaLabel;
32
30
  updated(): void;
33
31
  render(): import("lit").TemplateResult<1>;
@@ -1 +1 @@
1
- {"version":3,"file":"Entry.d.ts","sourceRoot":"","sources":["../../src/components/Entry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,MAAM,KAAK,CAAC;AAMrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAE5D;;;;GAIG;AAEH,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,UAAU;IAEzC,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAG5B,OAAO,SAAM;IAGb,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,cAAc,UAAS;IAEK,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAGxD,OAAO,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM,CAAc;IAGtD,WAAW,EAAE,SAAS,GAAG,WAAW,CAAa;IAGjD,SAAS,UAAS;IAGlB,aAAa,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,QAAQ,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAGxE,MAAM,SAAQ;IAGd,YAAY,CAAC,EAAE,OAAO,CAAC;IAGvB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,OAAO,CAAC,WAAW,CAGa;IAEhC,OAAgB,MAAM,0BAsSpB;IAEF,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,WAAW;IAwBnB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,aAAa;IAWZ,OAAO;IAWP,MAAM;IAuDf,OAAO,CAAC,gBAAgB;;IA8BxB;;OAEG;IACI,cAAc;IAIrB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,kBAAkB;CAyC7B"}
1
+ {"version":3,"file":"Entry.d.ts","sourceRoot":"","sources":["../../src/components/Entry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,MAAM,KAAK,CAAC;AAMrD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAE5D;;;;GAIG;AAEH,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,UAAU;IAEzC,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAG5B,OAAO,SAAM;IAGb,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,cAAc,UAAS;IAEK,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAGxD,OAAO,EAAE,SAAS,GAAG,UAAU,GAAG,MAAM,CAAc;IAGtD,WAAW,EAAE,SAAS,GAAG,WAAW,CAAa;IAGjD,SAAS,UAAS;IAGlB,aAAa,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,QAAQ,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAGxE,MAAM,SAAQ;IAGd,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,OAAO,CAAC,WAAW,CAGa;IAEhC,OAAgB,MAAM,0BAuSpB;IAEF,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,WAAW;IAwCnB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,aAAa;IAWZ,OAAO;IAWP,MAAM;IAqDf,OAAO,CAAC,gBAAgB;;IA8BxB;;OAEG;IACI,cAAc;IAIrB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,kBAAkB;CAyC7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../src/components/Header.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAM5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAG9D,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,UAAU;IAE1C,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,UAAU,CAAC,EAAE,YAAY,CAAC;IAG1B,QAAQ,EAAE,QAAQ,CAAW;IAG7B,YAAY,CAAC,EAAE,YAAY,CAAC;IAG5B,MAAM,SAAQ;IAEd,OAAgB,MAAM,0BA2HpB;IAEF,OAAO,CAAC,YAAY;IAaX,MAAM;IAuFf,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,mBAAmB;CAc9B"}
1
+ {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../src/components/Header.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAM5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAG9D,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,UAAU;IAE1C,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,UAAU,CAAC,EAAE,YAAY,CAAC;IAG1B,QAAQ,EAAE,QAAQ,CAAW;IAG7B,YAAY,CAAC,EAAE,YAAY,CAAC;IAG5B,MAAM,SAAQ;IAEd,OAAgB,MAAM,0BA6HpB;IAEF,OAAO,CAAC,YAAY;IAaX,MAAM;IA0Ff,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,mBAAmB;CAc9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../src/components/Menu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,UAAU,EAAW,MAAM,KAAK,CAAC;AAMrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,UAAU,YAAY;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,qBACa,IAAK,SAAQ,UAAU;IACY,IAAI,UAAS;IAC7B,YAAY,EAAE,YAAY,CAIpD;IAC8B,UAAU,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,SAAQ;IAEjC,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,WAAW,CAAS;IAErC,OAAgB,MAAM,0BA6FpB;IAEO,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAc9C,OAAO,CAAC,cAAc,CAyBpB;IAEF,OAAO,CAAC,gBAAgB;IAwCxB,OAAO,CAAC,YAAY,CAGlB;IAEF,OAAO,CAAC,aAAa,CA8CnB;IAEF,OAAO,CAAC,WAAW;IAIV,MAAM;CAoDlB;AAED,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../src/components/Menu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,UAAU,EAAW,MAAM,KAAK,CAAC;AAMrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,UAAU,YAAY;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,qBACa,IAAK,SAAQ,UAAU;IACY,IAAI,UAAS;IAC7B,YAAY,EAAE,YAAY,CAIpD;IAC8B,UAAU,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,SAAQ;IAEjC,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,WAAW,CAAS;IAErC,OAAgB,MAAM,0BA6FpB;IAEO,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAc9C,OAAO,CAAC,cAAc,CA+BpB;IAEF,OAAO,CAAC,gBAAgB;IAwCxB,OAAO,CAAC,YAAY,CAGlB;IAEF,OAAO,CAAC,aAAa,CA+CnB;IAEF,OAAO,CAAC,WAAW;IAIV,MAAM;CAoDlB;AAED,eAAe,IAAI,CAAC"}
@@ -7,7 +7,8 @@ export default class Month extends LitElement {
7
7
  locale: string;
8
8
  static styles: import("lit").CSSResult;
9
9
  connectedCallback(): void;
10
- private _setupScrollDetection;
10
+ private _scrollRafId;
11
+ private _setupDelegatedScrollListener;
11
12
  private _isCurrentDate;
12
13
  private _renderIndicator;
13
14
  render(): import("lit").TemplateResult<1>;
@@ -1 +1 @@
1
- {"version":3,"file":"Month.d.ts","sourceRoot":"","sources":["../../src/components/Month.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAO5C,OAAO,EAAE,KAAK,cAAc,EAAqB,MAAM,2BAA2B,CAAC;AAGnF,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,UAAU;IACzC,OAAO,CAAC,WAAW,CAAc;IAGjC,UAAU,EAAE,YAAY,CAItB;IAGF,cAAc,EAAE,cAAc,CAAK;IAGnC,MAAM,SAAQ;IAEd,OAAgB,MAAM,0BA4EpB;IAEO,iBAAiB;IAuB1B,OAAO,CAAC,qBAAqB;IA6B7B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,gBAAgB;IAWf,MAAM;IAoBf,OAAO,CAAC,eAAe;IAyBvB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,2BAA2B;IAInC,OAAO,CAAC,uBAAuB;IAa/B,OAAO,CAAC,iBAAiB;CAuC5B"}
1
+ {"version":3,"file":"Month.d.ts","sourceRoot":"","sources":["../../src/components/Month.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAO5C,OAAO,EAAE,KAAK,cAAc,EAAqB,MAAM,2BAA2B,CAAC;AAGnF,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,UAAU;IACzC,OAAO,CAAC,WAAW,CAAc;IAGjC,UAAU,EAAE,YAAY,CAItB;IAGF,cAAc,EAAE,cAAc,CAAK;IAGnC,MAAM,SAAQ;IAEd,OAAgB,MAAM,0BA8EpB;IAEO,iBAAiB;IAwB1B,OAAO,CAAC,YAAY,CAAuB;IAE3C,OAAO,CAAC,6BAA6B;IAqBrC,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,gBAAgB;IAWf,MAAM;IAoBf,OAAO,CAAC,eAAe;IAyBvB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,2BAA2B;IAInC,OAAO,CAAC,uBAAuB;IAa/B,OAAO,CAAC,iBAAiB;CAuC5B"}
@@ -13,7 +13,6 @@ export default class Week extends LitElement {
13
13
  /** Number of visible day columns. */
14
14
  visibleLength: number;
15
15
  static styles: import("lit").CSSResult;
16
- connectedCallback(): void;
17
16
  private _getWeekDates;
18
17
  /** Return the dates to actually render (condensed subset or full week). */
19
18
  private _getDatesToRender;
@@ -22,6 +21,26 @@ export default class Week extends LitElement {
22
21
  private _isCurrentDate;
23
22
  /** Whether the view is condensed (showing fewer than 7 days). */
24
23
  private get _isCondensed();
24
+ private _scrollRO?;
25
+ private _lastScrollH;
26
+ /**
27
+ * Observe the scroll container and derive --minute-height (+ all dependent
28
+ * tokens) so that exactly 12 hours fills the visible viewport.
29
+ *
30
+ * CSS custom properties resolve var() at the element where the property is
31
+ * SET, not where it's consumed. So overriding --minute-height alone on this
32
+ * element won't recalculate --hour-height or --day-total-height (those were
33
+ * already resolved at the lms-calendar host). We must override every
34
+ * derived token directly.
35
+ *
36
+ * Style writes are deferred to the next frame via requestAnimationFrame to
37
+ * avoid the "ResizeObserver loop completed with undelivered notifications"
38
+ * error that occurs when synchronous style changes trigger additional
39
+ * layout observations within the same frame.
40
+ */
41
+ firstUpdated(): void;
42
+ private _applyScrollHeight;
43
+ disconnectedCallback(): void;
25
44
  render(): import("lit").TemplateResult<1>;
26
45
  private _renderIndicatorValue;
27
46
  private _handleDayLabelClick;
@@ -1 +1 @@
1
- {"version":3,"file":"Week.d.ts","sourceRoot":"","sources":["../../src/components/Week.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,MAAM,KAAK,CAAC;AAMrD,OAAO,EAAE,KAAK,cAAc,EAAiC,MAAM,2BAA2B,CAAC;AAC/F,OAAO,UAAU,CAAC;AAGlB,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,UAAU;IAExC,UAAU,EAAE,YAAY,CAItB;IAGF,cAAc,SAAK;IAGnB,cAAc,EAAE,cAAc,CAAK;IAGnC,MAAM,SAAQ;IAEd,mEAAmE;IAEnE,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC;IAE9B,6CAA6C;IAE7C,iBAAiB,SAAK;IAEtB,qCAAqC;IAErC,aAAa,SAAK;IAElB,OAAgB,MAAM,0BAqPpB;IAEO,iBAAiB;IAI1B,OAAO,CAAC,aAAa;IAIrB,2EAA2E;IAC3E,OAAO,CAAC,iBAAiB;IAIzB,iEAAiE;IACjE,OAAO,CAAC,uBAAuB;IAW/B,OAAO,CAAC,cAAc;IAStB,iEAAiE;IACjE,OAAO,KAAK,YAAY,GAEvB;IAEQ,MAAM;IAqHf,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,sBAAsB;IAO9B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAqB3B,OAAO,CAAC,kBAAkB;CAM7B"}
1
+ {"version":3,"file":"Week.d.ts","sourceRoot":"","sources":["../../src/components/Week.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,MAAM,KAAK,CAAC;AAMrD,OAAO,EAAE,KAAK,cAAc,EAAiC,MAAM,2BAA2B,CAAC;AAC/F,OAAO,UAAU,CAAC;AAGlB,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,UAAU;IAExC,UAAU,EAAE,YAAY,CAItB;IAGF,cAAc,SAAK;IAGnB,cAAc,EAAE,cAAc,CAAK;IAGnC,MAAM,SAAQ;IAEd,mEAAmE;IAEnE,YAAY,CAAC,EAAE,YAAY,EAAE,CAAC;IAE9B,6CAA6C;IAE7C,iBAAiB,SAAK;IAEtB,qCAAqC;IAErC,aAAa,SAAK;IAElB,OAAgB,MAAM,0BAmQpB;IAEF,OAAO,CAAC,aAAa;IAIrB,2EAA2E;IAC3E,OAAO,CAAC,iBAAiB;IAIzB,iEAAiE;IACjE,OAAO,CAAC,uBAAuB;IAW/B,OAAO,CAAC,cAAc;IAStB,iEAAiE;IACjE,OAAO,KAAK,YAAY,GAEvB;IAED,OAAO,CAAC,SAAS,CAAC,CAAiB;IACnC,OAAO,CAAC,YAAY,CAAK;IAEzB;;;;;;;;;;;;;;OAcG;IACM,YAAY;IAoBrB,OAAO,CAAC,kBAAkB;IAUjB,oBAAoB;IAKpB,MAAM;IAiHf,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,sBAAsB;IAO9B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAqB3B,OAAO,CAAC,kBAAkB;CAM7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"Year.d.ts","sourceRoot":"","sources":["../../src/components/Year.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,MAAM,KAAK,CAAC;AAOrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC;AACtD,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;AAGnD,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,UAAU;IAExC,UAAU,EAAE,YAAY,CAGnB;IAGL,cAAc,EAAE,cAAc,CAAK;IAGnC,MAAM,SAAQ;IAGd,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAG3C,WAAW,EAAE,WAAW,CAAW;IAGnC,WAAW,EAAE,WAAW,CAAS;IAEjC,OAAgB,MAAM,0BA+LpB;IAEO,MAAM;IA0Bf,OAAO,CAAC,gBAAgB;IAuFxB,OAAO,CAAC,cAAc;IAwCtB,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,iBAAiB;CAY5B"}
1
+ {"version":3,"file":"Year.d.ts","sourceRoot":"","sources":["../../src/components/Year.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,MAAM,KAAK,CAAC;AAOrD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,CAAC;AACtD,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;AAGnD,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,UAAU;IAExC,UAAU,EAAE,YAAY,CAGnB;IAGL,cAAc,EAAE,cAAc,CAAK;IAGnC,MAAM,SAAQ;IAGd,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM;IAG3C,WAAW,EAAE,WAAW,CAAW;IAGnC,WAAW,EAAE,WAAW,CAAS;IAEjC,OAAgB,MAAM,0BAuOpB;IAEO,MAAM;IA4Bf,OAAO,CAAC,gBAAgB;IAuFxB,OAAO,CAAC,cAAc;IAwCtB,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,iBAAiB;CAY5B"}