@taiga-ui/core 4.6.0 → 4.7.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 (60) hide show
  1. package/components/calendar/calendar-sheet.component.d.ts +3 -3
  2. package/components/calendar/calendar-year.component.d.ts +3 -6
  3. package/components/data-list/data-list.component.d.ts +2 -0
  4. package/components/textfield/select.directive.d.ts +4 -4
  5. package/components/textfield/textfield.component.d.ts +3 -1
  6. package/components/textfield/textfield.directive.d.ts +11 -8
  7. package/directives/appearance/appearance.bindings.d.ts +3 -0
  8. package/directives/appearance/appearance.directive.d.ts +4 -1
  9. package/directives/appearance/with-appearance.d.ts +1 -1
  10. package/directives/dropdown/dropdown-options.directive.d.ts +1 -1
  11. package/directives/hint/hint-describe.directive.d.ts +1 -0
  12. package/directives/hint/hint-options.directive.d.ts +1 -1
  13. package/esm2022/components/calendar/calendar-sheet.component.mjs +27 -29
  14. package/esm2022/components/calendar/calendar-year.component.mjs +20 -50
  15. package/esm2022/components/data-list/data-list.component.mjs +10 -4
  16. package/esm2022/components/root/root.component.mjs +8 -2
  17. package/esm2022/components/textfield/select.directive.mjs +2 -3
  18. package/esm2022/components/textfield/textfield.component.mjs +9 -5
  19. package/esm2022/components/textfield/textfield.directive.mjs +11 -7
  20. package/esm2022/directives/appearance/appearance.bindings.mjs +4 -1
  21. package/esm2022/directives/appearance/appearance.directive.mjs +12 -4
  22. package/esm2022/directives/appearance/with-appearance.mjs +3 -2
  23. package/esm2022/directives/dropdown/dropdown-options.directive.mjs +3 -2
  24. package/esm2022/directives/group/group.directive.mjs +2 -2
  25. package/esm2022/directives/hint/hint-describe.directive.mjs +5 -4
  26. package/esm2022/directives/hint/hint-options.directive.mjs +3 -2
  27. package/fesm2022/taiga-ui-core-components-calendar.mjs +44 -76
  28. package/fesm2022/taiga-ui-core-components-calendar.mjs.map +1 -1
  29. package/fesm2022/taiga-ui-core-components-data-list.mjs +9 -3
  30. package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
  31. package/fesm2022/taiga-ui-core-components-root.mjs +7 -1
  32. package/fesm2022/taiga-ui-core-components-root.mjs.map +1 -1
  33. package/fesm2022/taiga-ui-core-components-textfield.mjs +19 -12
  34. package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
  35. package/fesm2022/taiga-ui-core-directives-appearance.mjs +17 -5
  36. package/fesm2022/taiga-ui-core-directives-appearance.mjs.map +1 -1
  37. package/fesm2022/taiga-ui-core-directives-dropdown.mjs +2 -2
  38. package/fesm2022/taiga-ui-core-directives-dropdown.mjs.map +1 -1
  39. package/fesm2022/taiga-ui-core-directives-group.mjs +2 -2
  40. package/fesm2022/taiga-ui-core-directives-group.mjs.map +1 -1
  41. package/fesm2022/taiga-ui-core-directives-hint.mjs +5 -4
  42. package/fesm2022/taiga-ui-core-directives-hint.mjs.map +1 -1
  43. package/package.json +13 -13
  44. package/styles/components/appearance.less +1 -1
  45. package/styles/components/group.less +6 -5
  46. package/styles/components/textfield.less +14 -5
  47. package/styles/mixins/date-picker.less +152 -0
  48. package/styles/mixins/picker.less +1 -0
  49. package/styles/mixins/picker.scss +1 -0
  50. package/styles/taiga-ui-local.less +1 -0
  51. package/styles/theme/appearance/floating.less +2 -2
  52. package/styles/theme/appearance/glass.less +3 -3
  53. package/styles/theme/appearance/opposite.less +2 -2
  54. package/styles/theme/appearance/outline.less +6 -5
  55. package/styles/theme/appearance/primary.less +2 -1
  56. package/styles/theme/appearance/secondary.less +11 -6
  57. package/styles/theme/appearance/status.less +12 -6
  58. package/styles/theme/appearance/textfield.less +3 -3
  59. package/styles/theme/palette.less +58 -58
  60. package/styles/theme/wrapper.less +11 -9
@@ -1,3 +1,4 @@
1
+ import { Self } from '@angular/core';
1
2
  import { Directive, inject, Input, Optional, SkipSelf } from '@angular/core';
2
3
  import { tuiCreateToken, tuiProvide } from '@taiga-ui/cdk/utils/miscellaneous';
3
4
  import { tuiOverrideOptions } from '@taiga-ui/core/utils';
@@ -32,7 +33,7 @@ export const TUI_HINT_OPTIONS = tuiCreateToken(TUI_HINT_DEFAULT_OPTIONS);
32
33
  export const tuiHintOptionsProvider = (override) => ({
33
34
  provide: TUI_HINT_OPTIONS,
34
35
  deps: [
35
- [new Optional(), TuiHintOptionsDirective],
36
+ [new Optional(), new Self(), TuiHintOptionsDirective],
36
37
  [new Optional(), new SkipSelf(), TUI_HINT_OPTIONS],
37
38
  ],
38
39
  useFactory: tuiOverrideOptions(override, TUI_HINT_DEFAULT_OPTIONS),
@@ -80,4 +81,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
80
81
  type: Input,
81
82
  args: ['tuiHintHideDelay']
82
83
  }] } });
