novo-elements 11.2.0 → 11.2.1-next.2

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 (104) hide show
  1. package/fesm2022/novo-elements-addons-ace-editor.mjs.map +1 -1
  2. package/fesm2022/novo-elements-addons-ckeditor.mjs.map +1 -1
  3. package/fesm2022/novo-elements-addons-code-editor.mjs +3 -3
  4. package/fesm2022/novo-elements-addons-code-editor.mjs.map +1 -1
  5. package/fesm2022/novo-elements-elements-agenda.mjs +15 -15
  6. package/fesm2022/novo-elements-elements-agenda.mjs.map +1 -1
  7. package/fesm2022/novo-elements-elements-aside.mjs.map +1 -1
  8. package/fesm2022/novo-elements-elements-autocomplete.mjs +7 -5
  9. package/fesm2022/novo-elements-elements-autocomplete.mjs.map +1 -1
  10. package/fesm2022/novo-elements-elements-avatar.mjs +2 -1
  11. package/fesm2022/novo-elements-elements-avatar.mjs.map +1 -1
  12. package/fesm2022/novo-elements-elements-breadcrumbs.mjs.map +1 -1
  13. package/fesm2022/novo-elements-elements-button.mjs.map +1 -1
  14. package/fesm2022/novo-elements-elements-calendar.mjs +7 -4
  15. package/fesm2022/novo-elements-elements-calendar.mjs.map +1 -1
  16. package/fesm2022/novo-elements-elements-card.mjs +1 -1
  17. package/fesm2022/novo-elements-elements-card.mjs.map +1 -1
  18. package/fesm2022/novo-elements-elements-category-dropdown.mjs.map +1 -1
  19. package/fesm2022/novo-elements-elements-checkbox.mjs.map +1 -1
  20. package/fesm2022/novo-elements-elements-chips.mjs +18 -14
  21. package/fesm2022/novo-elements-elements-chips.mjs.map +1 -1
  22. package/fesm2022/novo-elements-elements-color-picker.mjs +1 -1
  23. package/fesm2022/novo-elements-elements-color-picker.mjs.map +1 -1
  24. package/fesm2022/novo-elements-elements-common.mjs +28 -28
  25. package/fesm2022/novo-elements-elements-common.mjs.map +1 -1
  26. package/fesm2022/novo-elements-elements-data-table.mjs +28 -28
  27. package/fesm2022/novo-elements-elements-data-table.mjs.map +1 -1
  28. package/fesm2022/novo-elements-elements-date-picker.mjs +4 -4
  29. package/fesm2022/novo-elements-elements-date-picker.mjs.map +1 -1
  30. package/fesm2022/novo-elements-elements-date-time-picker.mjs.map +1 -1
  31. package/fesm2022/novo-elements-elements-divider.mjs.map +1 -1
  32. package/fesm2022/novo-elements-elements-drag-drop.mjs +7 -7
  33. package/fesm2022/novo-elements-elements-drag-drop.mjs.map +1 -1
  34. package/fesm2022/novo-elements-elements-dropdown.mjs +9 -9
  35. package/fesm2022/novo-elements-elements-dropdown.mjs.map +1 -1
  36. package/fesm2022/novo-elements-elements-expansion.mjs +5 -5
  37. package/fesm2022/novo-elements-elements-expansion.mjs.map +1 -1
  38. package/fesm2022/novo-elements-elements-field.mjs +20 -14
  39. package/fesm2022/novo-elements-elements-field.mjs.map +1 -1
  40. package/fesm2022/novo-elements-elements-flex.mjs +12 -12
  41. package/fesm2022/novo-elements-elements-flex.mjs.map +1 -1
  42. package/fesm2022/novo-elements-elements-form.mjs +16 -15
  43. package/fesm2022/novo-elements-elements-form.mjs.map +1 -1
  44. package/fesm2022/novo-elements-elements-header.mjs +6 -6
  45. package/fesm2022/novo-elements-elements-header.mjs.map +1 -1
  46. package/fesm2022/novo-elements-elements-icon.mjs.map +1 -1
  47. package/fesm2022/novo-elements-elements-layout.mjs +2 -2
  48. package/fesm2022/novo-elements-elements-layout.mjs.map +1 -1
  49. package/fesm2022/novo-elements-elements-list.mjs +12 -12
  50. package/fesm2022/novo-elements-elements-list.mjs.map +1 -1
  51. package/fesm2022/novo-elements-elements-loading.mjs +5 -5
  52. package/fesm2022/novo-elements-elements-loading.mjs.map +1 -1
  53. package/fesm2022/novo-elements-elements-menu.mjs +4 -4
  54. package/fesm2022/novo-elements-elements-menu.mjs.map +1 -1
  55. package/fesm2022/novo-elements-elements-modal.mjs.map +1 -1
  56. package/fesm2022/novo-elements-elements-multi-picker.mjs.map +1 -1
  57. package/fesm2022/novo-elements-elements-non-ideal-state.mjs.map +1 -1
  58. package/fesm2022/novo-elements-elements-picker.mjs +5 -5
  59. package/fesm2022/novo-elements-elements-picker.mjs.map +1 -1
  60. package/fesm2022/novo-elements-elements-places.mjs.map +1 -1
  61. package/fesm2022/novo-elements-elements-popover.mjs +3 -3
  62. package/fesm2022/novo-elements-elements-popover.mjs.map +1 -1
  63. package/fesm2022/novo-elements-elements-progress.mjs +3 -3
  64. package/fesm2022/novo-elements-elements-progress.mjs.map +1 -1
  65. package/fesm2022/novo-elements-elements-query-builder.mjs +27 -25
  66. package/fesm2022/novo-elements-elements-query-builder.mjs.map +1 -1
  67. package/fesm2022/novo-elements-elements-quick-note.mjs +2 -2
  68. package/fesm2022/novo-elements-elements-quick-note.mjs.map +1 -1
  69. package/fesm2022/novo-elements-elements-radio.mjs.map +1 -1
  70. package/fesm2022/novo-elements-elements-search.mjs.map +1 -1
  71. package/fesm2022/novo-elements-elements-select-search.mjs +2 -2
  72. package/fesm2022/novo-elements-elements-select-search.mjs.map +1 -1
  73. package/fesm2022/novo-elements-elements-select.mjs +5 -5
  74. package/fesm2022/novo-elements-elements-select.mjs.map +1 -1
  75. package/fesm2022/novo-elements-elements-simple-table.mjs +30 -30
  76. package/fesm2022/novo-elements-elements-simple-table.mjs.map +1 -1
  77. package/fesm2022/novo-elements-elements-slider.mjs.map +1 -1
  78. package/fesm2022/novo-elements-elements-stepper.mjs +4 -4
  79. package/fesm2022/novo-elements-elements-stepper.mjs.map +1 -1
  80. package/fesm2022/novo-elements-elements-switch.mjs.map +1 -1
  81. package/fesm2022/novo-elements-elements-tabbed-group-picker.mjs.map +1 -1
  82. package/fesm2022/novo-elements-elements-tabs.mjs +2 -1
  83. package/fesm2022/novo-elements-elements-tabs.mjs.map +1 -1
  84. package/fesm2022/novo-elements-elements-tiles.mjs.map +1 -1
  85. package/fesm2022/novo-elements-elements-time-picker.mjs +1 -0
  86. package/fesm2022/novo-elements-elements-time-picker.mjs.map +1 -1
  87. package/fesm2022/novo-elements-elements-tip-well.mjs.map +1 -1
  88. package/fesm2022/novo-elements-elements-toast.mjs.map +1 -1
  89. package/fesm2022/novo-elements-elements-toolbar.mjs +1 -1
  90. package/fesm2022/novo-elements-elements-toolbar.mjs.map +1 -1
  91. package/fesm2022/novo-elements-elements-tooltip.mjs +3 -4
  92. package/fesm2022/novo-elements-elements-tooltip.mjs.map +1 -1
  93. package/fesm2022/novo-elements-elements-unless.mjs +1 -1
  94. package/fesm2022/novo-elements-elements-unless.mjs.map +1 -1
  95. package/fesm2022/novo-elements-elements-value.mjs +2 -2
  96. package/fesm2022/novo-elements-elements-value.mjs.map +1 -1
  97. package/fesm2022/novo-elements-pipes.mjs +9 -9
  98. package/fesm2022/novo-elements-pipes.mjs.map +1 -1
  99. package/fesm2022/novo-elements-services.mjs +21 -22
  100. package/fesm2022/novo-elements-services.mjs.map +1 -1
  101. package/fesm2022/novo-elements-utils.mjs +33 -17
  102. package/fesm2022/novo-elements-utils.mjs.map +1 -1
  103. package/package.json +1 -1
  104. package/services/date-format/DateFormat.d.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"novo-elements-elements-agenda.mjs","sources":["../../../projects/novo-elements/src/elements/agenda/pipe/Weekday.pipe.ts","../../../projects/novo-elements/src/elements/agenda/pipe/DayOfMonth.pipe.ts","../../../projects/novo-elements/src/elements/agenda/pipe/Month.pipe.ts","../../../projects/novo-elements/src/elements/agenda/pipe/MonthDay.pipe.ts","../../../projects/novo-elements/src/elements/agenda/pipe/Year.pipe.ts","../../../projects/novo-elements/src/elements/agenda/pipe/EndOfWeekDisplayPipe.pipe.ts","../../../projects/novo-elements/src/elements/agenda/common/AgendaDateChange.ts","../../../projects/novo-elements/src/elements/agenda/common/EventTypeLegend.ts","../../../projects/novo-elements/src/elements/agenda/day/AgendaAllDayEvent.ts","../../../projects/novo-elements/src/elements/agenda/day/AgendaDayEvent.ts","../../../projects/novo-elements/src/elements/agenda/pipe/Hours.pipe.ts","../../../projects/novo-elements/src/elements/agenda/day/AgendaHourSegment.ts","../../../projects/novo-elements/src/elements/agenda/day/AgendaDayView.ts","../../../projects/novo-elements/src/elements/agenda/month/AgendaMonthDay.ts","../../../projects/novo-elements/src/elements/agenda/month/AgendaMonthHeader.ts","../../../projects/novo-elements/src/elements/agenda/month/AgendaMonthView.ts","../../../projects/novo-elements/src/elements/agenda/week/AgendaWeekEvent.ts","../../../projects/novo-elements/src/elements/agenda/week/AgendaWeekHeader.ts","../../../projects/novo-elements/src/elements/agenda/week/AgendaWeekView.ts","../../../projects/novo-elements/src/elements/agenda/Agenda.module.ts","../../../projects/novo-elements/src/elements/agenda/novo-elements-elements-agenda.ts"],"sourcesContent":["import { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'weekday',\n standalone: false\n})\nexport class WeekdayPipe implements PipeTransform {\n constructor(@Inject(LOCALE_ID) private locale: string = 'en-US') {}\n transform(date: Date, locale: string = this.locale, method: 'long' | 'short' | 'narrow' = 'short'): string {\n return new Intl.DateTimeFormat(locale, { weekday: method }).format(date);\n }\n}\n","import { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'dayofmonth',\n standalone: false\n})\nexport class DayOfMonthPipe implements PipeTransform {\n constructor(@Inject(LOCALE_ID) private locale: string = 'en-US') {}\n transform(date: Date, locale: string = this.locale, method: 'numeric' | '2-digit' = 'numeric'): string {\n return new Intl.DateTimeFormat(locale, { day: method }).format(date);\n }\n}\n","import { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'month',\n standalone: false\n})\nexport class MonthPipe implements PipeTransform {\n constructor(@Inject(LOCALE_ID) private locale: string = 'en-US') {}\n transform(date: Date, locale: string = this.locale, method: 'numeric' | '2-digit' | 'long' | 'short' | 'narrow' = 'long'): string {\n return new Intl.DateTimeFormat(locale, { month: method }).format(date);\n }\n}\n","import { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'monthday',\n standalone: false\n})\nexport class MonthDayPipe implements PipeTransform {\n constructor(@Inject(LOCALE_ID) private locale: string = 'en-US') {}\n transform(date: Date, locale: string = this.locale, method: 'numeric' | '2-digit' | 'long' | 'short' | 'narrow' = 'short'): string {\n return new Intl.DateTimeFormat(locale, { month: method, day: 'numeric' }).format(date);\n }\n}\n","import { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'year',\n standalone: false\n})\nexport class YearPipe implements PipeTransform {\n constructor(@Inject(LOCALE_ID) private locale: string = 'en-US') {}\n transform(date: Date, locale: string = this.locale, method: 'numeric' | '2-digit' = 'numeric'): string {\n return new Intl.DateTimeFormat(locale, { year: method }).format(date);\n }\n}\n","import { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'endofweekdisplay',\n standalone: false\n})\nexport class EndOfWeekDisplayPipe implements PipeTransform {\n constructor(@Inject(LOCALE_ID) private locale: string = 'en-US') {}\n\n transform(\n endOfWeek: Date,\n startOfWeek: Date,\n locale: string = this.locale,\n method: 'numeric' | '2-digit' | 'long' | 'short' | 'narrow' = 'short',\n ): String {\n if (endOfWeek.getMonth() === startOfWeek.getMonth()) {\n return new Intl.DateTimeFormat(locale, { day: 'numeric' }).format(endOfWeek);\n }\n\n return new Intl.DateTimeFormat(locale, { month: method, day: 'numeric' }).format(endOfWeek);\n }\n}\n","import { Component, EventEmitter, Inject, Input, LOCALE_ID, Output } from '@angular/core';\nimport { DateUtil } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-agenda-date-change',\n template: `\n <div class=\"cal-date-change\">\n <i class=\"bhi-arrow-left\" (click)=\"subtractDate()\"></i>\n <span [ngSwitch]=\"view\">\n <span *ngSwitchCase=\"'month'\">{{ (viewDate | month: locale) + ' ' + (viewDate | year: locale) }}</span>\n <span *ngSwitchCase=\"'week'\">{{\n (startOfWeek | monthday: locale:'long') + ' - ' + (endOfWeek | endofweekdisplay: startOfWeek:locale:'long')\n }}</span>\n <span *ngSwitchCase=\"'day'\">{{\n (viewDate | weekday: locale:'long') + ', ' + (viewDate | month: locale) + ' ' + (viewDate | dayofmonth: locale)\n }}</span>\n </span>\n <i class=\"bhi-arrow-right\" (click)=\"addDate()\"></i>\n </div>\n `,\n styleUrls: ['./AgendaDateChange.scss'],\n standalone: false\n})\nexport class NovoAgendaDateChangeElement {\n /**\n * The current view\n */\n @Input()\n view: string;\n\n /**\n * The current view date\n */\n @Input()\n viewDate: Date;\n\n @Input()\n locale: string;\n\n /**\n * Called when the view date is changed\n */\n @Output()\n viewDateChange: EventEmitter<Date> = new EventEmitter();\n\n constructor(@Inject(LOCALE_ID) locale: string) {\n this.locale = locale;\n }\n\n /**\n * @hidden\n */\n subtractDate(): void {\n this.changeDate(-1);\n }\n\n addDate(): void {\n this.changeDate(1);\n }\n\n changeDate(unit: number): void {\n const addFn: any = {\n day: DateUtil.addDays,\n week: DateUtil.addWeeks,\n month: DateUtil.addMonths,\n }[this.view];\n\n this.viewDateChange.emit(addFn(this.viewDate, unit));\n }\n\n get startOfWeek() {\n return DateUtil.startOfWeek(this.viewDate);\n }\n\n get endOfWeek() {\n return DateUtil.endOfWeek(this.viewDate);\n }\n}\n","import { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\nimport { CalendarEvent } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-event-type-legend',\n template: `\n <ng-template #defaultTemplate>\n <div class=\"cal-event-legend\">\n <div\n class=\"cal-event-type\"\n *ngFor=\"let type of events | groupBy: 'type'\"\n (click)=\"$event.stopPropagation(); eventTypeClicked.emit({ event: type?.key })\"\n >\n <div class=\"cal-event-type-swatch\"></div>\n <div>{{ type?.key }}</div>\n </div>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{ events: events, eventTypeClicked: eventTypeClicked }\"\n >\n </ng-template>\n `,\n standalone: false\n})\nexport class NovoEventTypeLegendElement {\n @Input()\n events: CalendarEvent[];\n\n @Input()\n customTemplate: TemplateRef<any>;\n\n @Output()\n eventTypeClicked: EventEmitter<any> = new EventEmitter();\n}\n","import { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\nimport { CalendarEvent } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-agenda-all-day-event',\n template: `\n <ng-template #defaultTemplate>\n <div class=\"cal-all-day-event\" [style.backgroundColor]=\"event.color.secondary\" [style.borderColor]=\"event.color.primary\">\n {{ event.title }}\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{\n event: event,\n eventClicked: eventClicked\n }\"\n >\n </ng-template>\n `,\n standalone: false\n})\nexport class NovoAgendaAllDayEventElement {\n @Input()\n event: CalendarEvent;\n\n @Input()\n customTemplate: TemplateRef<any>;\n\n @Output()\n eventClicked: EventEmitter<any> = new EventEmitter();\n}\n","import { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\nimport { DayViewEvent } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-agenda-day-event',\n template: `\n <ng-template #defaultTemplate>\n <div\n class=\"cal-event\"\n [style.borderColor]=\"dayEvent.event.color.secondary\"\n [class.cal-starts-within-day]=\"!dayEvent.startsBeforeDay\"\n [class.cal-ends-within-day]=\"!dayEvent.endsAfterDay\"\n [ngClass]=\"dayEvent.event.cssClass\"\n [tooltip]=\"dayEvent.event.description\"\n [tooltipPosition]=\"tooltipPosition\"\n (click)=\"eventClicked.emit({ event: dayEvent.event })\"\n >\n <div class=\"cal-event-ribbon\" [style.backgroundColor]=\"dayEvent.event.color.primary\"></div>\n <div class=\"cal-event-group\">\n <div class=\"cal-event-title\">{{ dayEvent.event.title }}</div>\n <div class=\"cal-event-description\">{{ dayEvent.event?.description }}</div>\n </div>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{ dayEvent: dayEvent, tooltipPosition: tooltipPosition, eventClicked: eventClicked }\"\n >\n </ng-template>\n `,\n standalone: false\n})\nexport class NovoAgendaDayEventElement {\n @Input()\n dayEvent: DayViewEvent;\n\n @Input()\n tooltipPosition: string;\n\n @Input()\n customTemplate: TemplateRef<any>;\n\n @Output()\n eventClicked: EventEmitter<any> = new EventEmitter();\n}\n","import { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'hours',\n standalone: false\n})\nexport class HoursPipe implements PipeTransform {\n constructor(@Inject(LOCALE_ID) private locale: string = 'en-US') {}\n transform(date: Date, locale: string = this.locale, method: 'numeric' | '2-digit' = 'numeric'): string {\n return new Intl.DateTimeFormat(locale, { hour: method }).format(date);\n }\n}\n","import { Component, Input, TemplateRef } from '@angular/core';\nimport { DayViewHourSegment } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-agenda-day-hour-segment',\n template: `\n <ng-template #defaultTemplate>\n <div\n class=\"cal-hour-segment\"\n [class.cal-hour-start]=\"segment.isStart\"\n [class.cal-after-hour-start]=\"!segment.isStart\"\n [ngClass]=\"segment.cssClass\"\n >\n <div class=\"cal-time\">\n {{ segment.date | hours: locale }}\n </div>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{\n segment: segment,\n locale: locale\n }\"\n >\n </ng-template>\n `,\n standalone: false\n})\nexport class NovoAgendaHourSegmentElement {\n @Input()\n segment: DayViewHourSegment;\n\n @Input()\n locale: string;\n\n @Input()\n customTemplate: TemplateRef<any>;\n}\n","import {\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Inject,\n Input,\n LOCALE_ID,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef,\n} from '@angular/core';\nimport { Subject, Subscription } from 'rxjs';\nimport {\n CalendarEvent,\n CalendarEventTimesChangedEvent,\n DayView,\n DayViewHour,\n getDayView,\n getDayViewHourGrid,\n} from 'novo-elements/utils';\n\n/**\n * @hidden\n */\nconst SEGMENT_HEIGHT: number = 30;\n\n/**\n * @hidden\n */\nconst MINUTES_IN_HOUR: number = 60;\n\n/**\n * Shows all events on a given day. Example usage:\n *\n * ```typescript\n * &lt;novo-agenda-day\n * [viewDate]=\"viewDate\"\n * [events]=\"events\"&gt;\n * &lt;/novo-agenda-day&gt;\n * ```\n */\n@Component({\n selector: 'novo-agenda-day',\n template: `\n <div class=\"cal-day-view\" #dayViewContainer>\n <novo-agenda-all-day-event\n *ngFor=\"let event of view.allDayEvents\"\n [event]=\"event\"\n [customTemplate]=\"allDayEventTemplate\"\n (eventClicked)=\"eventClicked.emit({ event: event })\"\n >\n </novo-agenda-all-day-event>\n <div class=\"cal-hour-rows\">\n <div class=\"cal-events\">\n <div\n #event\n *ngFor=\"let dayEvent of view?.events\"\n class=\"cal-event-container\"\n [style.marginTop.px]=\"dayEvent.top\"\n [style.height.px]=\"dayEvent.height\"\n [style.marginLeft.px]=\"dayEvent.left + 70\"\n [style.width.px]=\"dayEvent.width - 1\"\n >\n <novo-agenda-day-event\n [dayEvent]=\"dayEvent\"\n [tooltipPosition]=\"tooltipPosition\"\n [customTemplate]=\"eventTemplate\"\n (eventClicked)=\"eventClicked.emit($event)\"\n >\n </novo-agenda-day-event>\n </div>\n </div>\n <div class=\"cal-hour\" *ngFor=\"let hour of hours\" [style.minWidth.px]=\"view?.width + 70\">\n <novo-agenda-day-hour-segment\n *ngFor=\"let segment of hour.segments\"\n [segment]=\"segment\"\n [locale]=\"locale\"\n [customTemplate]=\"hourSegmentTemplate\"\n (click)=\"hourSegmentClicked.emit({ date: segment.date })\"\n >\n </novo-agenda-day-hour-segment>\n </div>\n </div>\n </div>\n `,\n styleUrls: ['./AgendaDayView.scss', '../common/AgendaHoursLayout.scss'],\n standalone: false\n})\nexport class NovoAgendaDayViewElement implements OnChanges, OnInit, OnDestroy {\n /**\n * The current view date\n */\n @Input()\n viewDate: Date;\n\n /**\n * An array of events to display on view\n */\n @Input()\n events: CalendarEvent[] = [];\n\n /**\n * The number of segments in an hour. Must be <= 6\n */\n @Input()\n hourSegments: number = 2;\n\n /**\n * The day start hours in 24 hour time. Must be 0-23\n */\n @Input()\n dayStartHour: number = 0;\n\n /**\n * The day start minutes. Must be 0-59\n */\n @Input()\n dayStartMinute: number = 0;\n\n /**\n * The day end hours in 24 hour time. Must be 0-23\n */\n @Input()\n dayEndHour: number = 23;\n\n /**\n * The day end minutes. Must be 0-59\n */\n @Input()\n dayEndMinute: number = 59;\n\n /**\n * The width in pixels of each event on the view\n */\n @Input()\n eventWidth: number = 150;\n\n /**\n * An observable that when emitted on will re-render the current view\n */\n @Input()\n refresh: Subject<any>;\n\n /**\n * The locale used to format dates\n */\n @Input()\n locale: string;\n\n /**\n * A function that will be called before each hour segment is called. The first argument will contain the hour segment.\n * If you add the `cssClass` property to the segment it will add that class to the hour segment in the template\n */\n @Input()\n hourSegmentModifier: Function;\n\n /**\n * The grid size to snap resizing and dragging of events to\n */\n @Input()\n eventSnapSize: number = 30;\n\n /**\n * The placement of the event tooltip\n */\n @Input()\n tooltipPosition: string = 'top';\n\n /**\n * A custom template to use to replace the hour segment\n */\n @Input()\n hourSegmentTemplate: TemplateRef<any>;\n\n /**\n * A custom template to use for all day events\n */\n @Input()\n allDayEventTemplate: TemplateRef<any>;\n\n /**\n * A custom template to use for day view events\n */\n @Input()\n eventTemplate: TemplateRef<any>;\n\n /**\n * Called when an event title is clicked\n */\n @Output()\n eventClicked: EventEmitter<{ event: CalendarEvent }> = new EventEmitter<{ event: CalendarEvent }>();\n\n /**\n * Called when an hour segment is clicked\n */\n @Output()\n hourSegmentClicked: EventEmitter<{ date: Date }> = new EventEmitter<{ date: Date }>();\n\n /**\n * Called when an event is resized or dragged and dropped\n */\n @Output()\n eventTimesChanged: EventEmitter<CalendarEventTimesChangedEvent> = new EventEmitter<CalendarEventTimesChangedEvent>();\n\n /**\n * @hidden\n */\n hours: DayViewHour[] = [];\n\n /**\n * @hidden\n */\n view: DayView;\n\n /**\n * @hidden\n */\n width: number = 0;\n\n /**\n * @hidden\n */\n refreshSubscription: Subscription;\n\n /**\n * @hidden\n */\n currentResize: {\n originalTop: number;\n originalHeight: number;\n edge: string;\n };\n\n /**\n * @hidden\n */\n validateDrag: Function;\n\n /**\n * @hidden\n */\n validateResize: Function;\n\n /**\n * @hidden\n */\n constructor(private cdr: ChangeDetectorRef, @Inject(LOCALE_ID) locale: string) {\n this.locale = locale;\n }\n\n /**\n * @hidden\n */\n ngOnInit(): void {\n if (this.refresh) {\n this.refreshSubscription = this.refresh.subscribe(() => {\n this.refreshAll();\n this.cdr.detectChanges();\n });\n }\n }\n\n /**\n * @hidden\n */\n ngOnDestroy(): void {\n if (this.refreshSubscription) {\n this.refreshSubscription.unsubscribe();\n }\n }\n\n /**\n * @hidden\n */\n ngOnChanges(changes: any): void {\n if (changes.viewDate || changes.dayStartHour || changes.dayStartMinute || changes.dayEndHour || changes.dayEndMinute) {\n this.refreshHourGrid();\n }\n\n if (\n changes.viewDate ||\n changes.events ||\n changes.dayStartHour ||\n changes.dayStartMinute ||\n changes.dayEndHour ||\n changes.dayEndMinute ||\n changes.eventWidth\n ) {\n this.refreshView();\n }\n }\n\n /*\n eventDropped(dropEvent: {dropData?: {event?: CalendarEvent}}, segment: DayViewHourSegment): void {\n if (dropEvent.dropData && dropEvent.dropData.event) {\n this.eventTimesChanged.emit({event: dropEvent.dropData.event, newStart: segment.date});\n }\n }\n\n resizeStarted(event: DayViewEvent, resizeEvent: ResizeEvent, dayViewContainer: HTMLElement): void {\n this.currentResize = {\n originalTop: event.top,\n originalHeight: event.height,\n edge: typeof resizeEvent.edges.top !== 'undefined' ? 'top' : 'bottom'\n };\n const resizeHelper: CalendarResizeHelper = new CalendarResizeHelper(dayViewContainer);\n this.validateResize = ({rectangle}) => resizeHelper.validateResize({rectangle});\n this.cdr.detectChanges();\n }\n\n resizing(event: DayViewEvent, resizeEvent: ResizeEvent): void {\n if (resizeEvent.edges.top) {\n event.top = this.currentResize.originalTop + +resizeEvent.edges.top;\n event.height = this.currentResize.originalHeight - +resizeEvent.edges.top;\n } else if (resizeEvent.edges.bottom) {\n event.height = this.currentResize.originalHeight + +resizeEvent.edges.bottom;\n }\n }\n\n resizeEnded(dayEvent: DayViewEvent): void {\n\n let pixelsMoved: number;\n if (this.currentResize.edge === 'top') {\n pixelsMoved = (dayEvent.top - this.currentResize.originalTop);\n } else {\n pixelsMoved = (dayEvent.height - this.currentResize.originalHeight);\n }\n\n dayEvent.top = this.currentResize.originalTop;\n dayEvent.height = this.currentResize.originalHeight;\n\n const pixelAmountInMinutes: number = MINUTES_IN_HOUR / (this.hourSegments * SEGMENT_HEIGHT);\n const minutesMoved: number = pixelsMoved * pixelAmountInMinutes;\n let newStart: Date = dayEvent.event.start;\n let newEnd: Date = dayEvent.event.end;\n if (this.currentResize.edge === 'top') {\n newStart = addMinutes(newStart, minutesMoved);\n } else if (newEnd) {\n newEnd = addMinutes(newEnd, minutesMoved);\n }\n\n this.eventTimesChanged.emit({newStart, newEnd, event: dayEvent.event});\n this.currentResize = null;\n\n }\n\n dragStart(event: HTMLElement, dayViewContainer: HTMLElement): void {\n const dragHelper: CalendarDragHelper = new CalendarDragHelper(dayViewContainer, event);\n this.validateDrag = ({x, y}) => !this.currentResize && dragHelper.validateDrag({x, y});\n this.cdr.detectChanges();\n }\n\n eventDragged(dayEvent: DayViewEvent, draggedInPixels: number): void {\n const pixelAmountInMinutes: number = MINUTES_IN_HOUR / (this.hourSegments * SEGMENT_HEIGHT);\n const minutesMoved: number = draggedInPixels * pixelAmountInMinutes;\n const newStart: Date = addMinutes(dayEvent.event.start, minutesMoved);\n let newEnd: Date;\n if (dayEvent.event.end) {\n newEnd = addMinutes(dayEvent.event.end, minutesMoved);\n }\n this.eventTimesChanged.emit({newStart, newEnd, event: dayEvent.event});\n }\n */\n\n private refreshHourGrid(): void {\n this.hours = getDayViewHourGrid({\n viewDate: this.viewDate,\n hourSegments: this.hourSegments,\n dayStart: {\n hour: this.dayStartHour,\n minute: this.dayStartMinute,\n },\n dayEnd: {\n hour: this.dayEndHour,\n minute: this.dayEndMinute,\n },\n });\n if (this.hourSegmentModifier) {\n this.hours.forEach((hour) => {\n hour.segments.forEach((segment) => this.hourSegmentModifier(segment));\n });\n }\n }\n\n private refreshView(): void {\n this.view = getDayView({\n events: this.events,\n viewDate: this.viewDate,\n hourSegments: this.hourSegments,\n dayStart: {\n hour: this.dayStartHour,\n minute: this.dayStartMinute,\n },\n dayEnd: {\n hour: this.dayEndHour,\n minute: this.dayEndMinute,\n },\n eventWidth: this.eventWidth,\n segmentHeight: SEGMENT_HEIGHT,\n });\n }\n\n private refreshAll(): void {\n this.refreshHourGrid();\n this.refreshView();\n }\n}\n","import { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\nimport { CalendarEvent, CalendarEventResponse, MonthViewDay } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-agenda-month-day',\n template: `\n <ng-template #defaultTemplate>\n <div class=\"agenda-day-top\">\n <span class=\"agenda-day-badge\" *ngIf=\"day.badgeTotal > 0\">{{ day.badgeTotal }}</span>\n <span class=\"agenda-day-number\">{{ day.date | dayofmonth: locale }}</span>\n </div>\n <div class=\"agenda-events\">\n <div\n class=\"agenda-event\"\n *ngFor=\"let type of day.events | groupBy: 'type'\"\n [style.backgroundColor]=\"type?.value[0]?.color.primary\"\n [ngClass]=\"type?.value[0]?.cssClass\"\n (click)=\"$event.stopPropagation(); eventClicked.emit({ event: type?.value[0] })\"\n >\n {{ type?.value.length }}\n </div>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{\n day: day,\n locale: locale,\n tooltipPosition: tooltipPosition,\n eventClicked: eventClicked,\n accepted: accepted,\n rejected: rejected,\n maybes: maybes\n }\"\n >\n </ng-template>\n `,\n host: {\n '[class]': '\"agenda-cell agenda-day-cell \" + day?.cssClass',\n '[class.agenda-day-accepted]': 'accepted.length',\n '[class.agenda-day-rejected]': 'rejected.length',\n '[class.agenda-past]': 'day.isPast',\n '[class.agenda-today]': 'day.isToday',\n '[class.agenda-future]': 'day.isFuture',\n '[class.agenda-weekend]': 'day.isWeekend',\n '[class.agenda-in-month]': 'day.inMonth',\n '[class.agenda-out-month]': '!day.inMonth',\n '[class.agenda-has-events]': 'day.events.length > 0',\n '[style.backgroundColor]': 'day.backgroundColor',\n },\n standalone: false\n})\nexport class NovoAgendaMonthDayElement {\n @Input()\n day: MonthViewDay;\n\n @Input()\n locale: string;\n\n @Input()\n tooltipPosition: string;\n\n @Input()\n customTemplate: TemplateRef<any>;\n\n @Output()\n eventClicked: EventEmitter<{ event: CalendarEvent }> = new EventEmitter<{ event: CalendarEvent }>();\n\n get accepted(): Array<CalendarEvent> {\n if (!this.day) {\n return [];\n }\n return this.day.events.filter((evt) => {\n return evt.response === CalendarEventResponse.Accepted;\n });\n }\n\n get rejected(): Array<CalendarEvent> {\n if (!this.day) {\n return [];\n }\n return this.day.events.filter((evt) => {\n return evt.response === CalendarEventResponse.Rejected;\n });\n }\n\n get maybes(): Array<CalendarEvent> {\n if (!this.day) {\n return [];\n }\n return this.day.events.filter((evt) => {\n return evt.response === CalendarEventResponse.Maybe;\n });\n }\n}\n","import { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\nimport { addMonths, subMonths } from 'date-fns';\nimport { WeekDay } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-agenda-month-header',\n template: `\n <ng-template #defaultTemplate>\n <div class=\"agenda-header\">\n <div class=\"agenda-header-top\">\n <novo-button theme=\"icon\" icon=\"previous\" (click)=\"prevMonth($event)\"></novo-button>\n <div class=\"agenda-month\">{{ viewDate | month: locale }}</div>\n <novo-button theme=\"icon\" icon=\"next\" (click)=\"nextMonth($event)\"></novo-button>\n </div>\n <div class=\"agenda-weekdays\">\n <div\n class=\"agenda-weekday\"\n *ngFor=\"let day of days\"\n [class.agenda-past]=\"day.isPast\"\n [class.agenda-today]=\"day.isToday\"\n [class.agenda-future]=\"day.isFuture\"\n [class.agenda-weekend]=\"day.isWeekend\"\n >\n {{ day.date | weekday: locale }}\n </div>\n </div>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{ days: days, locale: locale, viewDate: viewDate }\"\n >\n </ng-template>\n `,\n standalone: false\n})\nexport class NovoAgendaMonthHeaderElement {\n @Input()\n viewDate: Date;\n\n @Input()\n days: WeekDay[];\n\n @Input()\n locale: string;\n\n @Input()\n customTemplate: TemplateRef<any>;\n\n /**\n * Called when the view date is changed\n */\n @Output()\n viewDateChange: EventEmitter<Date> = new EventEmitter();\n\n prevMonth(event: Event) {\n this.viewDateChange.emit(subMonths(this.viewDate, 1));\n }\n\n nextMonth(event: Event) {\n this.viewDateChange.emit(addMonths(this.viewDate, 1));\n }\n}\n","import {\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Inject,\n Input,\n LOCALE_ID,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef,\n} from '@angular/core';\nimport { addSeconds, differenceInSeconds, getDate, getMonth, getYear, setDate, setMonth, setYear } from 'date-fns';\nimport { Subject, Subscription } from 'rxjs';\nimport {\n CalendarEvent,\n CalendarEventTimesChangedEvent,\n getMonthView,\n getWeekViewHeader,\n MonthView,\n MonthViewDay,\n WeekDay,\n} from 'novo-elements/utils';\n\n/**\n * Shows all events on a given month. Example usage:\n *\n * ```\n * &lt;novo-agenda-month-view\n * [viewDate]=\"viewDate\"\n * [events]=\"events\"&gt;\n * &lt;/novo-agenda-month-view&gt;\n * ```\n */\n@Component({\n selector: 'novo-agenda-month',\n template: `\n <div class=\"agenda-month-view\">\n <novo-agenda-month-header\n [(viewDate)]=\"viewDate\"\n [days]=\"columnHeaders\"\n [locale]=\"locale\"\n [customTemplate]=\"headerTemplate\"\n (viewDateChange)=\"refreshAll()\"\n >\n </novo-agenda-month-header>\n <div class=\"agenda-days\">\n <div *ngFor=\"let rowIndex of view.rowOffsets\">\n <div class=\"agenda-cell-row\">\n <novo-agenda-month-day\n *ngFor=\"let day of view.days | slice: rowIndex:rowIndex + view.totalDaysVisibleInWeek\"\n [day]=\"day\"\n [locale]=\"locale\"\n [customTemplate]=\"cellTemplate\"\n (click)=\"dayClicked.emit({ day: day })\"\n (eventClicked)=\"eventClicked.emit({ day: day, event: $event.event })\"\n >\n </novo-agenda-month-day>\n </div>\n </div>\n </div>\n </div>\n `,\n styleUrls: ['./AgendaMonthView.scss'],\n standalone: false\n})\nexport class NovoAgendaMonthViewElement implements OnChanges, OnInit, OnDestroy {\n /**\n * The current view date\n */\n @Input()\n viewDate: Date;\n\n /**\n * An array of events to display on view\n */\n @Input()\n events: CalendarEvent[] = [];\n\n /**\n * An array of day indexes (0 = sunday, 1 = monday etc) that will be hidden on the view\n */\n @Input()\n excludeDays: number[] = [];\n\n /**\n * A function that will be called before each cell is rendered. The first argument will contain the calendar cell.\n * If you add the `cssClass` property to the cell it will add that class to the cell in the template\n */\n @Input()\n dayModifier: Function;\n\n /**\n * An observable that when emitted on will re-render the current view\n */\n @Input()\n refresh: Subject<any>;\n\n /**\n * The locale used to format dates\n */\n @Input()\n locale: string = 'en-US';\n\n /**\n * The placement of the event tooltip\n */\n @Input()\n tooltipPosition: string = 'top';\n\n /**\n * The start number of the week\n */\n @Input()\n weekStartsOn: Day;\n\n /**\n * A custom template to use to replace the header\n */\n @Input()\n headerTemplate: TemplateRef<any>;\n\n /**\n * A custom template to use to replace the day cell\n */\n @Input()\n cellTemplate: TemplateRef<any>;\n\n /**\n * Called when the day cell is clicked\n */\n @Output()\n dayClicked: EventEmitter<{ day: MonthViewDay }> = new EventEmitter<{ day: MonthViewDay }>();\n\n /**\n * Called when the event title is clicked\n */\n @Output()\n eventClicked: EventEmitter<{ day: any; event: CalendarEvent }> = new EventEmitter<{ day: any; event: CalendarEvent }>();\n\n /**\n * Called when an event is dragged and dropped\n */\n @Output()\n eventTimesChanged: EventEmitter<CalendarEventTimesChangedEvent> = new EventEmitter<CalendarEventTimesChangedEvent>();\n\n @Output()\n viewDateChange: EventEmitter<Date> = new EventEmitter<Date>();\n\n /**\n * @hidden\n */\n columnHeaders: WeekDay[];\n\n /**\n * @hidden\n */\n view: MonthView;\n\n /**\n * @hidden\n */\n refreshSubscription: Subscription;\n\n /**\n * @hidden\n */\n constructor(private cdr: ChangeDetectorRef, @Inject(LOCALE_ID) locale: string) {\n this.locale = locale;\n }\n\n /**\n * @hidden\n */\n ngOnInit(): void {\n if (this.refresh) {\n this.refreshSubscription = this.refresh.subscribe(() => {\n this.refreshAll();\n this.cdr.markForCheck();\n });\n }\n }\n\n /**\n * @hidden\n */\n ngOnChanges(changes: any): void {\n if (changes.viewDate || changes.excludeDays) {\n this.refreshHeader();\n }\n if (changes.viewDate || changes.events || changes.excludeDays) {\n this.refreshBody();\n }\n }\n\n /**\n * @hidden\n */\n ngOnDestroy(): void {\n if (this.refreshSubscription) {\n this.refreshSubscription.unsubscribe();\n }\n }\n\n /**\n * @hidden\n */\n eventDropped(day: MonthViewDay, event: CalendarEvent): void {\n const year: number = getYear(day.date);\n const month: number = getMonth(day.date);\n const date: number = getDate(day.date);\n const newStart: Date = setYear(setMonth(setDate(event.start, date), month), year);\n let newEnd: Date;\n if (event.end) {\n const secondsDiff: number = differenceInSeconds(newStart, event.start);\n newEnd = addSeconds(event.end, secondsDiff);\n }\n this.eventTimesChanged.emit({ event, newStart, newEnd });\n }\n\n private refreshHeader(): void {\n this.columnHeaders = getWeekViewHeader({\n viewDate: this.viewDate,\n weekStartsOn: this.weekStartsOn,\n excluded: this.excludeDays,\n });\n }\n\n private refreshBody(): void {\n this.view = getMonthView({\n events: this.events,\n viewDate: this.viewDate,\n weekStartsOn: this.weekStartsOn,\n excluded: this.excludeDays,\n });\n if (this.dayModifier) {\n this.view.days.forEach((day) => this.dayModifier(day));\n }\n }\n\n public refreshAll(): void {\n this.refreshHeader();\n this.refreshBody();\n this.viewDateChange.emit(this.viewDate);\n }\n}\n","import { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\nimport { WeekViewEvent } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-agenda-week-event',\n template: `\n <ng-template #defaultTemplate>\n <div\n class=\"cal-event\"\n [class.cal-starts-within-week]=\"!weekEvent.startsBeforeWeek\"\n [class.cal-ends-within-week]=\"!weekEvent.endsAfterWeek\"\n [ngClass]=\"weekEvent.event?.cssClass\"\n [tooltip]=\"weekEvent.event.description\"\n [tooltipPosition]=\"tooltipPosition\"\n (click)=\"eventClicked.emit({ event: weekEvent.event })\"\n >\n <div class=\"cal-event-ribbon\" [style.backgroundColor]=\"weekEvent.event.color.primary\"></div>\n <div class=\"cal-event-title\">{{ weekEvent.event?.title }}</div>\n <div class=\"cal-event-description\">{{ weekEvent.event?.description }}</div>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{ weekEvent: weekEvent, tooltipPosition: tooltipPosition, eventClicked: eventClicked }\"\n >\n </ng-template>\n `,\n standalone: false\n})\nexport class NovoAgendaWeekEventElement {\n @Input()\n weekEvent: WeekViewEvent;\n\n @Input()\n tooltipPosition: string;\n\n @Input()\n customTemplate: TemplateRef<any>;\n\n @Output()\n eventClicked: EventEmitter<any> = new EventEmitter();\n}\n","import { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\nimport { CalendarEvent, WeekDay } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-agenda-week-header',\n template: `\n <ng-template #defaultTemplate>\n <div class=\"cal-day-headers\">\n <div\n class=\"cal-header\"\n *ngFor=\"let day of days\"\n [class.cal-past]=\"day.isPast\"\n [class.cal-today]=\"day.isToday\"\n [class.cal-future]=\"day.isFuture\"\n [class.cal-weekend]=\"day.isWeekend\"\n [class.cal-drag-over]=\"day.dragOver\"\n (click)=\"dayClicked.emit({ date: day.date })\"\n mwlDroppable\n (dragEnter)=\"day.dragOver = true\"\n (dragLeave)=\"day.dragOver = false\"\n (drop)=\"day.dragOver = false; eventDropped.emit({ event: $event.dropData.event, newStart: day.date })\"\n >\n <b>{{ day.date | weekday: locale:'long' }}</b\n ><br />\n <span>{{ day.date | monthday: locale }}</span>\n </div>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{ days: days, locale: locale, dayClicked: dayClicked, eventDropped: eventDropped }\"\n >\n </ng-template>\n `,\n standalone: false\n})\nexport class NovoAgendaWeekHeaderElement {\n @Input()\n days: WeekDay[];\n\n @Input()\n locale: string;\n\n @Input()\n customTemplate: TemplateRef<any>;\n\n @Output()\n dayClicked: EventEmitter<{ date: Date }> = new EventEmitter<{ date: Date }>();\n\n @Output()\n eventDropped: EventEmitter<{ event: CalendarEvent; newStart: Date }> = new EventEmitter<{ event: CalendarEvent; newStart: Date }>();\n}\n","import {\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Inject,\n Input,\n LOCALE_ID,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef,\n} from '@angular/core';\nimport { Subject, Subscription } from 'rxjs';\nimport {\n CalendarEvent,\n CalendarEventTimesChangedEvent,\n DayViewHour,\n getDayViewHourGrid,\n getWeekView,\n getWeekViewHeader,\n WeekDay,\n WeekViewEventRow,\n} from 'novo-elements/utils';\n\n/**\n * @hidden\n */\nconst SEGMENT_HEIGHT: number = 30;\n\n/**\n * @hidden\n */\nconst MINUTES_IN_HOUR: number = 60;\n/**\n * Shows all events on a given week. Example usage:\n *\n * ```typescript\n * &lt;novo-agenda-week\n * [viewDate]=\"viewDate\"\n * [events]=\"events\"&gt;\n * &lt;/novo-agenda-week&gt;\n * ```\n */\n@Component({\n selector: 'novo-agenda-week',\n template: `\n <div class=\"cal-week-view\" #weekViewContainer>\n <novo-agenda-week-header [days]=\"days\" [locale]=\"locale\" [customTemplate]=\"headerTemplate\" (dayClicked)=\"dayClicked.emit($event)\">\n </novo-agenda-week-header>\n <div *ngFor=\"let eventRow of eventRows\" #eventRowContainer>\n <div\n class=\"cal-event-container\"\n #event\n *ngFor=\"let weekEvent of eventRow.row\"\n [style.width]=\"(100 / days.length) * weekEvent.span + '%'\"\n [style.marginTop.px]=\"weekEvent.top\"\n [style.height.px]=\"weekEvent.height\"\n [style.marginLeft]=\"(100 / days.length) * weekEvent.offset + '%'\"\n >\n <novo-agenda-week-event\n [weekEvent]=\"weekEvent\"\n [tooltipPosition]=\"tooltipPosition\"\n [customTemplate]=\"eventTemplate\"\n (eventClicked)=\"eventClicked.emit($event)\"\n >\n </novo-agenda-week-event>\n </div>\n </div>\n <div class=\"cal-hour\" *ngFor=\"let hour of hours\" [style.minWidth.px]=\"70\">\n <novo-agenda-day-hour-segment\n *ngFor=\"let segment of hour.segments\"\n [segment]=\"segment\"\n [locale]=\"locale\"\n [customTemplate]=\"hourSegmentTemplate\"\n (click)=\"hourSegmentClicked.emit({ date: segment.date })\"\n >\n </novo-agenda-day-hour-segment>\n </div>\n </div>\n `,\n styleUrls: ['./AgendaWeekView.scss', '../common/AgendaHoursLayout.scss'],\n standalone: false\n})\nexport class NovoAgendaWeekViewElement implements OnChanges, OnInit, OnDestroy {\n /**\n * The current view date\n */\n @Input()\n viewDate: Date;\n\n /**\n * An array of events to display on view\n */\n @Input()\n events: CalendarEvent[] = [];\n\n /**\n * An array of day indexes (0 = sunday, 1 = monday etc) that will be hidden on the view\n */\n @Input()\n excludeDays: number[] = [];\n\n /**\n * An observable that when emitted on will re-render the current view\n */\n @Input()\n refresh: Subject<any>;\n\n /**\n * The locale used to format dates\n */\n @Input()\n locale: string;\n\n /**\n * The placement of the event tooltip\n */\n @Input()\n tooltipPosition: string = 'bottom';\n\n /**\n * The start number of the week\n */\n @Input()\n weekStartsOn: Day;\n\n /**\n * A custom template to use to replace the header\n */\n @Input()\n headerTemplate: TemplateRef<any>;\n\n /**\n * A custom template to use for week view events\n */\n @Input()\n eventTemplate: TemplateRef<any>;\n\n /**\n * The precision to display events.\n * `days` will round event start and end dates to the nearest day and `minutes` will not do this rounding\n */\n @Input()\n precision: 'days' | 'minutes' = 'days';\n /**\n * The number of segments in an hour. Must be <= 6\n */\n @Input()\n hourSegments: number = 2;\n\n /**\n * The day start hours in 24 hour time. Must be 0-23\n */\n @Input()\n dayStartHour: number = 0;\n\n /**\n * The day start minutes. Must be 0-59\n */\n @Input()\n dayStartMinute: number = 0;\n\n /**\n * The day end hours in 24 hour time. Must be 0-23\n */\n @Input()\n dayEndHour: number = 23;\n\n /**\n * The day end minutes. Must be 0-59\n */\n @Input()\n dayEndMinute: number = 59;\n /**\n * A custom template to use to replace the hour segment\n */\n @Input()\n hourSegmentTemplate: TemplateRef<any>;\n /**\n * Called when an hour segment is clicked\n */\n @Output()\n hourSegmentClicked: EventEmitter<{ date: Date }> = new EventEmitter<{ date: Date }>();\n /**\n * Called when a header week day is clicked\n */\n @Output()\n dayClicked: EventEmitter<{ date: Date }> = new EventEmitter<{ date: Date }>();\n\n /**\n * Called when the event title is clicked\n */\n @Output()\n eventClicked: EventEmitter<{ event: CalendarEvent }> = new EventEmitter<{ event: CalendarEvent }>();\n\n /**\n * Called when an event is resized or dragged and dropped\n */\n @Output()\n eventTimesChanged: EventEmitter<CalendarEventTimesChangedEvent> = new EventEmitter<CalendarEventTimesChangedEvent>();\n\n /**\n * @hidden\n */\n days: WeekDay[];\n /**\n * @hidden\n */\n hours: DayViewHour[] = [];\n\n /**\n * @hidden\n */\n eventRows: WeekViewEventRow[] = [];\n\n /**\n * @hidden\n */\n refreshSubscription: Subscription;\n\n /**\n * @hidden\n */\n currentResize: {\n originalOffset: number;\n originalSpan: number;\n edge: string;\n };\n\n /**\n * @hidden\n */\n validateDrag: Function;\n\n /**\n * @hidden\n */\n validateResize: Function;\n\n /**\n * @hidden\n */\n constructor(private cdr: ChangeDetectorRef, @Inject(LOCALE_ID) locale: string) {\n this.locale = locale;\n }\n\n /**\n * @hidden\n */\n ngOnInit(): void {\n if (this.refresh) {\n this.refreshSubscription = this.refresh.subscribe(() => {\n this.refreshAll();\n this.cdr.detectChanges();\n });\n }\n }\n\n /**\n * @hidden\n */\n ngOnChanges(changes: any): void {\n if (changes.viewDate || changes.excludeDays) {\n this.refreshHeader();\n }\n\n if (changes.events || changes.viewDate || changes.excludeDays) {\n this.refreshBody();\n }\n\n if (changes.viewDate || changes.dayStartHour || changes.dayStartMinute || changes.dayEndHour || changes.dayEndMinute) {\n this.refreshHourGrid();\n }\n }\n\n /**\n * @hidden\n */\n ngOnDestroy(): void {\n if (this.refreshSubscription) {\n this.refreshSubscription.unsubscribe();\n }\n }\n\n getDayColumnWidth(eventRowContainer: HTMLElement): number {\n return Math.floor(eventRowContainer.offsetWidth / this.days.length);\n }\n\n private refreshHeader(): void {\n this.days = getWeekViewHeader({\n viewDate: this.viewDate,\n weekStartsOn: this.weekStartsOn,\n excluded: this.excludeDays,\n });\n }\n\n private refreshBody(): void {\n this.eventRows = getWeekView({\n events: this.events,\n viewDate: this.viewDate,\n weekStartsOn: this.weekStartsOn,\n excluded: this.excludeDays,\n hourSegments: this.hourSegments,\n segmentHeight: SEGMENT_HEIGHT,\n dayStart: {\n hour: this.dayStartHour,\n minute: this.dayStartMinute,\n },\n dayEnd: {\n hour: this.dayEndHour,\n minute: this.dayEndMinute,\n },\n });\n }\n\n private refreshHourGrid(): void {\n this.hours = getDayViewHourGrid({\n viewDate: this.viewDate,\n hourSegments: this.hourSegments,\n dayStart: {\n hour: this.dayStartHour,\n minute: this.dayStartMinute,\n },\n dayEnd: {\n hour: this.dayEndHour,\n minute: this.dayEndMinute,\n },\n });\n }\n\n private refreshAll(): void {\n this.refreshHeader();\n this.refreshHourGrid();\n this.refreshBody();\n }\n}\n","// NG2\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n// APP\nimport { NovoButtonModule } from 'novo-elements/elements/button';\nimport { NovoPipesModule } from 'novo-elements/pipes';\nimport { NovoTooltipModule } from 'novo-elements/elements/tooltip';\n// Common Elements\nimport { NovoAgendaDateChangeElement } from './common/AgendaDateChange';\nimport { NovoEventTypeLegendElement } from './common/EventTypeLegend';\n// Day View\nimport { NovoAgendaAllDayEventElement } from './day/AgendaAllDayEvent';\nimport { NovoAgendaDayEventElement } from './day/AgendaDayEvent';\nimport { NovoAgendaDayViewElement } from './day/AgendaDayView';\nimport { NovoAgendaHourSegmentElement } from './day/AgendaHourSegment';\n// Month View\nimport { NovoAgendaMonthDayElement } from './month/AgendaMonthDay';\nimport { NovoAgendaMonthHeaderElement } from './month/AgendaMonthHeader';\nimport { NovoAgendaMonthViewElement } from './month/AgendaMonthView';\n// Week View\nimport { NovoAgendaWeekEventElement } from './week/AgendaWeekEvent';\nimport { NovoAgendaWeekHeaderElement } from './week/AgendaWeekHeader';\nimport { NovoAgendaWeekViewElement } from './week/AgendaWeekView';\n// Pipes\nimport { DayOfMonthPipe } from './pipe/DayOfMonth.pipe';\nimport { EndOfWeekDisplayPipe } from './pipe/EndOfWeekDisplayPipe.pipe';\nimport { HoursPipe } from './pipe/Hours.pipe';\nimport { MonthPipe } from './pipe/Month.pipe';\nimport { MonthDayPipe } from './pipe/MonthDay.pipe';\nimport { WeekdayPipe } from './pipe/Weekday.pipe';\nimport { YearPipe } from './pipe/Year.pipe';\n\n@NgModule({\n imports: [CommonModule, NovoButtonModule, NovoTooltipModule, NovoPipesModule],\n declarations: [\n NovoEventTypeLegendElement,\n NovoAgendaMonthViewElement,\n NovoAgendaMonthHeaderElement,\n NovoAgendaMonthDayElement,\n NovoAgendaWeekViewElement,\n NovoAgendaWeekHeaderElement,\n NovoAgendaWeekEventElement,\n NovoAgendaDayViewElement,\n NovoAgendaDayEventElement,\n NovoAgendaHourSegmentElement,\n NovoAgendaAllDayEventElement,\n NovoAgendaDateChangeElement,\n WeekdayPipe,\n DayOfMonthPipe,\n MonthPipe,\n MonthDayPipe,\n YearPipe,\n HoursPipe,\n EndOfWeekDisplayPipe,\n ],\n exports: [\n NovoEventTypeLegendElement,\n NovoAgendaMonthViewElement,\n NovoAgendaMonthHeaderElement,\n NovoAgendaMonthDayElement,\n NovoAgendaWeekViewElement,\n NovoAgendaWeekHeaderElement,\n NovoAgendaWeekEventElement,\n NovoAgendaDayViewElement,\n NovoAgendaDayEventElement,\n NovoAgendaHourSegmentElement,\n NovoAgendaAllDayEventElement,\n NovoAgendaDateChangeElement,\n WeekdayPipe,\n DayOfMonthPipe,\n MonthPipe,\n MonthDayPipe,\n YearPipe,\n HoursPipe,\n EndOfWeekDisplayPipe,\n ],\n})\nexport class NovoAgendaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.WeekdayPipe","i3.DayOfMonthPipe","i4.MonthPipe","i5.MonthDayPipe","i6.YearPipe","i7.EndOfWeekDisplayPipe","i2","i2.HoursPipe","SEGMENT_HEIGHT","MINUTES_IN_HOUR","i2.NovoAgendaDayEventElement","i3.NovoAgendaHourSegmentElement","i4.NovoAgendaAllDayEventElement","i3.WeekdayPipe","i2.NovoAgendaMonthHeaderElement","i3.NovoAgendaMonthDayElement","i3.MonthDayPipe","i2.NovoAgendaWeekHeaderElement","i3.NovoAgendaWeekEventElement","i4.NovoAgendaHourSegmentElement"],"mappings":"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"}
