@taiga-ui/core 3.31.1-dev.main-6119756 → 3.32.0-dev.main-1a3b564

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 (79) hide show
  1. package/bundles/taiga-ui-core-components-button.umd.js +5 -5
  2. package/bundles/taiga-ui-core-components-button.umd.js.map +1 -1
  3. package/bundles/taiga-ui-core-components-dialog.umd.js +1 -1
  4. package/bundles/taiga-ui-core-components-dialog.umd.js.map +1 -1
  5. package/bundles/taiga-ui-core-components-expand.umd.js +18 -18
  6. package/bundles/taiga-ui-core-components-expand.umd.js.map +1 -1
  7. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js +11 -11
  8. package/bundles/taiga-ui-core-components-primitive-calendar.umd.js.map +1 -1
  9. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.js +7 -7
  10. package/bundles/taiga-ui-core-components-primitive-checkbox.umd.js.map +1 -1
  11. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.js +5 -5
  12. package/bundles/taiga-ui-core-components-primitive-spin-button.umd.js.map +1 -1
  13. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +5 -5
  14. package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
  15. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js +11 -11
  16. package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js.map +1 -1
  17. package/bundles/taiga-ui-core-components-root.umd.js +1 -1
  18. package/bundles/taiga-ui-core-directives-hint.umd.js +3 -0
  19. package/bundles/taiga-ui-core-directives-hint.umd.js.map +1 -1
  20. package/bundles/taiga-ui-core-directives-wrapper.umd.js +8 -8
  21. package/bundles/taiga-ui-core-directives-wrapper.umd.js.map +1 -1
  22. package/bundles/taiga-ui-core-enums.umd.js.map +1 -1
  23. package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.js +12 -11
  24. package/bundles/taiga-ui-core-pipes-calendar-sheet.umd.js.map +1 -1
  25. package/bundles/taiga-ui-core-tokens.umd.js +7 -7
  26. package/bundles/taiga-ui-core-tokens.umd.js.map +1 -1
  27. package/constants/cache-basting-payload.d.ts +1 -1
  28. package/enums/appearance.d.ts +1 -1
  29. package/enums/dropdown-animation.d.ts +1 -1
  30. package/enums/interactive-state.d.ts +1 -1
  31. package/enums/notification.d.ts +1 -1
  32. package/enums/range-state.d.ts +1 -1
  33. package/esm2015/components/button/button-options.js +3 -2
  34. package/esm2015/components/dialog/dialog.component.js +2 -2
  35. package/esm2015/components/expand/expand.component.js +19 -19
  36. package/esm2015/components/primitive-calendar/primitive-calendar.component.js +9 -8
  37. package/esm2015/components/primitive-checkbox/checkbox-options.js +5 -4
  38. package/esm2015/components/primitive-spin-button/primitive-spin-button.component.js +3 -2
  39. package/esm2015/components/primitive-textfield/value-decoration/value-decoration.component.js +3 -2
  40. package/esm2015/components/primitive-year-picker/primitive-year-picker.component.js +9 -8
  41. package/esm2015/components/root/root.component.js +1 -1
  42. package/esm2015/directives/hint/hint.component.js +5 -2
  43. package/esm2015/directives/wrapper/wrapper.directive.js +6 -5
  44. package/esm2015/enums/appearance.js +1 -1
  45. package/esm2015/enums/dropdown-animation.js +1 -1
  46. package/esm2015/enums/interactive-state.js +1 -1
  47. package/esm2015/enums/notification.js +1 -1
  48. package/esm2015/enums/range-state.js +1 -1
  49. package/esm2015/pipes/calendar-sheet/calendar-sheet.pipe.js +3 -2
  50. package/esm2015/tokens/first-day-of-week.js +3 -2
  51. package/esm2015/tokens/notification-options.js +3 -2
  52. package/esm2015/tokens/textfield-appearance.js +3 -2
  53. package/fesm2015/taiga-ui-core-components-button.js +2 -1
  54. package/fesm2015/taiga-ui-core-components-button.js.map +1 -1
  55. package/fesm2015/taiga-ui-core-components-dialog.js +1 -1
  56. package/fesm2015/taiga-ui-core-components-dialog.js.map +1 -1
  57. package/fesm2015/taiga-ui-core-components-expand.js +18 -18
  58. package/fesm2015/taiga-ui-core-components-expand.js.map +1 -1
  59. package/fesm2015/taiga-ui-core-components-primitive-calendar.js +8 -7
  60. package/fesm2015/taiga-ui-core-components-primitive-calendar.js.map +1 -1
  61. package/fesm2015/taiga-ui-core-components-primitive-checkbox.js +4 -3
  62. package/fesm2015/taiga-ui-core-components-primitive-checkbox.js.map +1 -1
  63. package/fesm2015/taiga-ui-core-components-primitive-spin-button.js +2 -1
  64. package/fesm2015/taiga-ui-core-components-primitive-spin-button.js.map +1 -1
  65. package/fesm2015/taiga-ui-core-components-primitive-textfield.js +2 -1
  66. package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
  67. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js +8 -7
  68. package/fesm2015/taiga-ui-core-components-primitive-year-picker.js.map +1 -1
  69. package/fesm2015/taiga-ui-core-components-root.js +1 -1
  70. package/fesm2015/taiga-ui-core-directives-hint.js +3 -0
  71. package/fesm2015/taiga-ui-core-directives-hint.js.map +1 -1
  72. package/fesm2015/taiga-ui-core-directives-wrapper.js +5 -4
  73. package/fesm2015/taiga-ui-core-directives-wrapper.js.map +1 -1
  74. package/fesm2015/taiga-ui-core-enums.js.map +1 -1
  75. package/fesm2015/taiga-ui-core-pipes-calendar-sheet.js +2 -1
  76. package/fesm2015/taiga-ui-core-pipes-calendar-sheet.js.map +1 -1
  77. package/fesm2015/taiga-ui-core-tokens.js +5 -4
  78. package/fesm2015/taiga-ui-core-tokens.js.map +1 -1
  79. package/package.json +4 -4