83
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludC1vcHRpb25zLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZGlyZWN0aXZlcy9oaW50L2hpbnQtb3B0aW9ucy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFDLGNBQWMsRUFBRSxVQUFVLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUV4RCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDOztBQWdCN0IsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQWdDO0lBQzVELGFBQWE7SUFDYixRQUFRO0lBQ1IsY0FBYztJQUNkLFVBQVU7SUFDVixLQUFLO0lBQ0wsV0FBVztJQUNYLFVBQVU7SUFDVixNQUFNO0lBQ04sYUFBYTtJQUNiLFdBQVc7SUFDWCxPQUFPO0lBQ1AsY0FBYztDQUNqQixDQUFDO0FBVUYsc0NBQXNDO0FBQ3RDLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFtQjtJQUNwRCxTQUFTLEVBQUUsYUFBYTtJQUN4QixTQUFTLEVBQUUsR0FBRztJQUNkLFNBQVMsRUFBRSxHQUFHO0lBQ2QsVUFBVSxFQUFFLEVBQUU7SUFDZCxJQUFJLEVBQUUsa0JBQWtCO0NBQzNCLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0FBRXpFLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUVaLENBQUMsUUFBaUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMzRCxPQUFPLEVBQUUsZ0JBQWdCO0lBQ3pCLElBQUksRUFBRTtRQUNGLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSx1QkFBdUIsQ0FBQztRQUN6QyxDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsSUFBSSxRQUFRLEVBQUUsRUFBRSxnQkFBZ0IsQ0FBQztLQUNyRDtJQUNELFVBQVUsRUFBRSxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsd0JBQXdCLENBQUM7Q0FDckUsQ0FBQyxDQUFDO0FBRUg7O0dBRUc7QUFDSCxNQUthLHVCQUF1QjtJQUxwQztRQU1xQixZQUFPLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7UUFNL0QsY0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBR25DLGVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQztRQUdyQyxjQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFHbkMsY0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBRW5DLFNBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztRQUVoQixZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztLQUtqRDtJQUhVLFdBQVc7UUFDZCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hCLENBQUM7K0dBeEJRLHVCQUF1QjttR0FBdkIsdUJBQXVCLDhTQUZyQixDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDOztTQUV6RCx1QkFBdUI7NEZBQXZCLHVCQUF1QjtrQkFMbkMsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsU0FBUyxFQUFFLENBQUMsVUFBVSxDQUFDLGdCQUFnQiwwQkFBMEIsQ0FBQztpQkFDckU7OEJBS1UsT0FBTztzQkFEYixLQUFLO3VCQUFDLGdCQUFnQjtnQkFJaEIsU0FBUztzQkFEZixLQUFLO3VCQUFDLGtCQUFrQjtnQkFJbEIsVUFBVTtzQkFEaEIsS0FBSzt1QkFBQyxtQkFBbUI7Z0JBSW5CLFNBQVM7c0JBRGYsS0FBSzt1QkFBQyxrQkFBa0I7Z0JBSWxCLFNBQVM7c0JBRGYsS0FBSzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7RmFjdG9yeVByb3ZpZGVyLCBPbkNoYW5nZXN9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEaXJlY3RpdmUsIGluamVjdCwgSW5wdXQsIE9wdGlvbmFsLCBTa2lwU2VsZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3R1aUNyZWF0ZVRva2VuLCB0dWlQcm92aWRlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHt0dWlPdmVycmlkZU9wdGlvbnN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzJztcbmltcG9ydCB0eXBlIHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCB0eXBlIFR1aUhpbnREaXJlY3Rpb24gPVxuICAgIHwgJ2JvdHRvbS1sZWZ0J1xuICAgIHwgJ2JvdHRvbS1yaWdodCdcbiAgICB8ICdib3R0b20nXG4gICAgfCAnbGVmdC1ib3R0b20nXG4gICAgfCAnbGVmdC10b3AnXG4gICAgfCAnbGVmdCdcbiAgICB8ICdyaWdodC1ib3R0b20nXG4gICAgfCAncmlnaHQtdG9wJ1xuICAgIHwgJ3JpZ2h0J1xuICAgIHwgJ3RvcC1sZWZ0J1xuICAgIHwgJ3RvcC1yaWdodCdcbiAgICB8ICd0b3AnO1xuXG5leHBvcnQgY29uc3QgVFVJX0hJTlRfRElSRUNUSU9OUzogcmVhZG9ubHkgVHVpSGludERpcmVjdGlvbltdID0gW1xuICAgICdib3R0b20tbGVmdCcsXG4gICAgJ2JvdHRvbScsXG4gICAgJ2JvdHRvbS1yaWdodCcsXG4gICAgJ3RvcC1sZWZ0JyxcbiAgICAndG9wJyxcbiAgICAndG9wLXJpZ2h0JyxcbiAgICAnbGVmdC10b3AnLFxuICAgICdsZWZ0JyxcbiAgICAnbGVmdC1ib3R0b20nLFxuICAgICdyaWdodC10b3AnLFxuICAgICdyaWdodCcsXG4gICAgJ3JpZ2h0LWJvdHRvbScsXG5dO1xuXG5leHBvcnQgaW50ZXJmYWNlIFR1aUhpbnRPcHRpb25zIHtcbiAgICByZWFkb25seSBhcHBlYXJhbmNlOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgZGlyZWN0aW9uOiBUdWlIaW50RGlyZWN0aW9uO1xuICAgIHJlYWRvbmx5IGhpZGVEZWxheTogbnVtYmVyO1xuICAgIHJlYWRvbmx5IGljb246IHN0cmluZztcbiAgICByZWFkb25seSBzaG93RGVsYXk6IG51bWJlcjtcbn1cblxuLyoqIERlZmF1bHQgdmFsdWVzIGZvciBoaW50IG9wdGlvbnMgKi9cbmV4cG9ydCBjb25zdCBUVUlfSElOVF9ERUZBVUxUX09QVElPTlM6IFR1aUhpbnRPcHRpb25zID0ge1xuICAgIGRpcmVjdGlvbjogJ2JvdHRvbS1sZWZ0JyxcbiAgICBzaG93RGVsYXk6IDUwMCxcbiAgICBoaWRlRGVsYXk6IDIwMCxcbiAgICBhcHBlYXJhbmNlOiAnJyxcbiAgICBpY29uOiAnQHR1aS5jaXJjbGUtaGVscCcsXG59O1xuXG4vKipcbiAqIERlZmF1bHQgcGFyYW1ldGVycyBmb3IgaGludCBkaXJlY3RpdmVcbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9ISU5UX09QVElPTlMgPSB0dWlDcmVhdGVUb2tlbihUVUlfSElOVF9ERUZBVUxUX09QVElPTlMpO1xuXG5leHBvcnQgY29uc3QgdHVpSGludE9wdGlvbnNQcm92aWRlcjogKFxuICAgIG9wdGlvbnM6IFBhcnRpYWw8VHVpSGludE9wdGlvbnM+LFxuKSA9PiBGYWN0b3J5UHJvdmlkZXIgPSAob3ZlcnJpZGU6IFBhcnRpYWw8VHVpSGludE9wdGlvbnM+KSA9PiAoe1xuICAgIHByb3ZpZGU6IFRVSV9ISU5UX09QVElPTlMsXG4gICAgZGVwczogW1xuICAgICAgICBbbmV3IE9wdGlvbmFsKCksIFR1aUhpbnRPcHRpb25zRGlyZWN0aXZlXSxcbiAgICAgICAgW25ldyBPcHRpb25hbCgpLCBuZXcgU2tpcFNlbGYoKSwgVFVJX0hJTlRfT1BUSU9OU10sXG4gICAgXSxcbiAgICB1c2VGYWN0b3J5OiB0dWlPdmVycmlkZU9wdGlvbnMob3ZlcnJpZGUsIFRVSV9ISU5UX0RFRkFVTFRfT1BUSU9OUyksXG59KTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZDogZHJvcCBpbiA1LjBcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ1t0dWlIaW50Q29udGVudF0nLFxuICAgIHByb3ZpZGVyczogW3R1aVByb3ZpZGUoVFVJX0hJTlRfT1BUSU9OUywgVHVpSGludE9wdGlvbnNEaXJlY3RpdmUpXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpSGludE9wdGlvbnNEaXJlY3RpdmUgaW1wbGVtZW50cyBUdWlIaW50T3B0aW9ucywgT25DaGFuZ2VzIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnMgPSBpbmplY3QoVFVJX0hJTlRfT1BUSU9OUywge3NraXBTZWxmOiB0cnVlfSk7XG5cbiAgICBASW5wdXQoJ3R1aUhpbnRDb250ZW50JylcbiAgICBwdWJsaWMgY29udGVudDogUG9seW1vcnBoZXVzQ29udGVudDtcblxuICAgIEBJbnB1dCgndHVpSGludERpcmVjdGlvbicpXG4gICAgcHVibGljIGRpcmVjdGlvbiA9IHRoaXMub3B0aW9ucy5kaXJlY3Rpb247XG5cbiAgICBASW5wdXQoJ3R1aUhpbnRBcHBlYXJhbmNlJylcbiAgICBwdWJsaWMgYXBwZWFyYW5jZSA9IHRoaXMub3B0aW9ucy5hcHBlYXJhbmNlO1xuXG4gICAgQElucHV0KCd0dWlIaW50U2hvd0RlbGF5JylcbiAgICBwdWJsaWMgc2hvd0RlbGF5ID0gdGhpcy5vcHRpb25zLnNob3dEZWxheTtcblxuICAgIEBJbnB1dCgndHVpSGludEhpZGVEZWxheScpXG4gICAgcHVibGljIGhpZGVEZWxheSA9IHRoaXMub3B0aW9ucy5oaWRlRGVsYXk7XG5cbiAgICBwdWJsaWMgaWNvbiA9IHRoaXMub3B0aW9ucy5pY29uO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IGNoYW5nZSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoYW5nZSQubmV4dCgpO1xuICAgIH1cbn1cbiJdfQ==
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludC1vcHRpb25zLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvZGlyZWN0aXZlcy9oaW50L2hpbnQtb3B0aW9ucy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QyxJQUFJLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFDLGNBQWMsRUFBRSxVQUFVLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUV4RCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDOztBQWdCN0IsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQWdDO0lBQzVELGFBQWE7SUFDYixRQUFRO0lBQ1IsY0FBYztJQUNkLFVBQVU7SUFDVixLQUFLO0lBQ0wsV0FBVztJQUNYLFVBQVU7SUFDVixNQUFNO0lBQ04sYUFBYTtJQUNiLFdBQVc7SUFDWCxPQUFPO0lBQ1AsY0FBYztDQUNqQixDQUFDO0FBVUYsc0NBQXNDO0FBQ3RDLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFtQjtJQUNwRCxTQUFTLEVBQUUsYUFBYTtJQUN4QixTQUFTLEVBQUUsR0FBRztJQUNkLFNBQVMsRUFBRSxHQUFHO0lBQ2QsVUFBVSxFQUFFLEVBQUU7SUFDZCxJQUFJLEVBQUUsa0JBQWtCO0NBQzNCLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGNBQWMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO0FBRXpFLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUVaLENBQUMsUUFBaUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMzRCxPQUFPLEVBQUUsZ0JBQWdCO0lBQ3pCLElBQUksRUFBRTtRQUNGLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxJQUFJLElBQUksRUFBRSxFQUFFLHVCQUF1QixDQUFDO1FBQ3JELENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxJQUFJLFFBQVEsRUFBRSxFQUFFLGdCQUFnQixDQUFDO0tBQ3JEO0lBQ0QsVUFBVSxFQUFFLGtCQUFrQixDQUFDLFFBQVEsRUFBRSx3QkFBd0IsQ0FBQztDQUNyRSxDQUFDLENBQUM7QUFFSDs7R0FFRztBQUNILE1BS2EsdUJBQXVCO0lBTHBDO1FBTXFCLFlBQU8sR0FBRyxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQU0vRCxjQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFHbkMsZUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO1FBR3JDLGNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUduQyxjQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFFbkMsU0FBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBRWhCLFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0tBS2pEO0lBSFUsV0FBVztRQUNkLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEIsQ0FBQzsrR0F4QlEsdUJBQXVCO21HQUF2Qix1QkFBdUIsOFNBRnJCLENBQUMsVUFBVSxDQUFDLGdCQUFnQixFQUFFLHVCQUF1QixDQUFDLENBQUM7O1NBRXpELHVCQUF1Qjs0RkFBdkIsdUJBQXVCO2tCQUxuQyxTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixTQUFTLEVBQUUsQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLDBCQUEwQixDQUFDO2lCQUNyRTs4QkFLVSxPQUFPO3NCQURiLEtBQUs7dUJBQUMsZ0JBQWdCO2dCQUloQixTQUFTO3NCQURmLEtBQUs7dUJBQUMsa0JBQWtCO2dCQUlsQixVQUFVO3NCQURoQixLQUFLO3VCQUFDLG1CQUFtQjtnQkFJbkIsU0FBUztzQkFEZixLQUFLO3VCQUFDLGtCQUFrQjtnQkFJbEIsU0FBUztzQkFEZixLQUFLO3VCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7dHlwZSBGYWN0b3J5UHJvdmlkZXIsIHR5cGUgT25DaGFuZ2VzLCBTZWxmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7RGlyZWN0aXZlLCBpbmplY3QsIElucHV0LCBPcHRpb25hbCwgU2tpcFNlbGZ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0dWlDcmVhdGVUb2tlbiwgdHVpUHJvdmlkZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7dHVpT3ZlcnJpZGVPcHRpb25zfSBmcm9tICdAdGFpZ2EtdWkvY29yZS91dGlscyc7XG5pbXBvcnQgdHlwZSB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQge1N1YmplY3R9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgdHlwZSBUdWlIaW50RGlyZWN0aW9uID1cbiAgICB8ICdib3R0b20tbGVmdCdcbiAgICB8ICdib3R0b20tcmlnaHQnXG4gICAgfCAnYm90dG9tJ1xuICAgIHwgJ2xlZnQtYm90dG9tJ1xuICAgIHwgJ2xlZnQtdG9wJ1xuICAgIHwgJ2xlZnQnXG4gICAgfCAncmlnaHQtYm90dG9tJ1xuICAgIHwgJ3JpZ2h0LXRvcCdcbiAgICB8ICdyaWdodCdcbiAgICB8ICd0b3AtbGVmdCdcbiAgICB8ICd0b3AtcmlnaHQnXG4gICAgfCAndG9wJztcblxuZXhwb3J0IGNvbnN0IFRVSV9ISU5UX0RJUkVDVElPTlM6IHJlYWRvbmx5IFR1aUhpbnREaXJlY3Rpb25bXSA9IFtcbiAgICAnYm90dG9tLWxlZnQnLFxuICAgICdib3R0b20nLFxuICAgICdib3R0b20tcmlnaHQnLFxuICAgICd0b3AtbGVmdCcsXG4gICAgJ3RvcCcsXG4gICAgJ3RvcC1yaWdodCcsXG4gICAgJ2xlZnQtdG9wJyxcbiAgICAnbGVmdCcsXG4gICAgJ2xlZnQtYm90dG9tJyxcbiAgICAncmlnaHQtdG9wJyxcbiAgICAncmlnaHQnLFxuICAgICdyaWdodC1ib3R0b20nLFxuXTtcblxuZXhwb3J0IGludGVyZmFjZSBUdWlIaW50T3B0aW9ucyB7XG4gICAgcmVhZG9ubHkgYXBwZWFyYW5jZTogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGRpcmVjdGlvbjogVHVpSGludERpcmVjdGlvbjtcbiAgICByZWFkb25seSBoaWRlRGVsYXk6IG51bWJlcjtcbiAgICByZWFkb25seSBpY29uOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgc2hvd0RlbGF5OiBudW1iZXI7XG59XG5cbi8qKiBEZWZhdWx0IHZhbHVlcyBmb3IgaGludCBvcHRpb25zICovXG5leHBvcnQgY29uc3QgVFVJX0hJTlRfREVGQVVMVF9PUFRJT05TOiBUdWlIaW50T3B0aW9ucyA9IHtcbiAgICBkaXJlY3Rpb246ICdib3R0b20tbGVmdCcsXG4gICAgc2hvd0RlbGF5OiA1MDAsXG4gICAgaGlkZURlbGF5OiAyMDAsXG4gICAgYXBwZWFyYW5jZTogJycsXG4gICAgaWNvbjogJ0B0dWkuY2lyY2xlLWhlbHAnLFxufTtcblxuLyoqXG4gKiBEZWZhdWx0IHBhcmFtZXRlcnMgZm9yIGhpbnQgZGlyZWN0aXZlXG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfSElOVF9PUFRJT05TID0gdHVpQ3JlYXRlVG9rZW4oVFVJX0hJTlRfREVGQVVMVF9PUFRJT05TKTtcblxuZXhwb3J0IGNvbnN0IHR1aUhpbnRPcHRpb25zUHJvdmlkZXI6IChcbiAgICBvcHRpb25zOiBQYXJ0aWFsPFR1aUhpbnRPcHRpb25zPixcbikgPT4gRmFjdG9yeVByb3ZpZGVyID0gKG92ZXJyaWRlOiBQYXJ0aWFsPFR1aUhpbnRPcHRpb25zPikgPT4gKHtcbiAgICBwcm92aWRlOiBUVUlfSElOVF9PUFRJT05TLFxuICAgIGRlcHM6IFtcbiAgICAgICAgW25ldyBPcHRpb25hbCgpLCBuZXcgU2VsZigpLCBUdWlIaW50T3B0aW9uc0RpcmVjdGl2ZV0sXG4gICAgICAgIFtuZXcgT3B0aW9uYWwoKSwgbmV3IFNraXBTZWxmKCksIFRVSV9ISU5UX09QVElPTlNdLFxuICAgIF0sXG4gICAgdXNlRmFjdG9yeTogdHVpT3ZlcnJpZGVPcHRpb25zKG92ZXJyaWRlLCBUVUlfSElOVF9ERUZBVUxUX09QVElPTlMpLFxufSk7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQ6IGRyb3AgaW4gNS4wXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdbdHVpSGludENvbnRlbnRdJyxcbiAgICBwcm92aWRlcnM6IFt0dWlQcm92aWRlKFRVSV9ISU5UX09QVElPTlMsIFR1aUhpbnRPcHRpb25zRGlyZWN0aXZlKV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUhpbnRPcHRpb25zRGlyZWN0aXZlIGltcGxlbWVudHMgVHVpSGludE9wdGlvbnMsIE9uQ2hhbmdlcyB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zID0gaW5qZWN0KFRVSV9ISU5UX09QVElPTlMsIHtza2lwU2VsZjogdHJ1ZX0pO1xuXG4gICAgQElucHV0KCd0dWlIaW50Q29udGVudCcpXG4gICAgcHVibGljIGNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ7XG5cbiAgICBASW5wdXQoJ3R1aUhpbnREaXJlY3Rpb24nKVxuICAgIHB1YmxpYyBkaXJlY3Rpb24gPSB0aGlzLm9wdGlvbnMuZGlyZWN0aW9uO1xuXG4gICAgQElucHV0KCd0dWlIaW50QXBwZWFyYW5jZScpXG4gICAgcHVibGljIGFwcGVhcmFuY2UgPSB0aGlzLm9wdGlvbnMuYXBwZWFyYW5jZTtcblxuICAgIEBJbnB1dCgndHVpSGludFNob3dEZWxheScpXG4gICAgcHVibGljIHNob3dEZWxheSA9IHRoaXMub3B0aW9ucy5zaG93RGVsYXk7XG5cbiAgICBASW5wdXQoJ3R1aUhpbnRIaWRlRGVsYXknKVxuICAgIHB1YmxpYyBoaWRlRGVsYXkgPSB0aGlzLm9wdGlvbnMuaGlkZURlbGF5O1xuXG4gICAgcHVibGljIGljb24gPSB0aGlzLm9wdGlvbnMuaWNvbjtcblxuICAgIHB1YmxpYyByZWFkb25seSBjaGFuZ2UkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHB1YmxpYyBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jaGFuZ2UkLm5leHQoKTtcbiAgICB9XG59XG4iXX0=
@@ -5,8 +5,9 @@ import { inject, EventEmitter, Component, ChangeDetectionStrategy, Input, Output
5
5
  import { TUI_FALSE_HANDLER } from '@taiga-ui/cdk/constants';
6
6
  import { TuiDay, TuiMonth, TuiDayRange, TUI_FIRST_DAY, TUI_LAST_DAY, MIN_YEAR, MAX_YEAR, TuiYear, TuiMonthRange } from '@taiga-ui/cdk/date-time';
7
7
  import { TuiMapperPipe } from '@taiga-ui/cdk/pipes/mapper';
8
- import { tuiNullableSame, tuiIsNumber } from '@taiga-ui/cdk/utils/miscellaneous';
8
+ import { tuiNullableSame, tuiPure, tuiIsNumber } from '@taiga-ui/cdk/utils/miscellaneous';
9
9
  import { TuiScrollIntoView, TuiScrollbar } from '@taiga-ui/core/components/scrollbar';
10
+ import { __decorate } from 'tslib';
10
11
  import { TuiHovered } from '@taiga-ui/cdk/directives/hovered';
11
12
  import { TuiLet } from '@taiga-ui/cdk/directives/let';
12
13
  import { TuiRepeatTimes } from '@taiga-ui/cdk/directives/repeat-times';
@@ -14,7 +15,6 @@ import { TuiCalendarSheetPipe, TuiOrderWeekDaysPipe, TuiMonthPipe } from '@taiga
14
15
  import { TUI_SHORT_WEEK_DAYS, TUI_DAY_TYPE_HANDLER } from '@taiga-ui/core/tokens';
15
16
  import { TuiLink } from '@taiga-ui/core/components/link';
16
17
  import { TuiSpinButton } from '@taiga-ui/core/components/spin-button';
17
- import { tuiInRange } from '@taiga-ui/cdk/utils/math';
18
18
 
19
19
  class TuiCalendarSheet {
20
20
  constructor() {
@@ -29,8 +29,8 @@ class TuiCalendarSheet {
29
29
  this.showAdjacent = true;
30
30
  this.hoveredItemChange = new EventEmitter();
31
31
  this.dayClick = new EventEmitter();
32
- this.toMarkers = (day, today, inRange, markerHandler) => {
33
- if (today || inRange) {
32
+ this.toMarkers = (day, today, range, markerHandler) => {
33
+ if (today || ['active', 'end', 'start'].includes(range || '')) {
34
34
  return null;
35
35
  }
36
36
  const markers = markerHandler?.(day);
@@ -56,34 +56,23 @@ class TuiCalendarSheet {
56
56
  }
57
57
  getItemRange(item) {
58
58
  const { value, hoveredItem } = this;
59
- if (!value) {
60
- return null;
61
- }
62
59
  if (value instanceof TuiDay) {
63
- return value.daySame(item) ? 'single' : null;
60
+ return value.daySame(item) ? 'active' : null;
64
61
  }
65
- if (!(value instanceof TuiDayRange)) {
66
- return value.find((day) => day.daySame(item)) ? 'single' : null;
62
+ if (!value || !(value instanceof TuiDayRange)) {
63
+ return value?.find((day) => day.daySame(item)) ? 'active' : null;
67
64
  }
68
- if ((value.from.daySame(item) && !value.isSingleDay) ||
69
- (hoveredItem?.dayAfter(value.from) &&
70
- value.from.daySame(item) &&
71
- value.isSingleDay) ||
72
- (hoveredItem?.daySame(item) &&
73
- hoveredItem.dayBefore(value.from) &&
74
- value.isSingleDay)) {
65
+ const range = this.getRange(value, hoveredItem);
66
+ if (value.isSingleDay && range.isSingleDay && value.from.daySame(item)) {
67
+ return 'active';
68
+ }
69
+ if (range.from.daySame(item)) {
75
70
  return 'start';
76
71
  }
77
- if ((value.to.daySame(item) && !value.isSingleDay) ||
78
- (hoveredItem?.dayBefore(value.from) &&
79
- value.from.daySame(item) &&
80
- value.isSingleDay) ||
81
- (hoveredItem?.daySame(item) &&
82
- hoveredItem.dayAfter(value.from) &&
83
- value.isSingleDay)) {
72
+ if (range.to.daySame(item)) {
84
73
  return 'end';
85
74
  }
86
- return value.isSingleDay && value.from.daySame(item) ? 'single' : null;
75
+ return range.from.dayBefore(item) && range.to.dayAfter(item) ? 'middle' : null;
87
76
  }
88
77
  get isSingleDayRange() {
89
78
  return this.value instanceof TuiDayRange && this.value.isSingleDay;
@@ -97,6 +86,11 @@ class TuiCalendarSheet {
97
86
  onItemClick(item) {
98
87
  this.dayClick.emit(item);
99
88
  }
89
+ getRange(value, hoveredItem) {
90
+ return value.isSingleDay
91
+ ? TuiDayRange.sort(value.from, hoveredItem ?? value.to)
92
+ : value;
93
+ }
100
94
  updateHoveredItem(day) {
101
95
  if (tuiNullableSame(this.hoveredItem, day, (a, b) => a.daySame(b))) {
102
96
  return;
@@ -105,8 +99,11 @@ class TuiCalendarSheet {
105
99
  this.hoveredItemChange.emit(day);
106
100
  }
107
101
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiCalendarSheet, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
108
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiCalendarSheet, isStandalone: true, selector: "tui-calendar-sheet", inputs: { month: "month", disabledItemHandler: "disabledItemHandler", markerHandler: "markerHandler", value: "value", hoveredItem: "hoveredItem", showAdjacent: "showAdjacent" }, outputs: { hoveredItemChange: "hoveredItemChange", dayClick: "dayClick" }, host: { properties: { "class._single": "isSingleDayRange" } }, ngImport: i0, template: "<div class=\"t-row t-row_weekday\">\n <div\n *ngFor=\"let day of unorderedWeekDays$ | tuiOrderWeekDays | async\"\n class=\"t-cell\"\n [textContent]=\"day\"\n ></div>\n</div>\n<div *tuiLet=\"month | tuiCalendarSheet: true as sheet\">\n <div\n *tuiRepeatTimes=\"let rowIndex of sheet.length\"\n automation-id=\"tui-calendar-sheet__row\"\n class=\"t-row\"\n >\n <ng-container *tuiRepeatTimes=\"let colIndex of sheet[rowIndex]?.length || 0\">\n <ng-container *tuiLet=\"sheet[rowIndex]?.[colIndex] as item\">\n <div\n *ngIf=\"item && (!itemIsUnavailable(item) || showAdjacent)\"\n automation-id=\"tui-calendar-sheet__cell\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [class.t-cell_disabled]=\"disabledItemHandler(item)\"\n [class.t-cell_interval]=\"itemIsInterval(item)\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [class.t-cell_unavailable]=\"itemIsUnavailable(item)\"\n (click)=\"onItemClick(item)\"\n (tuiHoveredChange)=\"onItemHovered($event && item)\"\n >\n <div\n automation-id=\"tui-calendar-sheet__item\"\n class=\"t-item\"\n [attr.data-type]=\"item | tuiMapper: dayTypeHandler\"\n [class.t-item_unavailable]=\"itemIsUnavailable(item)\"\n >\n {{ item.day }}\n <div\n *ngIf=\"\n item\n | tuiMapper\n : toMarkers\n : itemIsToday(item)\n : !!getItemRange(item)\n : markerHandler as markers\n \"\n class=\"t-dots\"\n >\n <div\n class=\"t-dot\"\n [style.background]=\"markers?.[0]\"\n ></div>\n <div\n *ngIf=\"markers.length > 1\"\n class=\"t-dot\"\n [style.background]=\"markers?.[1] || ''\"\n ></div>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</div>\n", styles: [":host{display:block;font:var(--tui-font-text-m)}.t-row{position:relative;display:flex;justify-content:space-between;block-size:2.25rem;isolation:isolate}.t-item{position:relative;flex:1;line-height:2rem;border-radius:var(--tui-radius-m)}.t-item:before,.t-item:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";z-index:-1;border-radius:var(--tui-radius-m)}.t-item:after{border-radius:.5rem}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;inline-size:2.25rem;text-align:center;outline:none;cursor:pointer;background-clip:content-box;box-sizing:border-box;border:.125rem solid transparent}.t-cell:before{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.t-cell_today:after{position:absolute;left:50%;transform:translate(-50%);content:\"\";bottom:.3125rem;block-size:.125rem;inline-size:.75rem;border-radius:.375rem;background:var(--tui-text-primary)}.t-cell_interval:before{background:var(--tui-background-base-alt)}:host._single .t-cell_interval:before{background:var(--tui-background-neutral-1-hover)}.t-cell_interval:not(:last-child):before{right:-.1875rem;border-start-end-radius:0;border-end-end-radius:0}.t-cell_interval:not([data-range=start]):not(:first-child):before{border-start-start-radius:0;border-end-start-radius:0}.t-cell_interval:last-child:first-child:before{right:0}.t-cell_interval:first-child>.t-item{border-start-start-radius:var(--tui-radius-m);border-end-start-radius:var(--tui-radius-m)}.t-cell_interval:last-child>.t-item{border-start-end-radius:var(--tui-radius-m);border-end-end-radius:var(--tui-radius-m)}.t-cell_interval>.t-item{border-radius:0}.t-cell[data-range]:after{background:var(--tui-text-primary-on-accent-1)}.t-cell[data-range]>.t-item{color:var(--tui-text-primary-on-accent-1)}.t-cell[data-range]>.t-item:before,.t-cell[data-range]>.t-item:after{background:var(--tui-background-accent-1)}.t-cell[data-range]:hover>.t-item:before,.t-cell[data-range]:hover>.t-item:after{background:var(--tui-background-accent-1-hover)}.t-cell[data-range]:active>.t-item:before,.t-cell[data-range]:active>.t-item:after{background:var(--tui-background-accent-1-pressed)}.t-cell[data-range=end]:before{background:var(--tui-background-base-alt)}:host._single .t-cell[data-range=end]:before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=end]:not(:first-child):before{border-start-start-radius:0;border-end-start-radius:0}.t-cell[data-range=end]>.t-item:before{left:.625rem;border-start-start-radius:0;border-end-start-radius:0}.t-cell[data-range=end]>.t-item:after{left:-2rem;right:100%;transform:translate(1.6rem) scaleY(.83) scaleX(.5) rotate(45deg)}.t-cell[data-range=start]>.t-item:before{right:.625rem;border-start-end-radius:0;border-end-end-radius:0}.t-cell[data-range=start]>.t-item:after{left:100%;right:-2rem;transform:translate(-1.6rem) scaleY(.83) scaleX(.5) rotate(45deg)}.t-cell[data-range=single]>.t-item:after{display:none}.t-cell_disabled{pointer-events:none}.t-cell_disabled>.t-item{opacity:.36}.t-cell:hover:not([data-range])>.t-item{background:var(--tui-background-neutral-1-hover)}.t-cell:active:not([data-range])>.t-item{background:var(--tui-background-neutral-1-pressed)}:host{inline-size:15.75rem}[data-type=weekday]{color:var(--tui-text-primary)}[data-type=weekend]{color:var(--tui-text-negative)}.t-row{justify-content:flex-start}.t-row:first-child{justify-content:flex-end}.t-row_weekday{font:var(--tui-font-text-s);color:var(--tui-text-secondary);pointer-events:none}.t-item{display:flex;flex-direction:column}.t-item_unavailable{opacity:var(--tui-disabled-opacity)}.t-dots{display:flex;justify-content:center;margin-top:-.5rem;padding-bottom:.25rem}.t-dot{display:inline-block;inline-size:.25rem;block-size:.25rem;border-radius:100%;margin:0 .0625rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: TuiCalendarSheetPipe, name: "tuiCalendarSheet" }, { kind: "directive", type: TuiHovered, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { kind: "directive", type: TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "pipe", type: TuiMapperPipe, name: "tuiMapper" }, { kind: "pipe", type: TuiOrderWeekDaysPipe, name: "tuiOrderWeekDays" }, { kind: "directive", type: TuiRepeatTimes, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
102
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiCalendarSheet, isStandalone: true, selector: "tui-calendar-sheet", inputs: { month: "month", disabledItemHandler: "disabledItemHandler", markerHandler: "markerHandler", value: "value", hoveredItem: "hoveredItem", showAdjacent: "showAdjacent" }, outputs: { hoveredItemChange: "hoveredItemChange", dayClick: "dayClick" }, host: { properties: { "class._picking": "isSingleDayRange" } }, ngImport: i0, template: "<div class=\"t-row t-row_weekday\">\n <div\n *ngFor=\"let day of unorderedWeekDays$ | tuiOrderWeekDays | async\"\n class=\"t-cell\"\n [textContent]=\"day\"\n ></div>\n</div>\n<div *tuiLet=\"month | tuiCalendarSheet: true as sheet\">\n <div\n *tuiRepeatTimes=\"let rowIndex of sheet.length\"\n automation-id=\"tui-calendar-sheet__row\"\n class=\"t-row\"\n >\n <ng-container *tuiRepeatTimes=\"let colIndex of sheet[rowIndex]?.length || 0\">\n <ng-container *tuiLet=\"sheet[rowIndex]?.[colIndex] as item\">\n <div\n *ngIf=\"item && (!itemIsUnavailable(item) || showAdjacent)\"\n automation-id=\"tui-calendar-sheet__cell\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [attr.data-type]=\"item | tuiMapper: dayTypeHandler\"\n [class.t-cell_disabled]=\"disabledItemHandler(item)\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [class.t-cell_unavailable]=\"itemIsUnavailable(item)\"\n (click)=\"onItemClick(item)\"\n (tuiHoveredChange)=\"onItemHovered($event && item)\"\n >\n {{ item.day }}\n <div\n *ngIf=\"\n item\n | tuiMapper\n : toMarkers\n : itemIsToday(item)\n : getItemRange(item)\n : markerHandler as markers\n \"\n class=\"t-dots\"\n >\n <div\n class=\"t-dot\"\n [style.background]=\"markers?.[0]\"\n ></div>\n <div\n *ngIf=\"markers.length > 1\"\n class=\"t-dot\"\n [style.background]=\"markers?.[1] || ''\"\n ></div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</div>\n", styles: [".t-row{display:flex;justify-content:flex-start;font:var(--tui-font-text-m)}.t-row:last-child{justify-content:flex-start}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;line-height:2rem;isolation:isolate;cursor:pointer;overflow:hidden;border:.125rem solid transparent;box-sizing:border-box;-webkit-mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem));mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem))}.t-cell:first-child{border-inline-start-color:transparent!important}.t-cell:last-child{border-inline-end-color:transparent!important}.t-cell:before,.t-cell:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";z-index:-1;border-radius:var(--tui-radius-m)}.t-cell:after{-webkit-mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat;mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat}.t-cell[data-range]:before{background:var(--tui-background-base-alt)}:host._picking .t-cell[data-range]:before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]{border-color:var(--tui-background-base-alt)}:host._picking .t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]:not(:first-child):before{border-start-start-radius:0;border-end-start-radius:0}.t-cell[data-range=middle]:not(:last-child):before{border-start-end-radius:0;border-end-end-radius:0}.t-cell[data-range=start]{border-inline-end-color:var(--tui-background-base-alt);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:not(:last-child):before{right:-1rem}.t-cell[data-range=start]:after{background:var(--tui-background-accent-1)}.t-cell[data-range=end]{border-inline-start-color:var(--tui-background-base-alt);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=end]:not(:first-child):before{left:-1rem}.t-cell[data-range=end]:after{background:var(--tui-background-accent-1);transform:scaleX(-1)}.t-cell[data-range=active]{color:var(--tui-text-primary-on-accent-1)}.t-cell[data-range=active]:after{background:var(--tui-background-accent-1);-webkit-mask:none;mask:none}.t-cell_disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}.t-cell_today{text-decoration:underline;text-underline-offset:.25rem}@media (hover: hover){.t-cell:hover:not([data-range=start]):not([data-range=end]):before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:hover:after,.t-cell[data-range=end]:hover:after,.t-cell[data-range=active]:hover:after{background:var(--tui-background-accent-1-hover)}}.t-cell{inline-size:2.25rem}[data-type=weekday]{color:var(--tui-text-primary)}[data-type=weekend]{color:var(--tui-text-negative)}.t-row{justify-content:flex-start}.t-row:first-child{justify-content:flex-end}.t-row_weekday{font:var(--tui-font-text-s);color:var(--tui-text-secondary);pointer-events:none}.t-cell_unavailable{opacity:var(--tui-disabled-opacity)}.t-dots{position:absolute;bottom:0;display:flex;justify-content:center;margin-top:-.5rem;padding-bottom:.25rem}.t-dot{display:inline-block;inline-size:.25rem;block-size:.25rem;border-radius:100%;margin:0 .0625rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: TuiCalendarSheetPipe, name: "tuiCalendarSheet" }, { kind: "directive", type: TuiHovered, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { kind: "directive", type: TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "pipe", type: TuiMapperPipe, name: "tuiMapper" }, { kind: "pipe", type: TuiOrderWeekDaysPipe, name: "tuiOrderWeekDays" }, { kind: "directive", type: TuiRepeatTimes, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
109
103
  }
104
+ __decorate([
105
+ tuiPure
106
+ ], TuiCalendarSheet.prototype, "getRange", null);
110
107
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiCalendarSheet, decorators: [{
111
108
  type: Component,
112
109
  args: [{ standalone: true, selector: 'tui-calendar-sheet', imports: [
@@ -118,8 +115,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
118
115
  TuiOrderWeekDaysPipe,
119
116
  TuiRepeatTimes,
120
117
  ], changeDetection: ChangeDetectionStrategy.OnPush, host: {
121
- '[class._single]': 'isSingleDayRange',
122
- }, template: "<div class=\"t-row t-row_weekday\">\n <div\n *ngFor=\"let day of unorderedWeekDays$ | tuiOrderWeekDays | async\"\n class=\"t-cell\"\n [textContent]=\"day\"\n ></div>\n</div>\n<div *tuiLet=\"month | tuiCalendarSheet: true as sheet\">\n <div\n *tuiRepeatTimes=\"let rowIndex of sheet.length\"\n automation-id=\"tui-calendar-sheet__row\"\n class=\"t-row\"\n >\n <ng-container *tuiRepeatTimes=\"let colIndex of sheet[rowIndex]?.length || 0\">\n <ng-container *tuiLet=\"sheet[rowIndex]?.[colIndex] as item\">\n <div\n *ngIf=\"item && (!itemIsUnavailable(item) || showAdjacent)\"\n automation-id=\"tui-calendar-sheet__cell\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [class.t-cell_disabled]=\"disabledItemHandler(item)\"\n [class.t-cell_interval]=\"itemIsInterval(item)\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [class.t-cell_unavailable]=\"itemIsUnavailable(item)\"\n (click)=\"onItemClick(item)\"\n (tuiHoveredChange)=\"onItemHovered($event && item)\"\n >\n <div\n automation-id=\"tui-calendar-sheet__item\"\n class=\"t-item\"\n [attr.data-type]=\"item | tuiMapper: dayTypeHandler\"\n [class.t-item_unavailable]=\"itemIsUnavailable(item)\"\n >\n {{ item.day }}\n <div\n *ngIf=\"\n item\n | tuiMapper\n : toMarkers\n : itemIsToday(item)\n : !!getItemRange(item)\n : markerHandler as markers\n \"\n class=\"t-dots\"\n >\n <div\n class=\"t-dot\"\n [style.background]=\"markers?.[0]\"\n ></div>\n <div\n *ngIf=\"markers.length > 1\"\n class=\"t-dot\"\n [style.background]=\"markers?.[1] || ''\"\n ></div>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</div>\n", styles: [":host{display:block;font:var(--tui-font-text-m)}.t-row{position:relative;display:flex;justify-content:space-between;block-size:2.25rem;isolation:isolate}.t-item{position:relative;flex:1;line-height:2rem;border-radius:var(--tui-radius-m)}.t-item:before,.t-item:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";z-index:-1;border-radius:var(--tui-radius-m)}.t-item:after{border-radius:.5rem}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;inline-size:2.25rem;text-align:center;outline:none;cursor:pointer;background-clip:content-box;box-sizing:border-box;border:.125rem solid transparent}.t-cell:before{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.t-cell_today:after{position:absolute;left:50%;transform:translate(-50%);content:\"\";bottom:.3125rem;block-size:.125rem;inline-size:.75rem;border-radius:.375rem;background:var(--tui-text-primary)}.t-cell_interval:before{background:var(--tui-background-base-alt)}:host._single .t-cell_interval:before{background:var(--tui-background-neutral-1-hover)}.t-cell_interval:not(:last-child):before{right:-.1875rem;border-start-end-radius:0;border-end-end-radius:0}.t-cell_interval:not([data-range=start]):not(:first-child):before{border-start-start-radius:0;border-end-start-radius:0}.t-cell_interval:last-child:first-child:before{right:0}.t-cell_interval:first-child>.t-item{border-start-start-radius:var(--tui-radius-m);border-end-start-radius:var(--tui-radius-m)}.t-cell_interval:last-child>.t-item{border-start-end-radius:var(--tui-radius-m);border-end-end-radius:var(--tui-radius-m)}.t-cell_interval>.t-item{border-radius:0}.t-cell[data-range]:after{background:var(--tui-text-primary-on-accent-1)}.t-cell[data-range]>.t-item{color:var(--tui-text-primary-on-accent-1)}.t-cell[data-range]>.t-item:before,.t-cell[data-range]>.t-item:after{background:var(--tui-background-accent-1)}.t-cell[data-range]:hover>.t-item:before,.t-cell[data-range]:hover>.t-item:after{background:var(--tui-background-accent-1-hover)}.t-cell[data-range]:active>.t-item:before,.t-cell[data-range]:active>.t-item:after{background:var(--tui-background-accent-1-pressed)}.t-cell[data-range=end]:before{background:var(--tui-background-base-alt)}:host._single .t-cell[data-range=end]:before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=end]:not(:first-child):before{border-start-start-radius:0;border-end-start-radius:0}.t-cell[data-range=end]>.t-item:before{left:.625rem;border-start-start-radius:0;border-end-start-radius:0}.t-cell[data-range=end]>.t-item:after{left:-2rem;right:100%;transform:translate(1.6rem) scaleY(.83) scaleX(.5) rotate(45deg)}.t-cell[data-range=start]>.t-item:before{right:.625rem;border-start-end-radius:0;border-end-end-radius:0}.t-cell[data-range=start]>.t-item:after{left:100%;right:-2rem;transform:translate(-1.6rem) scaleY(.83) scaleX(.5) rotate(45deg)}.t-cell[data-range=single]>.t-item:after{display:none}.t-cell_disabled{pointer-events:none}.t-cell_disabled>.t-item{opacity:.36}.t-cell:hover:not([data-range])>.t-item{background:var(--tui-background-neutral-1-hover)}.t-cell:active:not([data-range])>.t-item{background:var(--tui-background-neutral-1-pressed)}:host{inline-size:15.75rem}[data-type=weekday]{color:var(--tui-text-primary)}[data-type=weekend]{color:var(--tui-text-negative)}.t-row{justify-content:flex-start}.t-row:first-child{justify-content:flex-end}.t-row_weekday{font:var(--tui-font-text-s);color:var(--tui-text-secondary);pointer-events:none}.t-item{display:flex;flex-direction:column}.t-item_unavailable{opacity:var(--tui-disabled-opacity)}.t-dots{display:flex;justify-content:center;margin-top:-.5rem;padding-bottom:.25rem}.t-dot{display:inline-block;inline-size:.25rem;block-size:.25rem;border-radius:100%;margin:0 .0625rem}\n"] }]
118
+ '[class._picking]': 'isSingleDayRange',
119
+ }, template: "<div class=\"t-row t-row_weekday\">\n <div\n *ngFor=\"let day of unorderedWeekDays$ | tuiOrderWeekDays | async\"\n class=\"t-cell\"\n [textContent]=\"day\"\n ></div>\n</div>\n<div *tuiLet=\"month | tuiCalendarSheet: true as sheet\">\n <div\n *tuiRepeatTimes=\"let rowIndex of sheet.length\"\n automation-id=\"tui-calendar-sheet__row\"\n class=\"t-row\"\n >\n <ng-container *tuiRepeatTimes=\"let colIndex of sheet[rowIndex]?.length || 0\">\n <ng-container *tuiLet=\"sheet[rowIndex]?.[colIndex] as item\">\n <div\n *ngIf=\"item && (!itemIsUnavailable(item) || showAdjacent)\"\n automation-id=\"tui-calendar-sheet__cell\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [attr.data-type]=\"item | tuiMapper: dayTypeHandler\"\n [class.t-cell_disabled]=\"disabledItemHandler(item)\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [class.t-cell_unavailable]=\"itemIsUnavailable(item)\"\n (click)=\"onItemClick(item)\"\n (tuiHoveredChange)=\"onItemHovered($event && item)\"\n >\n {{ item.day }}\n <div\n *ngIf=\"\n item\n | tuiMapper\n : toMarkers\n : itemIsToday(item)\n : getItemRange(item)\n : markerHandler as markers\n \"\n class=\"t-dots\"\n >\n <div\n class=\"t-dot\"\n [style.background]=\"markers?.[0]\"\n ></div>\n <div\n *ngIf=\"markers.length > 1\"\n class=\"t-dot\"\n [style.background]=\"markers?.[1] || ''\"\n ></div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</div>\n", styles: [".t-row{display:flex;justify-content:flex-start;font:var(--tui-font-text-m)}.t-row:last-child{justify-content:flex-start}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;line-height:2rem;isolation:isolate;cursor:pointer;overflow:hidden;border:.125rem solid transparent;box-sizing:border-box;-webkit-mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem));mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem))}.t-cell:first-child{border-inline-start-color:transparent!important}.t-cell:last-child{border-inline-end-color:transparent!important}.t-cell:before,.t-cell:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";z-index:-1;border-radius:var(--tui-radius-m)}.t-cell:after{-webkit-mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat;mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat}.t-cell[data-range]:before{background:var(--tui-background-base-alt)}:host._picking .t-cell[data-range]:before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]{border-color:var(--tui-background-base-alt)}:host._picking .t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]:not(:first-child):before{border-start-start-radius:0;border-end-start-radius:0}.t-cell[data-range=middle]:not(:last-child):before{border-start-end-radius:0;border-end-end-radius:0}.t-cell[data-range=start]{border-inline-end-color:var(--tui-background-base-alt);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:not(:last-child):before{right:-1rem}.t-cell[data-range=start]:after{background:var(--tui-background-accent-1)}.t-cell[data-range=end]{border-inline-start-color:var(--tui-background-base-alt);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=end]:not(:first-child):before{left:-1rem}.t-cell[data-range=end]:after{background:var(--tui-background-accent-1);transform:scaleX(-1)}.t-cell[data-range=active]{color:var(--tui-text-primary-on-accent-1)}.t-cell[data-range=active]:after{background:var(--tui-background-accent-1);-webkit-mask:none;mask:none}.t-cell_disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}.t-cell_today{text-decoration:underline;text-underline-offset:.25rem}@media (hover: hover){.t-cell:hover:not([data-range=start]):not([data-range=end]):before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:hover:after,.t-cell[data-range=end]:hover:after,.t-cell[data-range=active]:hover:after{background:var(--tui-background-accent-1-hover)}}.t-cell{inline-size:2.25rem}[data-type=weekday]{color:var(--tui-text-primary)}[data-type=weekend]{color:var(--tui-text-negative)}.t-row{justify-content:flex-start}.t-row:first-child{justify-content:flex-end}.t-row_weekday{font:var(--tui-font-text-s);color:var(--tui-text-secondary);pointer-events:none}.t-cell_unavailable{opacity:var(--tui-disabled-opacity)}.t-dots{position:absolute;bottom:0;display:flex;justify-content:center;margin-top:-.5rem;padding-bottom:.25rem}.t-dot{display:inline-block;inline-size:.25rem;block-size:.25rem;border-radius:100%;margin:0 .0625rem}\n"] }]
123
120
  }], propDecorators: { month: [{
124
121
  type: Input
125
122
  }], disabledItemHandler: [{
@@ -136,7 +133,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
136
133
  type: Output
137
134
  }], dayClick: [{
138
135
  type: Output
139
- }] } });
136
+ }], getRange: [] } });
140
137
 
141
138
  class TuiCalendarSpin {
142
139
  constructor() {
@@ -203,69 +200,40 @@ class TuiCalendarYear {
203
200
  }
204
201
  getItemRange(item) {
205
202
  const { value, hoveredItem } = this;
206
- if (value === null) {
207
- return null;
208
- }
209
203
  if (value instanceof TuiYear) {
210
- return value.year === item ? 'single' : null;
204
+ return value.year === item ? 'active' : null;
211
205
  }
212
206
  if (tuiIsNumber(value)) {
213
- return value === item ? 'single' : null;
207
+ return value === item ? 'active' : null;
214
208
  }
215
209
  if (!(value instanceof TuiMonthRange)) {
216
- return value.find((day) => day.year === item) ? 'single' : null;
210
+ return value?.find((day) => day.year === item) ? 'active' : null;
217
211
  }
218
- if ((value.from.year === item && !value.from.yearSame(value.to)) ||
219
- (hoveredItem !== null &&
220
- hoveredItem > value.from.year &&
221
- value.from.year === item &&
222
- value.from.yearSame(value.to)) ||
223
- (hoveredItem !== null &&
224
- hoveredItem === item &&
225
- hoveredItem < value.from.year &&
226
- value.from.yearSame(value.to))) {
212
+ const hovered = this.isSingle ? hoveredItem : null;
213
+ const from = Math.min(value.from.year, hovered ?? value.to.year);
214
+ const to = Math.max(value.from.year, hovered ?? value.to.year);
215
+ if (from === to && value.from.year === value.to.year && from === item) {
216
+ return 'active';
217
+ }
218
+ if (from === item) {
227
219
  return 'start';
228
220
  }
229
- if ((value.to.year === item && !value.from.yearSame(value.to)) ||
230
- (hoveredItem !== null &&
231
- hoveredItem < value.from.year &&
232
- value.from.year === item &&
233
- value.from.yearSame(value.to)) ||
234
- (hoveredItem !== null &&
235
- hoveredItem === item &&
236
- hoveredItem > value.from.year &&
237
- value.from.yearSame(value.to))) {
221
+ if (to === item) {
238
222
  return 'end';
239
223
  }
240
- return value.from.yearSame(value.to) && value.from.year === item
241
- ? 'single'
242
- : null;
243
- }
244
- itemIsInterval(item) {
245
- const { value, hoveredItem } = this;
246
- if (!this.isRange(value)) {
247
- return false;
248
- }
249
- if (!value.from.yearSame(value.to)) {
250
- return value.from.year <= item && value.to.year > item;
251
- }
252
- if (hoveredItem === null || value.from.year === hoveredItem) {
253
- return false;
254
- }
255
- return tuiInRange(item, Math.min(value.from.year, hoveredItem), Math.max(value.from.year, hoveredItem));
224
+ return from < item && item < to ? 'middle' : null;
256
225
  }
257
226
  onItemHovered(hovered, item) {
258
227
  this.updateHoveredItem(hovered, item);
259
228
  }
260
229
  get isSingle() {
261
- return this.isRange(this.value) && this.value.from.yearSame(this.value.to);
230
+ return this.value instanceof TuiMonthRange
231
+ ? this.value.from.monthSame(this.value.to)
232
+ : this.value instanceof TuiDayRange && this.value.isSingleDay;
262
233
  }
263
234
  get rows() {
264
235
  return Math.ceil((this.calculatedMax - this.calculatedMin) / ITEMS_IN_ROW);
265
236
  }
266
- isRange(item) {
267
- return item instanceof TuiMonthRange;
268
- }
269
237
  scrollItemIntoView(item) {
270
238
  return this.initialItem === item;
271
239
  }
@@ -289,13 +257,13 @@ class TuiCalendarYear {
289
257
  this.hoveredItem = hovered ? item : null;
290
258
  }
291
259
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiCalendarYear, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
292
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiCalendarYear, isStandalone: true, selector: "tui-calendar-year", inputs: { value: "value", initialItem: "initialItem", min: "min", max: "max", disabledItemHandler: "disabledItemHandler" }, outputs: { yearClick: "yearClick" }, host: { properties: { "class._single": "isSingle" } }, ngImport: i0, template: "<div\n *tuiRepeatTimes=\"let rowIndex of rows\"\n automation-id=\"tui-calendar-year__row\"\n class=\"t-row\"\n>\n <ng-container *tuiRepeatTimes=\"let colIndex of 4\">\n <div\n *tuiLet=\"getItem(rowIndex, colIndex) as item\"\n automation-id=\"tui-calendar-year__cell\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [class.t-cell_disabled]=\"isDisabled(item)\"\n [class.t-cell_interval]=\"itemIsInterval(item)\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [tuiScrollIntoView]=\"scrollItemIntoView(item)\"\n (click)=\"yearClick.emit(item)\"\n (tuiHoveredChange)=\"onItemHovered($event, item)\"\n >\n <div class=\"t-item\">{{ item }}</div>\n </div>\n </ng-container>\n</div>\n", styles: [":host{display:block;font:var(--tui-font-text-m)}.t-row{position:relative;display:flex;justify-content:space-between;block-size:2.25rem;isolation:isolate}.t-item{position:relative;flex:1;line-height:2rem;border-radius:var(--tui-radius-m)}.t-item:before,.t-item:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";z-index:-1;border-radius:var(--tui-radius-m)}.t-item:after{border-radius:.5rem}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;inline-size:3.9375rem;text-align:center;outline:none;cursor:pointer;background-clip:content-box;box-sizing:border-box;border:.125rem solid transparent}.t-cell:before{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.t-cell_today:after{position:absolute;left:50%;transform:translate(-50%);content:\"\";bottom:.3125rem;block-size:.125rem;inline-size:.75rem;border-radius:.375rem;background:var(--tui-text-primary)}.t-cell_interval:before{background:var(--tui-background-base-alt)}:host._single .t-cell_interval:before{background:var(--tui-background-neutral-1-hover)}.t-cell_interval:not(:last-child):before{right:-.1875rem;border-start-end-radius:0;border-end-end-radius:0}.t-cell_interval:not([data-range=start]):not(:first-child):before{border-start-start-radius:0;border-end-start-radius:0}.t-cell_interval:last-child:first-child:before{right:0}.t-cell_interval:first-child>.t-item{border-start-start-radius:var(--tui-radius-m);border-end-start-radius:var(--tui-radius-m)}.t-cell_interval:last-child>.t-item{border-start-end-radius:var(--tui-radius-m);border-end-end-radius:var(--tui-radius-m)}.t-cell_interval>.t-item{border-radius:0}.t-cell[data-range]:after{background:var(--tui-text-primary-on-accent-1)}.t-cell[data-range]>.t-item{color:var(--tui-text-primary-on-accent-1)}.t-cell[data-range]>.t-item:before,.t-cell[data-range]>.t-item:after{background:var(--tui-background-accent-1)}.t-cell[data-range]:hover>.t-item:before,.t-cell[data-range]:hover>.t-item:after{background:var(--tui-background-accent-1-hover)}.t-cell[data-range]:active>.t-item:before,.t-cell[data-range]:active>.t-item:after{background:var(--tui-background-accent-1-pressed)}.t-cell[data-range=end]:before{background:var(--tui-background-base-alt)}:host._single .t-cell[data-range=end]:before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=end]:not(:first-child):before{border-start-start-radius:0;border-end-start-radius:0}.t-cell[data-range=end]>.t-item:before{left:.625rem;border-start-start-radius:0;border-end-start-radius:0}.t-cell[data-range=end]>.t-item:after{left:-2rem;right:100%;transform:translate(1.6rem) scaleY(.83) scaleX(.5) rotate(45deg)}.t-cell[data-range=start]>.t-item:before{right:.625rem;border-start-end-radius:0;border-end-end-radius:0}.t-cell[data-range=start]>.t-item:after{left:100%;right:-2rem;transform:translate(-1.6rem) scaleY(.83) scaleX(.5) rotate(45deg)}.t-cell[data-range=single]>.t-item:after{display:none}.t-cell_disabled{pointer-events:none}.t-cell_disabled>.t-item{opacity:.36}.t-cell:hover:not([data-range])>.t-item{background:var(--tui-background-neutral-1-hover)}.t-cell:active:not([data-range])>.t-item{background:var(--tui-background-neutral-1-pressed)}:host{inline-size:15.75rem}.t-row{margin:.875rem 0}.t-row:first-child{margin-top:0}.t-row:last-child{margin-bottom:0}\n"], dependencies: [{ kind: "directive", type: TuiHovered, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { kind: "directive", type: TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "directive", type: TuiRepeatTimes, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }, { kind: "directive", type: TuiScrollIntoView, selector: "[tuiScrollIntoView]", inputs: ["tuiScrollIntoView"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
260
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiCalendarYear, isStandalone: true, selector: "tui-calendar-year", inputs: { value: "value", initialItem: "initialItem", min: "min", max: "max", disabledItemHandler: "disabledItemHandler" }, outputs: { yearClick: "yearClick" }, host: { properties: { "class._picking": "isSingle" } }, ngImport: i0, template: "<div\n *tuiRepeatTimes=\"let rowIndex of rows\"\n automation-id=\"tui-calendar-year__row\"\n class=\"t-row\"\n>\n <ng-container *tuiRepeatTimes=\"let colIndex of 4\">\n <div\n *tuiLet=\"getItem(rowIndex, colIndex) as item\"\n automation-id=\"tui-calendar-year__cell\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [class.t-cell_disabled]=\"isDisabled(item)\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [tuiScrollIntoView]=\"scrollItemIntoView(item)\"\n (click)=\"yearClick.emit(item)\"\n (tuiHoveredChange)=\"onItemHovered($event, item)\"\n >\n {{ item }}\n </div>\n </ng-container>\n</div>\n", styles: [".t-row{display:flex;justify-content:flex-start;font:var(--tui-font-text-m)}.t-row:first-child{justify-content:flex-end}.t-row:last-child{justify-content:flex-start}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;line-height:2rem;isolation:isolate;cursor:pointer;overflow:hidden;border:.125rem solid transparent;box-sizing:border-box;-webkit-mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem));mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem))}.t-cell:first-child{border-inline-start-color:transparent!important}.t-cell:last-child{border-inline-end-color:transparent!important}.t-cell:before,.t-cell:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";z-index:-1;border-radius:var(--tui-radius-m)}.t-cell:after{-webkit-mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat;mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat}.t-cell[data-range]:before{background:var(--tui-background-base-alt)}:host._picking .t-cell[data-range]:before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]{border-color:var(--tui-background-base-alt)}:host._picking .t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]:not(:first-child):before{border-start-start-radius:0;border-end-start-radius:0}.t-cell[data-range=middle]:not(:last-child):before{border-start-end-radius:0;border-end-end-radius:0}.t-cell[data-range=start]{border-inline-end-color:var(--tui-background-base-alt);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:not(:last-child):before{right:-1rem}.t-cell[data-range=start]:after{background:var(--tui-background-accent-1)}.t-cell[data-range=end]{border-inline-start-color:var(--tui-background-base-alt);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=end]:not(:first-child):before{left:-1rem}.t-cell[data-range=end]:after{background:var(--tui-background-accent-1);transform:scaleX(-1)}.t-cell[data-range=active]{color:var(--tui-text-primary-on-accent-1)}.t-cell[data-range=active]:after{background:var(--tui-background-accent-1);-webkit-mask:none;mask:none}.t-cell_disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}.t-cell_today{text-decoration:underline;text-underline-offset:.25rem}@media (hover: hover){.t-cell:hover:not([data-range=start]):not([data-range=end]):before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:hover:after,.t-cell[data-range=end]:hover:after,.t-cell[data-range=active]:hover:after{background:var(--tui-background-accent-1-hover)}}:host{display:block;inline-size:16rem}.t-cell{inline-size:4rem;border-block-start-width:.5rem;border-block-end-width:.5rem}\n"], dependencies: [{ kind: "directive", type: TuiHovered, selector: "[tuiHoveredChange]", outputs: ["tuiHoveredChange"] }, { kind: "directive", type: TuiLet, selector: "[tuiLet]", inputs: ["tuiLet"] }, { kind: "directive", type: TuiRepeatTimes, selector: "[tuiRepeatTimes][tuiRepeatTimesOf]", inputs: ["tuiRepeatTimesOf"] }, { kind: "directive", type: TuiScrollIntoView, selector: "[tuiScrollIntoView]", inputs: ["tuiScrollIntoView"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
293
261
  }
294
262
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiCalendarYear, decorators: [{
295
263
  type: Component,
296
264
  args: [{ standalone: true, selector: 'tui-calendar-year', imports: [TuiHovered, TuiLet, TuiRepeatTimes, TuiScrollIntoView], changeDetection: ChangeDetectionStrategy.OnPush, host: {
297
- '[class._single]': 'isSingle',
298
- }, template: "<div\n *tuiRepeatTimes=\"let rowIndex of rows\"\n automation-id=\"tui-calendar-year__row\"\n class=\"t-row\"\n>\n <ng-container *tuiRepeatTimes=\"let colIndex of 4\">\n <div\n *tuiLet=\"getItem(rowIndex, colIndex) as item\"\n automation-id=\"tui-calendar-year__cell\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [class.t-cell_disabled]=\"isDisabled(item)\"\n [class.t-cell_interval]=\"itemIsInterval(item)\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [tuiScrollIntoView]=\"scrollItemIntoView(item)\"\n (click)=\"yearClick.emit(item)\"\n (tuiHoveredChange)=\"onItemHovered($event, item)\"\n >\n <div class=\"t-item\">{{ item }}</div>\n </div>\n </ng-container>\n</div>\n", styles: [":host{display:block;font:var(--tui-font-text-m)}.t-row{position:relative;display:flex;justify-content:space-between;block-size:2.25rem;isolation:isolate}.t-item{position:relative;flex:1;line-height:2rem;border-radius:var(--tui-radius-m)}.t-item:before,.t-item:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";z-index:-1;border-radius:var(--tui-radius-m)}.t-item:after{border-radius:.5rem}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;inline-size:3.9375rem;text-align:center;outline:none;cursor:pointer;background-clip:content-box;box-sizing:border-box;border:.125rem solid transparent}.t-cell:before{content:\"\";position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;border-radius:var(--tui-radius-m)}.t-cell_today:after{position:absolute;left:50%;transform:translate(-50%);content:\"\";bottom:.3125rem;block-size:.125rem;inline-size:.75rem;border-radius:.375rem;background:var(--tui-text-primary)}.t-cell_interval:before{background:var(--tui-background-base-alt)}:host._single .t-cell_interval:before{background:var(--tui-background-neutral-1-hover)}.t-cell_interval:not(:last-child):before{right:-.1875rem;border-start-end-radius:0;border-end-end-radius:0}.t-cell_interval:not([data-range=start]):not(:first-child):before{border-start-start-radius:0;border-end-start-radius:0}.t-cell_interval:last-child:first-child:before{right:0}.t-cell_interval:first-child>.t-item{border-start-start-radius:var(--tui-radius-m);border-end-start-radius:var(--tui-radius-m)}.t-cell_interval:last-child>.t-item{border-start-end-radius:var(--tui-radius-m);border-end-end-radius:var(--tui-radius-m)}.t-cell_interval>.t-item{border-radius:0}.t-cell[data-range]:after{background:var(--tui-text-primary-on-accent-1)}.t-cell[data-range]>.t-item{color:var(--tui-text-primary-on-accent-1)}.t-cell[data-range]>.t-item:before,.t-cell[data-range]>.t-item:after{background:var(--tui-background-accent-1)}.t-cell[data-range]:hover>.t-item:before,.t-cell[data-range]:hover>.t-item:after{background:var(--tui-background-accent-1-hover)}.t-cell[data-range]:active>.t-item:before,.t-cell[data-range]:active>.t-item:after{background:var(--tui-background-accent-1-pressed)}.t-cell[data-range=end]:before{background:var(--tui-background-base-alt)}:host._single .t-cell[data-range=end]:before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=end]:not(:first-child):before{border-start-start-radius:0;border-end-start-radius:0}.t-cell[data-range=end]>.t-item:before{left:.625rem;border-start-start-radius:0;border-end-start-radius:0}.t-cell[data-range=end]>.t-item:after{left:-2rem;right:100%;transform:translate(1.6rem) scaleY(.83) scaleX(.5) rotate(45deg)}.t-cell[data-range=start]>.t-item:before{right:.625rem;border-start-end-radius:0;border-end-end-radius:0}.t-cell[data-range=start]>.t-item:after{left:100%;right:-2rem;transform:translate(-1.6rem) scaleY(.83) scaleX(.5) rotate(45deg)}.t-cell[data-range=single]>.t-item:after{display:none}.t-cell_disabled{pointer-events:none}.t-cell_disabled>.t-item{opacity:.36}.t-cell:hover:not([data-range])>.t-item{background:var(--tui-background-neutral-1-hover)}.t-cell:active:not([data-range])>.t-item{background:var(--tui-background-neutral-1-pressed)}:host{inline-size:15.75rem}.t-row{margin:.875rem 0}.t-row:first-child{margin-top:0}.t-row:last-child{margin-bottom:0}\n"] }]
265
+ '[class._picking]': 'isSingle',
266
+ }, template: "<div\n *tuiRepeatTimes=\"let rowIndex of rows\"\n automation-id=\"tui-calendar-year__row\"\n class=\"t-row\"\n>\n <ng-container *tuiRepeatTimes=\"let colIndex of 4\">\n <div\n *tuiLet=\"getItem(rowIndex, colIndex) as item\"\n automation-id=\"tui-calendar-year__cell\"\n class=\"t-cell\"\n [attr.data-range]=\"getItemRange(item)\"\n [class.t-cell_disabled]=\"isDisabled(item)\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [tuiScrollIntoView]=\"scrollItemIntoView(item)\"\n (click)=\"yearClick.emit(item)\"\n (tuiHoveredChange)=\"onItemHovered($event, item)\"\n >\n {{ item }}\n </div>\n </ng-container>\n</div>\n", styles: [".t-row{display:flex;justify-content:flex-start;font:var(--tui-font-text-m)}.t-row:first-child{justify-content:flex-end}.t-row:last-child{justify-content:flex-start}.t-cell{position:relative;display:flex;align-items:center;justify-content:center;line-height:2rem;isolation:isolate;cursor:pointer;overflow:hidden;border:.125rem solid transparent;box-sizing:border-box;-webkit-mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem));mask:linear-gradient(transparent calc(50% - 1rem),#000 calc(50% - 1rem),#000 calc(50% + 1rem),transparent calc(50% + 1rem))}.t-cell:first-child{border-inline-start-color:transparent!important}.t-cell:last-child{border-inline-end-color:transparent!important}.t-cell:before,.t-cell:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";z-index:-1;border-radius:var(--tui-radius-m)}.t-cell:after{-webkit-mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat;mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 32\"><path d=\"M0.2856 0L0.6763 0C2.9265 0 4.9876 1.259 6.0147 3.2611L10.2442 11.5048C11.5301 14.0113 11.5683 16.9754 10.3472 19.5141L5.9766 28.6007C4.9772 30.6786 2.8754 32 0.5696 32H0.285645V0Z\"></path></svg>') right / .75rem 100% no-repeat,linear-gradient(#000,#000) left / calc(100% - .7rem) 100% no-repeat}.t-cell[data-range]:before{background:var(--tui-background-base-alt)}:host._picking .t-cell[data-range]:before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]{border-color:var(--tui-background-base-alt)}:host._picking .t-cell[data-range=middle]{border-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=middle]:not(:first-child):before{border-start-start-radius:0;border-end-start-radius:0}.t-cell[data-range=middle]:not(:last-child):before{border-start-end-radius:0;border-end-end-radius:0}.t-cell[data-range=start]{border-inline-end-color:var(--tui-background-base-alt);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=start]{border-inline-end-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:not(:last-child):before{right:-1rem}.t-cell[data-range=start]:after{background:var(--tui-background-accent-1)}.t-cell[data-range=end]{border-inline-start-color:var(--tui-background-base-alt);color:var(--tui-text-primary-on-accent-1)}:host._picking .t-cell[data-range=end]{border-inline-start-color:var(--tui-background-neutral-1-hover)}.t-cell[data-range=end]:not(:first-child):before{left:-1rem}.t-cell[data-range=end]:after{background:var(--tui-background-accent-1);transform:scaleX(-1)}.t-cell[data-range=active]{color:var(--tui-text-primary-on-accent-1)}.t-cell[data-range=active]:after{background:var(--tui-background-accent-1);-webkit-mask:none;mask:none}.t-cell_disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}.t-cell_today{text-decoration:underline;text-underline-offset:.25rem}@media (hover: hover){.t-cell:hover:not([data-range=start]):not([data-range=end]):before{background:var(--tui-background-neutral-1-hover)}.t-cell[data-range=start]:hover:after,.t-cell[data-range=end]:hover:after,.t-cell[data-range=active]:hover:after{background:var(--tui-background-accent-1-hover)}}:host{display:block;inline-size:16rem}.t-cell{inline-size:4rem;border-block-start-width:.5rem;border-block-end-width:.5rem}\n"] }]
299
267
  }], propDecorators: { value: [{
300
268
  type: Input
301
269
  }], initialItem: [{