1
+ {"version":3,"file":"novo-elements-elements-agenda.mjs","sources":["../../../projects/novo-elements/src/elements/agenda/pipe/Weekday.pipe.ts","../../../projects/novo-elements/src/elements/agenda/pipe/DayOfMonth.pipe.ts","../../../projects/novo-elements/src/elements/agenda/pipe/Month.pipe.ts","../../../projects/novo-elements/src/elements/agenda/pipe/MonthDay.pipe.ts","../../../projects/novo-elements/src/elements/agenda/pipe/Year.pipe.ts","../../../projects/novo-elements/src/elements/agenda/pipe/EndOfWeekDisplayPipe.pipe.ts","../../../projects/novo-elements/src/elements/agenda/common/AgendaDateChange.ts","../../../projects/novo-elements/src/elements/agenda/common/EventTypeLegend.ts","../../../projects/novo-elements/src/elements/agenda/day/AgendaAllDayEvent.ts","../../../projects/novo-elements/src/elements/agenda/day/AgendaDayEvent.ts","../../../projects/novo-elements/src/elements/agenda/pipe/Hours.pipe.ts","../../../projects/novo-elements/src/elements/agenda/day/AgendaHourSegment.ts","../../../projects/novo-elements/src/elements/agenda/day/AgendaDayView.ts","../../../projects/novo-elements/src/elements/agenda/month/AgendaMonthDay.ts","../../../projects/novo-elements/src/elements/agenda/month/AgendaMonthHeader.ts","../../../projects/novo-elements/src/elements/agenda/month/AgendaMonthView.ts","../../../projects/novo-elements/src/elements/agenda/week/AgendaWeekEvent.ts","../../../projects/novo-elements/src/elements/agenda/week/AgendaWeekHeader.ts","../../../projects/novo-elements/src/elements/agenda/week/AgendaWeekView.ts","../../../projects/novo-elements/src/elements/agenda/Agenda.module.ts","../../../projects/novo-elements/src/elements/agenda/novo-elements-elements-agenda.ts"],"sourcesContent":["import { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'weekday',\n standalone: false,\n})\nexport class WeekdayPipe implements PipeTransform {\n constructor(@Inject(LOCALE_ID) private locale: string = 'en-US') {}\n transform(date: Date, locale: string = this.locale, method: 'long' | 'short' | 'narrow' = 'short'): string {\n return new Intl.DateTimeFormat(locale, { weekday: method }).format(date);\n }\n}\n","import { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'dayofmonth',\n standalone: false,\n})\nexport class DayOfMonthPipe implements PipeTransform {\n constructor(@Inject(LOCALE_ID) private locale: string = 'en-US') {}\n transform(date: Date, locale: string = this.locale, method: 'numeric' | '2-digit' = 'numeric'): string {\n return new Intl.DateTimeFormat(locale, { day: method }).format(date);\n }\n}\n","import { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'month',\n standalone: false,\n})\nexport class MonthPipe implements PipeTransform {\n constructor(@Inject(LOCALE_ID) private locale: string = 'en-US') {}\n transform(date: Date, locale: string = this.locale, method: 'numeric' | '2-digit' | 'long' | 'short' | 'narrow' = 'long'): string {\n return new Intl.DateTimeFormat(locale, { month: method }).format(date);\n }\n}\n","import { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'monthday',\n standalone: false,\n})\nexport class MonthDayPipe implements PipeTransform {\n constructor(@Inject(LOCALE_ID) private locale: string = 'en-US') {}\n transform(date: Date, locale: string = this.locale, method: 'numeric' | '2-digit' | 'long' | 'short' | 'narrow' = 'short'): string {\n return new Intl.DateTimeFormat(locale, { month: method, day: 'numeric' }).format(date);\n }\n}\n","import { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'year',\n standalone: false,\n})\nexport class YearPipe implements PipeTransform {\n constructor(@Inject(LOCALE_ID) private locale: string = 'en-US') {}\n transform(date: Date, locale: string = this.locale, method: 'numeric' | '2-digit' = 'numeric'): string {\n return new Intl.DateTimeFormat(locale, { year: method }).format(date);\n }\n}\n","import { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'endofweekdisplay',\n standalone: false,\n})\nexport class EndOfWeekDisplayPipe implements PipeTransform {\n constructor(@Inject(LOCALE_ID) private locale: string = 'en-US') {}\n\n transform(\n endOfWeek: Date,\n startOfWeek: Date,\n locale: string = this.locale,\n method: 'numeric' | '2-digit' | 'long' | 'short' | 'narrow' = 'short',\n ): String {\n if (endOfWeek.getMonth() === startOfWeek.getMonth()) {\n return new Intl.DateTimeFormat(locale, { day: 'numeric' }).format(endOfWeek);\n }\n\n return new Intl.DateTimeFormat(locale, { month: method, day: 'numeric' }).format(endOfWeek);\n }\n}\n","import { Component, EventEmitter, Inject, Input, LOCALE_ID, Output } from '@angular/core';\nimport { DateUtil } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-agenda-date-change',\n template: `\n <div class=\"cal-date-change\">\n <i class=\"bhi-arrow-left\" (click)=\"subtractDate()\"></i>\n <span [ngSwitch]=\"view\">\n <span *ngSwitchCase=\"'month'\">{{ (viewDate | month: locale) + ' ' + (viewDate | year: locale) }}</span>\n <span *ngSwitchCase=\"'week'\">{{\n (startOfWeek | monthday: locale:'long') + ' - ' + (endOfWeek | endofweekdisplay: startOfWeek:locale:'long')\n }}</span>\n <span *ngSwitchCase=\"'day'\">{{\n (viewDate | weekday: locale:'long') + ', ' + (viewDate | month: locale) + ' ' + (viewDate | dayofmonth: locale)\n }}</span>\n </span>\n <i class=\"bhi-arrow-right\" (click)=\"addDate()\"></i>\n </div>\n `,\n styleUrls: ['./AgendaDateChange.scss'],\n standalone: false,\n})\nexport class NovoAgendaDateChangeElement {\n /**\n * The current view\n */\n @Input()\n view: string;\n\n /**\n * The current view date\n */\n @Input()\n viewDate: Date;\n\n @Input()\n locale: string;\n\n /**\n * Called when the view date is changed\n */\n @Output()\n viewDateChange: EventEmitter<Date> = new EventEmitter();\n\n constructor(@Inject(LOCALE_ID) locale: string) {\n this.locale = locale;\n }\n\n /**\n * @hidden\n */\n subtractDate(): void {\n this.changeDate(-1);\n }\n\n addDate(): void {\n this.changeDate(1);\n }\n\n changeDate(unit: number): void {\n const addFn: any = {\n day: DateUtil.addDays,\n week: DateUtil.addWeeks,\n month: DateUtil.addMonths,\n }[this.view];\n\n this.viewDateChange.emit(addFn(this.viewDate, unit));\n }\n\n get startOfWeek() {\n return DateUtil.startOfWeek(this.viewDate);\n }\n\n get endOfWeek() {\n return DateUtil.endOfWeek(this.viewDate);\n }\n}\n","import { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\nimport { CalendarEvent } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-event-type-legend',\n template: `\n <ng-template #defaultTemplate>\n <div class=\"cal-event-legend\">\n <div\n class=\"cal-event-type\"\n *ngFor=\"let type of events | groupBy: 'type'\"\n (click)=\"$event.stopPropagation(); eventTypeClicked.emit({ event: type?.key })\"\n >\n <div class=\"cal-event-type-swatch\"></div>\n <div>{{ type?.key }}</div>\n </div>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{ events: events, eventTypeClicked: eventTypeClicked }\"\n >\n </ng-template>\n `,\n standalone: false,\n})\nexport class NovoEventTypeLegendElement {\n @Input()\n events: CalendarEvent[];\n\n @Input()\n customTemplate: TemplateRef<any>;\n\n @Output()\n eventTypeClicked: EventEmitter<any> = new EventEmitter();\n}\n","import { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\nimport { CalendarEvent } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-agenda-all-day-event',\n template: `\n <ng-template #defaultTemplate>\n <div class=\"cal-all-day-event\" [style.backgroundColor]=\"event.color.secondary\" [style.borderColor]=\"event.color.primary\">\n {{ event.title }}\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{\n event: event,\n eventClicked: eventClicked\n }\"\n >\n </ng-template>\n `,\n standalone: false,\n})\nexport class NovoAgendaAllDayEventElement {\n @Input()\n event: CalendarEvent;\n\n @Input()\n customTemplate: TemplateRef<any>;\n\n @Output()\n eventClicked: EventEmitter<any> = new EventEmitter();\n}\n","import { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\nimport { DayViewEvent } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-agenda-day-event',\n template: `\n <ng-template #defaultTemplate>\n <div\n class=\"cal-event\"\n [style.borderColor]=\"dayEvent.event.color.secondary\"\n [class.cal-starts-within-day]=\"!dayEvent.startsBeforeDay\"\n [class.cal-ends-within-day]=\"!dayEvent.endsAfterDay\"\n [ngClass]=\"dayEvent.event.cssClass\"\n [tooltip]=\"dayEvent.event.description\"\n [tooltipPosition]=\"tooltipPosition\"\n (click)=\"eventClicked.emit({ event: dayEvent.event })\"\n >\n <div class=\"cal-event-ribbon\" [style.backgroundColor]=\"dayEvent.event.color.primary\"></div>\n <div class=\"cal-event-group\">\n <div class=\"cal-event-title\">{{ dayEvent.event.title }}</div>\n <div class=\"cal-event-description\">{{ dayEvent.event?.description }}</div>\n </div>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{ dayEvent: dayEvent, tooltipPosition: tooltipPosition, eventClicked: eventClicked }\"\n >\n </ng-template>\n `,\n standalone: false,\n})\nexport class NovoAgendaDayEventElement {\n @Input()\n dayEvent: DayViewEvent;\n\n @Input()\n tooltipPosition: string;\n\n @Input()\n customTemplate: TemplateRef<any>;\n\n @Output()\n eventClicked: EventEmitter<any> = new EventEmitter();\n}\n","import { Inject, LOCALE_ID, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'hours',\n standalone: false,\n})\nexport class HoursPipe implements PipeTransform {\n constructor(@Inject(LOCALE_ID) private locale: string = 'en-US') {}\n transform(date: Date, locale: string = this.locale, method: 'numeric' | '2-digit' = 'numeric'): string {\n return new Intl.DateTimeFormat(locale, { hour: method }).format(date);\n }\n}\n","import { Component, Input, TemplateRef } from '@angular/core';\nimport { DayViewHourSegment } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-agenda-day-hour-segment',\n template: `\n <ng-template #defaultTemplate>\n <div\n class=\"cal-hour-segment\"\n [class.cal-hour-start]=\"segment.isStart\"\n [class.cal-after-hour-start]=\"!segment.isStart\"\n [ngClass]=\"segment.cssClass\"\n >\n <div class=\"cal-time\">\n {{ segment.date | hours: locale }}\n </div>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{\n segment: segment,\n locale: locale\n }\"\n >\n </ng-template>\n `,\n standalone: false,\n})\nexport class NovoAgendaHourSegmentElement {\n @Input()\n segment: DayViewHourSegment;\n\n @Input()\n locale: string;\n\n @Input()\n customTemplate: TemplateRef<any>;\n}\n","import {\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Inject,\n Input,\n LOCALE_ID,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef,\n} from '@angular/core';\nimport { Subject, Subscription } from 'rxjs';\nimport {\n CalendarEvent,\n CalendarEventTimesChangedEvent,\n DayView,\n DayViewHour,\n getDayView,\n getDayViewHourGrid,\n} from 'novo-elements/utils';\n\n/**\n * @hidden\n */\nconst SEGMENT_HEIGHT: number = 30;\n\n/**\n * @hidden\n */\nconst MINUTES_IN_HOUR: number = 60;\n\n/**\n * Shows all events on a given day. Example usage:\n *\n * ```typescript\n * &lt;novo-agenda-day\n * [viewDate]=\"viewDate\"\n * [events]=\"events\"&gt;\n * &lt;/novo-agenda-day&gt;\n * ```\n */\n@Component({\n selector: 'novo-agenda-day',\n template: `\n <div class=\"cal-day-view\" #dayViewContainer>\n <novo-agenda-all-day-event\n *ngFor=\"let event of view.allDayEvents\"\n [event]=\"event\"\n [customTemplate]=\"allDayEventTemplate\"\n (eventClicked)=\"eventClicked.emit({ event: event })\"\n >\n </novo-agenda-all-day-event>\n <div class=\"cal-hour-rows\">\n <div class=\"cal-events\">\n <div\n #event\n *ngFor=\"let dayEvent of view?.events\"\n class=\"cal-event-container\"\n [style.marginTop.px]=\"dayEvent.top\"\n [style.height.px]=\"dayEvent.height\"\n [style.marginLeft.px]=\"dayEvent.left + 70\"\n [style.width.px]=\"dayEvent.width - 1\"\n >\n <novo-agenda-day-event\n [dayEvent]=\"dayEvent\"\n [tooltipPosition]=\"tooltipPosition\"\n [customTemplate]=\"eventTemplate\"\n (eventClicked)=\"eventClicked.emit($event)\"\n >\n </novo-agenda-day-event>\n </div>\n </div>\n <div class=\"cal-hour\" *ngFor=\"let hour of hours\" [style.minWidth.px]=\"view?.width + 70\">\n <novo-agenda-day-hour-segment\n *ngFor=\"let segment of hour.segments\"\n [segment]=\"segment\"\n [locale]=\"locale\"\n [customTemplate]=\"hourSegmentTemplate\"\n (click)=\"hourSegmentClicked.emit({ date: segment.date })\"\n >\n </novo-agenda-day-hour-segment>\n </div>\n </div>\n </div>\n `,\n styleUrls: ['./AgendaDayView.scss', '../common/AgendaHoursLayout.scss'],\n standalone: false,\n})\nexport class NovoAgendaDayViewElement implements OnChanges, OnInit, OnDestroy {\n /**\n * The current view date\n */\n @Input()\n viewDate: Date;\n\n /**\n * An array of events to display on view\n */\n @Input()\n events: CalendarEvent[] = [];\n\n /**\n * The number of segments in an hour. Must be <= 6\n */\n @Input()\n hourSegments: number = 2;\n\n /**\n * The day start hours in 24 hour time. Must be 0-23\n */\n @Input()\n dayStartHour: number = 0;\n\n /**\n * The day start minutes. Must be 0-59\n */\n @Input()\n dayStartMinute: number = 0;\n\n /**\n * The day end hours in 24 hour time. Must be 0-23\n */\n @Input()\n dayEndHour: number = 23;\n\n /**\n * The day end minutes. Must be 0-59\n */\n @Input()\n dayEndMinute: number = 59;\n\n /**\n * The width in pixels of each event on the view\n */\n @Input()\n eventWidth: number = 150;\n\n /**\n * An observable that when emitted on will re-render the current view\n */\n @Input()\n refresh: Subject<any>;\n\n /**\n * The locale used to format dates\n */\n @Input()\n locale: string;\n\n /**\n * A function that will be called before each hour segment is called. The first argument will contain the hour segment.\n * If you add the `cssClass` property to the segment it will add that class to the hour segment in the template\n */\n @Input()\n hourSegmentModifier: Function;\n\n /**\n * The grid size to snap resizing and dragging of events to\n */\n @Input()\n eventSnapSize: number = 30;\n\n /**\n * The placement of the event tooltip\n */\n @Input()\n tooltipPosition: string = 'top';\n\n /**\n * A custom template to use to replace the hour segment\n */\n @Input()\n hourSegmentTemplate: TemplateRef<any>;\n\n /**\n * A custom template to use for all day events\n */\n @Input()\n allDayEventTemplate: TemplateRef<any>;\n\n /**\n * A custom template to use for day view events\n */\n @Input()\n eventTemplate: TemplateRef<any>;\n\n /**\n * Called when an event title is clicked\n */\n @Output()\n eventClicked: EventEmitter<{ event: CalendarEvent }> = new EventEmitter<{ event: CalendarEvent }>();\n\n /**\n * Called when an hour segment is clicked\n */\n @Output()\n hourSegmentClicked: EventEmitter<{ date: Date }> = new EventEmitter<{ date: Date }>();\n\n /**\n * Called when an event is resized or dragged and dropped\n */\n @Output()\n eventTimesChanged: EventEmitter<CalendarEventTimesChangedEvent> = new EventEmitter<CalendarEventTimesChangedEvent>();\n\n /**\n * @hidden\n */\n hours: DayViewHour[] = [];\n\n /**\n * @hidden\n */\n view: DayView;\n\n /**\n * @hidden\n */\n width: number = 0;\n\n /**\n * @hidden\n */\n refreshSubscription: Subscription;\n\n /**\n * @hidden\n */\n currentResize: {\n originalTop: number;\n originalHeight: number;\n edge: string;\n };\n\n /**\n * @hidden\n */\n validateDrag: Function;\n\n /**\n * @hidden\n */\n validateResize: Function;\n\n /**\n * @hidden\n */\n constructor(private cdr: ChangeDetectorRef, @Inject(LOCALE_ID) locale: string) {\n this.locale = locale;\n }\n\n /**\n * @hidden\n */\n ngOnInit(): void {\n if (this.refresh) {\n this.refreshSubscription = this.refresh.subscribe(() => {\n this.refreshAll();\n this.cdr.detectChanges();\n });\n }\n }\n\n /**\n * @hidden\n */\n ngOnDestroy(): void {\n if (this.refreshSubscription) {\n this.refreshSubscription.unsubscribe();\n }\n }\n\n /**\n * @hidden\n */\n ngOnChanges(changes: any): void {\n if (changes.viewDate || changes.dayStartHour || changes.dayStartMinute || changes.dayEndHour || changes.dayEndMinute) {\n this.refreshHourGrid();\n }\n\n if (\n changes.viewDate ||\n changes.events ||\n changes.dayStartHour ||\n changes.dayStartMinute ||\n changes.dayEndHour ||\n changes.dayEndMinute ||\n changes.eventWidth\n ) {\n this.refreshView();\n }\n }\n\n /*\n eventDropped(dropEvent: {dropData?: {event?: CalendarEvent}}, segment: DayViewHourSegment): void {\n if (dropEvent.dropData && dropEvent.dropData.event) {\n this.eventTimesChanged.emit({event: dropEvent.dropData.event, newStart: segment.date});\n }\n }\n\n resizeStarted(event: DayViewEvent, resizeEvent: ResizeEvent, dayViewContainer: HTMLElement): void {\n this.currentResize = {\n originalTop: event.top,\n originalHeight: event.height,\n edge: typeof resizeEvent.edges.top !== 'undefined' ? 'top' : 'bottom'\n };\n const resizeHelper: CalendarResizeHelper = new CalendarResizeHelper(dayViewContainer);\n this.validateResize = ({rectangle}) => resizeHelper.validateResize({rectangle});\n this.cdr.detectChanges();\n }\n\n resizing(event: DayViewEvent, resizeEvent: ResizeEvent): void {\n if (resizeEvent.edges.top) {\n event.top = this.currentResize.originalTop + +resizeEvent.edges.top;\n event.height = this.currentResize.originalHeight - +resizeEvent.edges.top;\n } else if (resizeEvent.edges.bottom) {\n event.height = this.currentResize.originalHeight + +resizeEvent.edges.bottom;\n }\n }\n\n resizeEnded(dayEvent: DayViewEvent): void {\n\n let pixelsMoved: number;\n if (this.currentResize.edge === 'top') {\n pixelsMoved = (dayEvent.top - this.currentResize.originalTop);\n } else {\n pixelsMoved = (dayEvent.height - this.currentResize.originalHeight);\n }\n\n dayEvent.top = this.currentResize.originalTop;\n dayEvent.height = this.currentResize.originalHeight;\n\n const pixelAmountInMinutes: number = MINUTES_IN_HOUR / (this.hourSegments * SEGMENT_HEIGHT);\n const minutesMoved: number = pixelsMoved * pixelAmountInMinutes;\n let newStart: Date = dayEvent.event.start;\n let newEnd: Date = dayEvent.event.end;\n if (this.currentResize.edge === 'top') {\n newStart = addMinutes(newStart, minutesMoved);\n } else if (newEnd) {\n newEnd = addMinutes(newEnd, minutesMoved);\n }\n\n this.eventTimesChanged.emit({newStart, newEnd, event: dayEvent.event});\n this.currentResize = null;\n\n }\n\n dragStart(event: HTMLElement, dayViewContainer: HTMLElement): void {\n const dragHelper: CalendarDragHelper = new CalendarDragHelper(dayViewContainer, event);\n this.validateDrag = ({x, y}) => !this.currentResize && dragHelper.validateDrag({x, y});\n this.cdr.detectChanges();\n }\n\n eventDragged(dayEvent: DayViewEvent, draggedInPixels: number): void {\n const pixelAmountInMinutes: number = MINUTES_IN_HOUR / (this.hourSegments * SEGMENT_HEIGHT);\n const minutesMoved: number = draggedInPixels * pixelAmountInMinutes;\n const newStart: Date = addMinutes(dayEvent.event.start, minutesMoved);\n let newEnd: Date;\n if (dayEvent.event.end) {\n newEnd = addMinutes(dayEvent.event.end, minutesMoved);\n }\n this.eventTimesChanged.emit({newStart, newEnd, event: dayEvent.event});\n }\n */\n\n private refreshHourGrid(): void {\n this.hours = getDayViewHourGrid({\n viewDate: this.viewDate,\n hourSegments: this.hourSegments,\n dayStart: {\n hour: this.dayStartHour,\n minute: this.dayStartMinute,\n },\n dayEnd: {\n hour: this.dayEndHour,\n minute: this.dayEndMinute,\n },\n });\n if (this.hourSegmentModifier) {\n this.hours.forEach((hour) => {\n hour.segments.forEach((segment) => this.hourSegmentModifier(segment));\n });\n }\n }\n\n private refreshView(): void {\n this.view = getDayView({\n events: this.events,\n viewDate: this.viewDate,\n hourSegments: this.hourSegments,\n dayStart: {\n hour: this.dayStartHour,\n minute: this.dayStartMinute,\n },\n dayEnd: {\n hour: this.dayEndHour,\n minute: this.dayEndMinute,\n },\n eventWidth: this.eventWidth,\n segmentHeight: SEGMENT_HEIGHT,\n });\n }\n\n private refreshAll(): void {\n this.refreshHourGrid();\n this.refreshView();\n }\n}\n","import { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\nimport { CalendarEvent, CalendarEventResponse, MonthViewDay } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-agenda-month-day',\n template: `\n <ng-template #defaultTemplate>\n <div class=\"agenda-day-top\">\n <span class=\"agenda-day-badge\" *ngIf=\"day.badgeTotal > 0\">{{ day.badgeTotal }}</span>\n <span class=\"agenda-day-number\">{{ day.date | dayofmonth: locale }}</span>\n </div>\n <div class=\"agenda-events\">\n <div\n class=\"agenda-event\"\n *ngFor=\"let type of day.events | groupBy: 'type'\"\n [style.backgroundColor]=\"type?.value[0]?.color.primary\"\n [ngClass]=\"type?.value[0]?.cssClass\"\n (click)=\"$event.stopPropagation(); eventClicked.emit({ event: type?.value[0] })\"\n >\n {{ type?.value.length }}\n </div>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{\n day: day,\n locale: locale,\n tooltipPosition: tooltipPosition,\n eventClicked: eventClicked,\n accepted: accepted,\n rejected: rejected,\n maybes: maybes\n }\"\n >\n </ng-template>\n `,\n host: {\n '[class]': '\"agenda-cell agenda-day-cell \" + day?.cssClass',\n '[class.agenda-day-accepted]': 'accepted.length',\n '[class.agenda-day-rejected]': 'rejected.length',\n '[class.agenda-past]': 'day.isPast',\n '[class.agenda-today]': 'day.isToday',\n '[class.agenda-future]': 'day.isFuture',\n '[class.agenda-weekend]': 'day.isWeekend',\n '[class.agenda-in-month]': 'day.inMonth',\n '[class.agenda-out-month]': '!day.inMonth',\n '[class.agenda-has-events]': 'day.events.length > 0',\n '[style.backgroundColor]': 'day.backgroundColor',\n },\n standalone: false,\n})\nexport class NovoAgendaMonthDayElement {\n @Input()\n day: MonthViewDay;\n\n @Input()\n locale: string;\n\n @Input()\n tooltipPosition: string;\n\n @Input()\n customTemplate: TemplateRef<any>;\n\n @Output()\n eventClicked: EventEmitter<{ event: CalendarEvent }> = new EventEmitter<{ event: CalendarEvent }>();\n\n get accepted(): Array<CalendarEvent> {\n if (!this.day) {\n return [];\n }\n return this.day.events.filter((evt) => {\n return evt.response === CalendarEventResponse.Accepted;\n });\n }\n\n get rejected(): Array<CalendarEvent> {\n if (!this.day) {\n return [];\n }\n return this.day.events.filter((evt) => {\n return evt.response === CalendarEventResponse.Rejected;\n });\n }\n\n get maybes(): Array<CalendarEvent> {\n if (!this.day) {\n return [];\n }\n return this.day.events.filter((evt) => {\n return evt.response === CalendarEventResponse.Maybe;\n });\n }\n}\n","import { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\nimport { addMonths, subMonths } from 'date-fns';\nimport { WeekDay } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-agenda-month-header',\n template: `\n <ng-template #defaultTemplate>\n <div class=\"agenda-header\">\n <div class=\"agenda-header-top\">\n <novo-button theme=\"icon\" icon=\"previous\" (click)=\"prevMonth($event)\"></novo-button>\n <div class=\"agenda-month\">{{ viewDate | month: locale }}</div>\n <novo-button theme=\"icon\" icon=\"next\" (click)=\"nextMonth($event)\"></novo-button>\n </div>\n <div class=\"agenda-weekdays\">\n <div\n class=\"agenda-weekday\"\n *ngFor=\"let day of days\"\n [class.agenda-past]=\"day.isPast\"\n [class.agenda-today]=\"day.isToday\"\n [class.agenda-future]=\"day.isFuture\"\n [class.agenda-weekend]=\"day.isWeekend\"\n >\n {{ day.date | weekday: locale }}\n </div>\n </div>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{ days: days, locale: locale, viewDate: viewDate }\"\n >\n </ng-template>\n `,\n standalone: false,\n})\nexport class NovoAgendaMonthHeaderElement {\n @Input()\n viewDate: Date;\n\n @Input()\n days: WeekDay[];\n\n @Input()\n locale: string;\n\n @Input()\n customTemplate: TemplateRef<any>;\n\n /**\n * Called when the view date is changed\n */\n @Output()\n viewDateChange: EventEmitter<Date> = new EventEmitter();\n\n prevMonth(event: Event) {\n this.viewDateChange.emit(subMonths(this.viewDate, 1));\n }\n\n nextMonth(event: Event) {\n this.viewDateChange.emit(addMonths(this.viewDate, 1));\n }\n}\n","import {\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Inject,\n Input,\n LOCALE_ID,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef,\n} from '@angular/core';\nimport { addSeconds, differenceInSeconds, getDate, getMonth, getYear, setDate, setMonth, setYear } from 'date-fns';\nimport { Subject, Subscription } from 'rxjs';\nimport {\n CalendarEvent,\n CalendarEventTimesChangedEvent,\n getMonthView,\n getWeekViewHeader,\n MonthView,\n MonthViewDay,\n WeekDay,\n} from 'novo-elements/utils';\n\n/**\n * Shows all events on a given month. Example usage:\n *\n * ```\n * &lt;novo-agenda-month-view\n * [viewDate]=\"viewDate\"\n * [events]=\"events\"&gt;\n * &lt;/novo-agenda-month-view&gt;\n * ```\n */\n@Component({\n selector: 'novo-agenda-month',\n template: `\n <div class=\"agenda-month-view\">\n <novo-agenda-month-header\n [(viewDate)]=\"viewDate\"\n [days]=\"columnHeaders\"\n [locale]=\"locale\"\n [customTemplate]=\"headerTemplate\"\n (viewDateChange)=\"refreshAll()\"\n >\n </novo-agenda-month-header>\n <div class=\"agenda-days\">\n <div *ngFor=\"let rowIndex of view.rowOffsets\">\n <div class=\"agenda-cell-row\">\n <novo-agenda-month-day\n *ngFor=\"let day of view.days | slice: rowIndex:rowIndex + view.totalDaysVisibleInWeek\"\n [day]=\"day\"\n [locale]=\"locale\"\n [customTemplate]=\"cellTemplate\"\n (click)=\"dayClicked.emit({ day: day })\"\n (eventClicked)=\"eventClicked.emit({ day: day, event: $event.event })\"\n >\n </novo-agenda-month-day>\n </div>\n </div>\n </div>\n </div>\n `,\n styleUrls: ['./AgendaMonthView.scss'],\n standalone: false,\n})\nexport class NovoAgendaMonthViewElement implements OnChanges, OnInit, OnDestroy {\n /**\n * The current view date\n */\n @Input()\n viewDate: Date;\n\n /**\n * An array of events to display on view\n */\n @Input()\n events: CalendarEvent[] = [];\n\n /**\n * An array of day indexes (0 = sunday, 1 = monday etc) that will be hidden on the view\n */\n @Input()\n excludeDays: number[] = [];\n\n /**\n * A function that will be called before each cell is rendered. The first argument will contain the calendar cell.\n * If you add the `cssClass` property to the cell it will add that class to the cell in the template\n */\n @Input()\n dayModifier: Function;\n\n /**\n * An observable that when emitted on will re-render the current view\n */\n @Input()\n refresh: Subject<any>;\n\n /**\n * The locale used to format dates\n */\n @Input()\n locale: string = 'en-US';\n\n /**\n * The placement of the event tooltip\n */\n @Input()\n tooltipPosition: string = 'top';\n\n /**\n * The start number of the week\n */\n @Input()\n weekStartsOn: Day;\n\n /**\n * A custom template to use to replace the header\n */\n @Input()\n headerTemplate: TemplateRef<any>;\n\n /**\n * A custom template to use to replace the day cell\n */\n @Input()\n cellTemplate: TemplateRef<any>;\n\n /**\n * Called when the day cell is clicked\n */\n @Output()\n dayClicked: EventEmitter<{ day: MonthViewDay }> = new EventEmitter<{ day: MonthViewDay }>();\n\n /**\n * Called when the event title is clicked\n */\n @Output()\n eventClicked: EventEmitter<{ day: any; event: CalendarEvent }> = new EventEmitter<{ day: any; event: CalendarEvent }>();\n\n /**\n * Called when an event is dragged and dropped\n */\n @Output()\n eventTimesChanged: EventEmitter<CalendarEventTimesChangedEvent> = new EventEmitter<CalendarEventTimesChangedEvent>();\n\n @Output()\n viewDateChange: EventEmitter<Date> = new EventEmitter<Date>();\n\n /**\n * @hidden\n */\n columnHeaders: WeekDay[];\n\n /**\n * @hidden\n */\n view: MonthView;\n\n /**\n * @hidden\n */\n refreshSubscription: Subscription;\n\n /**\n * @hidden\n */\n constructor(private cdr: ChangeDetectorRef, @Inject(LOCALE_ID) locale: string) {\n this.locale = locale;\n }\n\n /**\n * @hidden\n */\n ngOnInit(): void {\n if (this.refresh) {\n this.refreshSubscription = this.refresh.subscribe(() => {\n this.refreshAll();\n this.cdr.markForCheck();\n });\n }\n }\n\n /**\n * @hidden\n */\n ngOnChanges(changes: any): void {\n if (changes.viewDate || changes.excludeDays) {\n this.refreshHeader();\n }\n if (changes.viewDate || changes.events || changes.excludeDays) {\n this.refreshBody();\n }\n }\n\n /**\n * @hidden\n */\n ngOnDestroy(): void {\n if (this.refreshSubscription) {\n this.refreshSubscription.unsubscribe();\n }\n }\n\n /**\n * @hidden\n */\n eventDropped(day: MonthViewDay, event: CalendarEvent): void {\n const year: number = getYear(day.date);\n const month: number = getMonth(day.date);\n const date: number = getDate(day.date);\n const newStart: Date = setYear(setMonth(setDate(event.start, date), month), year);\n let newEnd: Date;\n if (event.end) {\n const secondsDiff: number = differenceInSeconds(newStart, event.start);\n newEnd = addSeconds(event.end, secondsDiff);\n }\n this.eventTimesChanged.emit({ event, newStart, newEnd });\n }\n\n private refreshHeader(): void {\n this.columnHeaders = getWeekViewHeader({\n viewDate: this.viewDate,\n weekStartsOn: this.weekStartsOn,\n excluded: this.excludeDays,\n });\n }\n\n private refreshBody(): void {\n this.view = getMonthView({\n events: this.events,\n viewDate: this.viewDate,\n weekStartsOn: this.weekStartsOn,\n excluded: this.excludeDays,\n });\n if (this.dayModifier) {\n this.view.days.forEach((day) => this.dayModifier(day));\n }\n }\n\n public refreshAll(): void {\n this.refreshHeader();\n this.refreshBody();\n this.viewDateChange.emit(this.viewDate);\n }\n}\n","import { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\nimport { WeekViewEvent } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-agenda-week-event',\n template: `\n <ng-template #defaultTemplate>\n <div\n class=\"cal-event\"\n [class.cal-starts-within-week]=\"!weekEvent.startsBeforeWeek\"\n [class.cal-ends-within-week]=\"!weekEvent.endsAfterWeek\"\n [ngClass]=\"weekEvent.event?.cssClass\"\n [tooltip]=\"weekEvent.event.description\"\n [tooltipPosition]=\"tooltipPosition\"\n (click)=\"eventClicked.emit({ event: weekEvent.event })\"\n >\n <div class=\"cal-event-ribbon\" [style.backgroundColor]=\"weekEvent.event.color.primary\"></div>\n <div class=\"cal-event-title\">{{ weekEvent.event?.title }}</div>\n <div class=\"cal-event-description\">{{ weekEvent.event?.description }}</div>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{ weekEvent: weekEvent, tooltipPosition: tooltipPosition, eventClicked: eventClicked }\"\n >\n </ng-template>\n `,\n standalone: false,\n})\nexport class NovoAgendaWeekEventElement {\n @Input()\n weekEvent: WeekViewEvent;\n\n @Input()\n tooltipPosition: string;\n\n @Input()\n customTemplate: TemplateRef<any>;\n\n @Output()\n eventClicked: EventEmitter<any> = new EventEmitter();\n}\n","import { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core';\nimport { CalendarEvent, WeekDay } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-agenda-week-header',\n template: `\n <ng-template #defaultTemplate>\n <div class=\"cal-day-headers\">\n <div\n class=\"cal-header\"\n *ngFor=\"let day of days\"\n [class.cal-past]=\"day.isPast\"\n [class.cal-today]=\"day.isToday\"\n [class.cal-future]=\"day.isFuture\"\n [class.cal-weekend]=\"day.isWeekend\"\n [class.cal-drag-over]=\"day.dragOver\"\n (click)=\"dayClicked.emit({ date: day.date })\"\n mwlDroppable\n (dragEnter)=\"day.dragOver = true\"\n (dragLeave)=\"day.dragOver = false\"\n (drop)=\"day.dragOver = false; eventDropped.emit({ event: $event.dropData.event, newStart: day.date })\"\n >\n <b>{{ day.date | weekday: locale:'long' }}</b\n ><br />\n <span>{{ day.date | monthday: locale }}</span>\n </div>\n </div>\n </ng-template>\n <ng-template\n [ngTemplateOutlet]=\"customTemplate || defaultTemplate\"\n [ngTemplateOutletContext]=\"{ days: days, locale: locale, dayClicked: dayClicked, eventDropped: eventDropped }\"\n >\n </ng-template>\n `,\n standalone: false,\n})\nexport class NovoAgendaWeekHeaderElement {\n @Input()\n days: WeekDay[];\n\n @Input()\n locale: string;\n\n @Input()\n customTemplate: TemplateRef<any>;\n\n @Output()\n dayClicked: EventEmitter<{ date: Date }> = new EventEmitter<{ date: Date }>();\n\n @Output()\n eventDropped: EventEmitter<{ event: CalendarEvent; newStart: Date }> = new EventEmitter<{ event: CalendarEvent; newStart: Date }>();\n}\n","import {\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Inject,\n Input,\n LOCALE_ID,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef,\n} from '@angular/core';\nimport { Subject, Subscription } from 'rxjs';\nimport {\n CalendarEvent,\n CalendarEventTimesChangedEvent,\n DayViewHour,\n getDayViewHourGrid,\n getWeekView,\n getWeekViewHeader,\n WeekDay,\n WeekViewEventRow,\n} from 'novo-elements/utils';\n\n/**\n * @hidden\n */\nconst SEGMENT_HEIGHT: number = 30;\n\n/**\n * @hidden\n */\nconst MINUTES_IN_HOUR: number = 60;\n/**\n * Shows all events on a given week. Example usage:\n *\n * ```typescript\n * &lt;novo-agenda-week\n * [viewDate]=\"viewDate\"\n * [events]=\"events\"&gt;\n * &lt;/novo-agenda-week&gt;\n * ```\n */\n@Component({\n selector: 'novo-agenda-week',\n template: `\n <div class=\"cal-week-view\" #weekViewContainer>\n <novo-agenda-week-header [days]=\"days\" [locale]=\"locale\" [customTemplate]=\"headerTemplate\" (dayClicked)=\"dayClicked.emit($event)\">\n </novo-agenda-week-header>\n <div *ngFor=\"let eventRow of eventRows\" #eventRowContainer>\n <div\n class=\"cal-event-container\"\n #event\n *ngFor=\"let weekEvent of eventRow.row\"\n [style.width]=\"(100 / days.length) * weekEvent.span + '%'\"\n [style.marginTop.px]=\"weekEvent.top\"\n [style.height.px]=\"weekEvent.height\"\n [style.marginLeft]=\"(100 / days.length) * weekEvent.offset + '%'\"\n >\n <novo-agenda-week-event\n [weekEvent]=\"weekEvent\"\n [tooltipPosition]=\"tooltipPosition\"\n [customTemplate]=\"eventTemplate\"\n (eventClicked)=\"eventClicked.emit($event)\"\n >\n </novo-agenda-week-event>\n </div>\n </div>\n <div class=\"cal-hour\" *ngFor=\"let hour of hours\" [style.minWidth.px]=\"70\">\n <novo-agenda-day-hour-segment\n *ngFor=\"let segment of hour.segments\"\n [segment]=\"segment\"\n [locale]=\"locale\"\n [customTemplate]=\"hourSegmentTemplate\"\n (click)=\"hourSegmentClicked.emit({ date: segment.date })\"\n >\n </novo-agenda-day-hour-segment>\n </div>\n </div>\n `,\n styleUrls: ['./AgendaWeekView.scss', '../common/AgendaHoursLayout.scss'],\n standalone: false,\n})\nexport class NovoAgendaWeekViewElement implements OnChanges, OnInit, OnDestroy {\n /**\n * The current view date\n */\n @Input()\n viewDate: Date;\n\n /**\n * An array of events to display on view\n */\n @Input()\n events: CalendarEvent[] = [];\n\n /**\n * An array of day indexes (0 = sunday, 1 = monday etc) that will be hidden on the view\n */\n @Input()\n excludeDays: number[] = [];\n\n /**\n * An observable that when emitted on will re-render the current view\n */\n @Input()\n refresh: Subject<any>;\n\n /**\n * The locale used to format dates\n */\n @Input()\n locale: string;\n\n /**\n * The placement of the event tooltip\n */\n @Input()\n tooltipPosition: string = 'bottom';\n\n /**\n * The start number of the week\n */\n @Input()\n weekStartsOn: Day;\n\n /**\n * A custom template to use to replace the header\n */\n @Input()\n headerTemplate: TemplateRef<any>;\n\n /**\n * A custom template to use for week view events\n */\n @Input()\n eventTemplate: TemplateRef<any>;\n\n /**\n * The precision to display events.\n * `days` will round event start and end dates to the nearest day and `minutes` will not do this rounding\n */\n @Input()\n precision: 'days' | 'minutes' = 'days';\n /**\n * The number of segments in an hour. Must be <= 6\n */\n @Input()\n hourSegments: number = 2;\n\n /**\n * The day start hours in 24 hour time. Must be 0-23\n */\n @Input()\n dayStartHour: number = 0;\n\n /**\n * The day start minutes. Must be 0-59\n */\n @Input()\n dayStartMinute: number = 0;\n\n /**\n * The day end hours in 24 hour time. Must be 0-23\n */\n @Input()\n dayEndHour: number = 23;\n\n /**\n * The day end minutes. Must be 0-59\n */\n @Input()\n dayEndMinute: number = 59;\n /**\n * A custom template to use to replace the hour segment\n */\n @Input()\n hourSegmentTemplate: TemplateRef<any>;\n /**\n * Called when an hour segment is clicked\n */\n @Output()\n hourSegmentClicked: EventEmitter<{ date: Date }> = new EventEmitter<{ date: Date }>();\n /**\n * Called when a header week day is clicked\n */\n @Output()\n dayClicked: EventEmitter<{ date: Date }> = new EventEmitter<{ date: Date }>();\n\n /**\n * Called when the event title is clicked\n */\n @Output()\n eventClicked: EventEmitter<{ event: CalendarEvent }> = new EventEmitter<{ event: CalendarEvent }>();\n\n /**\n * Called when an event is resized or dragged and dropped\n */\n @Output()\n eventTimesChanged: EventEmitter<CalendarEventTimesChangedEvent> = new EventEmitter<CalendarEventTimesChangedEvent>();\n\n /**\n * @hidden\n */\n days: WeekDay[];\n /**\n * @hidden\n */\n hours: DayViewHour[] = [];\n\n /**\n * @hidden\n */\n eventRows: WeekViewEventRow[] = [];\n\n /**\n * @hidden\n */\n refreshSubscription: Subscription;\n\n /**\n * @hidden\n */\n currentResize: {\n originalOffset: number;\n originalSpan: number;\n edge: string;\n };\n\n /**\n * @hidden\n */\n validateDrag: Function;\n\n /**\n * @hidden\n */\n validateResize: Function;\n\n /**\n * @hidden\n */\n constructor(private cdr: ChangeDetectorRef, @Inject(LOCALE_ID) locale: string) {\n this.locale = locale;\n }\n\n /**\n * @hidden\n */\n ngOnInit(): void {\n if (this.refresh) {\n this.refreshSubscription = this.refresh.subscribe(() => {\n this.refreshAll();\n this.cdr.detectChanges();\n });\n }\n }\n\n /**\n * @hidden\n */\n ngOnChanges(changes: any): void {\n if (changes.viewDate || changes.excludeDays) {\n this.refreshHeader();\n }\n\n if (changes.events || changes.viewDate || changes.excludeDays) {\n this.refreshBody();\n }\n\n if (changes.viewDate || changes.dayStartHour || changes.dayStartMinute || changes.dayEndHour || changes.dayEndMinute) {\n this.refreshHourGrid();\n }\n }\n\n /**\n * @hidden\n */\n ngOnDestroy(): void {\n if (this.refreshSubscription) {\n this.refreshSubscription.unsubscribe();\n }\n }\n\n getDayColumnWidth(eventRowContainer: HTMLElement): number {\n return Math.floor(eventRowContainer.offsetWidth / this.days.length);\n }\n\n private refreshHeader(): void {\n this.days = getWeekViewHeader({\n viewDate: this.viewDate,\n weekStartsOn: this.weekStartsOn,\n excluded: this.excludeDays,\n });\n }\n\n private refreshBody(): void {\n this.eventRows = getWeekView({\n events: this.events,\n viewDate: this.viewDate,\n weekStartsOn: this.weekStartsOn,\n excluded: this.excludeDays,\n hourSegments: this.hourSegments,\n segmentHeight: SEGMENT_HEIGHT,\n dayStart: {\n hour: this.dayStartHour,\n minute: this.dayStartMinute,\n },\n dayEnd: {\n hour: this.dayEndHour,\n minute: this.dayEndMinute,\n },\n });\n }\n\n private refreshHourGrid(): void {\n this.hours = getDayViewHourGrid({\n viewDate: this.viewDate,\n hourSegments: this.hourSegments,\n dayStart: {\n hour: this.dayStartHour,\n minute: this.dayStartMinute,\n },\n dayEnd: {\n hour: this.dayEndHour,\n minute: this.dayEndMinute,\n },\n });\n }\n\n private refreshAll(): void {\n this.refreshHeader();\n this.refreshHourGrid();\n this.refreshBody();\n }\n}\n","// NG2\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n// APP\nimport { NovoButtonModule } from 'novo-elements/elements/button';\nimport { NovoPipesModule } from 'novo-elements/pipes';\nimport { NovoTooltipModule } from 'novo-elements/elements/tooltip';\n// Common Elements\nimport { NovoAgendaDateChangeElement } from './common/AgendaDateChange';\nimport { NovoEventTypeLegendElement } from './common/EventTypeLegend';\n// Day View\nimport { NovoAgendaAllDayEventElement } from './day/AgendaAllDayEvent';\nimport { NovoAgendaDayEventElement } from './day/AgendaDayEvent';\nimport { NovoAgendaDayViewElement } from './day/AgendaDayView';\nimport { NovoAgendaHourSegmentElement } from './day/AgendaHourSegment';\n// Month View\nimport { NovoAgendaMonthDayElement } from './month/AgendaMonthDay';\nimport { NovoAgendaMonthHeaderElement } from './month/AgendaMonthHeader';\nimport { NovoAgendaMonthViewElement } from './month/AgendaMonthView';\n// Week View\nimport { NovoAgendaWeekEventElement } from './week/AgendaWeekEvent';\nimport { NovoAgendaWeekHeaderElement } from './week/AgendaWeekHeader';\nimport { NovoAgendaWeekViewElement } from './week/AgendaWeekView';\n// Pipes\nimport { DayOfMonthPipe } from './pipe/DayOfMonth.pipe';\nimport { EndOfWeekDisplayPipe } from './pipe/EndOfWeekDisplayPipe.pipe';\nimport { HoursPipe } from './pipe/Hours.pipe';\nimport { MonthPipe } from './pipe/Month.pipe';\nimport { MonthDayPipe } from './pipe/MonthDay.pipe';\nimport { WeekdayPipe } from './pipe/Weekday.pipe';\nimport { YearPipe } from './pipe/Year.pipe';\n\n@NgModule({\n imports: [CommonModule, NovoButtonModule, NovoTooltipModule, NovoPipesModule],\n declarations: [\n NovoEventTypeLegendElement,\n NovoAgendaMonthViewElement,\n NovoAgendaMonthHeaderElement,\n NovoAgendaMonthDayElement,\n NovoAgendaWeekViewElement,\n NovoAgendaWeekHeaderElement,\n NovoAgendaWeekEventElement,\n NovoAgendaDayViewElement,\n NovoAgendaDayEventElement,\n NovoAgendaHourSegmentElement,\n NovoAgendaAllDayEventElement,\n NovoAgendaDateChangeElement,\n WeekdayPipe,\n DayOfMonthPipe,\n MonthPipe,\n MonthDayPipe,\n YearPipe,\n HoursPipe,\n EndOfWeekDisplayPipe,\n ],\n exports: [\n NovoEventTypeLegendElement,\n NovoAgendaMonthViewElement,\n NovoAgendaMonthHeaderElement,\n NovoAgendaMonthDayElement,\n NovoAgendaWeekViewElement,\n NovoAgendaWeekHeaderElement,\n NovoAgendaWeekEventElement,\n NovoAgendaDayViewElement,\n NovoAgendaDayEventElement,\n NovoAgendaHourSegmentElement,\n NovoAgendaAllDayEventElement,\n NovoAgendaDateChangeElement,\n WeekdayPipe,\n DayOfMonthPipe,\n MonthPipe,\n MonthDayPipe,\n YearPipe,\n HoursPipe,\n EndOfWeekDisplayPipe,\n ],\n})\nexport class NovoAgendaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2.WeekdayPipe","i3.DayOfMonthPipe","i4.MonthPipe","i5.MonthDayPipe","i6.YearPipe","i7.EndOfWeekDisplayPipe","i2","i2.HoursPipe","SEGMENT_HEIGHT","MINUTES_IN_HOUR","i2.NovoAgendaDayEventElement","i3.NovoAgendaHourSegmentElement","i4.NovoAgendaAllDayEventElement","i3.WeekdayPipe","i2.NovoAgendaMonthHeaderElement","i3.NovoAgendaMonthDayElement","i3.MonthDayPipe","i2.NovoAgendaWeekHeaderElement","i3.NovoAgendaWeekEventElement","i4.NovoAgendaHourSegmentElement"],"mappings":";;;;;;;;;;;;;;MAMa,WAAW,CAAA;AACtB,IAAA,WAAA,CAAuC,SAAiB,OAAO,EAAA;QAAxB,IAAM,CAAA,MAAA,GAAN,MAAM;;IAC7C,SAAS,CAAC,IAAU,EAAE,MAAA,GAAiB,IAAI,CAAC,MAAM,EAAE,MAAA,GAAsC,OAAO,EAAA;AAC/F,QAAA,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;;AAH/D,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,kBACF,SAAS,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GADlB,WAAW,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,CAAA;;4FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBAJvB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,SAAS;AACf,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;;0BAEc,MAAM;2BAAC,SAAS;;;MCDlB,cAAc,CAAA;AACzB,IAAA,WAAA,CAAuC,SAAiB,OAAO,EAAA;QAAxB,IAAM,CAAA,MAAA,GAAN,MAAM;;IAC7C,SAAS,CAAC,IAAU,EAAE,MAAA,GAAiB,IAAI,CAAC,MAAM,EAAE,MAAA,GAAgC,SAAS,EAAA;AAC3F,QAAA,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;;AAH3D,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,kBACL,SAAS,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GADlB,cAAc,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,CAAA;;4FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAJ1B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,YAAY;AAClB,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;;0BAEc,MAAM;2BAAC,SAAS;;;MCDlB,SAAS,CAAA;AACpB,IAAA,WAAA,CAAuC,SAAiB,OAAO,EAAA;QAAxB,IAAM,CAAA,MAAA,GAAN,MAAM;;IAC7C,SAAS,CAAC,IAAU,EAAE,MAAA,GAAiB,IAAI,CAAC,MAAM,EAAE,MAAA,GAA8D,MAAM,EAAA;AACtH,QAAA,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;;AAH7D,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,SAAS,kBACA,SAAS,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GADlB,SAAS,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,CAAA;;4FAAT,SAAS,EAAA,UAAA,EAAA,CAAA;kBAJrB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,OAAO;AACb,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;;0BAEc,MAAM;2BAAC,SAAS;;;MCDlB,YAAY,CAAA;AACvB,IAAA,WAAA,CAAuC,SAAiB,OAAO,EAAA;QAAxB,IAAM,CAAA,MAAA,GAAN,MAAM;;IAC7C,SAAS,CAAC,IAAU,EAAE,MAAA,GAAiB,IAAI,CAAC,MAAM,EAAE,MAAA,GAA8D,OAAO,EAAA;QACvH,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;;AAH7E,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,YAAY,kBACH,SAAS,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GADlB,YAAY,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,UAAA,EAAA,CAAA,CAAA;;4FAAZ,YAAY,EAAA,UAAA,EAAA,CAAA;kBAJxB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,UAAU;AAChB,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;;0BAEc,MAAM;2BAAC,SAAS;;;MCDlB,QAAQ,CAAA;AACnB,IAAA,WAAA,CAAuC,SAAiB,OAAO,EAAA;QAAxB,IAAM,CAAA,MAAA,GAAN,MAAM;;IAC7C,SAAS,CAAC,IAAU,EAAE,MAAA,GAAiB,IAAI,CAAC,MAAM,EAAE,MAAA,GAAgC,SAAS,EAAA;AAC3F,QAAA,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;;AAH5D,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,QAAQ,kBACC,SAAS,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GADlB,QAAQ,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,CAAA;;4FAAR,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAJpB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,MAAM;AACZ,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;;0BAEc,MAAM;2BAAC,SAAS;;;MCDlB,oBAAoB,CAAA;AAC/B,IAAA,WAAA,CAAuC,SAAiB,OAAO,EAAA;QAAxB,IAAM,CAAA,MAAA,GAAN,MAAM;;IAE7C,SAAS,CACP,SAAe,EACf,WAAiB,EACjB,MAAiB,GAAA,IAAI,CAAC,MAAM,EAC5B,MAAA,GAA8D,OAAO,EAAA;QAErE,IAAI,SAAS,CAAC,QAAQ,EAAE,KAAK,WAAW,CAAC,QAAQ,EAAE,EAAE;AACnD,YAAA,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;;QAG9E,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;;AAblF,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,kBACX,SAAS,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GADlB,oBAAoB,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,kBAAA,EAAA,CAAA,CAAA;;4FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAJhC,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,kBAAkB;AACxB,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;;0BAEc,MAAM;2BAAC,SAAS;;;MCgBlB,2BAA2B,CAAA;AAsBtC,IAAA,WAAA,CAA+B,MAAc,EAAA;AAN7C;;AAEG;AAEH,QAAA,IAAA,CAAA,cAAc,GAAuB,IAAI,YAAY,EAAE;AAGrD,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM;;AAGtB;;AAEG;IACH,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;;IAGrB,OAAO,GAAA;AACL,QAAA,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;;AAGpB,IAAA,UAAU,CAAC,IAAY,EAAA;AACrB,QAAA,MAAM,KAAK,GAAQ;YACjB,GAAG,EAAE,QAAQ,CAAC,OAAO;YACrB,IAAI,EAAE,QAAQ,CAAC,QAAQ;YACvB,KAAK,EAAE,QAAQ,CAAC,SAAS;AAC1B,SAAA,CAAC,IAAI,CAAC,IAAI,CAAC;AAEZ,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;;AAGtD,IAAA,IAAI,WAAW,GAAA;QACb,OAAO,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC;;AAG5C,IAAA,IAAI,SAAS,GAAA;QACX,OAAO,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;;AApD/B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,2BAA2B,kBAsBlB,SAAS,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAtBlB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,EAlB1B,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;;;;;;;;;;;;;AAcX,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,mSAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAA,WAAA,EAAA,IAAA,EAAA,SAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,cAAA,EAAA,IAAA,EAAA,YAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,YAAA,EAAA,IAAA,EAAA,UAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,oBAAA,EAAA,IAAA,EAAA,kBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIU,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBApBvC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,yBAAyB,EACzB,QAAA,EAAA;;;;;;;;;;;;;;AAcX,EAAA,CAAA,EAAA,UAAA,EAEa,KAAK,EAAA,MAAA,EAAA,CAAA,mSAAA,CAAA,EAAA;;0BAwBN,MAAM;2BAAC,SAAS;yCAjB7B,IAAI,EAAA,CAAA;sBADH;gBAOD,QAAQ,EAAA,CAAA;sBADP;gBAID,MAAM,EAAA,CAAA;sBADL;gBAOD,cAAc,EAAA,CAAA;sBADb;;;MChBU,0BAA0B,CAAA;AAvBvC,IAAA,WAAA,GAAA;AA+BE,QAAA,IAAA,CAAA,gBAAgB,GAAsB,IAAI,YAAY,EAAE;AACzD;+GATY,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,EArBzB,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;;;;;;;;;;;;;;;;;AAkBX,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,WAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAGU,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAvBtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;AAkBX,EAAA,CAAA;AACC,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;8BAGC,MAAM,EAAA,CAAA;sBADL;gBAID,cAAc,EAAA,CAAA;sBADb;gBAID,gBAAgB,EAAA,CAAA;sBADf;;;MCXU,4BAA4B,CAAA;AAnBzC,IAAA,WAAA,GAAA;AA2BE,QAAA,IAAA,CAAA,YAAY,GAAsB,IAAI,YAAY,EAAE;AACrD;+GATY,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,EAjB3B,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;;;;;;;;;;;;;AAcX,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAGU,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAnBxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,2BAA2B;AACrC,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;AAcX,EAAA,CAAA;AACC,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;8BAGC,KAAK,EAAA,CAAA;sBADJ;gBAID,cAAc,EAAA,CAAA;sBADb;gBAID,YAAY,EAAA,CAAA;sBADX;;;MCGU,yBAAyB,CAAA;AA7BtC,IAAA,WAAA,GAAA;AAwCE,QAAA,IAAA,CAAA,YAAY,GAAsB,IAAI,YAAY,EAAE;AACrD;+GAZY,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,EA3BxB,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;AAwBX,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,aAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,eAAA,EAAA,qBAAA,EAAA,mBAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAGU,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBA7BrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;AAwBX,EAAA,CAAA;AACC,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;8BAGC,QAAQ,EAAA,CAAA;sBADP;gBAID,eAAe,EAAA,CAAA;sBADd;gBAID,cAAc,EAAA,CAAA;sBADb;gBAID,YAAY,EAAA,CAAA;sBADX;;;MCpCU,SAAS,CAAA;AACpB,IAAA,WAAA,CAAuC,SAAiB,OAAO,EAAA;QAAxB,IAAM,CAAA,MAAA,GAAN,MAAM;;IAC7C,SAAS,CAAC,IAAU,EAAE,MAAA,GAAiB,IAAI,CAAC,MAAM,EAAE,MAAA,GAAgC,SAAS,EAAA;AAC3F,QAAA,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;;AAH5D,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,SAAS,kBACA,SAAS,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;6GADlB,SAAS,EAAA,YAAA,EAAA,KAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,CAAA;;4FAAT,SAAS,EAAA,UAAA,EAAA,CAAA;kBAJrB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACF,oBAAA,IAAI,EAAE,OAAO;AACb,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;;0BAEc,MAAM;2BAAC,SAAS;;;MCsBlB,4BAA4B,CAAA;+GAA5B,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,EAxB3B,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;;;;;;;;;;;;;;;;;;;;AAqBX,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAC,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAGU,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBA1BxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,8BAA8B;AACxC,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;AAqBX,EAAA,CAAA;AACC,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;8BAGC,OAAO,EAAA,CAAA;sBADN;gBAID,MAAM,EAAA,CAAA;sBADL;gBAID,cAAc,EAAA,CAAA;sBADb;;;ACbH;;AAEG;AACH,MAAMC,gBAAc,GAAW,EAAE;AAEjC;;AAEG;AACH,MAAMC,iBAAe,GAAW,EAAE;AAElC;;;;;;;;;AASG;MAgDU,wBAAwB,CAAA;AA2JnC;;AAEG;IACH,WAAoB,CAAA,GAAsB,EAAqB,MAAc,EAAA;QAAzD,IAAG,CAAA,GAAA,GAAH,GAAG;AAvJvB;;AAEG;QAEH,IAAM,CAAA,MAAA,GAAoB,EAAE;AAE5B;;AAEG;QAEH,IAAY,CAAA,YAAA,GAAW,CAAC;AAExB;;AAEG;QAEH,IAAY,CAAA,YAAA,GAAW,CAAC;AAExB;;AAEG;QAEH,IAAc,CAAA,cAAA,GAAW,CAAC;AAE1B;;AAEG;QAEH,IAAU,CAAA,UAAA,GAAW,EAAE;AAEvB;;AAEG;QAEH,IAAY,CAAA,YAAA,GAAW,EAAE;AAEzB;;AAEG;QAEH,IAAU,CAAA,UAAA,GAAW,GAAG;AAqBxB;;AAEG;QAEH,IAAa,CAAA,aAAA,GAAW,EAAE;AAE1B;;AAEG;QAEH,IAAe,CAAA,eAAA,GAAW,KAAK;AAoB/B;;AAEG;AAEH,QAAA,IAAA,CAAA,YAAY,GAA2C,IAAI,YAAY,EAA4B;AAEnG;;AAEG;AAEH,QAAA,IAAA,CAAA,kBAAkB,GAAiC,IAAI,YAAY,EAAkB;AAErF;;AAEG;AAEH,QAAA,IAAA,CAAA,iBAAiB,GAAiD,IAAI,YAAY,EAAkC;AAEpH;;AAEG;QACH,IAAK,CAAA,KAAA,GAAkB,EAAE;AAOzB;;AAEG;QACH,IAAK,CAAA,KAAA,GAAW,CAAC;AA8Bf,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM;;AAGtB;;AAEG;IACH,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAK;gBACrD,IAAI,CAAC,UAAU,EAAE;AACjB,gBAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;AAC1B,aAAC,CAAC;;;AAIN;;AAEG;IACH,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC5B,YAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE;;;AAI1C;;AAEG;AACH,IAAA,WAAW,CAAC,OAAY,EAAA;QACtB,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,YAAY,EAAE;YACpH,IAAI,CAAC,eAAe,EAAE;;QAGxB,IACE,OAAO,CAAC,QAAQ;AAChB,YAAA,OAAO,CAAC,MAAM;AACd,YAAA,OAAO,CAAC,YAAY;AACpB,YAAA,OAAO,CAAC,cAAc;AACtB,YAAA,OAAO,CAAC,UAAU;AAClB,YAAA,OAAO,CAAC,YAAY;YACpB,OAAO,CAAC,UAAU,EAClB;YACA,IAAI,CAAC,WAAW,EAAE;;;AAItB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsEI;IAEI,eAAe,GAAA;AACrB,QAAA,IAAI,CAAC,KAAK,GAAG,kBAAkB,CAAC;YAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,YAAY,EAAE,IAAI,CAAC,YAAY;AAC/B,YAAA,QAAQ,EAAE;gBACR,IAAI,EAAE,IAAI,CAAC,YAAY;gBACvB,MAAM,EAAE,IAAI,CAAC,cAAc;AAC5B,aAAA;AACD,YAAA,MAAM,EAAE;gBACN,IAAI,EAAE,IAAI,CAAC,UAAU;gBACrB,MAAM,EAAE,IAAI,CAAC,YAAY;AAC1B,aAAA;AACF,SAAA,CAAC;AACF,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,KAAI;AAC1B,gBAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;AACvE,aAAC,CAAC;;;IAIE,WAAW,GAAA;AACjB,QAAA,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,YAAY,EAAE,IAAI,CAAC,YAAY;AAC/B,YAAA,QAAQ,EAAE;gBACR,IAAI,EAAE,IAAI,CAAC,YAAY;gBACvB,MAAM,EAAE,IAAI,CAAC,cAAc;AAC5B,aAAA;AACD,YAAA,MAAM,EAAE;gBACN,IAAI,EAAE,IAAI,CAAC,UAAU;gBACrB,MAAM,EAAE,IAAI,CAAC,YAAY;AAC1B,aAAA;YACD,UAAU,EAAE,IAAI,CAAC,UAAU;AAC3B,YAAA,aAAa,EAAED,gBAAc;AAC9B,SAAA,CAAC;;IAGI,UAAU,GAAA;QAChB,IAAI,CAAC,eAAe,EAAE;QACtB,IAAI,CAAC,WAAW,EAAE;;AA5TT,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,wBAAwB,mDA8JiB,SAAS,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AA9JlD,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,wBAAwB,EA7CvB,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,YAAA,EAAA,cAAA,EAAA,YAAA,EAAA,cAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,cAAA,EAAA,UAAA,EAAA,YAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCX,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,o7BAAA,EAAA,qmDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAE,yBAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,iBAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,4BAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,4BAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIU,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBA/CpC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EACjB,QAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCX,EAAA,CAAA,EAAA,UAAA,EAEa,KAAK,EAAA,MAAA,EAAA,CAAA,o7BAAA,EAAA,qmDAAA,CAAA,EAAA;;0BAgK0B,MAAM;2BAAC,SAAS;yCAzJ7D,QAAQ,EAAA,CAAA;sBADP;gBAOD,MAAM,EAAA,CAAA;sBADL;gBAOD,YAAY,EAAA,CAAA;sBADX;gBAOD,YAAY,EAAA,CAAA;sBADX;gBAOD,cAAc,EAAA,CAAA;sBADb;gBAOD,UAAU,EAAA,CAAA;sBADT;gBAOD,YAAY,EAAA,CAAA;sBADX;gBAOD,UAAU,EAAA,CAAA;sBADT;gBAOD,OAAO,EAAA,CAAA;sBADN;gBAOD,MAAM,EAAA,CAAA;sBADL;gBAQD,mBAAmB,EAAA,CAAA;sBADlB;gBAOD,aAAa,EAAA,CAAA;sBADZ;gBAOD,eAAe,EAAA,CAAA;sBADd;gBAOD,mBAAmB,EAAA,CAAA;sBADlB;gBAOD,mBAAmB,EAAA,CAAA;sBADlB;gBAOD,aAAa,EAAA,CAAA;sBADZ;gBAOD,YAAY,EAAA,CAAA;sBADX;gBAOD,kBAAkB,EAAA,CAAA;sBADjB;gBAOD,iBAAiB,EAAA,CAAA;sBADhB;;;MCvJU,yBAAyB,CAAA;AAjDtC,IAAA,WAAA,GAAA;AA+DE,QAAA,IAAA,CAAA,YAAY,GAA2C,IAAI,YAAY,EAA4B;AA4BpG;AA1BC,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;AACb,YAAA,OAAO,EAAE;;QAEX,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAI;AACpC,YAAA,OAAO,GAAG,CAAC,QAAQ,KAAK,qBAAqB,CAAC,QAAQ;AACxD,SAAC,CAAC;;AAGJ,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;AACb,YAAA,OAAO,EAAE;;QAEX,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAI;AACpC,YAAA,OAAO,GAAG,CAAC,QAAQ,KAAK,qBAAqB,CAAC,QAAQ;AACxD,SAAC,CAAC;;AAGJ,IAAA,IAAI,MAAM,GAAA;AACR,QAAA,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;AACb,YAAA,OAAO,EAAE;;QAEX,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAI;AACpC,YAAA,OAAO,GAAG,CAAC,QAAQ,KAAK,qBAAqB,CAAC,KAAK;AACrD,SAAC,CAAC;;+GAxCO,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,EA/CxB,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,kDAAA,EAAA,2BAAA,EAAA,iBAAA,EAAA,2BAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,YAAA,EAAA,oBAAA,EAAA,aAAA,EAAA,qBAAA,EAAA,cAAA,EAAA,sBAAA,EAAA,eAAA,EAAA,uBAAA,EAAA,aAAA,EAAA,wBAAA,EAAA,cAAA,EAAA,yBAAA,EAAA,uBAAA,EAAA,uBAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BX,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,WAAA,EAAA,IAAA,EAAA,SAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAX,cAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAgBU,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAjDrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BX,EAAA,CAAA;AACC,oBAAA,IAAI,EAAE;AACF,wBAAA,SAAS,EAAE,gDAAgD;AAC3D,wBAAA,6BAA6B,EAAE,iBAAiB;AAChD,wBAAA,6BAA6B,EAAE,iBAAiB;AAChD,wBAAA,qBAAqB,EAAE,YAAY;AACnC,wBAAA,sBAAsB,EAAE,aAAa;AACrC,wBAAA,uBAAuB,EAAE,cAAc;AACvC,wBAAA,wBAAwB,EAAE,eAAe;AACzC,wBAAA,yBAAyB,EAAE,aAAa;AACxC,wBAAA,0BAA0B,EAAE,cAAc;AAC1C,wBAAA,2BAA2B,EAAE,uBAAuB;AACpD,wBAAA,yBAAyB,EAAE,qBAAqB;AACnD,qBAAA;AACD,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;8BAGC,GAAG,EAAA,CAAA;sBADF;gBAID,MAAM,EAAA,CAAA;sBADL;gBAID,eAAe,EAAA,CAAA;sBADd;gBAID,cAAc,EAAA,CAAA;sBADb;gBAID,YAAY,EAAA,CAAA;sBADX;;;MC7BU,4BAA4B,CAAA;AAhCzC,IAAA,WAAA,GAAA;AA6CE;;AAEG;AAEH,QAAA,IAAA,CAAA,cAAc,GAAuB,IAAI,YAAY,EAAE;AASxD;AAPC,IAAA,SAAS,CAAC,KAAY,EAAA;AACpB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;;AAGvD,IAAA,SAAS,CAAC,KAAY,EAAA;AACpB,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;;+GAxB5C,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,EA9B3B,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BX,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAK,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,YAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAO,WAAA,EAAA,IAAA,EAAA,SAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAX,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAGU,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAhCxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,0BAA0B;AACpC,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BX,EAAA,CAAA;AACC,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;8BAGC,QAAQ,EAAA,CAAA;sBADP;gBAID,IAAI,EAAA,CAAA;sBADH;gBAID,MAAM,EAAA,CAAA;sBADL;gBAID,cAAc,EAAA,CAAA;sBADb;gBAOD,cAAc,EAAA,CAAA;sBADb;;;AC3BH;;;;;;;;;AASG;MAiCU,0BAA0B,CAAA;AAkGrC;;AAEG;IACH,WAAoB,CAAA,GAAsB,EAAqB,MAAc,EAAA;QAAzD,IAAG,CAAA,GAAA,GAAH,GAAG;AA9FvB;;AAEG;QAEH,IAAM,CAAA,MAAA,GAAoB,EAAE;AAE5B;;AAEG;QAEH,IAAW,CAAA,WAAA,GAAa,EAAE;AAe1B;;AAEG;QAEH,IAAM,CAAA,MAAA,GAAW,OAAO;AAExB;;AAEG;QAEH,IAAe,CAAA,eAAA,GAAW,KAAK;AAoB/B;;AAEG;AAEH,QAAA,IAAA,CAAA,UAAU,GAAwC,IAAI,YAAY,EAAyB;AAE3F;;AAEG;AAEH,QAAA,IAAA,CAAA,YAAY,GAAqD,IAAI,YAAY,EAAsC;AAEvH;;AAEG;AAEH,QAAA,IAAA,CAAA,iBAAiB,GAAiD,IAAI,YAAY,EAAkC;AAGpH,QAAA,IAAA,CAAA,cAAc,GAAuB,IAAI,YAAY,EAAQ;AAqB3D,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM;;AAGtB;;AAEG;IACH,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAK;gBACrD,IAAI,CAAC,UAAU,EAAE;AACjB,gBAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;AACzB,aAAC,CAAC;;;AAIN;;AAEG;AACH,IAAA,WAAW,CAAC,OAAY,EAAA;QACtB,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,WAAW,EAAE;YAC3C,IAAI,CAAC,aAAa,EAAE;;AAEtB,QAAA,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,WAAW,EAAE;YAC7D,IAAI,CAAC,WAAW,EAAE;;;AAItB;;AAEG;IACH,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC5B,YAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE;;;AAI1C;;AAEG;IACH,YAAY,CAAC,GAAiB,EAAE,KAAoB,EAAA;QAClD,MAAM,IAAI,GAAW,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QACtC,MAAM,KAAK,GAAW,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;QACxC,MAAM,IAAI,GAAW,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QACtC,MAAM,QAAQ,GAAS,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC;AACjF,QAAA,IAAI,MAAY;AAChB,QAAA,IAAI,KAAK,CAAC,GAAG,EAAE;YACb,MAAM,WAAW,GAAW,mBAAmB,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC;YACtE,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC;;AAE7C,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;;IAGlD,aAAa,GAAA;AACnB,QAAA,IAAI,CAAC,aAAa,GAAG,iBAAiB,CAAC;YACrC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,QAAQ,EAAE,IAAI,CAAC,WAAW;AAC3B,SAAA,CAAC;;IAGI,WAAW,GAAA;AACjB,QAAA,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,QAAQ,EAAE,IAAI,CAAC,WAAW;AAC3B,SAAA,CAAC;AACF,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;;;IAInD,UAAU,GAAA;QACf,IAAI,CAAC,aAAa,EAAE;QACpB,IAAI,CAAC,WAAW,EAAE;QAClB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;;AAjL9B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,mDAqGe,SAAS,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AArGlD,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,EA9BzB,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BX,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,w6GAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAY,4BAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,yBAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIU,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAhCtC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,EACnB,QAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BX,EAAA,CAAA,EAAA,UAAA,EAEa,KAAK,EAAA,MAAA,EAAA,CAAA,w6GAAA,CAAA,EAAA;;0BAuG0B,MAAM;2BAAC,SAAS;yCAhG7D,QAAQ,EAAA,CAAA;sBADP;gBAOD,MAAM,EAAA,CAAA;sBADL;gBAOD,WAAW,EAAA,CAAA;sBADV;gBAQD,WAAW,EAAA,CAAA;sBADV;gBAOD,OAAO,EAAA,CAAA;sBADN;gBAOD,MAAM,EAAA,CAAA;sBADL;gBAOD,eAAe,EAAA,CAAA;sBADd;gBAOD,YAAY,EAAA,CAAA;sBADX;gBAOD,cAAc,EAAA,CAAA;sBADb;gBAOD,YAAY,EAAA,CAAA;sBADX;gBAOD,UAAU,EAAA,CAAA;sBADT;gBAOD,YAAY,EAAA,CAAA;sBADX;gBAOD,iBAAiB,EAAA,CAAA;sBADhB;gBAID,cAAc,EAAA,CAAA;sBADb;;;MCtHU,0BAA0B,CAAA;AA1BvC,IAAA,WAAA,GAAA;AAqCE,QAAA,IAAA,CAAA,YAAY,GAAsB,IAAI,YAAY,EAAE;AACrD;+GAZY,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,0BAA0B,EAxBzB,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;;;;;;;;;;;;;;;;;;;;AAqBX,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAT,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,aAAA,EAAA,eAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,qBAAA,EAAA,eAAA,EAAA,qBAAA,EAAA,mBAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAGU,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBA1BtC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;AAqBX,EAAA,CAAA;AACC,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;8BAGC,SAAS,EAAA,CAAA;sBADR;gBAID,eAAe,EAAA,CAAA;sBADd;gBAID,cAAc,EAAA,CAAA;sBADb;gBAID,YAAY,EAAA,CAAA;sBADX;;;MCHU,2BAA2B,CAAA;AAjCxC,IAAA,WAAA,GAAA;AA4CE,QAAA,IAAA,CAAA,UAAU,GAAiC,IAAI,YAAY,EAAkB;AAG7E,QAAA,IAAA,CAAA,YAAY,GAA2D,IAAI,YAAY,EAA4C;AACpI;+GAfY,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,EA/B1B,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BX,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAN,WAAA,EAAA,IAAA,EAAA,SAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAgB,YAAA,EAAA,IAAA,EAAA,UAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAGU,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBAjCvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,yBAAyB;AACnC,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BX,EAAA,CAAA;AACC,oBAAA,UAAU,EAAE,KAAK;AACpB,iBAAA;8BAGC,IAAI,EAAA,CAAA;sBADH;gBAID,MAAM,EAAA,CAAA;sBADL;gBAID,cAAc,EAAA,CAAA;sBADb;gBAID,UAAU,EAAA,CAAA;sBADT;gBAID,YAAY,EAAA,CAAA;sBADX;;;ACxBH;;AAEG;AACH,MAAM,cAAc,GAAW,EAAE;AAEjC;;AAEG;AACH,MAAM,eAAe,GAAW,EAAE;AAClC;;;;;;;;;AASG;MAyCU,yBAAyB,CAAA;AA4JpC;;AAEG;IACH,WAAoB,CAAA,GAAsB,EAAqB,MAAc,EAAA;QAAzD,IAAG,CAAA,GAAA,GAAH,GAAG;AAxJvB;;AAEG;QAEH,IAAM,CAAA,MAAA,GAAoB,EAAE;AAE5B;;AAEG;QAEH,IAAW,CAAA,WAAA,GAAa,EAAE;AAc1B;;AAEG;QAEH,IAAe,CAAA,eAAA,GAAW,QAAQ;AAoBlC;;;AAGG;QAEH,IAAS,CAAA,SAAA,GAAuB,MAAM;AACtC;;AAEG;QAEH,IAAY,CAAA,YAAA,GAAW,CAAC;AAExB;;AAEG;QAEH,IAAY,CAAA,YAAA,GAAW,CAAC;AAExB;;AAEG;QAEH,IAAc,CAAA,cAAA,GAAW,CAAC;AAE1B;;AAEG;QAEH,IAAU,CAAA,UAAA,GAAW,EAAE;AAEvB;;AAEG;QAEH,IAAY,CAAA,YAAA,GAAW,EAAE;AAMzB;;AAEG;AAEH,QAAA,IAAA,CAAA,kBAAkB,GAAiC,IAAI,YAAY,EAAkB;AACrF;;AAEG;AAEH,QAAA,IAAA,CAAA,UAAU,GAAiC,IAAI,YAAY,EAAkB;AAE7E;;AAEG;AAEH,QAAA,IAAA,CAAA,YAAY,GAA2C,IAAI,YAAY,EAA4B;AAEnG;;AAEG;AAEH,QAAA,IAAA,CAAA,iBAAiB,GAAiD,IAAI,YAAY,EAAkC;AAMpH;;AAEG;QACH,IAAK,CAAA,KAAA,GAAkB,EAAE;AAEzB;;AAEG;QACH,IAAS,CAAA,SAAA,GAAuB,EAAE;AA8BhC,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM;;AAGtB;;AAEG;IACH,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAK;gBACrD,IAAI,CAAC,UAAU,EAAE;AACjB,gBAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;AAC1B,aAAC,CAAC;;;AAIN;;AAEG;AACH,IAAA,WAAW,CAAC,OAAY,EAAA;QACtB,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,WAAW,EAAE;YAC3C,IAAI,CAAC,aAAa,EAAE;;AAGtB,QAAA,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,WAAW,EAAE;YAC7D,IAAI,CAAC,WAAW,EAAE;;QAGpB,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,YAAY,EAAE;YACpH,IAAI,CAAC,eAAe,EAAE;;;AAI1B;;AAEG;IACH,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC5B,YAAA,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE;;;AAI1C,IAAA,iBAAiB,CAAC,iBAA8B,EAAA;AAC9C,QAAA,OAAO,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;;IAG7D,aAAa,GAAA;AACnB,QAAA,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;YAC5B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,QAAQ,EAAE,IAAI,CAAC,WAAW;AAC3B,SAAA,CAAC;;IAGI,WAAW,GAAA;AACjB,QAAA,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC;YAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,QAAQ,EAAE,IAAI,CAAC,WAAW;YAC1B,YAAY,EAAE,IAAI,CAAC,YAAY;AAC/B,YAAA,aAAa,EAAE,cAAc;AAC7B,YAAA,QAAQ,EAAE;gBACR,IAAI,EAAE,IAAI,CAAC,YAAY;gBACvB,MAAM,EAAE,IAAI,CAAC,cAAc;AAC5B,aAAA;AACD,YAAA,MAAM,EAAE;gBACN,IAAI,EAAE,IAAI,CAAC,UAAU;gBACrB,MAAM,EAAE,IAAI,CAAC,YAAY;AAC1B,aAAA;AACF,SAAA,CAAC;;IAGI,eAAe,GAAA;AACrB,QAAA,IAAI,CAAC,KAAK,GAAG,kBAAkB,CAAC;YAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,YAAY,EAAE,IAAI,CAAC,YAAY;AAC/B,YAAA,QAAQ,EAAE;gBACR,IAAI,EAAE,IAAI,CAAC,YAAY;gBACvB,MAAM,EAAE,IAAI,CAAC,cAAc;AAC5B,aAAA;AACD,YAAA,MAAM,EAAE;gBACN,IAAI,EAAE,IAAI,CAAC,UAAU;gBACrB,MAAM,EAAE,IAAI,CAAC,YAAY;AAC1B,aAAA;AACF,SAAA,CAAC;;IAGI,UAAU,GAAA;QAChB,IAAI,CAAC,aAAa,EAAE;QACpB,IAAI,CAAC,eAAe,EAAE;QACtB,IAAI,CAAC,WAAW,EAAE;;AA1PT,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,mDA+JgB,SAAS,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AA/JlD,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,EAtCxB,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,WAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,QAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,aAAA,EAAA,eAAA,EAAA,SAAA,EAAA,WAAA,EAAA,YAAA,EAAA,cAAA,EAAA,YAAA,EAAA,cAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,EAAA,OAAA,EAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,cAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCX,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,m2DAAA,EAAA,qmDAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,2BAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,QAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,YAAA,EAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,0BAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,CAAA,WAAA,EAAA,iBAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,4BAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIU,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAxCrC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAClB,QAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCX,EAAA,CAAA,EAAA,UAAA,EAEa,KAAK,EAAA,MAAA,EAAA,CAAA,m2DAAA,EAAA,qmDAAA,CAAA,EAAA;;0BAiK0B,MAAM;2BAAC,SAAS;yCA1J7D,QAAQ,EAAA,CAAA;sBADP;gBAOD,MAAM,EAAA,CAAA;sBADL;gBAOD,WAAW,EAAA,CAAA;sBADV;gBAOD,OAAO,EAAA,CAAA;sBADN;gBAOD,MAAM,EAAA,CAAA;sBADL;gBAOD,eAAe,EAAA,CAAA;sBADd;gBAOD,YAAY,EAAA,CAAA;sBADX;gBAOD,cAAc,EAAA,CAAA;sBADb;gBAOD,aAAa,EAAA,CAAA;sBADZ;gBAQD,SAAS,EAAA,CAAA;sBADR;gBAMD,YAAY,EAAA,CAAA;sBADX;gBAOD,YAAY,EAAA,CAAA;sBADX;gBAOD,cAAc,EAAA,CAAA;sBADb;gBAOD,UAAU,EAAA,CAAA;sBADT;gBAOD,YAAY,EAAA,CAAA;sBADX;gBAMD,mBAAmB,EAAA,CAAA;sBADlB;gBAMD,kBAAkB,EAAA,CAAA;sBADjB;gBAMD,UAAU,EAAA,CAAA;sBADT;gBAOD,YAAY,EAAA,CAAA;sBADX;gBAOD,iBAAiB,EAAA,CAAA;sBADhB;;;ACvMH;MA6Ea,gBAAgB,CAAA;+GAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,iBA1CzB,0BAA0B;YAC1B,0BAA0B;YAC1B,4BAA4B;YAC5B,yBAAyB;YACzB,yBAAyB;YACzB,2BAA2B;YAC3B,0BAA0B;YAC1B,wBAAwB;YACxB,yBAAyB;YACzB,4BAA4B;YAC5B,4BAA4B;YAC5B,2BAA2B;YAC3B,WAAW;YACX,cAAc;YACd,SAAS;YACT,YAAY;YACZ,QAAQ;YACR,SAAS;YACT,oBAAoB,CAAA,EAAA,OAAA,EAAA,CApBZ,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,CAAA,EAAA,OAAA,EAAA,CAuB1E,0BAA0B;YAC1B,0BAA0B;YAC1B,4BAA4B;YAC5B,yBAAyB;YACzB,yBAAyB;YACzB,2BAA2B;YAC3B,0BAA0B;YAC1B,wBAAwB;YACxB,yBAAyB;YACzB,4BAA4B;YAC5B,4BAA4B;YAC5B,2BAA2B;YAC3B,WAAW;YACX,cAAc;YACd,SAAS;YACT,YAAY;YACZ,QAAQ;YACR,SAAS;YACT,oBAAoB,CAAA,EAAA,CAAA,CAAA;AAGX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,YA5CjB,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,CAAA,EAAA,CAAA,CAAA;;4FA4CjE,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBA7C5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,CAAC;AAC7E,oBAAA,YAAY,EAAE;wBACZ,0BAA0B;wBAC1B,0BAA0B;wBAC1B,4BAA4B;wBAC5B,yBAAyB;wBACzB,yBAAyB;wBACzB,2BAA2B;wBAC3B,0BAA0B;wBAC1B,wBAAwB;wBACxB,yBAAyB;wBACzB,4BAA4B;wBAC5B,4BAA4B;wBAC5B,2BAA2B;wBAC3B,WAAW;wBACX,cAAc;wBACd,SAAS;wBACT,YAAY;wBACZ,QAAQ;wBACR,SAAS;wBACT,oBAAoB;AACrB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,0BAA0B;wBAC1B,0BAA0B;wBAC1B,4BAA4B;wBAC5B,yBAAyB;wBACzB,yBAAyB;wBACzB,2BAA2B;wBAC3B,0BAA0B;wBAC1B,wBAAwB;wBACxB,yBAAyB;wBACzB,4BAA4B;wBAC5B,4BAA4B;wBAC5B,2BAA2B;wBAC3B,WAAW;wBACX,cAAc;wBACd,SAAS;wBACT,YAAY;wBACZ,QAAQ;wBACR,SAAS;wBACT,oBAAoB;AACrB,qBAAA;AACF,iBAAA;;;AC5ED;;AAEG;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"novo-elements-elements-aside.mjs","sources":["../../../projects/novo-elements/src/elements/aside/aside-ref.ts","../../../projects/novo-elements/src/elements/aside/aside.animation.ts","../../../projects/novo-elements/src/elements/aside/aside.component.ts","../../../projects/novo-elements/src/elements/aside/aside.component.html","../../../projects/novo-elements/src/elements/aside/aside.service.ts","../../../projects/novo-elements/src/elements/aside/aside.module.ts","../../../projects/novo-elements/src/elements/aside/novo-elements-elements-aside.ts"],"sourcesContent":["import { OverlayRef } from '@angular/cdk/overlay';\nimport { Observable, Subject } from 'rxjs';\nimport { filter, take } from 'rxjs/operators';\nimport { AsideComponent } from './aside.component';\n\nexport class NovoAsideRef<T = any, R = any> {\n constructor(public component: any, public params: T, private overlayRef: OverlayRef) {}\n\n private _beforeClose = new Subject<R>();\n private _afterClosed = new Subject<R>();\n isClosed: boolean = false;\n componentInstance: AsideComponent;\n\n // Gets a promise that is resolved when the dialog is closed.\n get onClosed(): Promise<R> {\n return this._afterClosed.toPromise();\n }\n\n afterClosed(): Observable<R> {\n return this._afterClosed.asObservable();\n }\n\n beforeClose(): Observable<R> {\n return this._beforeClose.asObservable();\n }\n\n close(result?: R): void {\n // Listen for animation 'start' events\n this.componentInstance.animationStateChanged\n .pipe(\n filter((event) => event.phaseName === 'start'),\n take(1),\n )\n .subscribe(() => {\n this._beforeClose.next(result);\n this._beforeClose.complete();\n this.overlayRef.detachBackdrop();\n });\n\n // Listen for animation 'done' events\n this.componentInstance.animationStateChanged\n .pipe(\n filter((event) => event.phaseName === 'done' && event.toState === 'leave'),\n take(1),\n )\n .subscribe(() => {\n this.isClosed = true;\n this.overlayRef.dispose();\n this._afterClosed.next(result);\n this._afterClosed.complete();\n\n // Make sure to also clear the reference to the\n // component instance to avoid memory leaks\n this.componentInstance = null;\n });\n\n // Start exit animation\n this.componentInstance.startExitAnimation();\n }\n}\n","import { animate, state, style, transition, trigger } from '@angular/animations';\n\nexport const slideInOut = trigger('slideInOut', [\n state('void', style({ transform: 'translateX(100%)' })),\n state('enter', style({ transform: 'none' })),\n state('leave', style({ transform: 'translateX(100%)' })),\n transition('* => *', animate('800ms cubic-bezier(0.2, 1, 0.3, 1)')),\n]);\n","import { AnimationEvent } from '@angular/animations';\nimport { ComponentPortal, Portal } from '@angular/cdk/portal';\nimport { Component, EventEmitter, Injector, Output } from '@angular/core';\nimport { NovoAsideRef } from './aside-ref';\nimport { slideInOut } from './aside.animation';\n\n@Component({\n selector: 'novo-aside',\n templateUrl: './aside.component.html',\n styleUrls: ['./aside.component.scss'],\n animations: [slideInOut],\n standalone: false\n})\nexport class AsideComponent {\n @Output() animationStateChanged = new EventEmitter<AnimationEvent>();\n\n animationState: 'void' | 'enter' | 'leave' = 'enter';\n\n component: Portal<any>;\n\n constructor(private injector: Injector, private asideRef: NovoAsideRef) {\n this.component = new ComponentPortal(asideRef.component, null, injector);\n }\n\n onAnimationStart(event: AnimationEvent) {\n this.animationStateChanged.emit(event);\n }\n\n onAnimationDone(event: AnimationEvent) {\n this.animationStateChanged.emit(event);\n }\n\n startExitAnimation() {\n this.animationState = 'leave';\n }\n}\n","<div class=\"aside-panel\" [@slideInOut]=\"animationState\" (@slideInOut.start)=\"onAnimationStart($event)\"\n (@slideInOut.done)=\"onAnimationDone($event)\">\n <ng-template [cdkPortalOutlet]=\"component\"></ng-template>\n</div>","import { Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal, PortalInjector } from '@angular/cdk/portal';\nimport { ComponentRef, Injectable, Injector } from '@angular/core';\nimport { NovoAsideRef } from './aside-ref';\nimport { AsideComponent } from './aside.component';\n\ninterface AsideConfig extends OverlayConfig {\n panelClass?: string;\n hasBackdrop?: boolean;\n backdropClass?: string;\n}\n\nconst DEFAULT_CONFIG: AsideConfig = {\n hasBackdrop: true,\n backdropClass: 'aside-overlay-backdrop',\n panelClass: 'aside-overlay-panel',\n};\n\n@Injectable({ providedIn: 'root' })\nexport class NovoAsideService {\n constructor(private injector: Injector, private overlay: Overlay) {}\n\n open<R = any>(component, params = {}, config = {}) {\n // Override default configuration\n const asideConfig = this.getOverlayConfig({ ...DEFAULT_CONFIG, ...config });\n\n // Returns an OverlayRef which is a PortalHost\n const overlayRef = this.createOverlay(asideConfig);\n\n // Instantiate remote control\n const asideRef = new NovoAsideRef<typeof params, R>(component, params, overlayRef);\n\n const overlayComponent = this.attachAsideContainer(AsideComponent, overlayRef, asideConfig, asideRef);\n\n // Pass the instance of the overlay component to the remote control\n asideRef.componentInstance = overlayComponent;\n\n overlayRef.backdropClick().subscribe(() => asideRef.close());\n\n return asideRef;\n }\n\n private createOverlay(config: AsideConfig) {\n return this.overlay.create(config);\n }\n\n private attachAsideContainer(component, overlayRef: OverlayRef, config: AsideConfig, asideRef: NovoAsideRef) {\n const injector = this.createInjector(config, asideRef);\n\n const containerPortal = new ComponentPortal(component, null, injector);\n const containerRef: ComponentRef<any> = overlayRef.attach(containerPortal);\n\n return containerRef.instance;\n }\n\n private createInjector(config: AsideConfig, asideRef: NovoAsideRef): PortalInjector {\n const injectionTokens = new WeakMap();\n\n injectionTokens.set(NovoAsideRef, asideRef);\n\n return new PortalInjector(this.injector, injectionTokens);\n }\n\n private getOverlayConfig(config: AsideConfig): AsideConfig {\n const scrollStrategy = config.hasBackdrop ? this.overlay.scrollStrategies.block() : this.overlay.scrollStrategies.noop();\n\n return {\n scrollStrategy,\n hasBackdrop: config.hasBackdrop,\n backdropClass: config.backdropClass,\n panelClass: config.panelClass,\n };\n }\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { NgModule } from '@angular/core';\nimport { AsideComponent } from './aside.component';\nimport { NovoAsideService } from './aside.service';\n\n@NgModule({\n imports: [OverlayModule, PortalModule],\n declarations: [AsideComponent],\n providers: [NovoAsideService],\n})\nexport class NovoAsideModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.NovoAsideRef"],"mappings":"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"}
1
+ {"version":3,"file":"novo-elements-elements-aside.mjs","sources":["../../../projects/novo-elements/src/elements/aside/aside-ref.ts","../../../projects/novo-elements/src/elements/aside/aside.animation.ts","../../../projects/novo-elements/src/elements/aside/aside.component.ts","../../../projects/novo-elements/src/elements/aside/aside.component.html","../../../projects/novo-elements/src/elements/aside/aside.service.ts","../../../projects/novo-elements/src/elements/aside/aside.module.ts","../../../projects/novo-elements/src/elements/aside/novo-elements-elements-aside.ts"],"sourcesContent":["import { OverlayRef } from '@angular/cdk/overlay';\nimport { Observable, Subject } from 'rxjs';\nimport { filter, take } from 'rxjs/operators';\nimport { AsideComponent } from './aside.component';\n\nexport class NovoAsideRef<T = any, R = any> {\n constructor(public component: any, public params: T, private overlayRef: OverlayRef) {}\n\n private _beforeClose = new Subject<R>();\n private _afterClosed = new Subject<R>();\n isClosed: boolean = false;\n componentInstance: AsideComponent;\n\n // Gets a promise that is resolved when the dialog is closed.\n get onClosed(): Promise<R> {\n return this._afterClosed.toPromise();\n }\n\n afterClosed(): Observable<R> {\n return this._afterClosed.asObservable();\n }\n\n beforeClose(): Observable<R> {\n return this._beforeClose.asObservable();\n }\n\n close(result?: R): void {\n // Listen for animation 'start' events\n this.componentInstance.animationStateChanged\n .pipe(\n filter((event) => event.phaseName === 'start'),\n take(1),\n )\n .subscribe(() => {\n this._beforeClose.next(result);\n this._beforeClose.complete();\n this.overlayRef.detachBackdrop();\n });\n\n // Listen for animation 'done' events\n this.componentInstance.animationStateChanged\n .pipe(\n filter((event) => event.phaseName === 'done' && event.toState === 'leave'),\n take(1),\n )\n .subscribe(() => {\n this.isClosed = true;\n this.overlayRef.dispose();\n this._afterClosed.next(result);\n this._afterClosed.complete();\n\n // Make sure to also clear the reference to the\n // component instance to avoid memory leaks\n this.componentInstance = null;\n });\n\n // Start exit animation\n this.componentInstance.startExitAnimation();\n }\n}\n","import { animate, state, style, transition, trigger } from '@angular/animations';\n\nexport const slideInOut = trigger('slideInOut', [\n state('void', style({ transform: 'translateX(100%)' })),\n state('enter', style({ transform: 'none' })),\n state('leave', style({ transform: 'translateX(100%)' })),\n transition('* => *', animate('800ms cubic-bezier(0.2, 1, 0.3, 1)')),\n]);\n","import { AnimationEvent } from '@angular/animations';\nimport { ComponentPortal, Portal } from '@angular/cdk/portal';\nimport { Component, EventEmitter, Injector, Output } from '@angular/core';\nimport { NovoAsideRef } from './aside-ref';\nimport { slideInOut } from './aside.animation';\n\n@Component({\n selector: 'novo-aside',\n templateUrl: './aside.component.html',\n styleUrls: ['./aside.component.scss'],\n animations: [slideInOut],\n standalone: false,\n})\nexport class AsideComponent {\n @Output() animationStateChanged = new EventEmitter<AnimationEvent>();\n\n animationState: 'void' | 'enter' | 'leave' = 'enter';\n\n component: Portal<any>;\n\n constructor(private injector: Injector, private asideRef: NovoAsideRef) {\n this.component = new ComponentPortal(asideRef.component, null, injector);\n }\n\n onAnimationStart(event: AnimationEvent) {\n this.animationStateChanged.emit(event);\n }\n\n onAnimationDone(event: AnimationEvent) {\n this.animationStateChanged.emit(event);\n }\n\n startExitAnimation() {\n this.animationState = 'leave';\n }\n}\n","<div class=\"aside-panel\" [@slideInOut]=\"animationState\" (@slideInOut.start)=\"onAnimationStart($event)\"\n (@slideInOut.done)=\"onAnimationDone($event)\">\n <ng-template [cdkPortalOutlet]=\"component\"></ng-template>\n</div>","import { Overlay, OverlayConfig, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal, PortalInjector } from '@angular/cdk/portal';\nimport { ComponentRef, Injectable, Injector } from '@angular/core';\nimport { NovoAsideRef } from './aside-ref';\nimport { AsideComponent } from './aside.component';\n\ninterface AsideConfig extends OverlayConfig {\n panelClass?: string;\n hasBackdrop?: boolean;\n backdropClass?: string;\n}\n\nconst DEFAULT_CONFIG: AsideConfig = {\n hasBackdrop: true,\n backdropClass: 'aside-overlay-backdrop',\n panelClass: 'aside-overlay-panel',\n};\n\n@Injectable({ providedIn: 'root' })\nexport class NovoAsideService {\n constructor(private injector: Injector, private overlay: Overlay) {}\n\n open<R = any>(component, params = {}, config = {}) {\n // Override default configuration\n const asideConfig = this.getOverlayConfig({ ...DEFAULT_CONFIG, ...config });\n\n // Returns an OverlayRef which is a PortalHost\n const overlayRef = this.createOverlay(asideConfig);\n\n // Instantiate remote control\n const asideRef = new NovoAsideRef<typeof params, R>(component, params, overlayRef);\n\n const overlayComponent = this.attachAsideContainer(AsideComponent, overlayRef, asideConfig, asideRef);\n\n // Pass the instance of the overlay component to the remote control\n asideRef.componentInstance = overlayComponent;\n\n overlayRef.backdropClick().subscribe(() => asideRef.close());\n\n return asideRef;\n }\n\n private createOverlay(config: AsideConfig) {\n return this.overlay.create(config);\n }\n\n private attachAsideContainer(component, overlayRef: OverlayRef, config: AsideConfig, asideRef: NovoAsideRef) {\n const injector = this.createInjector(config, asideRef);\n\n const containerPortal = new ComponentPortal(component, null, injector);\n const containerRef: ComponentRef<any> = overlayRef.attach(containerPortal);\n\n return containerRef.instance;\n }\n\n private createInjector(config: AsideConfig, asideRef: NovoAsideRef): PortalInjector {\n const injectionTokens = new WeakMap();\n\n injectionTokens.set(NovoAsideRef, asideRef);\n\n return new PortalInjector(this.injector, injectionTokens);\n }\n\n private getOverlayConfig(config: AsideConfig): AsideConfig {\n const scrollStrategy = config.hasBackdrop ? this.overlay.scrollStrategies.block() : this.overlay.scrollStrategies.noop();\n\n return {\n scrollStrategy,\n hasBackdrop: config.hasBackdrop,\n backdropClass: config.backdropClass,\n panelClass: config.panelClass,\n };\n }\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { NgModule } from '@angular/core';\nimport { AsideComponent } from './aside.component';\nimport { NovoAsideService } from './aside.service';\n\n@NgModule({\n imports: [OverlayModule, PortalModule],\n declarations: [AsideComponent],\n providers: [NovoAsideService],\n})\nexport class NovoAsideModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.NovoAsideRef"],"mappings":";;;;;;;;;;MAKa,YAAY,CAAA;AACvB,IAAA,WAAA,CAAmB,SAAc,EAAS,MAAS,EAAU,UAAsB,EAAA;QAAhE,IAAS,CAAA,SAAA,GAAT,SAAS;QAAc,IAAM,CAAA,MAAA,GAAN,MAAM;QAAa,IAAU,CAAA,UAAA,GAAV,UAAU;AAE/D,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,OAAO,EAAK;AAC/B,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,OAAO,EAAK;QACvC,IAAQ,CAAA,QAAA,GAAY,KAAK;;;AAIzB,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE;;IAGtC,WAAW,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;;IAGzC,WAAW,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE;;AAGzC,IAAA,KAAK,CAAC,MAAU,EAAA;;QAEd,IAAI,CAAC,iBAAiB,CAAC;AACpB,aAAA,IAAI,CACH,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,SAAS,KAAK,OAAO,CAAC,EAC9C,IAAI,CAAC,CAAC,CAAC;aAER,SAAS,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;AAC9B,YAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;AAC5B,YAAA,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE;AAClC,SAAC,CAAC;;QAGJ,IAAI,CAAC,iBAAiB,CAAC;aACpB,IAAI,CACH,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,SAAS,KAAK,MAAM,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC,EAC1E,IAAI,CAAC,CAAC,CAAC;aAER,SAAS,CAAC,MAAK;AACd,YAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;AACpB,YAAA,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;AACzB,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC;AAC9B,YAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;;;AAI5B,YAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI;AAC/B,SAAC,CAAC;;AAGJ,QAAA,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,EAAE;;AAE9C;;ACzDY,MAAA,UAAU,GAAG,OAAO,CAAC,YAAY,EAAE;IAC9C,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACvD,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5C,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,CAAC,CAAC;AACxD,IAAA,UAAU,CAAC,QAAQ,EAAE,OAAO,CAAC,oCAAoC,CAAC,CAAC;AACpE,CAAA;;MCMY,cAAc,CAAA;IAOzB,WAAoB,CAAA,QAAkB,EAAU,QAAsB,EAAA;QAAlD,IAAQ,CAAA,QAAA,GAAR,QAAQ;QAAoB,IAAQ,CAAA,QAAA,GAAR,QAAQ;AAN9C,QAAA,IAAA,CAAA,qBAAqB,GAAG,IAAI,YAAY,EAAkB;QAEpE,IAAc,CAAA,cAAA,GAA+B,OAAO;AAKlD,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,eAAe,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC;;AAG1E,IAAA,gBAAgB,CAAC,KAAqB,EAAA;AACpC,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC;;AAGxC,IAAA,eAAe,CAAC,KAAqB,EAAA;AACnC,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC;;IAGxC,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,cAAc,GAAG,OAAO;;+GApBpB,cAAc,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,cAAc,ECb3B,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,YAAA,EAAA,OAAA,EAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,wOAGM,EDOU,MAAA,EAAA,CAAA,0OAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAC,UAAU,CAAC,EAAA,CAAA,CAAA;;4FAGf,cAAc,EAAA,UAAA,EAAA,CAAA;kBAP1B,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EAGV,UAAA,EAAA,CAAC,UAAU,CAAC,cACZ,KAAK,EAAA,QAAA,EAAA,wOAAA,EAAA,MAAA,EAAA,CAAA,0OAAA,CAAA,EAAA;qGAGT,qBAAqB,EAAA,CAAA;sBAA9B;;;AEFH,MAAM,cAAc,GAAgB;AAClC,IAAA,WAAW,EAAE,IAAI;AACjB,IAAA,aAAa,EAAE,wBAAwB;AACvC,IAAA,UAAU,EAAE,qBAAqB;CAClC;MAGY,gBAAgB,CAAA;IAC3B,WAAoB,CAAA,QAAkB,EAAU,OAAgB,EAAA;QAA5C,IAAQ,CAAA,QAAA,GAAR,QAAQ;QAAoB,IAAO,CAAA,OAAA,GAAP,OAAO;;IAEvD,IAAI,CAAU,SAAS,EAAE,MAAM,GAAG,EAAE,EAAE,MAAM,GAAG,EAAE,EAAA;;AAE/C,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;;QAG3E,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;;QAGlD,MAAM,QAAQ,GAAG,IAAI,YAAY,CAAmB,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC;AAElF,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,CAAC,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC;;AAGrG,QAAA,QAAQ,CAAC,iBAAiB,GAAG,gBAAgB;AAE7C,QAAA,UAAU,CAAC,aAAa,EAAE,CAAC,SAAS,CAAC,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;AAE5D,QAAA,OAAO,QAAQ;;AAGT,IAAA,aAAa,CAAC,MAAmB,EAAA;QACvC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;;AAG5B,IAAA,oBAAoB,CAAC,SAAS,EAAE,UAAsB,EAAE,MAAmB,EAAE,QAAsB,EAAA;QACzG,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC;QAEtD,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC;QACtE,MAAM,YAAY,GAAsB,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC;QAE1E,OAAO,YAAY,CAAC,QAAQ;;IAGtB,cAAc,CAAC,MAAmB,EAAE,QAAsB,EAAA;AAChE,QAAA,MAAM,eAAe,GAAG,IAAI,OAAO,EAAE;AAErC,QAAA,eAAe,CAAC,GAAG,CAAC,YAAY,EAAE,QAAQ,CAAC;QAE3C,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC;;AAGnD,IAAA,gBAAgB,CAAC,MAAmB,EAAA;QAC1C,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE;QAExH,OAAO;YACL,cAAc;YACd,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B;;+GApDQ,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,OAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,cADH,MAAM,EAAA,CAAA,CAAA;;4FACnB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAD5B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;MCPrB,eAAe,CAAA;+GAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAf,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EAHX,YAAA,EAAA,CAAA,cAAc,CADnB,EAAA,OAAA,EAAA,CAAA,aAAa,EAAE,YAAY,CAAA,EAAA,CAAA,CAAA;AAI1B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,aAFf,CAAC,gBAAgB,CAAC,EAFnB,OAAA,EAAA,CAAA,aAAa,EAAE,YAAY,CAAA,EAAA,CAAA,CAAA;;4FAI1B,eAAe,EAAA,UAAA,EAAA,CAAA;kBAL3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,aAAa,EAAE,YAAY,CAAC;oBACtC,YAAY,EAAE,CAAC,cAAc,CAAC;oBAC9B,SAAS,EAAE,CAAC,gBAAgB,CAAC;AAC9B,iBAAA;;;ACVD;;AAEG;;;;"}
@@ -165,7 +165,7 @@ class NovoAutocompleteElement extends NovoAutocompleteMixins {
165
165
  }
166
166
  }
167
167
  else {
168
- console.warn(`AutoComplete only intended to be used within a NovoField`);
168
+ console.warn('AutoComplete only intended to be used within a NovoField');
169
169
  }
170
170
  this._previousValue = optionValue;
171
171
  }