@@ -30,7 +30,7 @@ const LOADER_HEIGHT = 48;
30
30
  class TuiExpandComponent {
31
31
  constructor(cdr) {
32
32
  this.cdr = cdr;
33
- this.state = 0 /* Idle */;
33
+ this.state = State.Idle;
34
34
  this.async = false;
35
35
  this.content = null;
36
36
  this.expanded = null;
@@ -40,55 +40,55 @@ class TuiExpandComponent {
40
40
  this.expanded = expanded;
41
41
  return;
42
42
  }
43
- if (this.state !== 0 /* Idle */) {
43
+ if (this.state !== State.Idle) {
44
44
  this.expanded = expanded;
45
- this.state = 3 /* Animated */;
45
+ this.state = State.Animated;
46
46
  return;
47
47
  }
48
48
  this.expanded = expanded;
49
- this.retrigger(this.async && expanded ? 1 /* Loading */ : 3 /* Animated */);
49
+ this.retrigger(this.async && expanded ? State.Loading : State.Animated);
50
50
  }
51
51
  get overflow() {
52
- return this.state !== 0 /* Idle */;
52
+ return this.state !== State.Idle;
53
53
  }
54
54
  get loading() {
55
- return !!this.expanded && this.async && this.state === 1 /* Loading */;
55
+ return !!this.expanded && this.async && this.state === State.Loading;
56
56
  }
57
57
  get height() {
58
58
  const { expanded, state, contentWrapper } = this;
59
- if ((expanded && state === 2 /* Prepared */) ||
60
- (!expanded && state === 3 /* Animated */)) {
59
+ if ((expanded && state === State.Prepared) ||
60
+ (!expanded && state === State.Animated)) {
61
61
  return 0;
62
62
  }
63
63
  if (contentWrapper &&
64
- ((!expanded && state === 2 /* Prepared */) ||
65
- (expanded && state === 3 /* Animated */))) {
64
+ ((!expanded && state === State.Prepared) ||
65
+ (expanded && state === State.Animated))) {
66
66
  return contentWrapper.nativeElement.offsetHeight;
67
67
  }
68
- if (contentWrapper && expanded && state === 1 /* Loading */) {
68
+ if (contentWrapper && expanded && state === State.Loading) {
69
69
  return Math.max(contentWrapper.nativeElement.offsetHeight, LOADER_HEIGHT);
70
70
  }
71
71
  return null;
72
72
  }
73
73
  get contentVisible() {
74
- return this.expanded || this.state !== 0 /* Idle */;
74
+ return this.expanded || this.state !== State.Idle;
75
75
  }
76
76
  onTransitionEnd({ propertyName }) {
77
- if (propertyName === 'opacity' && this.state === 3 /* Animated */) {
78
- this.state = 0 /* Idle */;
77
+ if (propertyName === 'opacity' && this.state === State.Animated) {
78
+ this.state = State.Idle;
79
79
  }
80
80
  }
81
81
  onExpandLoaded(event) {
82
82
  event.stopPropagation();
83
- if (this.state === 1 /* Loading */) {
84
- this.retrigger(3 /* Animated */);
83
+ if (this.state === State.Loading) {
84
+ this.retrigger(State.Animated);
85
85
  }
86
86
  }
87
87
  retrigger(state) {
88
- this.state = 2 /* Prepared */;
88
+ this.state = State.Prepared;
89
89
  // We need delay to re-trigger CSS height transition from the correct number
90
90
  setTimeout(() => {
91
- if (this.state !== 2 /* Prepared */) {
91
+ if (this.state !== State.Prepared) {
92
92
  return;
93
93
  }
94
94
  this.state = state;
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-expand.js","sources":["../../../projects/core/components/expand/expand-content.directive.ts","../../../projects/core/components/expand/expand.component.ts","../../../projects/core/components/expand/expand.template.html","../../../projects/core/components/expand/expand.module.ts","../../../projects/core/components/expand/taiga-ui-core-components-expand.ts"],"sourcesContent":["import {Directive} from '@angular/core';\n\n@Directive({\n selector: '[tuiExpandContent]',\n})\nexport class TuiExpandContentDirective {}\n","import {NgIfContext} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {TUI_PARENT_ANIMATION, tuiDefaultProp, tuiRequiredSetter} from '@taiga-ui/cdk';\nimport {TUI_EXPAND_LOADED} from '@taiga-ui/core/constants';\n\nimport {TuiExpandContentDirective} from './expand-content.directive';\n\nconst enum State {\n Idle,\n Loading,\n Prepared,\n Animated,\n}\n\nconst LOADER_HEIGHT = 48;\n\n@Component({\n selector: 'tui-expand',\n templateUrl: './expand.template.html',\n styleUrls: ['./expand.style.less'],\n animations: [TUI_PARENT_ANIMATION],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiExpandComponent {\n @ViewChild('wrapper')\n private readonly contentWrapper?: ElementRef<HTMLDivElement>;\n\n private state = State.Idle;\n\n @Input()\n @tuiDefaultProp()\n async = false;\n\n @Input('expanded')\n @tuiRequiredSetter()\n set expandedSetter(expanded: boolean | null) {\n if (this.expanded === null) {\n this.expanded = expanded;\n\n return;\n }\n\n if (this.state !== State.Idle) {\n this.expanded = expanded;\n this.state = State.Animated;\n\n return;\n }\n\n this.expanded = expanded;\n this.retrigger(this.async && expanded ? State.Loading : State.Animated);\n }\n\n @ContentChild(TuiExpandContentDirective, {read: TemplateRef})\n content: TemplateRef<NgIfContext<boolean>> | null = null;\n\n @HostBinding('class._expanded')\n @HostBinding('attr.aria-expanded')\n expanded: boolean | null = null;\n\n constructor(@Inject(ChangeDetectorRef) private readonly cdr: ChangeDetectorRef) {}\n\n @HostBinding('class._overflow')\n get overflow(): boolean {\n return this.state !== State.Idle;\n }\n\n @HostBinding('class._loading')\n get loading(): boolean {\n return !!this.expanded && this.async && this.state === State.Loading;\n }\n\n @HostBinding('style.height.px')\n get height(): number | null {\n const {expanded, state, contentWrapper} = this;\n\n if (\n (expanded && state === State.Prepared) ||\n (!expanded && state === State.Animated)\n ) {\n return 0;\n }\n\n if (\n contentWrapper &&\n ((!expanded && state === State.Prepared) ||\n (expanded && state === State.Animated))\n ) {\n return contentWrapper.nativeElement.offsetHeight;\n }\n\n if (contentWrapper && expanded && state === State.Loading) {\n return Math.max(contentWrapper.nativeElement.offsetHeight, LOADER_HEIGHT);\n }\n\n return null;\n }\n\n get contentVisible(): boolean {\n return this.expanded || this.state !== State.Idle;\n }\n\n @HostListener('transitionend.self', ['$event'])\n onTransitionEnd({propertyName}: TransitionEvent): void {\n if (propertyName === 'opacity' && this.state === State.Animated) {\n this.state = State.Idle;\n }\n }\n\n @HostListener(TUI_EXPAND_LOADED, ['$event'])\n onExpandLoaded(event: Event): void {\n event.stopPropagation();\n\n if (this.state === State.Loading) {\n this.retrigger(State.Animated);\n }\n }\n\n private retrigger(state: State): void {\n this.state = State.Prepared;\n\n // We need delay to re-trigger CSS height transition from the correct number\n setTimeout(() => {\n if (this.state !== State.Prepared) {\n return;\n }\n\n this.state = state;\n this.cdr.markForCheck();\n });\n }\n}\n","<div\n #wrapper\n class=\"t-wrapper\"\n @tuiParentAnimation\n [@.disabled]=\"overflow\"\n>\n <ng-container *ngIf=\"contentVisible\">\n <ng-content></ng-content>\n <tui-loader\n *ngIf=\"async; else content\"\n size=\"l\"\n [overlay]=\"true\"\n [showLoader]=\"loading\"\n >\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n </tui-loader>\n </ng-container>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLoaderModule} from '@taiga-ui/core/components/loader';\n\nimport {TuiExpandComponent} from './expand.component';\nimport {TuiExpandContentDirective} from './expand-content.directive';\n\n@NgModule({\n imports: [CommonModule, TuiLoaderModule],\n declarations: [TuiExpandComponent, TuiExpandContentDirective],\n exports: [TuiExpandComponent, TuiExpandContentDirective],\n})\nexport class TuiExpandModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-components-expand.js","sources":["../../../projects/core/components/expand/expand-content.directive.ts","../../../projects/core/components/expand/expand.component.ts","../../../projects/core/components/expand/expand.template.html","../../../projects/core/components/expand/expand.module.ts","../../../projects/core/components/expand/taiga-ui-core-components-expand.ts"],"sourcesContent":["import {Directive} from '@angular/core';\n\n@Directive({\n selector: '[tuiExpandContent]',\n})\nexport class TuiExpandContentDirective {}\n","import {NgIfContext} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {TUI_PARENT_ANIMATION, tuiDefaultProp, tuiRequiredSetter} from '@taiga-ui/cdk';\nimport {TUI_EXPAND_LOADED} from '@taiga-ui/core/constants';\n\nimport {TuiExpandContentDirective} from './expand-content.directive';\n\nenum State {\n Idle,\n Loading,\n Prepared,\n Animated,\n}\n\nconst LOADER_HEIGHT = 48;\n\n@Component({\n selector: 'tui-expand',\n templateUrl: './expand.template.html',\n styleUrls: ['./expand.style.less'],\n animations: [TUI_PARENT_ANIMATION],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiExpandComponent {\n @ViewChild('wrapper')\n private readonly contentWrapper?: ElementRef<HTMLDivElement>;\n\n private state = State.Idle;\n\n @Input()\n @tuiDefaultProp()\n async = false;\n\n @Input('expanded')\n @tuiRequiredSetter()\n set expandedSetter(expanded: boolean | null) {\n if (this.expanded === null) {\n this.expanded = expanded;\n\n return;\n }\n\n if (this.state !== State.Idle) {\n this.expanded = expanded;\n this.state = State.Animated;\n\n return;\n }\n\n this.expanded = expanded;\n this.retrigger(this.async && expanded ? State.Loading : State.Animated);\n }\n\n @ContentChild(TuiExpandContentDirective, {read: TemplateRef})\n content: TemplateRef<NgIfContext<boolean>> | null = null;\n\n @HostBinding('class._expanded')\n @HostBinding('attr.aria-expanded')\n expanded: boolean | null = null;\n\n constructor(@Inject(ChangeDetectorRef) private readonly cdr: ChangeDetectorRef) {}\n\n @HostBinding('class._overflow')\n get overflow(): boolean {\n return this.state !== State.Idle;\n }\n\n @HostBinding('class._loading')\n get loading(): boolean {\n return !!this.expanded && this.async && this.state === State.Loading;\n }\n\n @HostBinding('style.height.px')\n get height(): number | null {\n const {expanded, state, contentWrapper} = this;\n\n if (\n (expanded && state === State.Prepared) ||\n (!expanded && state === State.Animated)\n ) {\n return 0;\n }\n\n if (\n contentWrapper &&\n ((!expanded && state === State.Prepared) ||\n (expanded && state === State.Animated))\n ) {\n return contentWrapper.nativeElement.offsetHeight;\n }\n\n if (contentWrapper && expanded && state === State.Loading) {\n return Math.max(contentWrapper.nativeElement.offsetHeight, LOADER_HEIGHT);\n }\n\n return null;\n }\n\n get contentVisible(): boolean {\n return this.expanded || this.state !== State.Idle;\n }\n\n @HostListener('transitionend.self', ['$event'])\n onTransitionEnd({propertyName}: TransitionEvent): void {\n if (propertyName === 'opacity' && this.state === State.Animated) {\n this.state = State.Idle;\n }\n }\n\n @HostListener(TUI_EXPAND_LOADED, ['$event'])\n onExpandLoaded(event: Event): void {\n event.stopPropagation();\n\n if (this.state === State.Loading) {\n this.retrigger(State.Animated);\n }\n }\n\n private retrigger(state: State): void {\n this.state = State.Prepared;\n\n // We need delay to re-trigger CSS height transition from the correct number\n setTimeout(() => {\n if (this.state !== State.Prepared) {\n return;\n }\n\n this.state = state;\n this.cdr.markForCheck();\n });\n }\n}\n","<div\n #wrapper\n class=\"t-wrapper\"\n @tuiParentAnimation\n [@.disabled]=\"overflow\"\n>\n <ng-container *ngIf=\"contentVisible\">\n <ng-content></ng-content>\n <tui-loader\n *ngIf=\"async; else content\"\n size=\"l\"\n [overlay]=\"true\"\n [showLoader]=\"loading\"\n >\n <ng-container [ngTemplateOutlet]=\"content\"></ng-container>\n </tui-loader>\n </ng-container>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLoaderModule} from '@taiga-ui/core/components/loader';\n\nimport {TuiExpandComponent} from './expand.component';\nimport {TuiExpandContentDirective} from './expand-content.directive';\n\n@NgModule({\n imports: [CommonModule, TuiLoaderModule],\n declarations: [TuiExpandComponent, TuiExpandContentDirective],\n exports: [TuiExpandComponent, TuiExpandContentDirective],\n})\nexport class TuiExpandModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { EventEmitter, Component, ChangeDetectionStrategy, Inject, Input, Output
4
4
  import * as i2 from '@taiga-ui/cdk';
5
5
  import { TuiDay, TuiMonth, ALWAYS_FALSE_HANDLER, TuiDayRange, tuiNullableSame, tuiDefaultProp, TuiLetModule, TuiMapperPipeModule, TuiRepeatTimesModule, TuiHoveredModule, TuiPressedModule } from '@taiga-ui/cdk';
6
6
  import { TUI_DEFAULT_MARKER_HANDLER } from '@taiga-ui/core/constants';
7
+ import { TuiInteractiveState, TuiRangeState } from '@taiga-ui/core/enums';
7
8
  import { TUI_SHORT_WEEK_DAYS, TUI_DAY_TYPE_HANDLER } from '@taiga-ui/core/tokens';
8
9
  import * as i1 from '@angular/common';
9
10
  import { CommonModule } from '@angular/common';
@@ -39,13 +40,13 @@ class TuiPrimitiveCalendarComponent {
39
40
  getItemState(item) {
40
41
  const { disabledItemHandler, pressedItem, hoveredItem } = this;
41
42
  if (disabledItemHandler(item)) {
42
- return "disabled" /* Disabled */;
43
+ return TuiInteractiveState.Disabled;
43
44
  }
44
45
  if (pressedItem === null || pressedItem === void 0 ? void 0 : pressedItem.daySame(item)) {
45
- return "active" /* Active */;
46
+ return TuiInteractiveState.Active;
46
47
  }
47
48
  if (hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.daySame(item)) {
48
- return "hover" /* Hover */;
49
+ return TuiInteractiveState.Hover;
49
50
  }
50
51
  return null;
51
52
  }
@@ -55,7 +56,7 @@ class TuiPrimitiveCalendarComponent {
55
56
  return null;
56
57
  }
57
58
  if (value instanceof TuiDay) {
58
- return value.daySame(item) ? "single" /* Single */ : null;
59
+ return value.daySame(item) ? TuiRangeState.Single : null;
59
60
  }
60
61
  if ((value.from.daySame(item) && !value.isSingleDay) ||
61
62
  ((hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.dayAfter(value.from)) &&
@@ -64,7 +65,7 @@ class TuiPrimitiveCalendarComponent {
64
65
  ((hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.daySame(item)) &&
65
66
  hoveredItem.dayBefore(value.from) &&
66
67
  value.isSingleDay)) {
67
- return "start" /* Start */;
68
+ return TuiRangeState.Start;
68
69
  }
69
70
  if ((value.to.daySame(item) && !value.isSingleDay) ||
70
71
  ((hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.dayBefore(value.from)) &&
@@ -73,10 +74,10 @@ class TuiPrimitiveCalendarComponent {
73
74
  ((hoveredItem === null || hoveredItem === void 0 ? void 0 : hoveredItem.daySame(item)) &&
74
75
  hoveredItem.dayAfter(value.from) &&
75
76
  value.isSingleDay)) {
76
- return "end" /* End */;
77
+ return TuiRangeState.End;
77
78
  }
78
79
  return value.isSingleDay && value.from.daySame(item)
79
- ? "single" /* Single */
80
+ ? TuiRangeState.Single
80
81
  : null;
81
82
  }
82
83
  itemIsToday(item) {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-primitive-calendar.js","sources":["../../../projects/core/components/primitive-calendar/primitive-calendar.component.ts","../../../projects/core/components/primitive-calendar/primitive-calendar.template.html","../../../projects/core/components/primitive-calendar/primitive-calendar.module.ts","../../../projects/core/components/primitive-calendar/taiga-ui-core-components-primitive-calendar.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {\n ALWAYS_FALSE_HANDLER,\n TuiBooleanHandler,\n TuiDay,\n TuiDayRange,\n tuiDefaultProp,\n TuiHandler,\n TuiInjectionTokenType,\n TuiMonth,\n tuiNullableSame,\n} from '@taiga-ui/cdk';\nimport {TUI_DEFAULT_MARKER_HANDLER} from '@taiga-ui/core/constants';\nimport {TuiInteractiveState, TuiRangeState} from '@taiga-ui/core/enums';\nimport {TUI_DAY_TYPE_HANDLER, TUI_SHORT_WEEK_DAYS} from '@taiga-ui/core/tokens';\nimport {TuiMarkerHandler} from '@taiga-ui/core/types';\n\n@Component({\n selector: 'tui-primitive-calendar',\n templateUrl: './primitive-calendar.template.html',\n styleUrls: ['./primitive-calendar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiPrimitiveCalendarComponent {\n private pressedItem: TuiDay | null = null;\n private readonly today = TuiDay.currentLocal();\n\n @Input()\n @tuiDefaultProp()\n month: TuiMonth = TuiMonth.currentLocal();\n\n @Input()\n @tuiDefaultProp()\n disabledItemHandler: TuiBooleanHandler<TuiDay> = ALWAYS_FALSE_HANDLER;\n\n @Input()\n @tuiDefaultProp()\n markerHandler: TuiMarkerHandler = TUI_DEFAULT_MARKER_HANDLER;\n\n @Input()\n @tuiDefaultProp()\n value: TuiDay | TuiDayRange | null = null;\n\n @Input()\n @tuiDefaultProp()\n hoveredItem: TuiDay | null = null;\n\n @Input()\n @tuiDefaultProp()\n showAdjacent = true;\n\n @Output()\n readonly hoveredItemChange = new EventEmitter<TuiDay | null>();\n\n @Output()\n readonly dayClick = new EventEmitter<TuiDay>();\n\n constructor(\n @Inject(TUI_SHORT_WEEK_DAYS)\n readonly unorderedWeekDays$: TuiInjectionTokenType<typeof TUI_SHORT_WEEK_DAYS>,\n @Inject(TUI_DAY_TYPE_HANDLER)\n readonly dayTypeHandler: TuiHandler<TuiDay, string>,\n ) {}\n\n @HostBinding('class._single')\n get isSingle(): boolean {\n return (\n this.value !== null &&\n (this.value instanceof TuiDay || this.value.isSingleDay)\n );\n }\n\n readonly toMarkers = (\n day: TuiDay,\n today: boolean,\n inRange: boolean,\n ): [string, string] | [string] | null => {\n if (today || inRange) {\n return null;\n }\n\n const markers = this.markerHandler(day);\n\n return markers.length === 0 ? null : markers;\n };\n\n getItemState(item: TuiDay): TuiInteractiveState | null {\n const {disabledItemHandler, pressedItem, hoveredItem} = this;\n\n if (disabledItemHandler(item)) {\n return TuiInteractiveState.Disabled;\n }\n\n if (pressedItem?.daySame(item)) {\n return TuiInteractiveState.Active;\n }\n\n if (hoveredItem?.daySame(item)) {\n return TuiInteractiveState.Hover;\n }\n\n return null;\n }\n\n getItemRange(item: TuiDay): TuiRangeState | null {\n const {value, hoveredItem} = this;\n\n if (!value) {\n return null;\n }\n\n if (value instanceof TuiDay) {\n return value.daySame(item) ? TuiRangeState.Single : null;\n }\n\n if (\n (value.from.daySame(item) && !value.isSingleDay) ||\n (hoveredItem?.dayAfter(value.from) &&\n value.from.daySame(item) &&\n value.isSingleDay) ||\n (hoveredItem?.daySame(item) &&\n hoveredItem.dayBefore(value.from) &&\n value.isSingleDay)\n ) {\n return TuiRangeState.Start;\n }\n\n if (\n (value.to.daySame(item) && !value.isSingleDay) ||\n (hoveredItem?.dayBefore(value.from) &&\n value.from.daySame(item) &&\n value.isSingleDay) ||\n (hoveredItem?.daySame(item) &&\n hoveredItem.dayAfter(value.from) &&\n value.isSingleDay)\n ) {\n return TuiRangeState.End;\n }\n\n return value.isSingleDay && value.from.daySame(item)\n ? TuiRangeState.Single\n : null;\n }\n\n itemIsToday(item: TuiDay): boolean {\n return this.today.daySame(item);\n }\n\n itemIsUnavailable(item: TuiDay): boolean {\n return !this.month.monthSame(item);\n }\n\n itemIsInterval(day: TuiDay): boolean {\n const {value, hoveredItem} = this;\n\n if (value === null || value instanceof TuiDay) {\n return false;\n }\n\n if (!value.isSingleDay) {\n return value.from.daySameOrBefore(day) && value.to.dayAfter(day);\n }\n\n if (hoveredItem === null) {\n return false;\n }\n\n const range = TuiDayRange.sort(value.from, hoveredItem);\n\n return range.from.daySameOrBefore(day) && range.to.dayAfter(day);\n }\n\n onItemHovered(item: TuiDay | false): void {\n this.updateHoveredItem(item || null);\n }\n\n onItemPressed(item: TuiDay | false): void {\n this.pressedItem = item || null;\n }\n\n onItemClick(item: TuiDay): void {\n this.dayClick.emit(item);\n }\n\n private updateHoveredItem(day: TuiDay | null): void {\n if (tuiNullableSame(this.hoveredItem, day, (a, b) => a.daySame(b))) {\n return;\n }\n\n this.hoveredItem = day;\n this.hoveredItemChange.emit(day);\n }\n}\n","<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\n *tuiLet=\"month | tuiCalendarSheet : true as sheet\"\n id=\"date-rows\"\n>\n <div\n *tuiRepeatTimes=\"let rowIndex of sheet.length\"\n automation-id=\"tui-primitive-calendar__row\"\n class=\"t-row\"\n >\n <ng-container *tuiRepeatTimes=\"let colIndex of sheet[rowIndex].length\">\n <ng-container *tuiLet=\"sheet[rowIndex][colIndex] as item\">\n <div\n *ngIf=\"!itemIsUnavailable(item) || showAdjacent\"\n automation-id=\"tui-primitive-calendar__cell\"\n class=\"t-cell\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [class.t-cell_interval]=\"itemIsInterval(item)\"\n [class.t-cell_unavailable]=\"itemIsUnavailable(item)\"\n [attr.data-range]=\"getItemRange(item)\"\n [attr.data-state]=\"getItemState(item)\"\n (tuiHoveredChange)=\"onItemHovered($event && item)\"\n (tuiPressedChange)=\"onItemPressed($event && item)\"\n (click)=\"onItemClick(item)\"\n >\n <div\n automation-id=\"tui-primitive-calendar__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=\"item | tuiMapper : toMarkers : itemIsToday(item) : !!getItemRange(item) as markers\"\n class=\"t-dots\"\n >\n <div\n class=\"t-dot\"\n [style.backgroundColor]=\"markers[0]\"\n ></div>\n <div\n *ngIf=\"markers.length > 1\"\n class=\"t-dot\"\n [style.backgroundColor]=\"markers[1] || ''\"\n ></div>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiHoveredModule,\n TuiLetModule,\n TuiMapperPipeModule,\n TuiPressedModule,\n TuiRepeatTimesModule,\n} from '@taiga-ui/cdk';\nimport {\n TuiCalendarSheetPipeModule,\n TuiOrderWeekDaysPipeModule,\n} from '@taiga-ui/core/pipes';\n\nimport {TuiPrimitiveCalendarComponent} from './primitive-calendar.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiLetModule,\n TuiMapperPipeModule,\n TuiRepeatTimesModule,\n TuiHoveredModule,\n TuiPressedModule,\n TuiCalendarSheetPipeModule,\n TuiOrderWeekDaysPipeModule,\n ],\n declarations: [TuiPrimitiveCalendarComponent],\n exports: [TuiPrimitiveCalendarComponent],\n})\nexport class TuiPrimitiveCalendarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-components-primitive-calendar.js","sources":["../../../projects/core/components/primitive-calendar/primitive-calendar.component.ts","../../../projects/core/components/primitive-calendar/primitive-calendar.template.html","../../../projects/core/components/primitive-calendar/primitive-calendar.module.ts","../../../projects/core/components/primitive-calendar/taiga-ui-core-components-primitive-calendar.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {\n ALWAYS_FALSE_HANDLER,\n TuiBooleanHandler,\n TuiDay,\n TuiDayRange,\n tuiDefaultProp,\n TuiHandler,\n TuiInjectionTokenType,\n TuiMonth,\n tuiNullableSame,\n} from '@taiga-ui/cdk';\nimport {TUI_DEFAULT_MARKER_HANDLER} from '@taiga-ui/core/constants';\nimport {TuiInteractiveState, TuiRangeState} from '@taiga-ui/core/enums';\nimport {TUI_DAY_TYPE_HANDLER, TUI_SHORT_WEEK_DAYS} from '@taiga-ui/core/tokens';\nimport {TuiMarkerHandler} from '@taiga-ui/core/types';\n\n@Component({\n selector: 'tui-primitive-calendar',\n templateUrl: './primitive-calendar.template.html',\n styleUrls: ['./primitive-calendar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiPrimitiveCalendarComponent {\n private pressedItem: TuiDay | null = null;\n private readonly today = TuiDay.currentLocal();\n\n @Input()\n @tuiDefaultProp()\n month: TuiMonth = TuiMonth.currentLocal();\n\n @Input()\n @tuiDefaultProp()\n disabledItemHandler: TuiBooleanHandler<TuiDay> = ALWAYS_FALSE_HANDLER;\n\n @Input()\n @tuiDefaultProp()\n markerHandler: TuiMarkerHandler = TUI_DEFAULT_MARKER_HANDLER;\n\n @Input()\n @tuiDefaultProp()\n value: TuiDay | TuiDayRange | null = null;\n\n @Input()\n @tuiDefaultProp()\n hoveredItem: TuiDay | null = null;\n\n @Input()\n @tuiDefaultProp()\n showAdjacent = true;\n\n @Output()\n readonly hoveredItemChange = new EventEmitter<TuiDay | null>();\n\n @Output()\n readonly dayClick = new EventEmitter<TuiDay>();\n\n constructor(\n @Inject(TUI_SHORT_WEEK_DAYS)\n readonly unorderedWeekDays$: TuiInjectionTokenType<typeof TUI_SHORT_WEEK_DAYS>,\n @Inject(TUI_DAY_TYPE_HANDLER)\n readonly dayTypeHandler: TuiHandler<TuiDay, string>,\n ) {}\n\n @HostBinding('class._single')\n get isSingle(): boolean {\n return (\n this.value !== null &&\n (this.value instanceof TuiDay || this.value.isSingleDay)\n );\n }\n\n readonly toMarkers = (\n day: TuiDay,\n today: boolean,\n inRange: boolean,\n ): [string, string] | [string] | null => {\n if (today || inRange) {\n return null;\n }\n\n const markers = this.markerHandler(day);\n\n return markers.length === 0 ? null : markers;\n };\n\n getItemState(item: TuiDay): TuiInteractiveState | null {\n const {disabledItemHandler, pressedItem, hoveredItem} = this;\n\n if (disabledItemHandler(item)) {\n return TuiInteractiveState.Disabled;\n }\n\n if (pressedItem?.daySame(item)) {\n return TuiInteractiveState.Active;\n }\n\n if (hoveredItem?.daySame(item)) {\n return TuiInteractiveState.Hover;\n }\n\n return null;\n }\n\n getItemRange(item: TuiDay): TuiRangeState | null {\n const {value, hoveredItem} = this;\n\n if (!value) {\n return null;\n }\n\n if (value instanceof TuiDay) {\n return value.daySame(item) ? TuiRangeState.Single : null;\n }\n\n if (\n (value.from.daySame(item) && !value.isSingleDay) ||\n (hoveredItem?.dayAfter(value.from) &&\n value.from.daySame(item) &&\n value.isSingleDay) ||\n (hoveredItem?.daySame(item) &&\n hoveredItem.dayBefore(value.from) &&\n value.isSingleDay)\n ) {\n return TuiRangeState.Start;\n }\n\n if (\n (value.to.daySame(item) && !value.isSingleDay) ||\n (hoveredItem?.dayBefore(value.from) &&\n value.from.daySame(item) &&\n value.isSingleDay) ||\n (hoveredItem?.daySame(item) &&\n hoveredItem.dayAfter(value.from) &&\n value.isSingleDay)\n ) {\n return TuiRangeState.End;\n }\n\n return value.isSingleDay && value.from.daySame(item)\n ? TuiRangeState.Single\n : null;\n }\n\n itemIsToday(item: TuiDay): boolean {\n return this.today.daySame(item);\n }\n\n itemIsUnavailable(item: TuiDay): boolean {\n return !this.month.monthSame(item);\n }\n\n itemIsInterval(day: TuiDay): boolean {\n const {value, hoveredItem} = this;\n\n if (value === null || value instanceof TuiDay) {\n return false;\n }\n\n if (!value.isSingleDay) {\n return value.from.daySameOrBefore(day) && value.to.dayAfter(day);\n }\n\n if (hoveredItem === null) {\n return false;\n }\n\n const range = TuiDayRange.sort(value.from, hoveredItem);\n\n return range.from.daySameOrBefore(day) && range.to.dayAfter(day);\n }\n\n onItemHovered(item: TuiDay | false): void {\n this.updateHoveredItem(item || null);\n }\n\n onItemPressed(item: TuiDay | false): void {\n this.pressedItem = item || null;\n }\n\n onItemClick(item: TuiDay): void {\n this.dayClick.emit(item);\n }\n\n private updateHoveredItem(day: TuiDay | null): void {\n if (tuiNullableSame(this.hoveredItem, day, (a, b) => a.daySame(b))) {\n return;\n }\n\n this.hoveredItem = day;\n this.hoveredItemChange.emit(day);\n }\n}\n","<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\n *tuiLet=\"month | tuiCalendarSheet : true as sheet\"\n id=\"date-rows\"\n>\n <div\n *tuiRepeatTimes=\"let rowIndex of sheet.length\"\n automation-id=\"tui-primitive-calendar__row\"\n class=\"t-row\"\n >\n <ng-container *tuiRepeatTimes=\"let colIndex of sheet[rowIndex].length\">\n <ng-container *tuiLet=\"sheet[rowIndex][colIndex] as item\">\n <div\n *ngIf=\"!itemIsUnavailable(item) || showAdjacent\"\n automation-id=\"tui-primitive-calendar__cell\"\n class=\"t-cell\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [class.t-cell_interval]=\"itemIsInterval(item)\"\n [class.t-cell_unavailable]=\"itemIsUnavailable(item)\"\n [attr.data-range]=\"getItemRange(item)\"\n [attr.data-state]=\"getItemState(item)\"\n (tuiHoveredChange)=\"onItemHovered($event && item)\"\n (tuiPressedChange)=\"onItemPressed($event && item)\"\n (click)=\"onItemClick(item)\"\n >\n <div\n automation-id=\"tui-primitive-calendar__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=\"item | tuiMapper : toMarkers : itemIsToday(item) : !!getItemRange(item) as markers\"\n class=\"t-dots\"\n >\n <div\n class=\"t-dot\"\n [style.backgroundColor]=\"markers[0]\"\n ></div>\n <div\n *ngIf=\"markers.length > 1\"\n class=\"t-dot\"\n [style.backgroundColor]=\"markers[1] || ''\"\n ></div>\n </div>\n </div>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiHoveredModule,\n TuiLetModule,\n TuiMapperPipeModule,\n TuiPressedModule,\n TuiRepeatTimesModule,\n} from '@taiga-ui/cdk';\nimport {\n TuiCalendarSheetPipeModule,\n TuiOrderWeekDaysPipeModule,\n} from '@taiga-ui/core/pipes';\n\nimport {TuiPrimitiveCalendarComponent} from './primitive-calendar.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiLetModule,\n TuiMapperPipeModule,\n TuiRepeatTimesModule,\n TuiHoveredModule,\n TuiPressedModule,\n TuiCalendarSheetPipeModule,\n TuiOrderWeekDaysPipeModule,\n ],\n declarations: [TuiPrimitiveCalendarComponent],\n exports: [TuiPrimitiveCalendarComponent],\n})\nexport class TuiPrimitiveCalendarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { InjectionToken, Component, ChangeDetectionStrategy, Inject, Input, HostBinding, NgModule } from '@angular/core';
3
+ import { TuiAppearance } from '@taiga-ui/core/enums';
3
4
  import { __decorate } from 'tslib';
4
5
  import { tuiDefaultProp } from '@taiga-ui/cdk';
5
6
  import * as i1 from '@taiga-ui/core/components/svg';
@@ -13,9 +14,9 @@ import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
13
14
  const TUI_CHECKBOX_DEFAULT_OPTIONS = {
14
15
  size: `m`,
15
16
  appearances: {
16
- unchecked: "outline" /* Outline */,
17
- checked: "primary" /* Primary */,
18
- indeterminate: "primary" /* Primary */,
17
+ unchecked: TuiAppearance.Outline,
18
+ checked: TuiAppearance.Primary,
19
+ indeterminate: TuiAppearance.Primary,
19
20
  },
20
21
  icons: {
21
22
  checked({ $implicit }) {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-primitive-checkbox.js","sources":["../../../projects/core/components/primitive-checkbox/checkbox-options.ts","../../../projects/core/components/primitive-checkbox/primitive-checkbox.component.ts","../../../projects/core/components/primitive-checkbox/primitive-checkbox.template.html","../../../projects/core/components/primitive-checkbox/primitive-checkbox.module.ts","../../../projects/core/components/primitive-checkbox/taiga-ui-core-components-primitive-checkbox.ts"],"sourcesContent":["import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {TuiAppearance} from '@taiga-ui/core/enums';\nimport {TuiSizeL} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiCheckboxOptions {\n readonly size: TuiSizeL;\n readonly appearances: Readonly<{\n unchecked: string;\n checked: string;\n indeterminate: string;\n }>;\n readonly icons: Readonly<{\n checked: PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>>;\n indeterminate: PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>>;\n }>;\n}\n\n/** Default values for the checkbox options. */\nexport const TUI_CHECKBOX_DEFAULT_OPTIONS: TuiCheckboxOptions = {\n size: `m`,\n appearances: {\n unchecked: TuiAppearance.Outline,\n checked: TuiAppearance.Primary,\n indeterminate: TuiAppearance.Primary,\n },\n icons: {\n checked({$implicit}: TuiContextWithImplicit<TuiSizeL>): string {\n return $implicit === `m` ? `tuiIconCheck` : `tuiIconCheckLarge`;\n },\n indeterminate({$implicit}: TuiContextWithImplicit<TuiSizeL>): string {\n return $implicit === `m` ? `tuiIconMinus` : `tuiIconMinusLarge`;\n },\n },\n};\n\n/**\n * Default parameters for checkbox component\n */\nexport const TUI_CHECKBOX_OPTIONS = new InjectionToken<TuiCheckboxOptions>(\n `[TUI_CHECKBOX_OPTIONS]`,\n {\n factory: () => TUI_CHECKBOX_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiCheckboxOptionsProvider: (\n options: Partial<TuiCheckboxOptions>,\n) => ValueProvider = (options: Partial<TuiCheckboxOptions>) => ({\n provide: TUI_CHECKBOX_OPTIONS,\n useValue: {...TUI_CHECKBOX_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Inject,\n Input,\n} from '@angular/core';\nimport {TuiContextWithImplicit, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {TuiSizeL} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_CHECKBOX_OPTIONS, TuiCheckboxOptions} from './checkbox-options';\n\n@Component({\n selector: 'tui-primitive-checkbox',\n templateUrl: './primitive-checkbox.template.html',\n styleUrls: ['./primitive-checkbox.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiPrimitiveCheckboxComponent {\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeL = this.options.size;\n\n @Input()\n @tuiDefaultProp()\n disabled = false;\n\n @Input()\n @tuiDefaultProp()\n focused = false;\n\n @Input()\n @tuiDefaultProp()\n hovered: boolean | null = false;\n\n @Input()\n @tuiDefaultProp()\n pressed: boolean | null = false;\n\n @Input()\n @tuiDefaultProp()\n invalid = false;\n\n @Input('value')\n @tuiDefaultProp()\n set valueSetter(value: boolean | null) {\n if (value !== false) {\n this.setCurrentIcon(value);\n }\n\n this.value = value;\n }\n\n icon: PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>> =\n this.options.icons.checked;\n\n value: boolean | null = false;\n\n constructor(\n @Inject(TUI_CHECKBOX_OPTIONS) private readonly options: TuiCheckboxOptions,\n ) {}\n\n get appearance(): string {\n switch (this.value) {\n case false:\n return this.options.appearances.unchecked;\n case true:\n return this.options.appearances.checked;\n default:\n return this.options.appearances.indeterminate;\n }\n }\n\n get empty(): boolean {\n return this.value === false;\n }\n\n private setCurrentIcon(value: boolean | null): void {\n this.icon =\n value === null\n ? this.options.icons.indeterminate\n : this.options.icons.checked;\n }\n}\n","<div\n tuiWrapper\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focus]=\"focused\"\n [hover]=\"hovered\"\n [active]=\"pressed\"\n [invalid]=\"invalid\"\n>\n <tui-svg\n *polymorpheusOutlet=\"icon as src; context: {$implicit: size}\"\n class=\"t-mark\"\n [class.t-mark_on]=\"!empty\"\n [src]=\"src\"\n ></tui-svg>\n <ng-content></ng-content>\n</div>\n","import {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core/components/svg';\nimport {TuiWrapperModule} from '@taiga-ui/core/directives/wrapper';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiPrimitiveCheckboxComponent} from './primitive-checkbox.component';\n\n@NgModule({\n imports: [TuiSvgModule, TuiWrapperModule, PolymorpheusModule],\n declarations: [TuiPrimitiveCheckboxComponent],\n exports: [TuiPrimitiveCheckboxComponent],\n})\nexport class TuiPrimitiveCheckboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-components-primitive-checkbox.js","sources":["../../../projects/core/components/primitive-checkbox/checkbox-options.ts","../../../projects/core/components/primitive-checkbox/primitive-checkbox.component.ts","../../../projects/core/components/primitive-checkbox/primitive-checkbox.template.html","../../../projects/core/components/primitive-checkbox/primitive-checkbox.module.ts","../../../projects/core/components/primitive-checkbox/taiga-ui-core-components-primitive-checkbox.ts"],"sourcesContent":["import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {TuiAppearance} from '@taiga-ui/core/enums';\nimport {TuiSizeL} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiCheckboxOptions {\n readonly size: TuiSizeL;\n readonly appearances: Readonly<{\n unchecked: string;\n checked: string;\n indeterminate: string;\n }>;\n readonly icons: Readonly<{\n checked: PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>>;\n indeterminate: PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>>;\n }>;\n}\n\n/** Default values for the checkbox options. */\nexport const TUI_CHECKBOX_DEFAULT_OPTIONS: TuiCheckboxOptions = {\n size: `m`,\n appearances: {\n unchecked: TuiAppearance.Outline,\n checked: TuiAppearance.Primary,\n indeterminate: TuiAppearance.Primary,\n },\n icons: {\n checked({$implicit}: TuiContextWithImplicit<TuiSizeL>): string {\n return $implicit === `m` ? `tuiIconCheck` : `tuiIconCheckLarge`;\n },\n indeterminate({$implicit}: TuiContextWithImplicit<TuiSizeL>): string {\n return $implicit === `m` ? `tuiIconMinus` : `tuiIconMinusLarge`;\n },\n },\n};\n\n/**\n * Default parameters for checkbox component\n */\nexport const TUI_CHECKBOX_OPTIONS = new InjectionToken<TuiCheckboxOptions>(\n `[TUI_CHECKBOX_OPTIONS]`,\n {\n factory: () => TUI_CHECKBOX_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiCheckboxOptionsProvider: (\n options: Partial<TuiCheckboxOptions>,\n) => ValueProvider = (options: Partial<TuiCheckboxOptions>) => ({\n provide: TUI_CHECKBOX_OPTIONS,\n useValue: {...TUI_CHECKBOX_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Inject,\n Input,\n} from '@angular/core';\nimport {TuiContextWithImplicit, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {TuiSizeL} from '@taiga-ui/core/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_CHECKBOX_OPTIONS, TuiCheckboxOptions} from './checkbox-options';\n\n@Component({\n selector: 'tui-primitive-checkbox',\n templateUrl: './primitive-checkbox.template.html',\n styleUrls: ['./primitive-checkbox.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiPrimitiveCheckboxComponent {\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeL = this.options.size;\n\n @Input()\n @tuiDefaultProp()\n disabled = false;\n\n @Input()\n @tuiDefaultProp()\n focused = false;\n\n @Input()\n @tuiDefaultProp()\n hovered: boolean | null = false;\n\n @Input()\n @tuiDefaultProp()\n pressed: boolean | null = false;\n\n @Input()\n @tuiDefaultProp()\n invalid = false;\n\n @Input('value')\n @tuiDefaultProp()\n set valueSetter(value: boolean | null) {\n if (value !== false) {\n this.setCurrentIcon(value);\n }\n\n this.value = value;\n }\n\n icon: PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>> =\n this.options.icons.checked;\n\n value: boolean | null = false;\n\n constructor(\n @Inject(TUI_CHECKBOX_OPTIONS) private readonly options: TuiCheckboxOptions,\n ) {}\n\n get appearance(): string {\n switch (this.value) {\n case false:\n return this.options.appearances.unchecked;\n case true:\n return this.options.appearances.checked;\n default:\n return this.options.appearances.indeterminate;\n }\n }\n\n get empty(): boolean {\n return this.value === false;\n }\n\n private setCurrentIcon(value: boolean | null): void {\n this.icon =\n value === null\n ? this.options.icons.indeterminate\n : this.options.icons.checked;\n }\n}\n","<div\n tuiWrapper\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focus]=\"focused\"\n [hover]=\"hovered\"\n [active]=\"pressed\"\n [invalid]=\"invalid\"\n>\n <tui-svg\n *polymorpheusOutlet=\"icon as src; context: {$implicit: size}\"\n class=\"t-mark\"\n [class.t-mark_on]=\"!empty\"\n [src]=\"src\"\n ></tui-svg>\n <ng-content></ng-content>\n</div>\n","import {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core/components/svg';\nimport {TuiWrapperModule} from '@taiga-ui/core/directives/wrapper';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiPrimitiveCheckboxComponent} from './primitive-checkbox.component';\n\n@NgModule({\n imports: [TuiSvgModule, TuiWrapperModule, PolymorpheusModule],\n declarations: [TuiPrimitiveCheckboxComponent],\n exports: [TuiPrimitiveCheckboxComponent],\n})\nexport class TuiPrimitiveCheckboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import * as i0 from '@angular/core';
3
3
  import { EventEmitter, Component, ChangeDetectionStrategy, Inject, ViewChild, Input, Output, NgModule } from '@angular/core';
4
4
  import * as i3 from '@taiga-ui/cdk';
5
5
  import { AbstractTuiInteractive, tuiIsNativeFocused, tuiDefaultProp, TuiPreventDefaultModule } from '@taiga-ui/cdk';
6
+ import { TuiAppearance } from '@taiga-ui/core/enums';
6
7
  import { TUI_SPIN_TEXTS } from '@taiga-ui/core/tokens';
7
8
  import * as i1 from '@taiga-ui/core/components/button';
8
9
  import { TuiButtonModule } from '@taiga-ui/core/components/button';
@@ -15,7 +16,7 @@ class TuiPrimitiveSpinButtonComponent extends AbstractTuiInteractive {
15
16
  super();
16
17
  this.spinTexts$ = spinTexts$;
17
18
  this.disabled = false;
18
- this.mode = "flat" /* Flat */;
19
+ this.mode = TuiAppearance.Flat;
19
20
  this.leftDisabled = false;
20
21
  this.rightDisabled = false;
21
22
  this.leftClick = new EventEmitter();
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-components-primitive-spin-button.js","sources":["../../../projects/core/components/primitive-spin-button/primitive-spin-button.component.ts","../../../projects/core/components/primitive-spin-button/primitive-spin-button.template.html","../../../projects/core/components/primitive-spin-button/primitive-spin-button.module.ts","../../../projects/core/components/primitive-spin-button/taiga-ui-core-components-primitive-spin-button.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {AbstractTuiInteractive, tuiDefaultProp, tuiIsNativeFocused} from '@taiga-ui/cdk';\nimport {TuiAppearance} from '@taiga-ui/core/enums';\nimport {TUI_SPIN_TEXTS} from '@taiga-ui/core/tokens';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: 'tui-primitive-spin-button',\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './primitive-spin-button.template.html',\n styleUrls: ['./primitive-spin-button.style.less'],\n})\nexport class TuiPrimitiveSpinButtonComponent extends AbstractTuiInteractive {\n @ViewChild('wrapper')\n private readonly wrapper?: ElementRef<HTMLElement>;\n\n @Input()\n @tuiDefaultProp()\n disabled = false;\n\n @Input()\n @tuiDefaultProp()\n mode: TuiAppearance = TuiAppearance.Flat;\n\n @Input()\n @tuiDefaultProp()\n leftDisabled = false;\n\n @Input()\n @tuiDefaultProp()\n rightDisabled = false;\n\n @Output()\n readonly leftClick = new EventEmitter<void>();\n\n @Output()\n readonly rightClick = new EventEmitter<void>();\n\n constructor(\n @Inject(TUI_SPIN_TEXTS) readonly spinTexts$: Observable<[string, string]>,\n ) {\n super();\n }\n\n get focused(): boolean {\n return !!this.wrapper && tuiIsNativeFocused(this.wrapper.nativeElement);\n }\n\n get leftComputedDisabled(): boolean {\n return this.computedDisabled || this.leftDisabled;\n }\n\n get rightComputedDisabled(): boolean {\n return this.computedDisabled || this.rightDisabled;\n }\n\n onLeftClick(): void {\n if (!this.leftComputedDisabled) {\n this.leftClick.emit();\n }\n }\n\n onRightClick(): void {\n if (!this.rightComputedDisabled) {\n this.rightClick.emit();\n }\n }\n\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n onFocusVisible(focusVisible: boolean): void {\n this.updateFocusVisible(focusVisible);\n }\n}\n","<div\n *ngIf=\"spinTexts$ | async as texts\"\n #wrapper\n tuiPreventDefault=\"mousedown\"\n class=\"t-wrapper\"\n (focusin)=\"onFocused(true)\"\n (focusout)=\"onFocused(false)\"\n (keydown.arrowLeft)=\"onLeftClick()\"\n (keydown.arrowRight)=\"onRightClick()\"\n>\n <button\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n appearance=\"\"\n automation-id=\"tui-primitive-spin-button__left\"\n icon=\"tuiIconChevronLeftLarge\"\n class=\"t-arrow\"\n [class.t-arrow_hidden]=\"leftComputedDisabled\"\n [title]=\"texts[0]\"\n [focusable]=\"computedFocusable\"\n (click)=\"onLeftClick()\"\n ></button>\n <span class=\"t-content t-calendar-title\">\n <ng-content></ng-content>\n </span>\n <button\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n appearance=\"\"\n automation-id=\"tui-primitive-spin-button__right\"\n icon=\"tuiIconChevronRightLarge\"\n class=\"t-arrow\"\n [class.t-arrow_hidden]=\"rightComputedDisabled\"\n [title]=\"texts[1]\"\n [focusable]=\"computedFocusable\"\n (click)=\"onRightClick()\"\n ></button>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiPreventDefaultModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule} from '@taiga-ui/core/components/button';\n\nimport {TuiPrimitiveSpinButtonComponent} from './primitive-spin-button.component';\n\n@NgModule({\n imports: [CommonModule, TuiPreventDefaultModule, TuiButtonModule],\n declarations: [TuiPrimitiveSpinButtonComponent],\n exports: [TuiPrimitiveSpinButtonComponent],\n})\nexport class TuiPrimitiveSpinButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-core-components-primitive-spin-button.js","sources":["../../../projects/core/components/primitive-spin-button/primitive-spin-button.component.ts","../../../projects/core/components/primitive-spin-button/primitive-spin-button.template.html","../../../projects/core/components/primitive-spin-button/primitive-spin-button.module.ts","../../../projects/core/components/primitive-spin-button/taiga-ui-core-components-primitive-spin-button.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {AbstractTuiInteractive, tuiDefaultProp, tuiIsNativeFocused} from '@taiga-ui/cdk';\nimport {TuiAppearance} from '@taiga-ui/core/enums';\nimport {TUI_SPIN_TEXTS} from '@taiga-ui/core/tokens';\nimport {Observable} from 'rxjs';\n\n@Component({\n selector: 'tui-primitive-spin-button',\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './primitive-spin-button.template.html',\n styleUrls: ['./primitive-spin-button.style.less'],\n})\nexport class TuiPrimitiveSpinButtonComponent extends AbstractTuiInteractive {\n @ViewChild('wrapper')\n private readonly wrapper?: ElementRef<HTMLElement>;\n\n @Input()\n @tuiDefaultProp()\n disabled = false;\n\n @Input()\n @tuiDefaultProp()\n mode: TuiAppearance = TuiAppearance.Flat;\n\n @Input()\n @tuiDefaultProp()\n leftDisabled = false;\n\n @Input()\n @tuiDefaultProp()\n rightDisabled = false;\n\n @Output()\n readonly leftClick = new EventEmitter<void>();\n\n @Output()\n readonly rightClick = new EventEmitter<void>();\n\n constructor(\n @Inject(TUI_SPIN_TEXTS) readonly spinTexts$: Observable<[string, string]>,\n ) {\n super();\n }\n\n get focused(): boolean {\n return !!this.wrapper && tuiIsNativeFocused(this.wrapper.nativeElement);\n }\n\n get leftComputedDisabled(): boolean {\n return this.computedDisabled || this.leftDisabled;\n }\n\n get rightComputedDisabled(): boolean {\n return this.computedDisabled || this.rightDisabled;\n }\n\n onLeftClick(): void {\n if (!this.leftComputedDisabled) {\n this.leftClick.emit();\n }\n }\n\n onRightClick(): void {\n if (!this.rightComputedDisabled) {\n this.rightClick.emit();\n }\n }\n\n onFocused(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n onFocusVisible(focusVisible: boolean): void {\n this.updateFocusVisible(focusVisible);\n }\n}\n","<div\n *ngIf=\"spinTexts$ | async as texts\"\n #wrapper\n tuiPreventDefault=\"mousedown\"\n class=\"t-wrapper\"\n (focusin)=\"onFocused(true)\"\n (focusout)=\"onFocused(false)\"\n (keydown.arrowLeft)=\"onLeftClick()\"\n (keydown.arrowRight)=\"onRightClick()\"\n>\n <button\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n appearance=\"\"\n automation-id=\"tui-primitive-spin-button__left\"\n icon=\"tuiIconChevronLeftLarge\"\n class=\"t-arrow\"\n [class.t-arrow_hidden]=\"leftComputedDisabled\"\n [title]=\"texts[0]\"\n [focusable]=\"computedFocusable\"\n (click)=\"onLeftClick()\"\n ></button>\n <span class=\"t-content t-calendar-title\">\n <ng-content></ng-content>\n </span>\n <button\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n appearance=\"\"\n automation-id=\"tui-primitive-spin-button__right\"\n icon=\"tuiIconChevronRightLarge\"\n class=\"t-arrow\"\n [class.t-arrow_hidden]=\"rightComputedDisabled\"\n [title]=\"texts[1]\"\n [focusable]=\"computedFocusable\"\n (click)=\"onRightClick()\"\n ></button>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiPreventDefaultModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule} from '@taiga-ui/core/components/button';\n\nimport {TuiPrimitiveSpinButtonComponent} from './primitive-spin-button.component';\n\n@NgModule({\n imports: [CommonModule, TuiPreventDefaultModule, TuiButtonModule],\n declarations: [TuiPrimitiveSpinButtonComponent],\n exports: [TuiPrimitiveSpinButtonComponent],\n})\nexport class TuiPrimitiveSpinButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ import { BehaviorSubject, fromEvent } from 'rxjs';
14
14
  import { delay, filter, map, distinctUntilChanged } from 'rxjs/operators';
15
15
  import * as i1 from '@taiga-ui/core/components/svg';
16
16
  import { TuiSvgModule } from '@taiga-ui/core/components/svg';
17
+ import { TuiAppearance } from '@taiga-ui/core/enums';
17
18
  import * as i3 from '@taiga-ui/core/components/tooltip';
18
19
  import { TuiTooltipModule } from '@taiga-ui/core/components/tooltip';
19
20
  import * as i4 from '@angular/common';
@@ -36,7 +37,7 @@ class TuiValueDecorationComponent {
36
37
  this.pre$ = this.prefix$.pipe(delay(0), filter(() => { var _a; return !!((_a = this.pre) === null || _a === void 0 ? void 0 : _a.nativeElement.isConnected); }), map(() => { var _a; return ((_a = this.pre) === null || _a === void 0 ? void 0 : _a.nativeElement.offsetWidth) || 0; }), distinctUntilChanged());
37
38
  }
38
39
  get isContextTable() {
39
- return this.textfield.appearance === "table" /* Table */;
40
+ return this.textfield.appearance === TuiAppearance.Table;
40
41
  }
41
42
  get value() {
42
43
  return this.textfield.value;