@@ -191,14 +191,16 @@ class NovoAutocompleteElement extends NovoAutocompleteMixins {
191
191
  */
192
192
  _setValueAndClose(event) {
193
193
  if (event && event.source) {
194
- if (!this.multiple)
194
+ if (!this.multiple) {
195
195
  this._clearPreviousSelectedOption(event.source);
196
+ }
196
197
  this._setTriggerValue(event.source);
197
198
  this._emitSelectEvent(event.source);
198
199
  this._watchSelectionEvents();
199
200
  }
200
- if (!this.multiple)
201
+ if (!this.multiple) {
201
202
  this.closePanel();
203
+ }
202
204
  }
203
205
  _watchSelectionEvents() {
204
206
  const selectionEvents = this.options ? merge(...this.options.map((option) => option.onSelectionChange)) : of();
@@ -270,7 +272,7 @@ class NovoAutocompleteElement extends NovoAutocompleteMixins {
270
272
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: NovoAutocompleteElement, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: 'tabindex', attribute: true }, { token: NOVO_FORM_FIELD, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
271
273
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: NovoAutocompleteElement, isStandalone: false, selector: "novo-autocomplete", inputs: { tabIndex: "tabIndex", triggerOn: "triggerOn", displayWith: "displayWith", ariaLabel: ["aria-label", "ariaLabel"], multiple: "multiple", disabled: "disabled", makeFirstItemActive: "makeFirstItemActive" }, outputs: { optionSelected: "optionSelected", optionActivated: "optionActivated" }, host: { properties: { "attr.tabindex": "disabled ? null : -1" }, classAttribute: "novo-autocomplete" }, providers: [
272
274
  { provide: NOVO_OPTION_PARENT_COMPONENT, useExisting: NovoAutocompleteElement },
273
- { provide: NOVO_OVERLAY_CONTAINER, useExisting: NovoAutocompleteElement }
275
+ { provide: NOVO_OVERLAY_CONTAINER, useExisting: NovoAutocompleteElement },
274
276
  ], queries: [{ propertyName: "optionGroups", predicate: NovoOptgroup, descendants: true }, { propertyName: "options", predicate: NovoOption, descendants: true }], viewQueries: [{ propertyName: "overlay", first: true, predicate: NovoOverlayTemplateComponent, descendants: true }], exportAs: ["novoAutocomplete"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<novo-overlay-template [parent]=\"element\" position=\"above-below\">\n <div class=\"novo-autocomplete-options\" cdk-scrollable>\n <ng-content></ng-content>\n </div>\n</novo-overlay-template>", styles: [".novo-autocomplete-options{background-color:var(--background-bright);cursor:default;list-style:none;padding-inline-start:0px!important;box-shadow:0 -1px 3px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}\n"], dependencies: [{ kind: "component", type: i1.NovoOverlayTemplateComponent, selector: "novo-overlay-template", inputs: ["position", "scrollStrategy", "width", "minWidth", "height", "closeOnSelect", "hasBackdrop", "parent"], outputs: ["select", "opening", "closing", "backDropClicked"] }, { kind: "directive", type: i2.CdkScrollable, selector: "[cdk-scrollable], [cdkScrollable]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
275
277
  }
276
278
  __decorate([
@@ -291,7 +293,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
291
293
  '[attr.tabindex]': 'disabled ? null : -1',
292
294
  }, providers: [
293
295
  { provide: NOVO_OPTION_PARENT_COMPONENT, useExisting: NovoAutocompleteElement },
294
- { provide: NOVO_OVERLAY_CONTAINER, useExisting: NovoAutocompleteElement }
296
+ { provide: NOVO_OVERLAY_CONTAINER, useExisting: NovoAutocompleteElement },
295
297
  ], exportAs: 'novoAutocomplete', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<novo-overlay-template [parent]=\"element\" position=\"above-below\">\n <div class=\"novo-autocomplete-options\" cdk-scrollable>\n <ng-content></ng-content>\n </div>\n</novo-overlay-template>", styles: [".novo-autocomplete-options{background-color:var(--background-bright);cursor:default;list-style:none;padding-inline-start:0px!important;box-shadow:0 -1px 3px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}\n"] }]
296
298
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
297
299
  type: Attribute,