novo-elements 9.3.0-next.2 → 9.3.0-next.3

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 (171) hide show
  1. package/elements/chips/RowChips.scss +9 -1
  2. package/esm2020/elements/aside/aside.component.mjs +3 -3
  3. package/esm2020/elements/autocomplete/autocomplete.component.mjs +2 -2
  4. package/esm2020/elements/button/Button.mjs +2 -2
  5. package/esm2020/elements/calendar/calendar.component.mjs +2 -2
  6. package/esm2020/elements/calendar/month-view/month-view.component.mjs +2 -2
  7. package/esm2020/elements/card/Card.mjs +2 -2
  8. package/esm2020/elements/checkbox/CheckList.mjs +2 -2
  9. package/esm2020/elements/checkbox/Checkbox.mjs +2 -2
  10. package/esm2020/elements/chips/Chip.mjs +2 -2
  11. package/esm2020/elements/chips/RowChips.mjs +5 -3
  12. package/esm2020/elements/color-picker/color-picker.component.mjs +2 -2
  13. package/esm2020/elements/common/selection/pseudo-checkbox/pseudo-checkbox.component.mjs +2 -2
  14. package/esm2020/elements/data-table/data-table.component.mjs +3 -3
  15. package/esm2020/elements/date-picker/DatePicker.mjs +3 -3
  16. package/esm2020/elements/date-picker/DatePickerInput.mjs +2 -2
  17. package/esm2020/elements/date-picker/DateRangeInput.mjs +2 -2
  18. package/esm2020/elements/date-time-picker/DateTimePicker.mjs +3 -3
  19. package/esm2020/elements/field/field.mjs +2 -2
  20. package/esm2020/elements/field/hint/hint.mjs +2 -2
  21. package/esm2020/elements/form/DynamicForm.mjs +3 -3
  22. package/esm2020/elements/form/Form.mjs +2 -2
  23. package/esm2020/elements/form/extras/file/FileInput.mjs +2 -2
  24. package/esm2020/elements/header/Header.mjs +2 -2
  25. package/esm2020/elements/layout/container/layout-container.component.mjs +2 -2
  26. package/esm2020/elements/loading/Loading.mjs +4 -4
  27. package/esm2020/elements/menu/menu-content.component.mjs +2 -2
  28. package/esm2020/elements/modal/modal-container.component.mjs +3 -3
  29. package/esm2020/elements/picker/Picker.mjs +2 -2
  30. package/esm2020/elements/progress/ProgressBar.mjs +2 -2
  31. package/esm2020/elements/query-builder/condition-builder/condition-builder.component.mjs +3 -3
  32. package/esm2020/elements/search/SearchBox.mjs +2 -2
  33. package/esm2020/elements/select/Select.mjs +2 -2
  34. package/esm2020/elements/simple-table/table.mjs +5 -5
  35. package/esm2020/elements/stepper/step-header.component.mjs +2 -2
  36. package/esm2020/elements/switch/Switch.mjs +2 -2
  37. package/esm2020/elements/table/Table.mjs +2 -2
  38. package/esm2020/elements/time-picker/TimePicker.mjs +2 -2
  39. package/esm2020/elements/time-picker/TimePickerInput.mjs +2 -2
  40. package/esm2020/elements/toast/Toast.mjs +2 -2
  41. package/esm2020/elements/tooltip/Tooltip.component.mjs +3 -3
  42. package/esm2020/elements/value/Value.mjs +2 -2
  43. package/fesm2015/novo-elements-elements-aside.mjs +2 -2
  44. package/fesm2015/novo-elements-elements-aside.mjs.map +1 -1
  45. package/fesm2015/novo-elements-elements-autocomplete.mjs +2 -2
  46. package/fesm2015/novo-elements-elements-autocomplete.mjs.map +1 -1
  47. package/fesm2015/novo-elements-elements-button.mjs +2 -2
  48. package/fesm2015/novo-elements-elements-button.mjs.map +1 -1
  49. package/fesm2015/novo-elements-elements-calendar.mjs +4 -4
  50. package/fesm2015/novo-elements-elements-calendar.mjs.map +1 -1
  51. package/fesm2015/novo-elements-elements-card.mjs +2 -2
  52. package/fesm2015/novo-elements-elements-card.mjs.map +1 -1
  53. package/fesm2015/novo-elements-elements-checkbox.mjs +4 -4
  54. package/fesm2015/novo-elements-elements-checkbox.mjs.map +1 -1
  55. package/fesm2015/novo-elements-elements-chips.mjs +6 -4
  56. package/fesm2015/novo-elements-elements-chips.mjs.map +1 -1
  57. package/fesm2015/novo-elements-elements-color-picker.mjs +2 -2
  58. package/fesm2015/novo-elements-elements-color-picker.mjs.map +1 -1
  59. package/fesm2015/novo-elements-elements-common.mjs +2 -2
  60. package/fesm2015/novo-elements-elements-common.mjs.map +1 -1
  61. package/fesm2015/novo-elements-elements-data-table.mjs +2 -2
  62. package/fesm2015/novo-elements-elements-data-table.mjs.map +1 -1
  63. package/fesm2015/novo-elements-elements-date-picker.mjs +6 -6
  64. package/fesm2015/novo-elements-elements-date-picker.mjs.map +1 -1
  65. package/fesm2015/novo-elements-elements-date-time-picker.mjs +2 -2
  66. package/fesm2015/novo-elements-elements-date-time-picker.mjs.map +1 -1
  67. package/fesm2015/novo-elements-elements-field.mjs +4 -4
  68. package/fesm2015/novo-elements-elements-field.mjs.map +1 -1
  69. package/fesm2015/novo-elements-elements-form.mjs +6 -6
  70. package/fesm2015/novo-elements-elements-form.mjs.map +1 -1
  71. package/fesm2015/novo-elements-elements-header.mjs +2 -2
  72. package/fesm2015/novo-elements-elements-header.mjs.map +1 -1
  73. package/fesm2015/novo-elements-elements-layout.mjs +2 -2
  74. package/fesm2015/novo-elements-elements-layout.mjs.map +1 -1
  75. package/fesm2015/novo-elements-elements-loading.mjs +4 -4
  76. package/fesm2015/novo-elements-elements-loading.mjs.map +1 -1
  77. package/fesm2015/novo-elements-elements-menu.mjs +2 -2
  78. package/fesm2015/novo-elements-elements-menu.mjs.map +1 -1
  79. package/fesm2015/novo-elements-elements-modal.mjs +2 -2
  80. package/fesm2015/novo-elements-elements-modal.mjs.map +1 -1
  81. package/fesm2015/novo-elements-elements-picker.mjs +2 -2
  82. package/fesm2015/novo-elements-elements-picker.mjs.map +1 -1
  83. package/fesm2015/novo-elements-elements-progress.mjs +2 -2
  84. package/fesm2015/novo-elements-elements-progress.mjs.map +1 -1
  85. package/fesm2015/novo-elements-elements-query-builder.mjs +2 -2
  86. package/fesm2015/novo-elements-elements-query-builder.mjs.map +1 -1
  87. package/fesm2015/novo-elements-elements-search.mjs +2 -2
  88. package/fesm2015/novo-elements-elements-search.mjs.map +1 -1
  89. package/fesm2015/novo-elements-elements-select.mjs +2 -2
  90. package/fesm2015/novo-elements-elements-select.mjs.map +1 -1
  91. package/fesm2015/novo-elements-elements-simple-table.mjs +4 -4
  92. package/fesm2015/novo-elements-elements-simple-table.mjs.map +1 -1
  93. package/fesm2015/novo-elements-elements-stepper.mjs +2 -2
  94. package/fesm2015/novo-elements-elements-stepper.mjs.map +1 -1
  95. package/fesm2015/novo-elements-elements-switch.mjs +2 -2
  96. package/fesm2015/novo-elements-elements-switch.mjs.map +1 -1
  97. package/fesm2015/novo-elements-elements-table.mjs +2 -2
  98. package/fesm2015/novo-elements-elements-table.mjs.map +1 -1
  99. package/fesm2015/novo-elements-elements-time-picker.mjs +4 -4
  100. package/fesm2015/novo-elements-elements-time-picker.mjs.map +1 -1
  101. package/fesm2015/novo-elements-elements-toast.mjs +2 -2
  102. package/fesm2015/novo-elements-elements-toast.mjs.map +1 -1
  103. package/fesm2015/novo-elements-elements-tooltip.mjs +2 -2
  104. package/fesm2015/novo-elements-elements-tooltip.mjs.map +1 -1
  105. package/fesm2015/novo-elements-elements-value.mjs +2 -2
  106. package/fesm2015/novo-elements-elements-value.mjs.map +1 -1
  107. package/fesm2020/novo-elements-elements-aside.mjs +2 -2
  108. package/fesm2020/novo-elements-elements-aside.mjs.map +1 -1
  109. package/fesm2020/novo-elements-elements-autocomplete.mjs +2 -2
  110. package/fesm2020/novo-elements-elements-autocomplete.mjs.map +1 -1
  111. package/fesm2020/novo-elements-elements-button.mjs +2 -2
  112. package/fesm2020/novo-elements-elements-button.mjs.map +1 -1
  113. package/fesm2020/novo-elements-elements-calendar.mjs +4 -4
  114. package/fesm2020/novo-elements-elements-calendar.mjs.map +1 -1
  115. package/fesm2020/novo-elements-elements-card.mjs +2 -2
  116. package/fesm2020/novo-elements-elements-card.mjs.map +1 -1
  117. package/fesm2020/novo-elements-elements-checkbox.mjs +4 -4
  118. package/fesm2020/novo-elements-elements-checkbox.mjs.map +1 -1
  119. package/fesm2020/novo-elements-elements-chips.mjs +6 -4
  120. package/fesm2020/novo-elements-elements-chips.mjs.map +1 -1
  121. package/fesm2020/novo-elements-elements-color-picker.mjs +2 -2
  122. package/fesm2020/novo-elements-elements-color-picker.mjs.map +1 -1
  123. package/fesm2020/novo-elements-elements-common.mjs +2 -2
  124. package/fesm2020/novo-elements-elements-common.mjs.map +1 -1
  125. package/fesm2020/novo-elements-elements-data-table.mjs +2 -2
  126. package/fesm2020/novo-elements-elements-data-table.mjs.map +1 -1
  127. package/fesm2020/novo-elements-elements-date-picker.mjs +6 -6
  128. package/fesm2020/novo-elements-elements-date-picker.mjs.map +1 -1
  129. package/fesm2020/novo-elements-elements-date-time-picker.mjs +2 -2
  130. package/fesm2020/novo-elements-elements-date-time-picker.mjs.map +1 -1
  131. package/fesm2020/novo-elements-elements-field.mjs +4 -4
  132. package/fesm2020/novo-elements-elements-field.mjs.map +1 -1
  133. package/fesm2020/novo-elements-elements-form.mjs +6 -6
  134. package/fesm2020/novo-elements-elements-form.mjs.map +1 -1
  135. package/fesm2020/novo-elements-elements-header.mjs +2 -2
  136. package/fesm2020/novo-elements-elements-header.mjs.map +1 -1
  137. package/fesm2020/novo-elements-elements-layout.mjs +2 -2
  138. package/fesm2020/novo-elements-elements-layout.mjs.map +1 -1
  139. package/fesm2020/novo-elements-elements-loading.mjs +4 -4
  140. package/fesm2020/novo-elements-elements-loading.mjs.map +1 -1
  141. package/fesm2020/novo-elements-elements-menu.mjs +2 -2
  142. package/fesm2020/novo-elements-elements-menu.mjs.map +1 -1
  143. package/fesm2020/novo-elements-elements-modal.mjs +2 -2
  144. package/fesm2020/novo-elements-elements-modal.mjs.map +1 -1
  145. package/fesm2020/novo-elements-elements-picker.mjs +2 -2
  146. package/fesm2020/novo-elements-elements-picker.mjs.map +1 -1
  147. package/fesm2020/novo-elements-elements-progress.mjs +2 -2
  148. package/fesm2020/novo-elements-elements-progress.mjs.map +1 -1
  149. package/fesm2020/novo-elements-elements-query-builder.mjs +2 -2
  150. package/fesm2020/novo-elements-elements-query-builder.mjs.map +1 -1
  151. package/fesm2020/novo-elements-elements-search.mjs +2 -2
  152. package/fesm2020/novo-elements-elements-search.mjs.map +1 -1
  153. package/fesm2020/novo-elements-elements-select.mjs +2 -2
  154. package/fesm2020/novo-elements-elements-select.mjs.map +1 -1
  155. package/fesm2020/novo-elements-elements-simple-table.mjs +4 -4
  156. package/fesm2020/novo-elements-elements-simple-table.mjs.map +1 -1
  157. package/fesm2020/novo-elements-elements-stepper.mjs +2 -2
  158. package/fesm2020/novo-elements-elements-stepper.mjs.map +1 -1
  159. package/fesm2020/novo-elements-elements-switch.mjs +2 -2
  160. package/fesm2020/novo-elements-elements-switch.mjs.map +1 -1
  161. package/fesm2020/novo-elements-elements-table.mjs +2 -2
  162. package/fesm2020/novo-elements-elements-table.mjs.map +1 -1
  163. package/fesm2020/novo-elements-elements-time-picker.mjs +4 -4
  164. package/fesm2020/novo-elements-elements-time-picker.mjs.map +1 -1
  165. package/fesm2020/novo-elements-elements-toast.mjs +2 -2
  166. package/fesm2020/novo-elements-elements-toast.mjs.map +1 -1
  167. package/fesm2020/novo-elements-elements-tooltip.mjs +2 -2
  168. package/fesm2020/novo-elements-elements-tooltip.mjs.map +1 -1
  169. package/fesm2020/novo-elements-elements-value.mjs +2 -2
  170. package/fesm2020/novo-elements-elements-value.mjs.map +1 -1
  171. package/package.json +1 -1
@@ -262,7 +262,7 @@ class NovoMonthViewElement {
262
262
  }
263
263
  }
264
264
  NovoMonthViewElement.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoMonthViewElement, deps: [{ token: i1.NovoLabelService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
265
- NovoMonthViewElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NovoMonthViewElement, selector: "novo-month-view", inputs: { minDate: "minDate", maxDate: "maxDate", activeDate: "activeDate", selected: "selected", preview: "preview", overlays: "overlays", disabledDateMessage: "disabledDateMessage", isRange: "isRange", hideOverflowDays: "hideOverflowDays", weekStartsOn: "weekStartsOn" }, outputs: { select: "select", hover: "hover" }, host: { properties: { "class.hide-overflow-days": "this.hideOverflowDays" } }, ngImport: i0, template: "<div class=\"calendar-table\" cellspacing=\"0\" cellpadding=\"0\">\n <div class=\"calendar-thead\">\n <div class=\"calendar-th weekday\" *ngFor=\"let day of weekdays\" title=\"{{ day }}\"\n [attr.data-automation-id]=\"day.substr(0, 2)\">\n {{ day.substr(0, 2) }}\n </div>\n </div>\n <div class=\"calendar-body\">\n <div class=\"calendar-week\" *ngFor=\"let week of weeks\">\n <div class=\"calendar-date\" *ngFor=\"let day of week.days\"\n [class.today]=\"day.isToday\"\n [class.notinmonth]=\"day.date.getMonth() !== activeDate.getMonth()\"\n [class.selected]=\"_isSelected(day.date)\"\n [class.preview]=\"_isPreview(day.date)\"\n [class.overlay]=\"_isOverlay(day.date)\"\n [class]=\"_hasOverlayType(day.date)\"\n [class.inRange]=\"_isInRange(day.date)\"\n [class.rangeStart]=\"_isRangeStart(day.date)\"\n [class.rangeEnd]=\"_isRangeEnd(day.date)\"\n [class.inPreview]=\"_isInPreview(day.date)\"\n [class.previewStart]=\"_isPreviewStart(day.date)\"\n [class.previewEnd]=\"_isPreviewEnd(day.date)\"\n [class.calendar-date]=\"true\"\n [attr.aria-label]=\"day.name\"\n [attr.aria-disabled]=\"isDisabled(day.date)\"\n [attr.aria-selected]=\"_isSelected(day.date)\"\n [attr.data-automation-id]=\"day.number\"\n [title]=\"isDisabled(day.date) ? disabledDateMessage : ''\"\n (mouseover)=\"onHover($event, day)\">\n <novo-button\n class=\"day\"\n tabindex=\"0\"\n [attr.data-automation-id]=\"day.number\"\n [disabled]=\"isDisabled(day.date)\"\n (click)=\"onSelect($event, day)\">\n {{ day.number }}\n </novo-button>\n </div>\n </div>\n </div>\n</div>", styles: [":host{background:var(--background-bright);width:100%;height:-webkit-min-content;height:-moz-min-content;height:min-content;position:relative}:host .calendar-table{display:table}:host .calendar-table .calendar-thead{display:table-header-group}:host .calendar-table .calendar-th{display:table-cell;width:30px;padding:10px 0}:host .calendar-table .calendar-body{display:table-row-group}:host .calendar-table .calendar-week{display:table-row}:host .calendar-table .month,:host .calendar-table .year{text-align:center;padding:4px 15px;color:#666;overflow-x:hidden;text-overflow:ellipsis;margin:5px;font-weight:400;border-radius:3px}:host .calendar-table .month.selected,:host .calendar-table .year.selected{background-color:var(--selection);color:#fff}:host .calendar-table .month:hover,:host .calendar-table .year:hover{cursor:pointer;background-color:var(--selection);color:#fff}:host .calendar-table .day{height:3.2rem;width:3.2rem;line-height:1;font-size:1.2rem;padding:1px;border:none;background-color:transparent;border-radius:50%;box-shadow:inset 0 0 0 2px transparent;transition:box-shadow .14s ease-in-out;position:relative;color:#3d464d;color:var(--text-main, #3d464d)}:host .calendar-table .day:focus{outline:none}:host .calendar-table .day:disabled{color:var(--text-disabled);cursor:not-allowed!important;box-shadow:none!important}:host .calendar-table .calendar-date{display:table-cell}:host .calendar-table .calendar-date.notinmonth,:host .calendar-table .calendar-date.notinmonth:not(.selected)>.day{color:var(--text-disabled)}:host .calendar-table .calendar-date:hover .day{cursor:pointer;box-shadow:inset 0 0 0 2px var(--selection)}:host .calendar-table .calendar-date.inRange:hover .day{box-shadow:inset 0 0 0 2px #fff}:host .calendar-table .calendar-date.inRange{background:var(--selection);color:#fff;height:3.2rem;width:3.2rem;border-radius:0}:host .calendar-table .calendar-date.inRange .day{color:#fff}:host .calendar-table .calendar-date.rangeStart{border-radius:50% 0 0 50%;box-shadow:none!important;position:relative}:host .calendar-table .calendar-date.rangeStart:before{content:\"\";position:absolute;height:100%;background:#4a89dc;width:10px;top:0;right:-5px;z-index:-1}:host .calendar-table .calendar-date.rangeEnd{border-radius:0 50% 50% 0;box-shadow:none!important;position:relative}:host .calendar-table .calendar-date.rangeEnd:before{content:\"\";position:absolute;height:100%;background:var(--selection);width:10px;top:0;left:-5px;z-index:-1}:host .calendar-table .calendar-date.selected .day{background:var(--selection);color:#fff}:host .calendar-table .calendar-date.preview:not(.previewStart):not(.previewEnd) .day{border:1px dashed var(--selection)}:host .calendar-table .calendar-date.preview:not(.previewStart):not(.previewEnd).selected .day{border:1px dashed #9dbeff}:host .calendar-table .calendar-date.today .day:after{content:\"\";position:absolute;top:0;left:0;border-radius:100%;width:100%;height:100%;max-width:3.2rem;margin:0 auto;box-shadow:inset 0 0 0 2px #dbdbdb}:host .calendar-table .calendar-date.today.inRange .day:after,:host .calendar-table .calendar-date.today.selected .day:after{box-shadow:inset 0 0 0 2px #9dbeff}:host .calendar-table .calendar-date.inPreview .day{border-radius:0;border-top:1px dashed #4a89dc;border-bottom:1px dashed #4a89dc}:host .calendar-table .calendar-date.previewStart .day{border-radius:50% 0 0 50%;box-shadow:none!important;border-left:1px dashed #4a89dc}:host .calendar-table .calendar-date.previewEnd .day{border-radius:0 50% 50% 0;box-shadow:none!important;border-right:1px dashed #4a89dc}\n"], components: [{ type: i3.NovoButtonElement, selector: "novo-button,button[theme]", inputs: ["color", "side", "size", "theme", "loading", "icon", "disabled"] }], directives: [{ type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
265
+ NovoMonthViewElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NovoMonthViewElement, selector: "novo-month-view", inputs: { minDate: "minDate", maxDate: "maxDate", activeDate: "activeDate", selected: "selected", preview: "preview", overlays: "overlays", disabledDateMessage: "disabledDateMessage", isRange: "isRange", hideOverflowDays: "hideOverflowDays", weekStartsOn: "weekStartsOn" }, outputs: { select: "select", hover: "hover" }, host: { properties: { "class.hide-overflow-days": "this.hideOverflowDays" } }, ngImport: i0, template: "<div class=\"calendar-table\" cellspacing=\"0\" cellpadding=\"0\">\n <div class=\"calendar-thead\">\n <div class=\"calendar-th weekday\" *ngFor=\"let day of weekdays\" title=\"{{ day }}\"\n [attr.data-automation-id]=\"day.substr(0, 2)\">\n {{ day.substr(0, 2) }}\n </div>\n </div>\n <div class=\"calendar-body\">\n <div class=\"calendar-week\" *ngFor=\"let week of weeks\">\n <div class=\"calendar-date\" *ngFor=\"let day of week.days\"\n [class.today]=\"day.isToday\"\n [class.notinmonth]=\"day.date.getMonth() !== activeDate.getMonth()\"\n [class.selected]=\"_isSelected(day.date)\"\n [class.preview]=\"_isPreview(day.date)\"\n [class.overlay]=\"_isOverlay(day.date)\"\n [class]=\"_hasOverlayType(day.date)\"\n [class.inRange]=\"_isInRange(day.date)\"\n [class.rangeStart]=\"_isRangeStart(day.date)\"\n [class.rangeEnd]=\"_isRangeEnd(day.date)\"\n [class.inPreview]=\"_isInPreview(day.date)\"\n [class.previewStart]=\"_isPreviewStart(day.date)\"\n [class.previewEnd]=\"_isPreviewEnd(day.date)\"\n [class.calendar-date]=\"true\"\n [attr.aria-label]=\"day.name\"\n [attr.aria-disabled]=\"isDisabled(day.date)\"\n [attr.aria-selected]=\"_isSelected(day.date)\"\n [attr.data-automation-id]=\"day.number\"\n [title]=\"isDisabled(day.date) ? disabledDateMessage : ''\"\n (mouseover)=\"onHover($event, day)\">\n <novo-button\n class=\"day\"\n tabindex=\"0\"\n [attr.data-automation-id]=\"day.number\"\n [disabled]=\"isDisabled(day.date)\"\n (click)=\"onSelect($event, day)\">\n {{ day.number }}\n </novo-button>\n </div>\n </div>\n </div>\n</div>", styles: [":host{background:var(--background-bright);width:100%;height:-moz-min-content;height:min-content;position:relative}:host .calendar-table{display:table}:host .calendar-table .calendar-thead{display:table-header-group}:host .calendar-table .calendar-th{display:table-cell;width:30px;padding:10px 0}:host .calendar-table .calendar-body{display:table-row-group}:host .calendar-table .calendar-week{display:table-row}:host .calendar-table .month,:host .calendar-table .year{text-align:center;padding:4px 15px;color:#666;overflow-x:hidden;text-overflow:ellipsis;margin:5px;font-weight:400;border-radius:3px}:host .calendar-table .month.selected,:host .calendar-table .year.selected{background-color:var(--selection);color:#fff}:host .calendar-table .month:hover,:host .calendar-table .year:hover{cursor:pointer;background-color:var(--selection);color:#fff}:host .calendar-table .day{height:3.2rem;width:3.2rem;line-height:1;font-size:1.2rem;padding:1px;border:none;background-color:transparent;border-radius:50%;box-shadow:inset 0 0 0 2px transparent;transition:box-shadow .14s ease-in-out;position:relative;color:#3d464d;color:var(--text-main, #3d464d)}:host .calendar-table .day:focus{outline:none}:host .calendar-table .day:disabled{color:var(--text-disabled);cursor:not-allowed!important;box-shadow:none!important}:host .calendar-table .calendar-date{display:table-cell}:host .calendar-table .calendar-date.notinmonth,:host .calendar-table .calendar-date.notinmonth:not(.selected)>.day{color:var(--text-disabled)}:host .calendar-table .calendar-date:hover .day{cursor:pointer;box-shadow:inset 0 0 0 2px var(--selection)}:host .calendar-table .calendar-date.inRange:hover .day{box-shadow:inset 0 0 0 2px #fff}:host .calendar-table .calendar-date.inRange{background:var(--selection);color:#fff;height:3.2rem;width:3.2rem;border-radius:0}:host .calendar-table .calendar-date.inRange .day{color:#fff}:host .calendar-table .calendar-date.rangeStart{border-radius:50% 0 0 50%;box-shadow:none!important;position:relative}:host .calendar-table .calendar-date.rangeStart:before{content:\"\";position:absolute;height:100%;background:#4a89dc;width:10px;top:0;right:-5px;z-index:-1}:host .calendar-table .calendar-date.rangeEnd{border-radius:0 50% 50% 0;box-shadow:none!important;position:relative}:host .calendar-table .calendar-date.rangeEnd:before{content:\"\";position:absolute;height:100%;background:var(--selection);width:10px;top:0;left:-5px;z-index:-1}:host .calendar-table .calendar-date.selected .day{background:var(--selection);color:#fff}:host .calendar-table .calendar-date.preview:not(.previewStart):not(.previewEnd) .day{border:1px dashed var(--selection)}:host .calendar-table .calendar-date.preview:not(.previewStart):not(.previewEnd).selected .day{border:1px dashed #9dbeff}:host .calendar-table .calendar-date.today .day:after{content:\"\";position:absolute;top:0;left:0;border-radius:100%;width:100%;height:100%;max-width:3.2rem;margin:0 auto;box-shadow:inset 0 0 0 2px #dbdbdb}:host .calendar-table .calendar-date.today.inRange .day:after,:host .calendar-table .calendar-date.today.selected .day:after{box-shadow:inset 0 0 0 2px #9dbeff}:host .calendar-table .calendar-date.inPreview .day{border-radius:0;border-top:1px dashed #4a89dc;border-bottom:1px dashed #4a89dc}:host .calendar-table .calendar-date.previewStart .day{border-radius:50% 0 0 50%;box-shadow:none!important;border-left:1px dashed #4a89dc}:host .calendar-table .calendar-date.previewEnd .day{border-radius:0 50% 50% 0;box-shadow:none!important;border-right:1px dashed #4a89dc}\n"], components: [{ type: i3.NovoButtonElement, selector: "novo-button,button[theme]", inputs: ["color", "side", "size", "theme", "loading", "icon", "disabled"] }], directives: [{ type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
266
266
  __decorate([
267
267
  BooleanInput(),
268
268
  __metadata("design:type", Boolean)
@@ -273,7 +273,7 @@ __decorate([
273
273
  ], NovoMonthViewElement.prototype, "hideOverflowDays", void 0);
274
274
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoMonthViewElement, decorators: [{
275
275
  type: Component,
276
- args: [{ selector: 'novo-month-view', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"calendar-table\" cellspacing=\"0\" cellpadding=\"0\">\n <div class=\"calendar-thead\">\n <div class=\"calendar-th weekday\" *ngFor=\"let day of weekdays\" title=\"{{ day }}\"\n [attr.data-automation-id]=\"day.substr(0, 2)\">\n {{ day.substr(0, 2) }}\n </div>\n </div>\n <div class=\"calendar-body\">\n <div class=\"calendar-week\" *ngFor=\"let week of weeks\">\n <div class=\"calendar-date\" *ngFor=\"let day of week.days\"\n [class.today]=\"day.isToday\"\n [class.notinmonth]=\"day.date.getMonth() !== activeDate.getMonth()\"\n [class.selected]=\"_isSelected(day.date)\"\n [class.preview]=\"_isPreview(day.date)\"\n [class.overlay]=\"_isOverlay(day.date)\"\n [class]=\"_hasOverlayType(day.date)\"\n [class.inRange]=\"_isInRange(day.date)\"\n [class.rangeStart]=\"_isRangeStart(day.date)\"\n [class.rangeEnd]=\"_isRangeEnd(day.date)\"\n [class.inPreview]=\"_isInPreview(day.date)\"\n [class.previewStart]=\"_isPreviewStart(day.date)\"\n [class.previewEnd]=\"_isPreviewEnd(day.date)\"\n [class.calendar-date]=\"true\"\n [attr.aria-label]=\"day.name\"\n [attr.aria-disabled]=\"isDisabled(day.date)\"\n [attr.aria-selected]=\"_isSelected(day.date)\"\n [attr.data-automation-id]=\"day.number\"\n [title]=\"isDisabled(day.date) ? disabledDateMessage : ''\"\n (mouseover)=\"onHover($event, day)\">\n <novo-button\n class=\"day\"\n tabindex=\"0\"\n [attr.data-automation-id]=\"day.number\"\n [disabled]=\"isDisabled(day.date)\"\n (click)=\"onSelect($event, day)\">\n {{ day.number }}\n </novo-button>\n </div>\n </div>\n </div>\n</div>", styles: [":host{background:var(--background-bright);width:100%;height:-webkit-min-content;height:-moz-min-content;height:min-content;position:relative}:host .calendar-table{display:table}:host .calendar-table .calendar-thead{display:table-header-group}:host .calendar-table .calendar-th{display:table-cell;width:30px;padding:10px 0}:host .calendar-table .calendar-body{display:table-row-group}:host .calendar-table .calendar-week{display:table-row}:host .calendar-table .month,:host .calendar-table .year{text-align:center;padding:4px 15px;color:#666;overflow-x:hidden;text-overflow:ellipsis;margin:5px;font-weight:400;border-radius:3px}:host .calendar-table .month.selected,:host .calendar-table .year.selected{background-color:var(--selection);color:#fff}:host .calendar-table .month:hover,:host .calendar-table .year:hover{cursor:pointer;background-color:var(--selection);color:#fff}:host .calendar-table .day{height:3.2rem;width:3.2rem;line-height:1;font-size:1.2rem;padding:1px;border:none;background-color:transparent;border-radius:50%;box-shadow:inset 0 0 0 2px transparent;transition:box-shadow .14s ease-in-out;position:relative;color:#3d464d;color:var(--text-main, #3d464d)}:host .calendar-table .day:focus{outline:none}:host .calendar-table .day:disabled{color:var(--text-disabled);cursor:not-allowed!important;box-shadow:none!important}:host .calendar-table .calendar-date{display:table-cell}:host .calendar-table .calendar-date.notinmonth,:host .calendar-table .calendar-date.notinmonth:not(.selected)>.day{color:var(--text-disabled)}:host .calendar-table .calendar-date:hover .day{cursor:pointer;box-shadow:inset 0 0 0 2px var(--selection)}:host .calendar-table .calendar-date.inRange:hover .day{box-shadow:inset 0 0 0 2px #fff}:host .calendar-table .calendar-date.inRange{background:var(--selection);color:#fff;height:3.2rem;width:3.2rem;border-radius:0}:host .calendar-table .calendar-date.inRange .day{color:#fff}:host .calendar-table .calendar-date.rangeStart{border-radius:50% 0 0 50%;box-shadow:none!important;position:relative}:host .calendar-table .calendar-date.rangeStart:before{content:\"\";position:absolute;height:100%;background:#4a89dc;width:10px;top:0;right:-5px;z-index:-1}:host .calendar-table .calendar-date.rangeEnd{border-radius:0 50% 50% 0;box-shadow:none!important;position:relative}:host .calendar-table .calendar-date.rangeEnd:before{content:\"\";position:absolute;height:100%;background:var(--selection);width:10px;top:0;left:-5px;z-index:-1}:host .calendar-table .calendar-date.selected .day{background:var(--selection);color:#fff}:host .calendar-table .calendar-date.preview:not(.previewStart):not(.previewEnd) .day{border:1px dashed var(--selection)}:host .calendar-table .calendar-date.preview:not(.previewStart):not(.previewEnd).selected .day{border:1px dashed #9dbeff}:host .calendar-table .calendar-date.today .day:after{content:\"\";position:absolute;top:0;left:0;border-radius:100%;width:100%;height:100%;max-width:3.2rem;margin:0 auto;box-shadow:inset 0 0 0 2px #dbdbdb}:host .calendar-table .calendar-date.today.inRange .day:after,:host .calendar-table .calendar-date.today.selected .day:after{box-shadow:inset 0 0 0 2px #9dbeff}:host .calendar-table .calendar-date.inPreview .day{border-radius:0;border-top:1px dashed #4a89dc;border-bottom:1px dashed #4a89dc}:host .calendar-table .calendar-date.previewStart .day{border-radius:50% 0 0 50%;box-shadow:none!important;border-left:1px dashed #4a89dc}:host .calendar-table .calendar-date.previewEnd .day{border-radius:0 50% 50% 0;box-shadow:none!important;border-right:1px dashed #4a89dc}\n"] }]
276
+ args: [{ selector: 'novo-month-view', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"calendar-table\" cellspacing=\"0\" cellpadding=\"0\">\n <div class=\"calendar-thead\">\n <div class=\"calendar-th weekday\" *ngFor=\"let day of weekdays\" title=\"{{ day }}\"\n [attr.data-automation-id]=\"day.substr(0, 2)\">\n {{ day.substr(0, 2) }}\n </div>\n </div>\n <div class=\"calendar-body\">\n <div class=\"calendar-week\" *ngFor=\"let week of weeks\">\n <div class=\"calendar-date\" *ngFor=\"let day of week.days\"\n [class.today]=\"day.isToday\"\n [class.notinmonth]=\"day.date.getMonth() !== activeDate.getMonth()\"\n [class.selected]=\"_isSelected(day.date)\"\n [class.preview]=\"_isPreview(day.date)\"\n [class.overlay]=\"_isOverlay(day.date)\"\n [class]=\"_hasOverlayType(day.date)\"\n [class.inRange]=\"_isInRange(day.date)\"\n [class.rangeStart]=\"_isRangeStart(day.date)\"\n [class.rangeEnd]=\"_isRangeEnd(day.date)\"\n [class.inPreview]=\"_isInPreview(day.date)\"\n [class.previewStart]=\"_isPreviewStart(day.date)\"\n [class.previewEnd]=\"_isPreviewEnd(day.date)\"\n [class.calendar-date]=\"true\"\n [attr.aria-label]=\"day.name\"\n [attr.aria-disabled]=\"isDisabled(day.date)\"\n [attr.aria-selected]=\"_isSelected(day.date)\"\n [attr.data-automation-id]=\"day.number\"\n [title]=\"isDisabled(day.date) ? disabledDateMessage : ''\"\n (mouseover)=\"onHover($event, day)\">\n <novo-button\n class=\"day\"\n tabindex=\"0\"\n [attr.data-automation-id]=\"day.number\"\n [disabled]=\"isDisabled(day.date)\"\n (click)=\"onSelect($event, day)\">\n {{ day.number }}\n </novo-button>\n </div>\n </div>\n </div>\n</div>", styles: [":host{background:var(--background-bright);width:100%;height:-moz-min-content;height:min-content;position:relative}:host .calendar-table{display:table}:host .calendar-table .calendar-thead{display:table-header-group}:host .calendar-table .calendar-th{display:table-cell;width:30px;padding:10px 0}:host .calendar-table .calendar-body{display:table-row-group}:host .calendar-table .calendar-week{display:table-row}:host .calendar-table .month,:host .calendar-table .year{text-align:center;padding:4px 15px;color:#666;overflow-x:hidden;text-overflow:ellipsis;margin:5px;font-weight:400;border-radius:3px}:host .calendar-table .month.selected,:host .calendar-table .year.selected{background-color:var(--selection);color:#fff}:host .calendar-table .month:hover,:host .calendar-table .year:hover{cursor:pointer;background-color:var(--selection);color:#fff}:host .calendar-table .day{height:3.2rem;width:3.2rem;line-height:1;font-size:1.2rem;padding:1px;border:none;background-color:transparent;border-radius:50%;box-shadow:inset 0 0 0 2px transparent;transition:box-shadow .14s ease-in-out;position:relative;color:#3d464d;color:var(--text-main, #3d464d)}:host .calendar-table .day:focus{outline:none}:host .calendar-table .day:disabled{color:var(--text-disabled);cursor:not-allowed!important;box-shadow:none!important}:host .calendar-table .calendar-date{display:table-cell}:host .calendar-table .calendar-date.notinmonth,:host .calendar-table .calendar-date.notinmonth:not(.selected)>.day{color:var(--text-disabled)}:host .calendar-table .calendar-date:hover .day{cursor:pointer;box-shadow:inset 0 0 0 2px var(--selection)}:host .calendar-table .calendar-date.inRange:hover .day{box-shadow:inset 0 0 0 2px #fff}:host .calendar-table .calendar-date.inRange{background:var(--selection);color:#fff;height:3.2rem;width:3.2rem;border-radius:0}:host .calendar-table .calendar-date.inRange .day{color:#fff}:host .calendar-table .calendar-date.rangeStart{border-radius:50% 0 0 50%;box-shadow:none!important;position:relative}:host .calendar-table .calendar-date.rangeStart:before{content:\"\";position:absolute;height:100%;background:#4a89dc;width:10px;top:0;right:-5px;z-index:-1}:host .calendar-table .calendar-date.rangeEnd{border-radius:0 50% 50% 0;box-shadow:none!important;position:relative}:host .calendar-table .calendar-date.rangeEnd:before{content:\"\";position:absolute;height:100%;background:var(--selection);width:10px;top:0;left:-5px;z-index:-1}:host .calendar-table .calendar-date.selected .day{background:var(--selection);color:#fff}:host .calendar-table .calendar-date.preview:not(.previewStart):not(.previewEnd) .day{border:1px dashed var(--selection)}:host .calendar-table .calendar-date.preview:not(.previewStart):not(.previewEnd).selected .day{border:1px dashed #9dbeff}:host .calendar-table .calendar-date.today .day:after{content:\"\";position:absolute;top:0;left:0;border-radius:100%;width:100%;height:100%;max-width:3.2rem;margin:0 auto;box-shadow:inset 0 0 0 2px #dbdbdb}:host .calendar-table .calendar-date.today.inRange .day:after,:host .calendar-table .calendar-date.today.selected .day:after{box-shadow:inset 0 0 0 2px #9dbeff}:host .calendar-table .calendar-date.inPreview .day{border-radius:0;border-top:1px dashed #4a89dc;border-bottom:1px dashed #4a89dc}:host .calendar-table .calendar-date.previewStart .day{border-radius:50% 0 0 50%;box-shadow:none!important;border-left:1px dashed #4a89dc}:host .calendar-table .calendar-date.previewEnd .day{border-radius:0 50% 50% 0;box-shadow:none!important;border-right:1px dashed #4a89dc}\n"] }]
277
277
  }], ctorParameters: function () { return [{ type: i1.NovoLabelService }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i2.DomSanitizer }]; }, propDecorators: { minDate: [{
278
278
  type: Input
279
279
  }], maxDate: [{
@@ -573,10 +573,10 @@ class NovoCalendarElement {
573
573
  }
574
574
  }
575
575
  NovoCalendarElement.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoCalendarElement, deps: [{ token: i1.NovoLabelService }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
576
- NovoCalendarElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NovoCalendarElement, selector: "novo-calendar", inputs: { minYear: "minYear", maxYear: "maxYear", minDate: "minDate", maxDate: "maxDate", activeView: "activeView", layout: "layout", selected: "selected", preview: "preview", overlays: "overlays", disabledDateMessage: "disabledDateMessage", activeDate: "activeDate", weekStartsOn: "weekStartsOn", numberOfMonths: "numberOfMonths", mode: "mode" }, outputs: { selectedChange: "selectedChange", previewChange: "previewChange", activeDateChange: "activeDateChange" }, host: { properties: { "style.width": "this.hb_width", "class.layout-horizontal": "this.hb_horiztonal", "class.layout-vertical": "this.hb_vertical" } }, ngImport: i0, template: "<div class=\"calendar-header\">\n <novo-button theme=\"icon\" icon=\"previous\" size=\"small\" (click)=\"prevMonth($event)\"\n data-automation-id=\"calendar-previous\" tabindex=\"0\"></novo-button>\n <ng-container *ngFor=\"let month of months; let i = index;\">\n <span class=\"heading\" [class.secondary]=\"i > 0\">\n <span class=\"month\" (click)=\"openView($event, 'months')\"\n data-automation-id=\"header-month\" tabindex=\"0\">{{ month.label }}</span>\n <span class=\"year\" (click)=\"openView($event, 'years')\"\n data-automation-id=\"header-year\" tabindex=\"0\">{{ month.date?.getFullYear() }}</span>\n </span>\n </ng-container>\n <novo-button theme=\"icon\" icon=\"next\" size=\"small\" (click)=\"nextMonth($event)\" data-automation-id=\"calendar-next\" tabindex=\"0\">\n </novo-button>\n</div>\n<section class=\"calendar-content\" [ngSwitch]=\"activeView\">\n <ng-container *ngSwitchCase=\"'days'\">\n <ng-container *ngFor=\"let month of months; let i = index\">\n <div class=\"calendar-header\" *ngIf=\"layout==='vertical' && i > 0\">\n <span class=\"previous\" (click)=\"prevMonth($event)\" data-automation-id=\"calendar-previous\" tabindex=\"0\"></span>\n <span class=\"heading\">\n <span class=\"month\" (click)=\"openView($event, 'months')\"\n data-automation-id=\"header-month\" tabindex=\"0\">{{ month.label }}</span>\n <span class=\"year\" (click)=\"openView($event, 'years')\"\n data-automation-id=\"header-year\" tabindex=\"0\">{{ month.date?.getFullYear() }}</span>\n </span>\n <span class=\"next\" (click)=\"nextMonth($event)\" data-automation-id=\"calendar-next\"></span>\n </div>\n <novo-month-view\n class=\"month-view\"\n [activeDate]=\"month.date\"\n [selected]=\"selected\"\n [preview]=\"preview\"\n [overlays]=\"overlays\"\n [isRange]=\"_isRange()\"\n [hideOverflowDays]=\"months.length > 1\"\n [weekStartsOn]=\"weekStartsOn\"\n [disabledDateMessage]=\"disabledDateMessage\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (select)=\"dateSelected($event)\"\n (hover)=\"updatePreview($event)\"></novo-month-view>\n </ng-container>\n </ng-container>\n <novo-month-select\n *ngSwitchCase=\"'months'\"\n [activeDate]=\"activeDate\"\n [selected]=\"selected\"\n (select)=\"monthSelected($event)\">\n </novo-month-select>\n <novo-year-select\n *ngSwitchCase=\"'years'\"\n [activeDate]=\"activeDate\"\n [selected]=\"selected\"\n (select)=\"yearSelected($event)\">\n </novo-year-select>\n</section>", styles: [":host(.layout-horizontal){font-size:1.2rem}:host(.layout-horizontal) .calendar-content{flex-flow:row nowrap}:host(.layout-horizontal) .month-view+.month-view{border-collapse:unset;border-left:1px solid #dbdbdb;margin-left:.5rem;padding-left:.5rem}:host(.layout-vertical) .calendar-content{flex-flow:column nowrap}:host(.layout-vertical) .calendar-header .heading.secondary{display:none}:host{display:block;width:100%;text-align:center;background:var(--background-bright);color:var(--text-main);position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}:host .calendar-content{display:flex;width:100%;height:-webkit-min-content;height:-moz-min-content;height:min-content;position:static;top:0;left:0;overflow:hidden}:host .calendar-header{width:100%;display:flex;flex-flow:row nowrap;border-collapse:collapse;padding:1rem .8rem;-webkit-user-select:none;justify-content:space-between;align-items:center;cursor:default;border-bottom:1px solid var(--border)}:host .calendar-header .previous{width:30px;height:15px;display:inline-block;cursor:pointer}:host .calendar-header .previous:after{content:\"\";border-bottom:4px solid transparent;border-top:4px solid transparent;border-right:4px solid #aaa;display:inline-block;height:0;vertical-align:middle;width:0}:host .calendar-header .previous:hover:after{border-right:4px solid #4a89dc;cursor:pointer}:host .calendar-header .heading{flex:1;display:inline-block;vertical-align:middle;color:#4a89dc;font-weight:600}:host .calendar-header .heading .month{border-radius:2px;padding:3px 8px}:host .calendar-header .heading .month:hover{background:#4a89dc;color:#fff;cursor:pointer}:host .calendar-header .heading .year{border-radius:2px;padding:3px 8px}:host .calendar-header .heading .year:hover{background:#4a89dc;color:#fff;cursor:pointer}:host .calendar-header .next{width:30px;height:15px;display:inline-block;cursor:pointer}:host .calendar-header .next:before{content:\"\";border-bottom:4px solid transparent;border-top:4px solid transparent;border-left:4px solid #aaa;display:inline-block;height:0;vertical-align:middle;width:0}:host .calendar-header .next:hover:before{opacity:1;border-left:4px solid #4a89dc;cursor:pointer}\n"], components: [{ type: i3.NovoButtonElement, selector: "novo-button,button[theme]", inputs: ["color", "side", "size", "theme", "loading", "icon", "disabled"] }, { type: NovoMonthViewElement, selector: "novo-month-view", inputs: ["minDate", "maxDate", "activeDate", "selected", "preview", "overlays", "disabledDateMessage", "isRange", "hideOverflowDays", "weekStartsOn"], outputs: ["select", "hover"] }, { type: NovoMonthSelectElement, selector: "novo-month-select", inputs: ["activeDate", "selected"], outputs: ["select"] }, { type: NovoYearSelectElement, selector: "novo-year-select", inputs: ["minYear", "maxYear", "activeDate", "selected"], outputs: ["select"] }], directives: [{ type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i7.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
576
+ NovoCalendarElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: NovoCalendarElement, selector: "novo-calendar", inputs: { minYear: "minYear", maxYear: "maxYear", minDate: "minDate", maxDate: "maxDate", activeView: "activeView", layout: "layout", selected: "selected", preview: "preview", overlays: "overlays", disabledDateMessage: "disabledDateMessage", activeDate: "activeDate", weekStartsOn: "weekStartsOn", numberOfMonths: "numberOfMonths", mode: "mode" }, outputs: { selectedChange: "selectedChange", previewChange: "previewChange", activeDateChange: "activeDateChange" }, host: { properties: { "style.width": "this.hb_width", "class.layout-horizontal": "this.hb_horiztonal", "class.layout-vertical": "this.hb_vertical" } }, ngImport: i0, template: "<div class=\"calendar-header\">\n <novo-button theme=\"icon\" icon=\"previous\" size=\"small\" (click)=\"prevMonth($event)\"\n data-automation-id=\"calendar-previous\" tabindex=\"0\"></novo-button>\n <ng-container *ngFor=\"let month of months; let i = index;\">\n <span class=\"heading\" [class.secondary]=\"i > 0\">\n <span class=\"month\" (click)=\"openView($event, 'months')\"\n data-automation-id=\"header-month\" tabindex=\"0\">{{ month.label }}</span>\n <span class=\"year\" (click)=\"openView($event, 'years')\"\n data-automation-id=\"header-year\" tabindex=\"0\">{{ month.date?.getFullYear() }}</span>\n </span>\n </ng-container>\n <novo-button theme=\"icon\" icon=\"next\" size=\"small\" (click)=\"nextMonth($event)\" data-automation-id=\"calendar-next\" tabindex=\"0\">\n </novo-button>\n</div>\n<section class=\"calendar-content\" [ngSwitch]=\"activeView\">\n <ng-container *ngSwitchCase=\"'days'\">\n <ng-container *ngFor=\"let month of months; let i = index\">\n <div class=\"calendar-header\" *ngIf=\"layout==='vertical' && i > 0\">\n <span class=\"previous\" (click)=\"prevMonth($event)\" data-automation-id=\"calendar-previous\" tabindex=\"0\"></span>\n <span class=\"heading\">\n <span class=\"month\" (click)=\"openView($event, 'months')\"\n data-automation-id=\"header-month\" tabindex=\"0\">{{ month.label }}</span>\n <span class=\"year\" (click)=\"openView($event, 'years')\"\n data-automation-id=\"header-year\" tabindex=\"0\">{{ month.date?.getFullYear() }}</span>\n </span>\n <span class=\"next\" (click)=\"nextMonth($event)\" data-automation-id=\"calendar-next\"></span>\n </div>\n <novo-month-view\n class=\"month-view\"\n [activeDate]=\"month.date\"\n [selected]=\"selected\"\n [preview]=\"preview\"\n [overlays]=\"overlays\"\n [isRange]=\"_isRange()\"\n [hideOverflowDays]=\"months.length > 1\"\n [weekStartsOn]=\"weekStartsOn\"\n [disabledDateMessage]=\"disabledDateMessage\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (select)=\"dateSelected($event)\"\n (hover)=\"updatePreview($event)\"></novo-month-view>\n </ng-container>\n </ng-container>\n <novo-month-select\n *ngSwitchCase=\"'months'\"\n [activeDate]=\"activeDate\"\n [selected]=\"selected\"\n (select)=\"monthSelected($event)\">\n </novo-month-select>\n <novo-year-select\n *ngSwitchCase=\"'years'\"\n [activeDate]=\"activeDate\"\n [selected]=\"selected\"\n (select)=\"yearSelected($event)\">\n </novo-year-select>\n</section>", styles: [":host(.layout-horizontal){font-size:1.2rem}:host(.layout-horizontal) .calendar-content{flex-flow:row nowrap}:host(.layout-horizontal) .month-view+.month-view{border-collapse:unset;border-left:1px solid #dbdbdb;margin-left:.5rem;padding-left:.5rem}:host(.layout-vertical) .calendar-content{flex-flow:column nowrap}:host(.layout-vertical) .calendar-header .heading.secondary{display:none}:host{display:block;width:100%;text-align:center;background:var(--background-bright);color:var(--text-main);position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}:host .calendar-content{display:flex;width:100%;height:-moz-min-content;height:min-content;position:static;top:0;left:0;overflow:hidden}:host .calendar-header{width:100%;display:flex;flex-flow:row nowrap;border-collapse:collapse;padding:1rem .8rem;-webkit-user-select:none;justify-content:space-between;align-items:center;cursor:default;border-bottom:1px solid var(--border)}:host .calendar-header .previous{width:30px;height:15px;display:inline-block;cursor:pointer}:host .calendar-header .previous:after{content:\"\";border-bottom:4px solid transparent;border-top:4px solid transparent;border-right:4px solid #aaa;display:inline-block;height:0;vertical-align:middle;width:0}:host .calendar-header .previous:hover:after{border-right:4px solid #4a89dc;cursor:pointer}:host .calendar-header .heading{flex:1;display:inline-block;vertical-align:middle;color:#4a89dc;font-weight:600}:host .calendar-header .heading .month{border-radius:2px;padding:3px 8px}:host .calendar-header .heading .month:hover{background:#4a89dc;color:#fff;cursor:pointer}:host .calendar-header .heading .year{border-radius:2px;padding:3px 8px}:host .calendar-header .heading .year:hover{background:#4a89dc;color:#fff;cursor:pointer}:host .calendar-header .next{width:30px;height:15px;display:inline-block;cursor:pointer}:host .calendar-header .next:before{content:\"\";border-bottom:4px solid transparent;border-top:4px solid transparent;border-left:4px solid #aaa;display:inline-block;height:0;vertical-align:middle;width:0}:host .calendar-header .next:hover:before{opacity:1;border-left:4px solid #4a89dc;cursor:pointer}\n"], components: [{ type: i3.NovoButtonElement, selector: "novo-button,button[theme]", inputs: ["color", "side", "size", "theme", "loading", "icon", "disabled"] }, { type: NovoMonthViewElement, selector: "novo-month-view", inputs: ["minDate", "maxDate", "activeDate", "selected", "preview", "overlays", "disabledDateMessage", "isRange", "hideOverflowDays", "weekStartsOn"], outputs: ["select", "hover"] }, { type: NovoMonthSelectElement, selector: "novo-month-select", inputs: ["activeDate", "selected"], outputs: ["select"] }, { type: NovoYearSelectElement, selector: "novo-year-select", inputs: ["minYear", "maxYear", "activeDate", "selected"], outputs: ["select"] }], directives: [{ type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i7.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
577
577
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: NovoCalendarElement, decorators: [{
578
578
  type: Component,
579
- args: [{ selector: 'novo-calendar', template: "<div class=\"calendar-header\">\n <novo-button theme=\"icon\" icon=\"previous\" size=\"small\" (click)=\"prevMonth($event)\"\n data-automation-id=\"calendar-previous\" tabindex=\"0\"></novo-button>\n <ng-container *ngFor=\"let month of months; let i = index;\">\n <span class=\"heading\" [class.secondary]=\"i > 0\">\n <span class=\"month\" (click)=\"openView($event, 'months')\"\n data-automation-id=\"header-month\" tabindex=\"0\">{{ month.label }}</span>\n <span class=\"year\" (click)=\"openView($event, 'years')\"\n data-automation-id=\"header-year\" tabindex=\"0\">{{ month.date?.getFullYear() }}</span>\n </span>\n </ng-container>\n <novo-button theme=\"icon\" icon=\"next\" size=\"small\" (click)=\"nextMonth($event)\" data-automation-id=\"calendar-next\" tabindex=\"0\">\n </novo-button>\n</div>\n<section class=\"calendar-content\" [ngSwitch]=\"activeView\">\n <ng-container *ngSwitchCase=\"'days'\">\n <ng-container *ngFor=\"let month of months; let i = index\">\n <div class=\"calendar-header\" *ngIf=\"layout==='vertical' && i > 0\">\n <span class=\"previous\" (click)=\"prevMonth($event)\" data-automation-id=\"calendar-previous\" tabindex=\"0\"></span>\n <span class=\"heading\">\n <span class=\"month\" (click)=\"openView($event, 'months')\"\n data-automation-id=\"header-month\" tabindex=\"0\">{{ month.label }}</span>\n <span class=\"year\" (click)=\"openView($event, 'years')\"\n data-automation-id=\"header-year\" tabindex=\"0\">{{ month.date?.getFullYear() }}</span>\n </span>\n <span class=\"next\" (click)=\"nextMonth($event)\" data-automation-id=\"calendar-next\"></span>\n </div>\n <novo-month-view\n class=\"month-view\"\n [activeDate]=\"month.date\"\n [selected]=\"selected\"\n [preview]=\"preview\"\n [overlays]=\"overlays\"\n [isRange]=\"_isRange()\"\n [hideOverflowDays]=\"months.length > 1\"\n [weekStartsOn]=\"weekStartsOn\"\n [disabledDateMessage]=\"disabledDateMessage\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (select)=\"dateSelected($event)\"\n (hover)=\"updatePreview($event)\"></novo-month-view>\n </ng-container>\n </ng-container>\n <novo-month-select\n *ngSwitchCase=\"'months'\"\n [activeDate]=\"activeDate\"\n [selected]=\"selected\"\n (select)=\"monthSelected($event)\">\n </novo-month-select>\n <novo-year-select\n *ngSwitchCase=\"'years'\"\n [activeDate]=\"activeDate\"\n [selected]=\"selected\"\n (select)=\"yearSelected($event)\">\n </novo-year-select>\n</section>", styles: [":host(.layout-horizontal){font-size:1.2rem}:host(.layout-horizontal) .calendar-content{flex-flow:row nowrap}:host(.layout-horizontal) .month-view+.month-view{border-collapse:unset;border-left:1px solid #dbdbdb;margin-left:.5rem;padding-left:.5rem}:host(.layout-vertical) .calendar-content{flex-flow:column nowrap}:host(.layout-vertical) .calendar-header .heading.secondary{display:none}:host{display:block;width:100%;text-align:center;background:var(--background-bright);color:var(--text-main);position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}:host .calendar-content{display:flex;width:100%;height:-webkit-min-content;height:-moz-min-content;height:min-content;position:static;top:0;left:0;overflow:hidden}:host .calendar-header{width:100%;display:flex;flex-flow:row nowrap;border-collapse:collapse;padding:1rem .8rem;-webkit-user-select:none;justify-content:space-between;align-items:center;cursor:default;border-bottom:1px solid var(--border)}:host .calendar-header .previous{width:30px;height:15px;display:inline-block;cursor:pointer}:host .calendar-header .previous:after{content:\"\";border-bottom:4px solid transparent;border-top:4px solid transparent;border-right:4px solid #aaa;display:inline-block;height:0;vertical-align:middle;width:0}:host .calendar-header .previous:hover:after{border-right:4px solid #4a89dc;cursor:pointer}:host .calendar-header .heading{flex:1;display:inline-block;vertical-align:middle;color:#4a89dc;font-weight:600}:host .calendar-header .heading .month{border-radius:2px;padding:3px 8px}:host .calendar-header .heading .month:hover{background:#4a89dc;color:#fff;cursor:pointer}:host .calendar-header .heading .year{border-radius:2px;padding:3px 8px}:host .calendar-header .heading .year:hover{background:#4a89dc;color:#fff;cursor:pointer}:host .calendar-header .next{width:30px;height:15px;display:inline-block;cursor:pointer}:host .calendar-header .next:before{content:\"\";border-bottom:4px solid transparent;border-top:4px solid transparent;border-left:4px solid #aaa;display:inline-block;height:0;vertical-align:middle;width:0}:host .calendar-header .next:hover:before{opacity:1;border-left:4px solid #4a89dc;cursor:pointer}\n"] }]
579
+ args: [{ selector: 'novo-calendar', template: "<div class=\"calendar-header\">\n <novo-button theme=\"icon\" icon=\"previous\" size=\"small\" (click)=\"prevMonth($event)\"\n data-automation-id=\"calendar-previous\" tabindex=\"0\"></novo-button>\n <ng-container *ngFor=\"let month of months; let i = index;\">\n <span class=\"heading\" [class.secondary]=\"i > 0\">\n <span class=\"month\" (click)=\"openView($event, 'months')\"\n data-automation-id=\"header-month\" tabindex=\"0\">{{ month.label }}</span>\n <span class=\"year\" (click)=\"openView($event, 'years')\"\n data-automation-id=\"header-year\" tabindex=\"0\">{{ month.date?.getFullYear() }}</span>\n </span>\n </ng-container>\n <novo-button theme=\"icon\" icon=\"next\" size=\"small\" (click)=\"nextMonth($event)\" data-automation-id=\"calendar-next\" tabindex=\"0\">\n </novo-button>\n</div>\n<section class=\"calendar-content\" [ngSwitch]=\"activeView\">\n <ng-container *ngSwitchCase=\"'days'\">\n <ng-container *ngFor=\"let month of months; let i = index\">\n <div class=\"calendar-header\" *ngIf=\"layout==='vertical' && i > 0\">\n <span class=\"previous\" (click)=\"prevMonth($event)\" data-automation-id=\"calendar-previous\" tabindex=\"0\"></span>\n <span class=\"heading\">\n <span class=\"month\" (click)=\"openView($event, 'months')\"\n data-automation-id=\"header-month\" tabindex=\"0\">{{ month.label }}</span>\n <span class=\"year\" (click)=\"openView($event, 'years')\"\n data-automation-id=\"header-year\" tabindex=\"0\">{{ month.date?.getFullYear() }}</span>\n </span>\n <span class=\"next\" (click)=\"nextMonth($event)\" data-automation-id=\"calendar-next\"></span>\n </div>\n <novo-month-view\n class=\"month-view\"\n [activeDate]=\"month.date\"\n [selected]=\"selected\"\n [preview]=\"preview\"\n [overlays]=\"overlays\"\n [isRange]=\"_isRange()\"\n [hideOverflowDays]=\"months.length > 1\"\n [weekStartsOn]=\"weekStartsOn\"\n [disabledDateMessage]=\"disabledDateMessage\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (select)=\"dateSelected($event)\"\n (hover)=\"updatePreview($event)\"></novo-month-view>\n </ng-container>\n </ng-container>\n <novo-month-select\n *ngSwitchCase=\"'months'\"\n [activeDate]=\"activeDate\"\n [selected]=\"selected\"\n (select)=\"monthSelected($event)\">\n </novo-month-select>\n <novo-year-select\n *ngSwitchCase=\"'years'\"\n [activeDate]=\"activeDate\"\n [selected]=\"selected\"\n (select)=\"yearSelected($event)\">\n </novo-year-select>\n</section>", styles: [":host(.layout-horizontal){font-size:1.2rem}:host(.layout-horizontal) .calendar-content{flex-flow:row nowrap}:host(.layout-horizontal) .month-view+.month-view{border-collapse:unset;border-left:1px solid #dbdbdb;margin-left:.5rem;padding-left:.5rem}:host(.layout-vertical) .calendar-content{flex-flow:column nowrap}:host(.layout-vertical) .calendar-header .heading.secondary{display:none}:host{display:block;width:100%;text-align:center;background:var(--background-bright);color:var(--text-main);position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}:host .calendar-content{display:flex;width:100%;height:-moz-min-content;height:min-content;position:static;top:0;left:0;overflow:hidden}:host .calendar-header{width:100%;display:flex;flex-flow:row nowrap;border-collapse:collapse;padding:1rem .8rem;-webkit-user-select:none;justify-content:space-between;align-items:center;cursor:default;border-bottom:1px solid var(--border)}:host .calendar-header .previous{width:30px;height:15px;display:inline-block;cursor:pointer}:host .calendar-header .previous:after{content:\"\";border-bottom:4px solid transparent;border-top:4px solid transparent;border-right:4px solid #aaa;display:inline-block;height:0;vertical-align:middle;width:0}:host .calendar-header .previous:hover:after{border-right:4px solid #4a89dc;cursor:pointer}:host .calendar-header .heading{flex:1;display:inline-block;vertical-align:middle;color:#4a89dc;font-weight:600}:host .calendar-header .heading .month{border-radius:2px;padding:3px 8px}:host .calendar-header .heading .month:hover{background:#4a89dc;color:#fff;cursor:pointer}:host .calendar-header .heading .year{border-radius:2px;padding:3px 8px}:host .calendar-header .heading .year:hover{background:#4a89dc;color:#fff;cursor:pointer}:host .calendar-header .next{width:30px;height:15px;display:inline-block;cursor:pointer}:host .calendar-header .next:before{content:\"\";border-bottom:4px solid transparent;border-top:4px solid transparent;border-left:4px solid #aaa;display:inline-block;height:0;vertical-align:middle;width:0}:host .calendar-header .next:hover:before{opacity:1;border-left:4px solid #4a89dc;cursor:pointer}\n"] }]
580
580
  }], ctorParameters: function () { return [{ type: i1.NovoLabelService }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i2.DomSanitizer }]; }, propDecorators: { minYear: [{
581
581
  type: Input
582
582
  }], maxYear: [{
@@ -1 +1 @@
1
- {"version":3,"file":"novo-elements-elements-calendar.mjs","sources":["../../../projects/novo-elements/src/elements/calendar/strategies/default-selection.strategy.ts","../../../projects/novo-elements/src/elements/calendar/strategies/multi-date-selection.strategy.ts","../../../projects/novo-elements/src/elements/calendar/strategies/range-selection.strategy.ts","../../../projects/novo-elements/src/elements/calendar/strategies/week-selection.strategy.ts","../../../projects/novo-elements/src/elements/calendar/month-view/month-view.component.ts","../../../projects/novo-elements/src/elements/calendar/month-view/month-view.component.html","../../../projects/novo-elements/src/elements/calendar/month-select/month-select.component.ts","../../../projects/novo-elements/src/elements/calendar/month-select/month-select.component.html","../../../projects/novo-elements/src/elements/calendar/year-select/year-select.component.ts","../../../projects/novo-elements/src/elements/calendar/year-select/year-select.component.html","../../../projects/novo-elements/src/elements/calendar/calendar.component.ts","../../../projects/novo-elements/src/elements/calendar/calendar.component.html","../../../projects/novo-elements/src/elements/calendar/Calendar.module.ts","../../../projects/novo-elements/src/elements/calendar/novo-elements-elements-calendar.ts"],"sourcesContent":["import { FactoryProvider, Injectable, InjectionToken, Optional, SkipSelf } from '@angular/core';\nimport type { DateLike, NovoDateSelectionStrategy } from 'novo-elements/utils';\nimport { DateUtil } from 'novo-elements/utils';\n\n/** Injection token used to customize the date range selection behavior. */\nexport const NOVO_DATE_SELECTION_STRATEGY = new InjectionToken<NovoDateSelectionStrategy>('NOVO_DATE_SELECTION_STRATEGY');\n\n/** Provides the default date selection behavior. Single Date */\n@Injectable()\nexport class DefaultDateSelectionStrategy implements NovoDateSelectionStrategy<DateLike[]> {\n selectionFinished(date: DateLike | null, currentValue: DateLike[], event: Event): DateLike[] {\n return [date];\n }\n\n createPreview(activeDate: DateLike | null, [currentDate]: DateLike[]) {\n return [activeDate];\n }\n\n isSelected(activeDate: DateLike | null, [currentDate]: DateLike[]) {\n return DateUtil.isSameDay(activeDate, currentDate);\n }\n}\n\n/** @docs-private */\nexport function NOVO_DATE_SELECTION_STRATEGY_PROVIDER_FACTORY(parent: NovoDateSelectionStrategy<unknown>) {\n return parent || new DefaultDateSelectionStrategy();\n}\n\n/** @docs-private */\nexport const NOVO_DATE_SELECTION_STRATEGY_PROVIDER: FactoryProvider = {\n provide: NOVO_DATE_SELECTION_STRATEGY,\n deps: [[new Optional(), new SkipSelf(), NOVO_DATE_SELECTION_STRATEGY]],\n useFactory: NOVO_DATE_SELECTION_STRATEGY_PROVIDER_FACTORY,\n};\n","import { Injectable } from '@angular/core';\nimport type { DateLike, NovoDateSelectionStrategy } from 'novo-elements/utils';\n\n@Injectable()\nexport class MultiDateSelectionStrategy implements NovoDateSelectionStrategy<DateLike[]> {\n selectionFinished(dateLike: DateLike | null, currentValue: DateLike[], event: Event): DateLike[] {\n const date = dateLike as Date;\n const current = new Set(currentValue.map((c: Date) => c.getTime()));\n if (current.has(date.getTime())) {\n current.delete(date.getTime());\n } else {\n current.add(date.getTime());\n }\n return [...current].map((c) => new Date(c));\n }\n\n createPreview(activeDate: DateLike | null, currentValue: DateLike[]) {\n return [activeDate];\n }\n\n isSelected(activeDate: DateLike | null, currentValue: DateLike[]) {\n return currentValue && currentValue.includes(activeDate);\n }\n}\n","import { Injectable } from '@angular/core';\nimport type { DateLike, NovoDateSelectionStrategy } from 'novo-elements/utils';\nimport { DateUtil } from 'novo-elements/utils';\n\n@Injectable()\nexport class RangeSelectionStrategy implements NovoDateSelectionStrategy<DateLike[]> {\n selectionFinished(date: DateLike, currentRange: DateLike[]) {\n let [start, end] = currentRange;\n\n if (start == null) {\n start = date;\n } else if (end == null && date && DateUtil.differenceInCalendarDays(date, start) >= 0) {\n end = date;\n } else {\n start = date;\n end = null;\n }\n\n return [start, end];\n }\n\n createPreview(activeDate: DateLike | null, currentRange: DateLike[]) {\n let start: DateLike | null = null;\n let end: DateLike | null = null;\n const [currStart, currEnd] = currentRange;\n\n if (currStart && !currEnd && activeDate) {\n start = currStart;\n end = activeDate;\n }\n\n return [start, end];\n }\n\n isSelected(activeDate: DateLike | null, currentRange: DateLike[]) {\n const [start, end] = currentRange;\n return DateUtil.isWithinRange(activeDate, start, end);\n }\n}\n","import type { DateLike, NovoDateSelectionStrategy } from 'novo-elements/utils';\nimport { DateUtil } from 'novo-elements/utils';\n\nexport class WeekSelectionStrategy implements NovoDateSelectionStrategy<DateLike[]> {\n constructor(private weekStartsOn: Day = 0) {}\n\n selectionFinished(date: DateLike | null): DateLike[] {\n return this._createWeekRange(date);\n }\n\n createPreview(activeDate: DateLike | null): DateLike[] {\n return this._createWeekRange(activeDate);\n }\n\n private _createWeekRange(date: DateLike | null): DateLike[] {\n if (date) {\n const { weekStartsOn } = this;\n const start = DateUtil.startOfWeek(date as DateLike, { weekStartsOn });\n const end = DateUtil.endOfWeek(date as DateLike, { weekStartsOn });\n return [start, end];\n }\n\n return [null, null];\n }\n\n isSelected(activeDate: DateLike | null, currentRange: DateLike[]) {\n const [start, end] = currentRange;\n return DateUtil.isWithinRange(activeDate, start, end);\n }\n}\n","// NG2\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n// Vendor\nimport { addDays, Day as DateFnsDay, isToday } from 'date-fns';\nimport { NovoLabelService } from 'novo-elements/services';\nimport { BooleanInput, DateUtil } from 'novo-elements/utils';\nimport type { DateLike, Day, OverlayDate } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-month-view',\n templateUrl: './month-view.component.html',\n styleUrls: ['./month-view.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NovoMonthViewElement implements OnInit {\n @Input()\n minDate: Date;\n @Input()\n maxDate: Date;\n @Input()\n activeDate: Date = new Date();\n // Weekstart must be 0-6 (Sunday - Saturday)\n @Input()\n selected: DateLike[] = [];\n @Input()\n preview: DateLike[] = [];\n @Input()\n overlays: OverlayDate[] = [];\n @Input()\n disabledDateMessage: string;\n\n @Input()\n @BooleanInput()\n isRange: boolean = false;\n\n @Input()\n @BooleanInput()\n @HostBinding('class.hide-overflow-days')\n public hideOverflowDays: boolean = false;\n\n _weekStartsOn: DateFnsDay = 0;\n\n @Input()\n get weekStartsOn(): DateFnsDay {\n return this._weekStartsOn;\n }\n set weekStartsOn(value: DateFnsDay) {\n this._weekStartsOn = value;\n this.weekdays = this.labels.getWeekdays(value);\n this.updateView(this.activeDate);\n }\n\n // Select callback for output\n @Output()\n select: EventEmitter<any> = new EventEmitter(false);\n // Select callback for output\n @Output()\n hover: EventEmitter<any> = new EventEmitter(false);\n\n // List of all the weekdays\n weekdays: string[] = this.labels.getWeekdays(this.weekStartsOn);\n // List of all months\n monthNames: string[] = this.labels.getMonths();\n\n monthLabel: string;\n weeks: any;\n\n constructor(\n public labels: NovoLabelService,\n private element: ElementRef,\n private cdr: ChangeDetectorRef,\n private _sanitizer: DomSanitizer,\n ) {}\n\n ngOnInit() {\n // Set labels\n this.updateView(this.activeDate);\n }\n\n updateView(date: Date) {\n this.monthLabel = this.labels.formatDateWithFormat(this.activeDate, { month: 'short' });\n this.buildMonth(this.activeDate);\n }\n\n onSelect(event: Event, day: Day) {\n // Helpers.swallowEvent(event);\n this.select.next({ event, day });\n this.cdr.markForCheck();\n }\n\n onHover(event: Event, day: Day): void {\n this.isRange && this.hover.next({ event, day });\n }\n\n buildMonth(month: Date) {\n // Reset the weeks\n this.weeks = [];\n const start = DateUtil.startOfMonth(month);\n\n // House keeping variables to know when we are done building the month\n let done = false,\n date = DateUtil.startOfWeek(start, { weekStartsOn: this.weekStartsOn }),\n monthIndex = date.getMonth(),\n count = 0;\n\n while (!done) {\n // Build the days for the weeks\n this.weeks.push({ days: this.buildWeek(new Date(date.getTime()), month) });\n\n // Increment variables for the next iteration\n date = addDays(date, 7);\n done = count++ > 2 && monthIndex !== date.getMonth();\n monthIndex = date.getMonth();\n }\n }\n\n buildWeek(date: Date, month: Date): Array<Object> {\n // Build out of the days of the week\n const days = [];\n // Iterate over the days of the week\n for (let i = 0; i < 7; i++) {\n // Push a variable on the day array with lots of helpers to make the template easier\n days.push({\n name: this.weekdays[i],\n number: date.getDate(),\n isToday: isToday(date),\n date,\n });\n\n // Increment for the next iteration\n date = addDays(date, 1);\n }\n\n return days;\n }\n\n isDisabled(day: DateLike) {\n return (this.minDate && DateUtil.isBefore(day, this.minDate)) || (this.maxDate && DateUtil.isAfter(day, this.maxDate));\n }\n\n /** Returns whether a cell should be marked as selected. */\n _isSelected(value: DateLike) {\n return this.selected && this.selected.find((d) => DateUtil.isSameDay(d, value));\n }\n\n /** Returns whether a cell should be marked as preview. */\n _isPreview(value: DateLike) {\n return this.preview && this.preview.find((d) => DateUtil.isSameDay(d, value));\n }\n\n /** Returns whether a cell should be marked as an overlay. */\n _isOverlay(value: DateLike) {\n return this.overlays && this.overlays.find((o) => DateUtil.isSameDay(o.date, value));\n }\n\n /** Returns whether a cell should be marked as an overlay. */\n _hasOverlayType(value: DateLike) {\n let overlay = this.overlays && this.overlays.find((o) => DateUtil.isSameDay(o.date, value));\n return overlay ? overlay.type : null;\n }\n\n /** Gets whether a value is the start of the main range. */\n _isRangeStart(value: DateLike) {\n return isStart(value, this.selected, this.isRange);\n }\n\n /** Gets whether a value is the end of the main range. */\n _isRangeEnd(value: DateLike) {\n return isEnd(value, this.selected, this.isRange);\n }\n\n /** Gets whether a value is within the currently-selected range. */\n _isInRange(value: DateLike): boolean {\n return isInRange(value, this.selected, this.isRange);\n }\n\n /** Gets whether a value is the start of the preview range. */\n _isPreviewStart(value: DateLike) {\n return isStart(value, this.preview, this.isRange);\n }\n\n /** Gets whether a value is the end of the preview range. */\n _isPreviewEnd(value: DateLike) {\n return isEnd(value, this.preview, this.isRange);\n }\n\n /** Gets whether a value is inside the preview range. */\n _isInPreview(value: DateLike) {\n return isInRange(value, this.preview, this.isRange);\n }\n}\n\n/** Checks whether a value is the start of a range. */\nfunction isStart(value: DateLike, range: DateLike[] | null, rangeEnabled: boolean): boolean {\n const [start, end] = range ?? [];\n return rangeEnabled && end !== null && !DateUtil.isSameDay(start, end) && value < end && DateUtil.isSameDay(value, start);\n}\n\n/** Checks whether a value is the end of a range. */\nfunction isEnd(value: DateLike, range: DateLike[] | null, rangeEnabled: boolean): boolean {\n const [start, end] = range ?? [];\n return rangeEnabled && start !== null && !DateUtil.isSameDay(start, end) && value >= start && DateUtil.isSameDay(value, end);\n}\n\n/** Checks whether a value is inside of a range. */\nfunction isInRange(value: DateLike, range: DateLike[] | null, rangeEnabled: boolean): boolean {\n const [start, end] = range ?? [];\n return rangeEnabled && start !== null && end !== null && !DateUtil.isSameDay(start, end) && value >= start && value <= end;\n}\n","<div class=\"calendar-table\" cellspacing=\"0\" cellpadding=\"0\">\n <div class=\"calendar-thead\">\n <div class=\"calendar-th weekday\" *ngFor=\"let day of weekdays\" title=\"{{ day }}\"\n [attr.data-automation-id]=\"day.substr(0, 2)\">\n {{ day.substr(0, 2) }}\n </div>\n </div>\n <div class=\"calendar-body\">\n <div class=\"calendar-week\" *ngFor=\"let week of weeks\">\n <div class=\"calendar-date\" *ngFor=\"let day of week.days\"\n [class.today]=\"day.isToday\"\n [class.notinmonth]=\"day.date.getMonth() !== activeDate.getMonth()\"\n [class.selected]=\"_isSelected(day.date)\"\n [class.preview]=\"_isPreview(day.date)\"\n [class.overlay]=\"_isOverlay(day.date)\"\n [class]=\"_hasOverlayType(day.date)\"\n [class.inRange]=\"_isInRange(day.date)\"\n [class.rangeStart]=\"_isRangeStart(day.date)\"\n [class.rangeEnd]=\"_isRangeEnd(day.date)\"\n [class.inPreview]=\"_isInPreview(day.date)\"\n [class.previewStart]=\"_isPreviewStart(day.date)\"\n [class.previewEnd]=\"_isPreviewEnd(day.date)\"\n [class.calendar-date]=\"true\"\n [attr.aria-label]=\"day.name\"\n [attr.aria-disabled]=\"isDisabled(day.date)\"\n [attr.aria-selected]=\"_isSelected(day.date)\"\n [attr.data-automation-id]=\"day.number\"\n [title]=\"isDisabled(day.date) ? disabledDateMessage : ''\"\n (mouseover)=\"onHover($event, day)\">\n <novo-button\n class=\"day\"\n tabindex=\"0\"\n [attr.data-automation-id]=\"day.number\"\n [disabled]=\"isDisabled(day.date)\"\n (click)=\"onSelect($event, day)\">\n {{ day.number }}\n </novo-button>\n </div>\n </div>\n </div>\n</div>","// NG2\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { NovoLabelService } from 'novo-elements/services';\nimport type { DateLike } from 'novo-elements/utils';\nimport { DateUtil } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-month-select',\n templateUrl: './month-select.component.html',\n styleUrls: ['./month-select.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NovoMonthSelectElement implements OnInit {\n @Input()\n activeDate: DateLike = new Date();\n @Input()\n selected: DateLike[] = [];\n\n // Select callback for output\n @Output()\n select: EventEmitter<any> = new EventEmitter(false);\n\n // List of all months\n monthNames: string[] = this.labels.getMonths();\n\n constructor(public labels: NovoLabelService) {}\n\n ngOnInit() {}\n\n onSelect(event: Event, month: number) {\n // Helpers.swallowEvent(event);\n this.select.next({ event, month });\n }\n\n _isActive(month: number) {\n return this.activeDate && month === DateUtil.getMonth(this.activeDate);\n }\n\n _isSelected(month: number) {\n return this.selected && month === DateUtil.getMonth(this.selected[0]);\n }\n}\n","<div *ngFor=\"let month of monthNames; let i = index\" (click)=\"onSelect($event, i)\" tabindex=\"0\">\n <div class=\"month\" [class.selected]=\"_isSelected(i)\" [attr.data-automation-id]=\"month\">\n {{ month }}</div>\n</div>","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { NovoLabelService } from 'novo-elements/services';\nimport type { DateLike } from 'novo-elements/utils';\nimport { DateUtil } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-year-select',\n templateUrl: './year-select.component.html',\n styleUrls: ['./year-select.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NovoYearSelectElement implements OnInit {\n @Input()\n minYear: string | number;\n @Input()\n maxYear: string | number;\n\n @Input()\n activeDate: DateLike = new Date();\n @Input()\n selected: DateLike[] = [];\n // Select callback for output\n @Output()\n select: EventEmitter<any> = new EventEmitter(false);\n\n // List of all years (generated in ngOnInit)\n years: Array<any> = [];\n\n constructor(public labels: NovoLabelService) {}\n\n ngOnInit() {\n // Determine the year array\n const now = new Date();\n const start = this.minYear ? Number(this.minYear) : now.getFullYear() - 100;\n const end = this.maxYear ? Number(this.maxYear) : now.getFullYear() + 10;\n const years = [];\n for (let i = start; i <= end; i++) {\n years.push(i);\n }\n this.years = years.reverse();\n }\n\n onSelect(event: Event, year: number) {\n // Helpers.swallowEvent(event);\n this.select.next({ event, year });\n }\n\n _isActive(year: number) {\n return this.activeDate && year === DateUtil.getYear(this.activeDate);\n }\n\n _isSelected(year: number) {\n return this.selected && year === DateUtil.getYear(this.selected[0]);\n }\n}\n","<div *ngFor=\"let year of years\" (click)=\"onSelect($event, year)\" tabindex=\"0\">\n <div class=\"year\" [class.selected]=\"_isSelected(year)\" [attr.data-automation-id]=\"year\">{{ year }}</div>\n</div>","// NG2\nimport { ChangeDetectorRef, Component, ElementRef, EventEmitter, HostBinding, Input, OnInit, Output } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n// Vendor\nimport { addMonths, isDate, isSameDay, setMonth, setYear, startOfDay, startOfMonth, subMonths } from 'date-fns';\n// APP\nimport { NovoLabelService } from 'novo-elements/services';\nimport { Helpers } from 'novo-elements/utils';\nimport type {\n DatePickerSelectModes,\n NovoDateSelectEvent,\n NovoDateSelectionStrategy,\n NovoMonthSelectEvent,\n NovoYearSelectEvent,\n OverlayDate,\n} from 'novo-elements/utils';\nimport { DefaultDateSelectionStrategy, MultiDateSelectionStrategy, RangeSelectionStrategy, WeekSelectionStrategy } from './strategies';\n\n@Component({\n selector: 'novo-calendar',\n templateUrl: './calendar.component.html',\n styleUrls: ['./calendar.component.scss'],\n})\nexport class NovoCalendarElement implements OnInit {\n @Input()\n minYear: string | number;\n @Input()\n maxYear: string | number;\n @Input()\n minDate: string | number;\n @Input()\n maxDate: string | number;\n // Default view mode (select days)\n @Input()\n activeView: string = 'days';\n @Input()\n layout: string = 'horizontal';\n\n _selected: Date[] = [];\n @Input()\n get selected(): Date[] {\n return this._selected;\n }\n set selected(value) {\n this._selected = value ? value.filter(isDate).map((d) => startOfDay(d)) : [];\n }\n @Output()\n selectedChange: EventEmitter<Date[]> = new EventEmitter();\n @Input()\n preview: Date[] = [];\n @Output()\n previewChange: EventEmitter<Date[]> = new EventEmitter();\n @Output()\n activeDateChange: EventEmitter<Date> = new EventEmitter();\n\n @Input()\n overlays: OverlayDate[] = [];\n @Input()\n disabledDateMessage: string;\n\n _activeDate: Date = new Date();\n _mode: DatePickerSelectModes = 'single';\n _numberOfMonths: number[] = [0];\n _weekStartsOn: Day = 0;\n _strategy: NovoDateSelectionStrategy<any> = new DefaultDateSelectionStrategy();\n\n months: any;\n\n @Input()\n get activeDate(): Date {\n return this._activeDate;\n }\n set activeDate(value) {\n if (!isSameDay(value, this._activeDate)) {\n this._activeDate = value;\n this.activeDateChange.next(value);\n this.updateView(value);\n }\n }\n\n @Input()\n get weekStartsOn(): Day {\n return this._weekStartsOn;\n }\n set weekStartsOn(value: Day) {\n this._weekStartsOn = value;\n if (this.mode === 'week') {\n this._strategy = new WeekSelectionStrategy(this.weekStartsOn);\n }\n }\n\n @Input()\n get numberOfMonths(): number {\n return this._numberOfMonths.length;\n }\n set numberOfMonths(value) {\n this._numberOfMonths = Array.from(Array(Number(value)).keys());\n this.updateView(this.activeDate);\n }\n\n @Input()\n get mode(): DatePickerSelectModes {\n return this._mode;\n }\n set mode(value) {\n if (this._mode !== value) {\n this._mode = value;\n switch (value) {\n case 'multiple':\n this._strategy = new MultiDateSelectionStrategy();\n break;\n case 'range':\n this._strategy = new RangeSelectionStrategy();\n break;\n case 'week':\n this._strategy = new WeekSelectionStrategy(this.weekStartsOn);\n break;\n case 'single':\n default:\n this._strategy = new DefaultDateSelectionStrategy();\n break;\n }\n }\n }\n\n @HostBinding('style.width')\n get hb_width() {\n if (this.layout === 'vertical') {\n return this._sanitizer.bypassSecurityTrustStyle(`min-content`);\n }\n return this._sanitizer.bypassSecurityTrustStyle(`min-content`);\n }\n\n @HostBinding('class.layout-horizontal')\n get hb_horiztonal() {\n return this.layout !== 'vertical';\n }\n\n @HostBinding('class.layout-vertical')\n get hb_vertical() {\n return this.layout === 'vertical';\n }\n\n constructor(\n public labels: NovoLabelService,\n private element: ElementRef,\n private cdr: ChangeDetectorRef,\n private _sanitizer: DomSanitizer,\n ) {}\n\n ngOnInit() {\n if (!this.activeDate) {\n this.activeDate = this.selected.length ? this.selected[0] : new Date();\n }\n this.updateView(this.activeDate);\n }\n\n updateView(activeDate: Date) {\n this.activeDate = new Date(activeDate ? new Date(activeDate) : new Date());\n this.months = [];\n const month = startOfMonth(this.activeDate);\n for (const i of this._numberOfMonths) {\n const date = addMonths(month, i);\n const label = this.labels.formatDateWithFormat(date, { month: 'short' });\n this.months.push({ date, label });\n }\n }\n\n setToday() {\n const tmp = new Date();\n this.updateView(tmp);\n // Go back to days\n this.openView(null, 'days');\n }\n\n monthSelected({ event, month }: NovoMonthSelectEvent): void {\n const date = this.activeDate ? this.activeDate : new Date().getMonth();\n const tmp = setMonth(date, month);\n this.updateView(tmp);\n // Go back to days\n this.openView(null, 'days');\n }\n\n yearSelected({ event, year }: NovoYearSelectEvent): void {\n const date = this.activeDate ? this.activeDate : new Date();\n const tmp = setYear(date, year);\n this.updateView(tmp);\n // Go back to days\n this.openView(null, 'days');\n }\n\n dateSelected({ event, day }: NovoDateSelectEvent) {\n // Helpers.swallowEvent(event);\n this.selected = this._strategy.selectionFinished(day.date, this.selected, event);\n this.selectedChange.emit(this.selected);\n this.cdr.markForCheck();\n }\n\n updatePreview({ event, day }: NovoDateSelectEvent) {\n this.preview = this._strategy.createPreview(day.date, this.selected, event);\n this.previewChange.emit(this.preview);\n }\n\n prevMonth(event: Event): void {\n Helpers.swallowEvent(event);\n const tmp = subMonths(this.activeDate, 1);\n this.updateView(tmp);\n }\n\n nextMonth(event: Event): void {\n Helpers.swallowEvent(event);\n const tmp = addMonths(this.activeDate, 1);\n this.updateView(tmp);\n }\n\n openView(event: Event, type: string) {\n Helpers.swallowEvent(event);\n\n // If they click the toggle two time in a row, close it (go back to days)\n if (type === this.activeView) {\n this.activeView = 'days';\n } else {\n this.activeView = type;\n }\n\n // Make sure to scroll the selected one into view\n if (this.activeView === 'years' || this.activeView === 'months') {\n setTimeout(() => {\n const container = this.element.nativeElement.querySelector(`.calendar-content.${this.activeView}`);\n const selectedItem = this.element.nativeElement.querySelector(\n `.calendar-content.${this.activeView} .${this.activeView === 'years' ? 'year' : 'month'}.selected`,\n );\n if (container && selectedItem) {\n container.scrollTop = selectedItem.offsetTop - 100;\n }\n });\n }\n }\n\n _isRange() {\n return ['week', 'range'].includes(this.mode);\n }\n}\n","<div class=\"calendar-header\">\n <novo-button theme=\"icon\" icon=\"previous\" size=\"small\" (click)=\"prevMonth($event)\"\n data-automation-id=\"calendar-previous\" tabindex=\"0\"></novo-button>\n <ng-container *ngFor=\"let month of months; let i = index;\">\n <span class=\"heading\" [class.secondary]=\"i > 0\">\n <span class=\"month\" (click)=\"openView($event, 'months')\"\n data-automation-id=\"header-month\" tabindex=\"0\">{{ month.label }}</span>\n <span class=\"year\" (click)=\"openView($event, 'years')\"\n data-automation-id=\"header-year\" tabindex=\"0\">{{ month.date?.getFullYear() }}</span>\n </span>\n </ng-container>\n <novo-button theme=\"icon\" icon=\"next\" size=\"small\" (click)=\"nextMonth($event)\" data-automation-id=\"calendar-next\" tabindex=\"0\">\n </novo-button>\n</div>\n<section class=\"calendar-content\" [ngSwitch]=\"activeView\">\n <ng-container *ngSwitchCase=\"'days'\">\n <ng-container *ngFor=\"let month of months; let i = index\">\n <div class=\"calendar-header\" *ngIf=\"layout==='vertical' && i > 0\">\n <span class=\"previous\" (click)=\"prevMonth($event)\" data-automation-id=\"calendar-previous\" tabindex=\"0\"></span>\n <span class=\"heading\">\n <span class=\"month\" (click)=\"openView($event, 'months')\"\n data-automation-id=\"header-month\" tabindex=\"0\">{{ month.label }}</span>\n <span class=\"year\" (click)=\"openView($event, 'years')\"\n data-automation-id=\"header-year\" tabindex=\"0\">{{ month.date?.getFullYear() }}</span>\n </span>\n <span class=\"next\" (click)=\"nextMonth($event)\" data-automation-id=\"calendar-next\"></span>\n </div>\n <novo-month-view\n class=\"month-view\"\n [activeDate]=\"month.date\"\n [selected]=\"selected\"\n [preview]=\"preview\"\n [overlays]=\"overlays\"\n [isRange]=\"_isRange()\"\n [hideOverflowDays]=\"months.length > 1\"\n [weekStartsOn]=\"weekStartsOn\"\n [disabledDateMessage]=\"disabledDateMessage\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (select)=\"dateSelected($event)\"\n (hover)=\"updatePreview($event)\"></novo-month-view>\n </ng-container>\n </ng-container>\n <novo-month-select\n *ngSwitchCase=\"'months'\"\n [activeDate]=\"activeDate\"\n [selected]=\"selected\"\n (select)=\"monthSelected($event)\">\n </novo-month-select>\n <novo-year-select\n *ngSwitchCase=\"'years'\"\n [activeDate]=\"activeDate\"\n [selected]=\"selected\"\n (select)=\"yearSelected($event)\">\n </novo-year-select>\n</section>","// NG2\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n// APP\nimport { NovoButtonModule } from 'novo-elements/elements/button';\nimport { NovoIconModule } from 'novo-elements/elements/icon';\nimport { NovoPipesModule } from 'novo-elements/pipes';\nimport { NovoCalendarElement } from './calendar.component';\nimport { NovoMonthSelectElement } from './month-select/month-select.component';\nimport { NovoMonthViewElement } from './month-view/month-view.component';\nimport { NovoYearSelectElement } from './year-select/year-select.component';\n\n@NgModule({\n imports: [CommonModule, FormsModule, NovoButtonModule, NovoPipesModule, NovoIconModule],\n declarations: [NovoMonthViewElement, NovoMonthSelectElement, NovoYearSelectElement, NovoCalendarElement],\n exports: [NovoMonthViewElement, NovoMonthSelectElement, NovoYearSelectElement, NovoCalendarElement],\n})\nexport class NovoCalendarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i4","i2","i4.NovoMonthViewElement","i5.NovoMonthSelectElement","i6.NovoYearSelectElement"],"mappings":";;;;;;;;;;;;;;AAIA;MACa,4BAA4B,GAAG,IAAI,cAAc,CAA4B,8BAA8B,EAAE;AAE1H;MAEa,4BAA4B,CAAA;AACvC,IAAA,iBAAiB,CAAC,IAAqB,EAAE,YAAwB,EAAE,KAAY,EAAA;QAC7E,OAAO,CAAC,IAAI,CAAC,CAAC;KACf;AAED,IAAA,aAAa,CAAC,UAA2B,EAAE,CAAC,WAAW,CAAa,EAAA;QAClE,OAAO,CAAC,UAAU,CAAC,CAAC;KACrB;AAED,IAAA,UAAU,CAAC,UAA2B,EAAE,CAAC,WAAW,CAAa,EAAA;QAC/D,OAAO,QAAQ,CAAC,SAAS,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;KACpD;;0HAXU,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;8HAA5B,4BAA4B,EAAA,CAAA,CAAA;4FAA5B,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBADxC,UAAU;;AAeX;AACM,SAAU,6CAA6C,CAAC,MAA0C,EAAA;AACtG,IAAA,OAAO,MAAM,IAAI,IAAI,4BAA4B,EAAE,CAAC;AACtD,CAAC;AAED;AACa,MAAA,qCAAqC,GAAoB;AACpE,IAAA,OAAO,EAAE,4BAA4B;AACrC,IAAA,IAAI,EAAE,CAAC,CAAC,IAAI,QAAQ,EAAE,EAAE,IAAI,QAAQ,EAAE,EAAE,4BAA4B,CAAC,CAAC;AACtE,IAAA,UAAU,EAAE,6CAA6C;;;MC5B9C,0BAA0B,CAAA;AACrC,IAAA,iBAAiB,CAAC,QAAyB,EAAE,YAAwB,EAAE,KAAY,EAAA;QACjF,MAAM,IAAI,GAAG,QAAgB,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAO,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACpE,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE;YAC/B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AAChC,SAAA;AAAM,aAAA;YACL,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AAC7B,SAAA;AACD,QAAA,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;KAC7C;IAED,aAAa,CAAC,UAA2B,EAAE,YAAwB,EAAA;QACjE,OAAO,CAAC,UAAU,CAAC,CAAC;KACrB;IAED,UAAU,CAAC,UAA2B,EAAE,YAAwB,EAAA;QAC9D,OAAO,YAAY,IAAI,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;KAC1D;;wHAlBU,0BAA0B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;4HAA1B,0BAA0B,EAAA,CAAA,CAAA;4FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBADtC,UAAU;;;MCEE,sBAAsB,CAAA;IACjC,iBAAiB,CAAC,IAAc,EAAE,YAAwB,EAAA;AACxD,QAAA,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,YAAY,CAAC;QAEhC,IAAI,KAAK,IAAI,IAAI,EAAE;YACjB,KAAK,GAAG,IAAI,CAAC;AACd,SAAA;AAAM,aAAA,IAAI,GAAG,IAAI,IAAI,IAAI,IAAI,IAAI,QAAQ,CAAC,wBAAwB,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE;YACrF,GAAG,GAAG,IAAI,CAAC;AACZ,SAAA;AAAM,aAAA;YACL,KAAK,GAAG,IAAI,CAAC;YACb,GAAG,GAAG,IAAI,CAAC;AACZ,SAAA;AAED,QAAA,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;KACrB;IAED,aAAa,CAAC,UAA2B,EAAE,YAAwB,EAAA;QACjE,IAAI,KAAK,GAAoB,IAAI,CAAC;QAClC,IAAI,GAAG,GAAoB,IAAI,CAAC;AAChC,QAAA,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,YAAY,CAAC;AAE1C,QAAA,IAAI,SAAS,IAAI,CAAC,OAAO,IAAI,UAAU,EAAE;YACvC,KAAK,GAAG,SAAS,CAAC;YAClB,GAAG,GAAG,UAAU,CAAC;AAClB,SAAA;AAED,QAAA,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;KACrB;IAED,UAAU,CAAC,UAA2B,EAAE,YAAwB,EAAA;AAC9D,QAAA,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,YAAY,CAAC;QAClC,OAAO,QAAQ,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;KACvD;;oHAhCU,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;wHAAtB,sBAAsB,EAAA,CAAA,CAAA;4FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBADlC,UAAU;;;MCDE,qBAAqB,CAAA;AAChC,IAAA,WAAA,CAAoB,eAAoB,CAAC,EAAA;QAArB,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAS;KAAI;AAE7C,IAAA,iBAAiB,CAAC,IAAqB,EAAA;AACrC,QAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;KACpC;AAED,IAAA,aAAa,CAAC,UAA2B,EAAA;AACvC,QAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;KAC1C;AAEO,IAAA,gBAAgB,CAAC,IAAqB,EAAA;AAC5C,QAAA,IAAI,IAAI,EAAE;AACR,YAAA,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;AAC9B,YAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAgB,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;AACvE,YAAA,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,IAAgB,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;AACnE,YAAA,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACrB,SAAA;AAED,QAAA,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KACrB;IAED,UAAU,CAAC,UAA2B,EAAE,YAAwB,EAAA;AAC9D,QAAA,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,YAAY,CAAC;QAClC,OAAO,QAAQ,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;KACvD;AACF;;;;;;;;;;;MCJY,oBAAoB,CAAA;AAqD/B,IAAA,WAAA,CACS,MAAwB,EACvB,OAAmB,EACnB,GAAsB,EACtB,UAAwB,EAAA;QAHzB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAkB;QACvB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAY;QACnB,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;QACtB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAc;AAnDlC,QAAA,IAAA,CAAA,UAAU,GAAS,IAAI,IAAI,EAAE,CAAC;;QAG9B,IAAQ,CAAA,QAAA,GAAe,EAAE,CAAC;QAE1B,IAAO,CAAA,OAAA,GAAe,EAAE,CAAC;QAEzB,IAAQ,CAAA,QAAA,GAAkB,EAAE,CAAC;QAM7B,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;QAKlB,IAAgB,CAAA,gBAAA,GAAY,KAAK,CAAC;QAEzC,IAAa,CAAA,aAAA,GAAe,CAAC,CAAC;;AAc9B,QAAA,IAAA,CAAA,MAAM,GAAsB,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;;AAGpD,QAAA,IAAA,CAAA,KAAK,GAAsB,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;;QAGnD,IAAQ,CAAA,QAAA,GAAa,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;;AAEhE,QAAA,IAAA,CAAA,UAAU,GAAa,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;KAU3C;AA9BJ,IAAA,IACI,YAAY,GAAA;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;KAC3B;IACD,IAAI,YAAY,CAAC,KAAiB,EAAA;AAChC,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC/C,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAClC;IAwBD,QAAQ,GAAA;;AAEN,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAClC;AAED,IAAA,UAAU,CAAC,IAAU,EAAA;AACnB,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;AACxF,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAClC;IAED,QAAQ,CAAC,KAAY,EAAE,GAAQ,EAAA;;QAE7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;AACjC,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;IAED,OAAO,CAAC,KAAY,EAAE,GAAQ,EAAA;AAC5B,QAAA,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;KACjD;AAED,IAAA,UAAU,CAAC,KAAW,EAAA;;AAEpB,QAAA,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,MAAM,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;;AAG3C,QAAA,IAAI,IAAI,GAAG,KAAK,EACd,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,EACvE,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,EAC5B,KAAK,GAAG,CAAC,CAAC;QAEZ,OAAO,CAAC,IAAI,EAAE;;YAEZ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;;AAG3E,YAAA,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACxB,YAAA,IAAI,GAAG,KAAK,EAAE,GAAG,CAAC,IAAI,UAAU,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;AACrD,YAAA,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC9B,SAAA;KACF;IAED,SAAS,CAAC,IAAU,EAAE,KAAW,EAAA;;QAE/B,MAAM,IAAI,GAAG,EAAE,CAAC;;QAEhB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;;YAE1B,IAAI,CAAC,IAAI,CAAC;AACR,gBAAA,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AACtB,gBAAA,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE;AACtB,gBAAA,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC;gBACtB,IAAI;AACL,aAAA,CAAC,CAAC;;AAGH,YAAA,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AACzB,SAAA;AAED,QAAA,OAAO,IAAI,CAAC;KACb;AAED,IAAA,UAAU,CAAC,GAAa,EAAA;AACtB,QAAA,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;KACxH;;AAGD,IAAA,WAAW,CAAC,KAAe,EAAA;QACzB,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;KACjF;;AAGD,IAAA,UAAU,CAAC,KAAe,EAAA;QACxB,OAAO,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;KAC/E;;AAGD,IAAA,UAAU,CAAC,KAAe,EAAA;QACxB,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;KACtF;;AAGD,IAAA,eAAe,CAAC,KAAe,EAAA;AAC7B,QAAA,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QAC5F,OAAO,OAAO,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;KACtC;;AAGD,IAAA,aAAa,CAAC,KAAe,EAAA;AAC3B,QAAA,OAAO,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;KACpD;;AAGD,IAAA,WAAW,CAAC,KAAe,EAAA;AACzB,QAAA,OAAO,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;KAClD;;AAGD,IAAA,UAAU,CAAC,KAAe,EAAA;AACxB,QAAA,OAAO,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;KACtD;;AAGD,IAAA,eAAe,CAAC,KAAe,EAAA;AAC7B,QAAA,OAAO,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;KACnD;;AAGD,IAAA,aAAa,CAAC,KAAe,EAAA;AAC3B,QAAA,OAAO,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;KACjD;;AAGD,IAAA,YAAY,CAAC,KAAe,EAAA;AAC1B,QAAA,OAAO,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;KACrD;;kHA/KU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,ucCzBjC,ovDAwCM,EAAA,MAAA,EAAA,CAAA,4/GAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;ADIJ,UAAA,CAAA;AADC,IAAA,YAAY,EAAE;;AACU,CAAA,EAAA,oBAAA,CAAA,SAAA,EAAA,SAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAKzB,UAAA,CAAA;AAFC,IAAA,YAAY,EAAE;;AAE0B,CAAA,EAAA,oBAAA,CAAA,SAAA,EAAA,kBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;4FAxB9B,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBANhC,SAAS;+BACE,iBAAiB,EAAA,eAAA,EAGV,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,ovDAAA,EAAA,MAAA,EAAA,CAAA,4/GAAA,CAAA,EAAA,CAAA;2LAI/C,OAAO,EAAA,CAAA;sBADN,KAAK;gBAGN,OAAO,EAAA,CAAA;sBADN,KAAK;gBAGN,UAAU,EAAA,CAAA;sBADT,KAAK;gBAIN,QAAQ,EAAA,CAAA;sBADP,KAAK;gBAGN,OAAO,EAAA,CAAA;sBADN,KAAK;gBAGN,QAAQ,EAAA,CAAA;sBADP,KAAK;gBAGN,mBAAmB,EAAA,CAAA;sBADlB,KAAK;gBAKN,OAAO,EAAA,CAAA;sBAFN,KAAK;gBAOC,gBAAgB,EAAA,CAAA;sBAHtB,KAAK;;sBAEL,WAAW;uBAAC,0BAA0B,CAAA;gBAMnC,YAAY,EAAA,CAAA;sBADf,KAAK;gBAYN,MAAM,EAAA,CAAA;sBADL,MAAM;gBAIP,KAAK,EAAA,CAAA;sBADJ,MAAM;;AAwIT;AACA,SAAS,OAAO,CAAC,KAAe,EAAE,KAAwB,EAAE,YAAqB,EAAA;IAC/E,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;AACjC,IAAA,OAAO,YAAY,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,KAAK,GAAG,GAAG,IAAI,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC5H,CAAC;AAED;AACA,SAAS,KAAK,CAAC,KAAe,EAAE,KAAwB,EAAE,YAAqB,EAAA;IAC7E,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;AACjC,IAAA,OAAO,YAAY,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,KAAK,IAAI,KAAK,IAAI,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC/H,CAAC;AAED;AACA,SAAS,SAAS,CAAC,KAAe,EAAE,KAAwB,EAAE,YAAqB,EAAA;IACjF,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,KAAK,IAAI,EAAE,CAAC;IACjC,OAAO,YAAY,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,GAAG,CAAC;AAC7H;;AE3NA;MAYa,sBAAsB,CAAA;AAajC,IAAA,WAAA,CAAmB,MAAwB,EAAA;QAAxB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAkB;AAX3C,QAAA,IAAA,CAAA,UAAU,GAAa,IAAI,IAAI,EAAE,CAAC;QAElC,IAAQ,CAAA,QAAA,GAAe,EAAE,CAAC;;AAI1B,QAAA,IAAA,CAAA,MAAM,GAAsB,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;;AAGpD,QAAA,IAAA,CAAA,UAAU,GAAa,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;KAEA;AAE/C,IAAA,QAAQ,MAAK;IAEb,QAAQ,CAAC,KAAY,EAAE,KAAa,EAAA;;QAElC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;KACpC;AAED,IAAA,SAAS,CAAC,KAAa,EAAA;AACrB,QAAA,OAAO,IAAI,CAAC,UAAU,IAAI,KAAK,KAAK,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACxE;AAED,IAAA,WAAW,CAAC,KAAa,EAAA;AACvB,QAAA,OAAO,IAAI,CAAC,QAAQ,IAAI,KAAK,KAAK,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;KACvE;;oHA5BU,sBAAsB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,oJCZnC,wOAGM,EAAA,MAAA,EAAA,CAAA,8OAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;4FDSO,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBANlC,SAAS;+BACE,mBAAmB,EAAA,eAAA,EAGZ,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,wOAAA,EAAA,MAAA,EAAA,CAAA,8OAAA,CAAA,EAAA,CAAA;uGAI/C,UAAU,EAAA,CAAA;sBADT,KAAK;gBAGN,QAAQ,EAAA,CAAA;sBADP,KAAK;gBAKN,MAAM,EAAA,CAAA;sBADL,MAAM;;;MERI,qBAAqB,CAAA;AAiBhC,IAAA,WAAA,CAAmB,MAAwB,EAAA;QAAxB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAkB;AAV3C,QAAA,IAAA,CAAA,UAAU,GAAa,IAAI,IAAI,EAAE,CAAC;QAElC,IAAQ,CAAA,QAAA,GAAe,EAAE,CAAC;;AAG1B,QAAA,IAAA,CAAA,MAAM,GAAsB,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC;;QAGpD,IAAK,CAAA,KAAA,GAAe,EAAE,CAAC;KAEwB;IAE/C,QAAQ,GAAA;;AAEN,QAAA,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC;QAC5E,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC;QACzE,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE;AACjC,YAAA,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACf,SAAA;AACD,QAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;KAC9B;IAED,QAAQ,CAAC,KAAY,EAAE,IAAY,EAAA;;QAEjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;KACnC;AAED,IAAA,SAAS,CAAC,IAAY,EAAA;AACpB,QAAA,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,KAAK,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACtE;AAED,IAAA,WAAW,CAAC,IAAY,EAAA;AACtB,QAAA,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,KAAK,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;KACrE;;mHA1CU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAArB,qBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qBAAqB,2LCXlC,gNAEM,EAAA,MAAA,EAAA,CAAA,kRAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,cAAA,EAAA,eAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;4FDSO,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBANjC,SAAS;+BACE,kBAAkB,EAAA,eAAA,EAGX,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,gNAAA,EAAA,MAAA,EAAA,CAAA,kRAAA,CAAA,EAAA,CAAA;uGAI/C,OAAO,EAAA,CAAA;sBADN,KAAK;gBAGN,OAAO,EAAA,CAAA;sBADN,KAAK;gBAIN,UAAU,EAAA,CAAA;sBADT,KAAK;gBAGN,QAAQ,EAAA,CAAA;sBADP,KAAK;gBAIN,MAAM,EAAA,CAAA;sBADL,MAAM;;;AEtBT;MAuBa,mBAAmB,CAAA;AAwH9B,IAAA,WAAA,CACS,MAAwB,EACvB,OAAmB,EACnB,GAAsB,EACtB,UAAwB,EAAA;QAHzB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAkB;QACvB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAY;QACnB,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;QACtB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAc;;QAjHlC,IAAU,CAAA,UAAA,GAAW,MAAM,CAAC;QAE5B,IAAM,CAAA,MAAA,GAAW,YAAY,CAAC;QAE9B,IAAS,CAAA,SAAA,GAAW,EAAE,CAAC;AASvB,QAAA,IAAA,CAAA,cAAc,GAAyB,IAAI,YAAY,EAAE,CAAC;QAE1D,IAAO,CAAA,OAAA,GAAW,EAAE,CAAC;AAErB,QAAA,IAAA,CAAA,aAAa,GAAyB,IAAI,YAAY,EAAE,CAAC;AAEzD,QAAA,IAAA,CAAA,gBAAgB,GAAuB,IAAI,YAAY,EAAE,CAAC;QAG1D,IAAQ,CAAA,QAAA,GAAkB,EAAE,CAAC;AAI7B,QAAA,IAAA,CAAA,WAAW,GAAS,IAAI,IAAI,EAAE,CAAC;QAC/B,IAAK,CAAA,KAAA,GAA0B,QAAQ,CAAC;AACxC,QAAA,IAAA,CAAA,eAAe,GAAa,CAAC,CAAC,CAAC,CAAC;QAChC,IAAa,CAAA,aAAA,GAAQ,CAAC,CAAC;AACvB,QAAA,IAAA,CAAA,SAAS,GAAmC,IAAI,4BAA4B,EAAE,CAAC;KAoF3E;AA7GJ,IAAA,IACI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;IACD,IAAI,QAAQ,CAAC,KAAK,EAAA;AAChB,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;KAC9E;AAuBD,IAAA,IACI,UAAU,GAAA;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;KACzB;IACD,IAAI,UAAU,CAAC,KAAK,EAAA;QAClB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;AACvC,YAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;AACzB,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAClC,YAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACxB,SAAA;KACF;AAED,IAAA,IACI,YAAY,GAAA;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;KAC3B;IACD,IAAI,YAAY,CAAC,KAAU,EAAA;AACzB,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;AAC3B,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;YACxB,IAAI,CAAC,SAAS,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC/D,SAAA;KACF;AAED,IAAA,IACI,cAAc,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;KACpC;IACD,IAAI,cAAc,CAAC,KAAK,EAAA;AACtB,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAC/D,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAClC;AAED,IAAA,IACI,IAAI,GAAA;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;KACnB;IACD,IAAI,IAAI,CAAC,KAAK,EAAA;AACZ,QAAA,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE;AACxB,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;AACnB,YAAA,QAAQ,KAAK;AACX,gBAAA,KAAK,UAAU;AACb,oBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,0BAA0B,EAAE,CAAC;oBAClD,MAAM;AACR,gBAAA,KAAK,OAAO;AACV,oBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,sBAAsB,EAAE,CAAC;oBAC9C,MAAM;AACR,gBAAA,KAAK,MAAM;oBACT,IAAI,CAAC,SAAS,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBAC9D,MAAM;AACR,gBAAA,KAAK,QAAQ,CAAC;AACd,gBAAA;AACE,oBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,4BAA4B,EAAE,CAAC;oBACpD,MAAM;AACT,aAAA;AACF,SAAA;KACF;AAED,IAAA,IACI,QAAQ,GAAA;AACV,QAAA,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE;YAC9B,OAAO,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAA,WAAA,CAAa,CAAC,CAAC;AAChE,SAAA;QACD,OAAO,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAA,WAAA,CAAa,CAAC,CAAC;KAChE;AAED,IAAA,IACI,aAAa,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC;KACnC;AAED,IAAA,IACI,WAAW,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC;KACnC;IASD,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;AACxE,SAAA;AACD,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAClC;AAED,IAAA,UAAU,CAAC,UAAgB,EAAA;QACzB,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC;AAC3E,QAAA,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC5C,QAAA,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE;YACpC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AACjC,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;YACzE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACnC,SAAA;KACF;IAED,QAAQ,GAAA;AACN,QAAA,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;AACvB,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;;AAErB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC7B;AAED,IAAA,aAAa,CAAC,EAAE,KAAK,EAAE,KAAK,EAAwB,EAAA;QAClD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;QACvE,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAClC,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;;AAErB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC7B;AAED,IAAA,YAAY,CAAC,EAAE,KAAK,EAAE,IAAI,EAAuB,EAAA;AAC/C,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC;QAC5D,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAChC,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;;AAErB,QAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC7B;AAED,IAAA,YAAY,CAAC,EAAE,KAAK,EAAE,GAAG,EAAuB,EAAA;;AAE9C,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACjF,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACxC,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;KACzB;AAED,IAAA,aAAa,CAAC,EAAE,KAAK,EAAE,GAAG,EAAuB,EAAA;AAC/C,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC5E,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACvC;AAED,IAAA,SAAS,CAAC,KAAY,EAAA;AACpB,QAAA,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AAC1C,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;KACtB;AAED,IAAA,SAAS,CAAC,KAAY,EAAA;AACpB,QAAA,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;AAC1C,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;KACtB;IAED,QAAQ,CAAC,KAAY,EAAE,IAAY,EAAA;AACjC,QAAA,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;;AAG5B,QAAA,IAAI,IAAI,KAAK,IAAI,CAAC,UAAU,EAAE;AAC5B,YAAA,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;AAC1B,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;AACxB,SAAA;;QAGD,IAAI,IAAI,CAAC,UAAU,KAAK,OAAO,IAAI,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE;YAC/D,UAAU,CAAC,MAAK;AACd,gBAAA,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAAC,qBAAqB,IAAI,CAAC,UAAU,CAAA,CAAE,CAAC,CAAC;AACnG,gBAAA,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,aAAa,CAC3D,CAAqB,kBAAA,EAAA,IAAI,CAAC,UAAU,CAAA,EAAA,EAAK,IAAI,CAAC,UAAU,KAAK,OAAO,GAAG,MAAM,GAAG,OAAO,CAAA,SAAA,CAAW,CACnG,CAAC;gBACF,IAAI,SAAS,IAAI,YAAY,EAAE;oBAC7B,SAAS,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,GAAG,GAAG,CAAC;AACpD,iBAAA;AACH,aAAC,CAAC,CAAC;AACJ,SAAA;KACF;IAED,QAAQ,GAAA;AACN,QAAA,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC9C;;iHA1NU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,8pBCvBhC,+mFAuDU,EAAA,MAAA,EAAA,CAAA,wpEAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,MAAA,EAAA,OAAA,EAAA,SAAA,EAAA,MAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,oBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,YAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,SAAA,EAAA,kBAAA,EAAA,cAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,sBAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAAC,qBAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,SAAA,EAAA,YAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA,CAAA,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,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;4FDhCG,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAL/B,SAAS;+BACE,eAAe,EAAA,QAAA,EAAA,+mFAAA,EAAA,MAAA,EAAA,CAAA,wpEAAA,CAAA,EAAA,CAAA;2LAMzB,OAAO,EAAA,CAAA;sBADN,KAAK;gBAGN,OAAO,EAAA,CAAA;sBADN,KAAK;gBAGN,OAAO,EAAA,CAAA;sBADN,KAAK;gBAGN,OAAO,EAAA,CAAA;sBADN,KAAK;gBAIN,UAAU,EAAA,CAAA;sBADT,KAAK;gBAGN,MAAM,EAAA,CAAA;sBADL,KAAK;gBAKF,QAAQ,EAAA,CAAA;sBADX,KAAK;gBAQN,cAAc,EAAA,CAAA;sBADb,MAAM;gBAGP,OAAO,EAAA,CAAA;sBADN,KAAK;gBAGN,aAAa,EAAA,CAAA;sBADZ,MAAM;gBAGP,gBAAgB,EAAA,CAAA;sBADf,MAAM;gBAIP,QAAQ,EAAA,CAAA;sBADP,KAAK;gBAGN,mBAAmB,EAAA,CAAA;sBADlB,KAAK;gBAYF,UAAU,EAAA,CAAA;sBADb,KAAK;gBAaF,YAAY,EAAA,CAAA;sBADf,KAAK;gBAYF,cAAc,EAAA,CAAA;sBADjB,KAAK;gBAUF,IAAI,EAAA,CAAA;sBADP,KAAK;gBA0BF,QAAQ,EAAA,CAAA;sBADX,WAAW;uBAAC,aAAa,CAAA;gBAStB,aAAa,EAAA,CAAA;sBADhB,WAAW;uBAAC,yBAAyB,CAAA;gBAMlC,WAAW,EAAA,CAAA;sBADd,WAAW;uBAAC,uBAAuB,CAAA;;;AE1ItC;MAkBa,kBAAkB,CAAA;;gHAAlB,kBAAkB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;iHAAlB,kBAAkB,EAAA,YAAA,EAAA,CAHd,oBAAoB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,mBAAmB,CAD7F,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,CAAA,EAAA,OAAA,EAAA,CAE5E,oBAAoB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,mBAAmB,CAAA,EAAA,CAAA,CAAA;iHAEvF,kBAAkB,EAAA,OAAA,EAAA,CAJpB,CAAC,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,CAAC,CAAA,EAAA,CAAA,CAAA;4FAI5E,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAL9B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,CAAC;oBACvF,YAAY,EAAE,CAAC,oBAAoB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,mBAAmB,CAAC;oBACxG,OAAO,EAAE,CAAC,oBAAoB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,mBAAmB,CAAC;AACpG,iBAAA,CAAA;;;ACjBD;;AAEG;;;;"}
1
+ {"version":3,"file":"novo-elements-elements-calendar.mjs","sources":["../../../projects/novo-elements/src/elements/calendar/strategies/default-selection.strategy.ts","../../../projects/novo-elements/src/elements/calendar/strategies/multi-date-selection.strategy.ts","../../../projects/novo-elements/src/elements/calendar/strategies/range-selection.strategy.ts","../../../projects/novo-elements/src/elements/calendar/strategies/week-selection.strategy.ts","../../../projects/novo-elements/src/elements/calendar/month-view/month-view.component.ts","../../../projects/novo-elements/src/elements/calendar/month-view/month-view.component.html","../../../projects/novo-elements/src/elements/calendar/month-select/month-select.component.ts","../../../projects/novo-elements/src/elements/calendar/month-select/month-select.component.html","../../../projects/novo-elements/src/elements/calendar/year-select/year-select.component.ts","../../../projects/novo-elements/src/elements/calendar/year-select/year-select.component.html","../../../projects/novo-elements/src/elements/calendar/calendar.component.ts","../../../projects/novo-elements/src/elements/calendar/calendar.component.html","../../../projects/novo-elements/src/elements/calendar/Calendar.module.ts","../../../projects/novo-elements/src/elements/calendar/novo-elements-elements-calendar.ts"],"sourcesContent":["import { FactoryProvider, Injectable, InjectionToken, Optional, SkipSelf } from '@angular/core';\nimport type { DateLike, NovoDateSelectionStrategy } from 'novo-elements/utils';\nimport { DateUtil } from 'novo-elements/utils';\n\n/** Injection token used to customize the date range selection behavior. */\nexport const NOVO_DATE_SELECTION_STRATEGY = new InjectionToken<NovoDateSelectionStrategy>('NOVO_DATE_SELECTION_STRATEGY');\n\n/** Provides the default date selection behavior. Single Date */\n@Injectable()\nexport class DefaultDateSelectionStrategy implements NovoDateSelectionStrategy<DateLike[]> {\n selectionFinished(date: DateLike | null, currentValue: DateLike[], event: Event): DateLike[] {\n return [date];\n }\n\n createPreview(activeDate: DateLike | null, [currentDate]: DateLike[]) {\n return [activeDate];\n }\n\n isSelected(activeDate: DateLike | null, [currentDate]: DateLike[]) {\n return DateUtil.isSameDay(activeDate, currentDate);\n }\n}\n\n/** @docs-private */\nexport function NOVO_DATE_SELECTION_STRATEGY_PROVIDER_FACTORY(parent: NovoDateSelectionStrategy<unknown>) {\n return parent || new DefaultDateSelectionStrategy();\n}\n\n/** @docs-private */\nexport const NOVO_DATE_SELECTION_STRATEGY_PROVIDER: FactoryProvider = {\n provide: NOVO_DATE_SELECTION_STRATEGY,\n deps: [[new Optional(), new SkipSelf(), NOVO_DATE_SELECTION_STRATEGY]],\n useFactory: NOVO_DATE_SELECTION_STRATEGY_PROVIDER_FACTORY,\n};\n","import { Injectable } from '@angular/core';\nimport type { DateLike, NovoDateSelectionStrategy } from 'novo-elements/utils';\n\n@Injectable()\nexport class MultiDateSelectionStrategy implements NovoDateSelectionStrategy<DateLike[]> {\n selectionFinished(dateLike: DateLike | null, currentValue: DateLike[], event: Event): DateLike[] {\n const date = dateLike as Date;\n const current = new Set(currentValue.map((c: Date) => c.getTime()));\n if (current.has(date.getTime())) {\n current.delete(date.getTime());\n } else {\n current.add(date.getTime());\n }\n return [...current].map((c) => new Date(c));\n }\n\n createPreview(activeDate: DateLike | null, currentValue: DateLike[]) {\n return [activeDate];\n }\n\n isSelected(activeDate: DateLike | null, currentValue: DateLike[]) {\n return currentValue && currentValue.includes(activeDate);\n }\n}\n","import { Injectable } from '@angular/core';\nimport type { DateLike, NovoDateSelectionStrategy } from 'novo-elements/utils';\nimport { DateUtil } from 'novo-elements/utils';\n\n@Injectable()\nexport class RangeSelectionStrategy implements NovoDateSelectionStrategy<DateLike[]> {\n selectionFinished(date: DateLike, currentRange: DateLike[]) {\n let [start, end] = currentRange;\n\n if (start == null) {\n start = date;\n } else if (end == null && date && DateUtil.differenceInCalendarDays(date, start) >= 0) {\n end = date;\n } else {\n start = date;\n end = null;\n }\n\n return [start, end];\n }\n\n createPreview(activeDate: DateLike | null, currentRange: DateLike[]) {\n let start: DateLike | null = null;\n let end: DateLike | null = null;\n const [currStart, currEnd] = currentRange;\n\n if (currStart && !currEnd && activeDate) {\n start = currStart;\n end = activeDate;\n }\n\n return [start, end];\n }\n\n isSelected(activeDate: DateLike | null, currentRange: DateLike[]) {\n const [start, end] = currentRange;\n return DateUtil.isWithinRange(activeDate, start, end);\n }\n}\n","import type { DateLike, NovoDateSelectionStrategy } from 'novo-elements/utils';\nimport { DateUtil } from 'novo-elements/utils';\n\nexport class WeekSelectionStrategy implements NovoDateSelectionStrategy<DateLike[]> {\n constructor(private weekStartsOn: Day = 0) {}\n\n selectionFinished(date: DateLike | null): DateLike[] {\n return this._createWeekRange(date);\n }\n\n createPreview(activeDate: DateLike | null): DateLike[] {\n return this._createWeekRange(activeDate);\n }\n\n private _createWeekRange(date: DateLike | null): DateLike[] {\n if (date) {\n const { weekStartsOn } = this;\n const start = DateUtil.startOfWeek(date as DateLike, { weekStartsOn });\n const end = DateUtil.endOfWeek(date as DateLike, { weekStartsOn });\n return [start, end];\n }\n\n return [null, null];\n }\n\n isSelected(activeDate: DateLike | null, currentRange: DateLike[]) {\n const [start, end] = currentRange;\n return DateUtil.isWithinRange(activeDate, start, end);\n }\n}\n","// NG2\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnInit,\n Output,\n} from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n// Vendor\nimport { addDays, Day as DateFnsDay, isToday } from 'date-fns';\nimport { NovoLabelService } from 'novo-elements/services';\nimport { BooleanInput, DateUtil } from 'novo-elements/utils';\nimport type { DateLike, Day, OverlayDate } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-month-view',\n templateUrl: './month-view.component.html',\n styleUrls: ['./month-view.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NovoMonthViewElement implements OnInit {\n @Input()\n minDate: Date;\n @Input()\n maxDate: Date;\n @Input()\n activeDate: Date = new Date();\n // Weekstart must be 0-6 (Sunday - Saturday)\n @Input()\n selected: DateLike[] = [];\n @Input()\n preview: DateLike[] = [];\n @Input()\n overlays: OverlayDate[] = [];\n @Input()\n disabledDateMessage: string;\n\n @Input()\n @BooleanInput()\n isRange: boolean = false;\n\n @Input()\n @BooleanInput()\n @HostBinding('class.hide-overflow-days')\n public hideOverflowDays: boolean = false;\n\n _weekStartsOn: DateFnsDay = 0;\n\n @Input()\n get weekStartsOn(): DateFnsDay {\n return this._weekStartsOn;\n }\n set weekStartsOn(value: DateFnsDay) {\n this._weekStartsOn = value;\n this.weekdays = this.labels.getWeekdays(value);\n this.updateView(this.activeDate);\n }\n\n // Select callback for output\n @Output()\n select: EventEmitter<any> = new EventEmitter(false);\n // Select callback for output\n @Output()\n hover: EventEmitter<any> = new EventEmitter(false);\n\n // List of all the weekdays\n weekdays: string[] = this.labels.getWeekdays(this.weekStartsOn);\n // List of all months\n monthNames: string[] = this.labels.getMonths();\n\n monthLabel: string;\n weeks: any;\n\n constructor(\n public labels: NovoLabelService,\n private element: ElementRef,\n private cdr: ChangeDetectorRef,\n private _sanitizer: DomSanitizer,\n ) {}\n\n ngOnInit() {\n // Set labels\n this.updateView(this.activeDate);\n }\n\n updateView(date: Date) {\n this.monthLabel = this.labels.formatDateWithFormat(this.activeDate, { month: 'short' });\n this.buildMonth(this.activeDate);\n }\n\n onSelect(event: Event, day: Day) {\n // Helpers.swallowEvent(event);\n this.select.next({ event, day });\n this.cdr.markForCheck();\n }\n\n onHover(event: Event, day: Day): void {\n this.isRange && this.hover.next({ event, day });\n }\n\n buildMonth(month: Date) {\n // Reset the weeks\n this.weeks = [];\n const start = DateUtil.startOfMonth(month);\n\n // House keeping variables to know when we are done building the month\n let done = false,\n date = DateUtil.startOfWeek(start, { weekStartsOn: this.weekStartsOn }),\n monthIndex = date.getMonth(),\n count = 0;\n\n while (!done) {\n // Build the days for the weeks\n this.weeks.push({ days: this.buildWeek(new Date(date.getTime()), month) });\n\n // Increment variables for the next iteration\n date = addDays(date, 7);\n done = count++ > 2 && monthIndex !== date.getMonth();\n monthIndex = date.getMonth();\n }\n }\n\n buildWeek(date: Date, month: Date): Array<Object> {\n // Build out of the days of the week\n const days = [];\n // Iterate over the days of the week\n for (let i = 0; i < 7; i++) {\n // Push a variable on the day array with lots of helpers to make the template easier\n days.push({\n name: this.weekdays[i],\n number: date.getDate(),\n isToday: isToday(date),\n date,\n });\n\n // Increment for the next iteration\n date = addDays(date, 1);\n }\n\n return days;\n }\n\n isDisabled(day: DateLike) {\n return (this.minDate && DateUtil.isBefore(day, this.minDate)) || (this.maxDate && DateUtil.isAfter(day, this.maxDate));\n }\n\n /** Returns whether a cell should be marked as selected. */\n _isSelected(value: DateLike) {\n return this.selected && this.selected.find((d) => DateUtil.isSameDay(d, value));\n }\n\n /** Returns whether a cell should be marked as preview. */\n _isPreview(value: DateLike) {\n return this.preview && this.preview.find((d) => DateUtil.isSameDay(d, value));\n }\n\n /** Returns whether a cell should be marked as an overlay. */\n _isOverlay(value: DateLike) {\n return this.overlays && this.overlays.find((o) => DateUtil.isSameDay(o.date, value));\n }\n\n /** Returns whether a cell should be marked as an overlay. */\n _hasOverlayType(value: DateLike) {\n let overlay = this.overlays && this.overlays.find((o) => DateUtil.isSameDay(o.date, value));\n return overlay ? overlay.type : null;\n }\n\n /** Gets whether a value is the start of the main range. */\n _isRangeStart(value: DateLike) {\n return isStart(value, this.selected, this.isRange);\n }\n\n /** Gets whether a value is the end of the main range. */\n _isRangeEnd(value: DateLike) {\n return isEnd(value, this.selected, this.isRange);\n }\n\n /** Gets whether a value is within the currently-selected range. */\n _isInRange(value: DateLike): boolean {\n return isInRange(value, this.selected, this.isRange);\n }\n\n /** Gets whether a value is the start of the preview range. */\n _isPreviewStart(value: DateLike) {\n return isStart(value, this.preview, this.isRange);\n }\n\n /** Gets whether a value is the end of the preview range. */\n _isPreviewEnd(value: DateLike) {\n return isEnd(value, this.preview, this.isRange);\n }\n\n /** Gets whether a value is inside the preview range. */\n _isInPreview(value: DateLike) {\n return isInRange(value, this.preview, this.isRange);\n }\n}\n\n/** Checks whether a value is the start of a range. */\nfunction isStart(value: DateLike, range: DateLike[] | null, rangeEnabled: boolean): boolean {\n const [start, end] = range ?? [];\n return rangeEnabled && end !== null && !DateUtil.isSameDay(start, end) && value < end && DateUtil.isSameDay(value, start);\n}\n\n/** Checks whether a value is the end of a range. */\nfunction isEnd(value: DateLike, range: DateLike[] | null, rangeEnabled: boolean): boolean {\n const [start, end] = range ?? [];\n return rangeEnabled && start !== null && !DateUtil.isSameDay(start, end) && value >= start && DateUtil.isSameDay(value, end);\n}\n\n/** Checks whether a value is inside of a range. */\nfunction isInRange(value: DateLike, range: DateLike[] | null, rangeEnabled: boolean): boolean {\n const [start, end] = range ?? [];\n return rangeEnabled && start !== null && end !== null && !DateUtil.isSameDay(start, end) && value >= start && value <= end;\n}\n","<div class=\"calendar-table\" cellspacing=\"0\" cellpadding=\"0\">\n <div class=\"calendar-thead\">\n <div class=\"calendar-th weekday\" *ngFor=\"let day of weekdays\" title=\"{{ day }}\"\n [attr.data-automation-id]=\"day.substr(0, 2)\">\n {{ day.substr(0, 2) }}\n </div>\n </div>\n <div class=\"calendar-body\">\n <div class=\"calendar-week\" *ngFor=\"let week of weeks\">\n <div class=\"calendar-date\" *ngFor=\"let day of week.days\"\n [class.today]=\"day.isToday\"\n [class.notinmonth]=\"day.date.getMonth() !== activeDate.getMonth()\"\n [class.selected]=\"_isSelected(day.date)\"\n [class.preview]=\"_isPreview(day.date)\"\n [class.overlay]=\"_isOverlay(day.date)\"\n [class]=\"_hasOverlayType(day.date)\"\n [class.inRange]=\"_isInRange(day.date)\"\n [class.rangeStart]=\"_isRangeStart(day.date)\"\n [class.rangeEnd]=\"_isRangeEnd(day.date)\"\n [class.inPreview]=\"_isInPreview(day.date)\"\n [class.previewStart]=\"_isPreviewStart(day.date)\"\n [class.previewEnd]=\"_isPreviewEnd(day.date)\"\n [class.calendar-date]=\"true\"\n [attr.aria-label]=\"day.name\"\n [attr.aria-disabled]=\"isDisabled(day.date)\"\n [attr.aria-selected]=\"_isSelected(day.date)\"\n [attr.data-automation-id]=\"day.number\"\n [title]=\"isDisabled(day.date) ? disabledDateMessage : ''\"\n (mouseover)=\"onHover($event, day)\">\n <novo-button\n class=\"day\"\n tabindex=\"0\"\n [attr.data-automation-id]=\"day.number\"\n [disabled]=\"isDisabled(day.date)\"\n (click)=\"onSelect($event, day)\">\n {{ day.number }}\n </novo-button>\n </div>\n </div>\n </div>\n</div>","// NG2\nimport { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { NovoLabelService } from 'novo-elements/services';\nimport type { DateLike } from 'novo-elements/utils';\nimport { DateUtil } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-month-select',\n templateUrl: './month-select.component.html',\n styleUrls: ['./month-select.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NovoMonthSelectElement implements OnInit {\n @Input()\n activeDate: DateLike = new Date();\n @Input()\n selected: DateLike[] = [];\n\n // Select callback for output\n @Output()\n select: EventEmitter<any> = new EventEmitter(false);\n\n // List of all months\n monthNames: string[] = this.labels.getMonths();\n\n constructor(public labels: NovoLabelService) {}\n\n ngOnInit() {}\n\n onSelect(event: Event, month: number) {\n // Helpers.swallowEvent(event);\n this.select.next({ event, month });\n }\n\n _isActive(month: number) {\n return this.activeDate && month === DateUtil.getMonth(this.activeDate);\n }\n\n _isSelected(month: number) {\n return this.selected && month === DateUtil.getMonth(this.selected[0]);\n }\n}\n","<div *ngFor=\"let month of monthNames; let i = index\" (click)=\"onSelect($event, i)\" tabindex=\"0\">\n <div class=\"month\" [class.selected]=\"_isSelected(i)\" [attr.data-automation-id]=\"month\">\n {{ month }}</div>\n</div>","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { NovoLabelService } from 'novo-elements/services';\nimport type { DateLike } from 'novo-elements/utils';\nimport { DateUtil } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-year-select',\n templateUrl: './year-select.component.html',\n styleUrls: ['./year-select.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class NovoYearSelectElement implements OnInit {\n @Input()\n minYear: string | number;\n @Input()\n maxYear: string | number;\n\n @Input()\n activeDate: DateLike = new Date();\n @Input()\n selected: DateLike[] = [];\n // Select callback for output\n @Output()\n select: EventEmitter<any> = new EventEmitter(false);\n\n // List of all years (generated in ngOnInit)\n years: Array<any> = [];\n\n constructor(public labels: NovoLabelService) {}\n\n ngOnInit() {\n // Determine the year array\n const now = new Date();\n const start = this.minYear ? Number(this.minYear) : now.getFullYear() - 100;\n const end = this.maxYear ? Number(this.maxYear) : now.getFullYear() + 10;\n const years = [];\n for (let i = start; i <= end; i++) {\n years.push(i);\n }\n this.years = years.reverse();\n }\n\n onSelect(event: Event, year: number) {\n // Helpers.swallowEvent(event);\n this.select.next({ event, year });\n }\n\n _isActive(year: number) {\n return this.activeDate && year === DateUtil.getYear(this.activeDate);\n }\n\n _isSelected(year: number) {\n return this.selected && year === DateUtil.getYear(this.selected[0]);\n }\n}\n","<div *ngFor=\"let year of years\" (click)=\"onSelect($event, year)\" tabindex=\"0\">\n <div class=\"year\" [class.selected]=\"_isSelected(year)\" [attr.data-automation-id]=\"year\">{{ year }}</div>\n</div>","// NG2\nimport { ChangeDetectorRef, Component, ElementRef, EventEmitter, HostBinding, Input, OnInit, Output } from '@angular/core';\nimport { DomSanitizer } from '@angular/platform-browser';\n// Vendor\nimport { addMonths, isDate, isSameDay, setMonth, setYear, startOfDay, startOfMonth, subMonths } from 'date-fns';\n// APP\nimport { NovoLabelService } from 'novo-elements/services';\nimport { Helpers } from 'novo-elements/utils';\nimport type {\n DatePickerSelectModes,\n NovoDateSelectEvent,\n NovoDateSelectionStrategy,\n NovoMonthSelectEvent,\n NovoYearSelectEvent,\n OverlayDate,\n} from 'novo-elements/utils';\nimport { DefaultDateSelectionStrategy, MultiDateSelectionStrategy, RangeSelectionStrategy, WeekSelectionStrategy } from './strategies';\n\n@Component({\n selector: 'novo-calendar',\n templateUrl: './calendar.component.html',\n styleUrls: ['./calendar.component.scss'],\n})\nexport class NovoCalendarElement implements OnInit {\n @Input()\n minYear: string | number;\n @Input()\n maxYear: string | number;\n @Input()\n minDate: string | number;\n @Input()\n maxDate: string | number;\n // Default view mode (select days)\n @Input()\n activeView: string = 'days';\n @Input()\n layout: string = 'horizontal';\n\n _selected: Date[] = [];\n @Input()\n get selected(): Date[] {\n return this._selected;\n }\n set selected(value) {\n this._selected = value ? value.filter(isDate).map((d) => startOfDay(d)) : [];\n }\n @Output()\n selectedChange: EventEmitter<Date[]> = new EventEmitter();\n @Input()\n preview: Date[] = [];\n @Output()\n previewChange: EventEmitter<Date[]> = new EventEmitter();\n @Output()\n activeDateChange: EventEmitter<Date> = new EventEmitter();\n\n @Input()\n overlays: OverlayDate[] = [];\n @Input()\n disabledDateMessage: string;\n\n _activeDate: Date = new Date();\n _mode: DatePickerSelectModes = 'single';\n _numberOfMonths: number[] = [0];\n _weekStartsOn: Day = 0;\n _strategy: NovoDateSelectionStrategy<any> = new DefaultDateSelectionStrategy();\n\n months: any;\n\n @Input()\n get activeDate(): Date {\n return this._activeDate;\n }\n set activeDate(value) {\n if (!isSameDay(value, this._activeDate)) {\n this._activeDate = value;\n this.activeDateChange.next(value);\n this.updateView(value);\n }\n }\n\n @Input()\n get weekStartsOn(): Day {\n return this._weekStartsOn;\n }\n set weekStartsOn(value: Day) {\n this._weekStartsOn = value;\n if (this.mode === 'week') {\n this._strategy = new WeekSelectionStrategy(this.weekStartsOn);\n }\n }\n\n @Input()\n get numberOfMonths(): number {\n return this._numberOfMonths.length;\n }\n set numberOfMonths(value) {\n this._numberOfMonths = Array.from(Array(Number(value)).keys());\n this.updateView(this.activeDate);\n }\n\n @Input()\n get mode(): DatePickerSelectModes {\n return this._mode;\n }\n set mode(value) {\n if (this._mode !== value) {\n this._mode = value;\n switch (value) {\n case 'multiple':\n this._strategy = new MultiDateSelectionStrategy();\n break;\n case 'range':\n this._strategy = new RangeSelectionStrategy();\n break;\n case 'week':\n this._strategy = new WeekSelectionStrategy(this.weekStartsOn);\n break;\n case 'single':\n default:\n this._strategy = new DefaultDateSelectionStrategy();\n break;\n }\n }\n }\n\n @HostBinding('style.width')\n get hb_width() {\n if (this.layout === 'vertical') {\n return this._sanitizer.bypassSecurityTrustStyle(`min-content`);\n }\n return this._sanitizer.bypassSecurityTrustStyle(`min-content`);\n }\n\n @HostBinding('class.layout-horizontal')\n get hb_horiztonal() {\n return this.layout !== 'vertical';\n }\n\n @HostBinding('class.layout-vertical')\n get hb_vertical() {\n return this.layout === 'vertical';\n }\n\n constructor(\n public labels: NovoLabelService,\n private element: ElementRef,\n private cdr: ChangeDetectorRef,\n private _sanitizer: DomSanitizer,\n ) {}\n\n ngOnInit() {\n if (!this.activeDate) {\n this.activeDate = this.selected.length ? this.selected[0] : new Date();\n }\n this.updateView(this.activeDate);\n }\n\n updateView(activeDate: Date) {\n this.activeDate = new Date(activeDate ? new Date(activeDate) : new Date());\n this.months = [];\n const month = startOfMonth(this.activeDate);\n for (const i of this._numberOfMonths) {\n const date = addMonths(month, i);\n const label = this.labels.formatDateWithFormat(date, { month: 'short' });\n this.months.push({ date, label });\n }\n }\n\n setToday() {\n const tmp = new Date();\n this.updateView(tmp);\n // Go back to days\n this.openView(null, 'days');\n }\n\n monthSelected({ event, month }: NovoMonthSelectEvent): void {\n const date = this.activeDate ? this.activeDate : new Date().getMonth();\n const tmp = setMonth(date, month);\n this.updateView(tmp);\n // Go back to days\n this.openView(null, 'days');\n }\n\n yearSelected({ event, year }: NovoYearSelectEvent): void {\n const date = this.activeDate ? this.activeDate : new Date();\n const tmp = setYear(date, year);\n this.updateView(tmp);\n // Go back to days\n this.openView(null, 'days');\n }\n\n dateSelected({ event, day }: NovoDateSelectEvent) {\n // Helpers.swallowEvent(event);\n this.selected = this._strategy.selectionFinished(day.date, this.selected, event);\n this.selectedChange.emit(this.selected);\n this.cdr.markForCheck();\n }\n\n updatePreview({ event, day }: NovoDateSelectEvent) {\n this.preview = this._strategy.createPreview(day.date, this.selected, event);\n this.previewChange.emit(this.preview);\n }\n\n prevMonth(event: Event): void {\n Helpers.swallowEvent(event);\n const tmp = subMonths(this.activeDate, 1);\n this.updateView(tmp);\n }\n\n nextMonth(event: Event): void {\n Helpers.swallowEvent(event);\n const tmp = addMonths(this.activeDate, 1);\n this.updateView(tmp);\n }\n\n openView(event: Event, type: string) {\n Helpers.swallowEvent(event);\n\n // If they click the toggle two time in a row, close it (go back to days)\n if (type === this.activeView) {\n this.activeView = 'days';\n } else {\n this.activeView = type;\n }\n\n // Make sure to scroll the selected one into view\n if (this.activeView === 'years' || this.activeView === 'months') {\n setTimeout(() => {\n const container = this.element.nativeElement.querySelector(`.calendar-content.${this.activeView}`);\n const selectedItem = this.element.nativeElement.querySelector(\n `.calendar-content.${this.activeView} .${this.activeView === 'years' ? 'year' : 'month'}.selected`,\n );\n if (container && selectedItem) {\n container.scrollTop = selectedItem.offsetTop - 100;\n }\n });\n }\n }\n\n _isRange() {\n return ['week', 'range'].includes(this.mode);\n }\n}\n","<div class=\"calendar-header\">\n <novo-button theme=\"icon\" icon=\"previous\" size=\"small\" (click)=\"prevMonth($event)\"\n data-automation-id=\"calendar-previous\" tabindex=\"0\"></novo-button>\n <ng-container *ngFor=\"let month of months; let i = index;\">\n <span class=\"heading\" [class.secondary]=\"i > 0\">\n <span class=\"month\" (click)=\"openView($event, 'months')\"\n data-automation-id=\"header-month\" tabindex=\"0\">{{ month.label }}</span>\n <span class=\"year\" (click)=\"openView($event, 'years')\"\n data-automation-id=\"header-year\" tabindex=\"0\">{{ month.date?.getFullYear() }}</span>\n </span>\n </ng-container>\n <novo-button theme=\"icon\" icon=\"next\" size=\"small\" (click)=\"nextMonth($event)\" data-automation-id=\"calendar-next\" tabindex=\"0\">\n </novo-button>\n</div>\n<section class=\"calendar-content\" [ngSwitch]=\"activeView\">\n <ng-container *ngSwitchCase=\"'days'\">\n <ng-container *ngFor=\"let month of months; let i = index\">\n <div class=\"calendar-header\" *ngIf=\"layout==='vertical' && i > 0\">\n <span class=\"previous\" (click)=\"prevMonth($event)\" data-automation-id=\"calendar-previous\" tabindex=\"0\"></span>\n <span class=\"heading\">\n <span class=\"month\" (click)=\"openView($event, 'months')\"\n data-automation-id=\"header-month\" tabindex=\"0\">{{ month.label }}</span>\n <span class=\"year\" (click)=\"openView($event, 'years')\"\n data-automation-id=\"header-year\" tabindex=\"0\">{{ month.date?.getFullYear() }}</span>\n </span>\n <span class=\"next\" (click)=\"nextMonth($event)\" data-automation-id=\"calendar-next\"></span>\n </div>\n <novo-month-view\n class=\"month-view\"\n [activeDate]=\"month.date\"\n [selected]=\"selected\"\n [preview]=\"preview\"\n [overlays]=\"overlays\"\n [isRange]=\"_isRange()\"\n [hideOverflowDays]=\"months.length > 1\"\n [weekStartsOn]=\"weekStartsOn\"\n [disabledDateMessage]=\"disabledDateMessage\"\n [minDate]=\"minDate\"\n [maxDate]=\"maxDate\"\n (select)=\"dateSelected($event)\"\n (hover)=\"updatePreview($event)\"></novo-month-view>\n </ng-container>\n </ng-container>\n <novo-month-select\n *ngSwitchCase=\"'months'\"\n [activeDate]=\"activeDate\"\n [selected]=\"selected\"\n (select)=\"monthSelected($event)\">\n </novo-month-select>\n <novo-year-select\n *ngSwitchCase=\"'years'\"\n [activeDate]=\"activeDate\"\n [selected]=\"selected\"\n (select)=\"yearSelected($event)\">\n </novo-year-select>\n</section>","// NG2\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n// APP\nimport { NovoButtonModule } from 'novo-elements/elements/button';\nimport { NovoIconModule } from 'novo-elements/elements/icon';\nimport { NovoPipesModule } from 'novo-elements/pipes';\nimport { NovoCalendarElement } from './calendar.component';\nimport { NovoMonthSelectElement } from './month-select/month-select.component';\nimport { NovoMonthViewElement } from './month-view/month-view.component';\nimport { NovoYearSelectElement } from './year-select/year-select.component';\n\n@NgModule({\n imports: [CommonModule, FormsModule, NovoButtonModule, NovoPipesModule, NovoIconModule],\n declarations: [NovoMonthViewElement, NovoMonthSelectElement, NovoYearSelectElement, NovoCalendarElement],\n exports: [NovoMonthViewElement, NovoMonthSelectElement, NovoYearSelectElement, NovoCalendarElement],\n})\nexport class NovoCalendarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i4","i2","i4.NovoMonthViewElement","i5.NovoMonthSelectElement","i6.NovoYearSelectElement"],"mappings":"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"}
@@ -192,7 +192,7 @@ CardElement.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "
192
192
  *ngIf="!(loading || config.loading) && !(message || config.message)"
193
193
  select="footer,novo-card-footer,[novo-card-footer],[novoCardFooter]"
194
194
  ></ng-content>
195
- `, isInline: true, styles: [":host{display:flex;flex-flow:column;background-color:#fff;background-color:var(--background-bright, #ffffff);box-shadow:0 -1px 3px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f;border-radius:.4em;position:relative;overflow-x:hidden}:host.loading{min-height:200px}:host div.card-loading-container{position:absolute;top:43px;left:0;right:0;bottom:0;border-radius:.4em;background-color:#fff;background-color:var(--background-bright, #ffffff);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:1}:host header{display:flex;flex-flow:row nowrap;align-items:center;justify-content:space-between;padding:.5em}:host header .title{display:flex;align-items:center;min-width:0;flex:1}:host header .title ::ng-deep i.bhi-move{color:#dbdbdb;margin-right:.3em;cursor:pointer}:host header .title h1,:host header .title h2,:host header .title h3{font-size:1.6rem;font-weight:500;line-height:1.5;color:#3d464d;color:var(--text-main, #3d464d);width:100%;padding:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host header .title h1 i,:host header .title h2 i,:host header .title h3 i{font-size:1.2em}:host header .title h1 i.bhi-info,:host header .title h2 i.bhi-info,:host header .title h3 i.bhi-info{color:#dbdbdb}:host header .actions{color:#5f6d78;white-space:nowrap}:host p.card-message{padding:20px 0;max-width:inherit;text-align:center;line-height:25px;color:#b8b8b8}:host p.card-message i{display:block;font-size:24px;margin:0 0 .5em;color:#d1d1d1}:host footer{display:flex;justify-content:center}:host.novo-card-inline{display:inline-flex;justify-self:start;align-self:start}:host.novo-card-inset-none{padding:0}:host.novo-card-inset-small{padding:.5rem}:host.novo-card-inset-medium{padding:1rem}:host.novo-card-inset-large{padding:1.25rem}:host ::ng-deep .novo-card-header+.novo-card-content.condensed,:host ::ng-deep .novo-card-header+:not(.novo-card-content){margin-top:.5rem}:host ::ng-deep [novo-card-image]{width:100%;margin:1rem 0}\n"], components: [{ type: i2.NovoLoadingElement, selector: "novo-loading", inputs: ["theme", "color", "size"] }, { type: i3.NovoIconComponent, selector: "novo-icon", inputs: ["raised", "theme", "shape", "color", "size", "smaller", "larger", "alt", "name"] }, { type: i4.NovoButtonElement, selector: "novo-button,button[theme]", inputs: ["color", "side", "size", "theme", "loading", "icon", "disabled"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.TooltipDirective, selector: "[tooltip]", inputs: ["tooltip", "tooltipPosition", "tooltipType", "tooltipSize", "tooltipBounce", "tooltipNoAnimate", "tooltipRounded", "tooltipAlways", "tooltipActive", "tooltipPreline", "removeTooltipArrow", "tooltipAutoPosition", "tooltipIsHTML"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
195
+ `, isInline: true, styles: [":host{display:flex;flex-flow:column;background-color:#fff;background-color:var(--background-bright, #ffffff);box-shadow:0 -1px 3px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f;border-radius:.4em;position:relative;overflow-x:hidden}:host.loading{min-height:200px}:host div.card-loading-container{position:absolute;inset:43px 0 0;border-radius:.4em;background-color:#fff;background-color:var(--background-bright, #ffffff);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:1}:host header{display:flex;flex-flow:row nowrap;align-items:center;justify-content:space-between;padding:.5em}:host header .title{display:flex;align-items:center;min-width:0;flex:1}:host header .title ::ng-deep i.bhi-move{color:#dbdbdb;margin-right:.3em;cursor:pointer}:host header .title h1,:host header .title h2,:host header .title h3{font-size:1.6rem;font-weight:500;line-height:1.5;color:#3d464d;color:var(--text-main, #3d464d);width:100%;padding:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host header .title h1 i,:host header .title h2 i,:host header .title h3 i{font-size:1.2em}:host header .title h1 i.bhi-info,:host header .title h2 i.bhi-info,:host header .title h3 i.bhi-info{color:#dbdbdb}:host header .actions{color:#5f6d78;white-space:nowrap}:host p.card-message{padding:20px 0;max-width:inherit;text-align:center;line-height:25px;color:#b8b8b8}:host p.card-message i{display:block;font-size:24px;margin:0 0 .5em;color:#d1d1d1}:host footer{display:flex;justify-content:center}:host.novo-card-inline{display:inline-flex;justify-self:start;align-self:start}:host.novo-card-inset-none{padding:0}:host.novo-card-inset-small{padding:.5rem}:host.novo-card-inset-medium{padding:1rem}:host.novo-card-inset-large{padding:1.25rem}:host ::ng-deep .novo-card-header+.novo-card-content.condensed,:host ::ng-deep .novo-card-header+:not(.novo-card-content){margin-top:.5rem}:host ::ng-deep [novo-card-image]{width:100%;margin:1rem 0}\n"], components: [{ type: i2.NovoLoadingElement, selector: "novo-loading", inputs: ["theme", "color", "size"] }, { type: i3.NovoIconComponent, selector: "novo-icon", inputs: ["raised", "theme", "shape", "color", "size", "smaller", "larger", "alt", "name"] }, { type: i4.NovoButtonElement, selector: "novo-button,button[theme]", inputs: ["color", "side", "size", "theme", "loading", "icon", "disabled"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.TooltipDirective, selector: "[tooltip]", inputs: ["tooltip", "tooltipPosition", "tooltipType", "tooltipSize", "tooltipBounce", "tooltipNoAnimate", "tooltipRounded", "tooltipAlways", "tooltipActive", "tooltipPreline", "removeTooltipArrow", "tooltipAutoPosition", "tooltipIsHTML"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
196
196
  __decorate([
197
197
  BooleanInput(),
198
198
  __metadata("design:type", Boolean)
@@ -264,7 +264,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
264
264
  *ngIf="!(loading || config.loading) && !(message || config.message)"
265
265
  select="footer,novo-card-footer,[novo-card-footer],[novoCardFooter]"
266
266
  ></ng-content>
267
- `, styles: [":host{display:flex;flex-flow:column;background-color:#fff;background-color:var(--background-bright, #ffffff);box-shadow:0 -1px 3px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f;border-radius:.4em;position:relative;overflow-x:hidden}:host.loading{min-height:200px}:host div.card-loading-container{position:absolute;top:43px;left:0;right:0;bottom:0;border-radius:.4em;background-color:#fff;background-color:var(--background-bright, #ffffff);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:1}:host header{display:flex;flex-flow:row nowrap;align-items:center;justify-content:space-between;padding:.5em}:host header .title{display:flex;align-items:center;min-width:0;flex:1}:host header .title ::ng-deep i.bhi-move{color:#dbdbdb;margin-right:.3em;cursor:pointer}:host header .title h1,:host header .title h2,:host header .title h3{font-size:1.6rem;font-weight:500;line-height:1.5;color:#3d464d;color:var(--text-main, #3d464d);width:100%;padding:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host header .title h1 i,:host header .title h2 i,:host header .title h3 i{font-size:1.2em}:host header .title h1 i.bhi-info,:host header .title h2 i.bhi-info,:host header .title h3 i.bhi-info{color:#dbdbdb}:host header .actions{color:#5f6d78;white-space:nowrap}:host p.card-message{padding:20px 0;max-width:inherit;text-align:center;line-height:25px;color:#b8b8b8}:host p.card-message i{display:block;font-size:24px;margin:0 0 .5em;color:#d1d1d1}:host footer{display:flex;justify-content:center}:host.novo-card-inline{display:inline-flex;justify-self:start;align-self:start}:host.novo-card-inset-none{padding:0}:host.novo-card-inset-small{padding:.5rem}:host.novo-card-inset-medium{padding:1rem}:host.novo-card-inset-large{padding:1.25rem}:host ::ng-deep .novo-card-header+.novo-card-content.condensed,:host ::ng-deep .novo-card-header+:not(.novo-card-content){margin-top:.5rem}:host ::ng-deep [novo-card-image]{width:100%;margin:1rem 0}\n"] }]
267
+ `, styles: [":host{display:flex;flex-flow:column;background-color:#fff;background-color:var(--background-bright, #ffffff);box-shadow:0 -1px 3px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f;border-radius:.4em;position:relative;overflow-x:hidden}:host.loading{min-height:200px}:host div.card-loading-container{position:absolute;inset:43px 0 0;border-radius:.4em;background-color:#fff;background-color:var(--background-bright, #ffffff);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:1}:host header{display:flex;flex-flow:row nowrap;align-items:center;justify-content:space-between;padding:.5em}:host header .title{display:flex;align-items:center;min-width:0;flex:1}:host header .title ::ng-deep i.bhi-move{color:#dbdbdb;margin-right:.3em;cursor:pointer}:host header .title h1,:host header .title h2,:host header .title h3{font-size:1.6rem;font-weight:500;line-height:1.5;color:#3d464d;color:var(--text-main, #3d464d);width:100%;padding:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host header .title h1 i,:host header .title h2 i,:host header .title h3 i{font-size:1.2em}:host header .title h1 i.bhi-info,:host header .title h2 i.bhi-info,:host header .title h3 i.bhi-info{color:#dbdbdb}:host header .actions{color:#5f6d78;white-space:nowrap}:host p.card-message{padding:20px 0;max-width:inherit;text-align:center;line-height:25px;color:#b8b8b8}:host p.card-message i{display:block;font-size:24px;margin:0 0 .5em;color:#d1d1d1}:host footer{display:flex;justify-content:center}:host.novo-card-inline{display:inline-flex;justify-self:start;align-self:start}:host.novo-card-inset-none{padding:0}:host.novo-card-inset-small{padding:.5rem}:host.novo-card-inset-medium{padding:1rem}:host.novo-card-inset-large{padding:1.25rem}:host ::ng-deep .novo-card-header+.novo-card-content.condensed,:host ::ng-deep .novo-card-header+:not(.novo-card-content){margin-top:.5rem}:host ::ng-deep [novo-card-image]{width:100%;margin:1rem 0}\n"] }]
268
268
  }], ctorParameters: function () { return [{ type: i1.NovoLabelService }]; }, propDecorators: { padding: [{
269
269
  type: Input
270
270
  }], config: [{
@@ -1 +1 @@
1
- {"version":3,"file":"novo-elements-elements-card.mjs","sources":["../../../projects/novo-elements/src/elements/card/Card.ts","../../../projects/novo-elements/src/elements/card/Card.module.ts","../../../projects/novo-elements/src/elements/card/novo-elements-elements-card.ts"],"sourcesContent":["// NG2\nimport { Component, EventEmitter, HostBinding, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\n// APP\nimport { NovoLabelService } from 'novo-elements/services';\nimport { BooleanInput } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-card-actions',\n template: '<ng-content></ng-content>',\n})\nexport class CardActionsElement {}\n\n/**\n * Content of a card, needed as it's used as a selector in the API.\n */\n@Component({\n selector: 'novo-card-content, [novo-card-content], [novoCardContent]',\n host: { class: 'novo-card-content', '[class.condensed]': 'condensed' },\n template: '<ng-content></ng-content>',\n styleUrls: ['./CardContent.scss'],\n})\nexport class CardContentElement {\n @Input() @BooleanInput() condensed: boolean = false;\n}\n\n/**\n * Content of a card, needed as it's used as a selector in the API.\n */\n@Component({\n selector: 'novo-card-header, [novo-card-header], [novoCardHeader]',\n host: { class: 'novo-card-header' },\n template: `\n <ng-content select=\"novo-avatar, [novo-avatar], novo-icon\"></ng-content>\n <div class=\"novo-card-header-text\">\n <ng-content select=\"novo-title, [novo-title], novo-text, novo-label, novo-caption\"></ng-content>\n </div>\n <ng-content></ng-content>\n <div class=\"novo-card-header-actions\">\n <ng-content select=\"novo-action\"></ng-content>\n </div>\n `,\n styleUrls: ['./CardHeader.scss'],\n})\nexport class CardHeaderElement {}\n\n@Component({\n selector: 'novo-card-footer, [novo-card-footer], [novoCardFooter]',\n host: { class: 'novo-card-footer' },\n template: '<ng-content></ng-content>',\n styleUrls: ['./CardFooter.scss'],\n})\nexport class CardFooterElement {}\n\n@Component({\n selector: 'novo-card',\n host: {\n class: 'novo-card',\n '[attr.data-automation-id]': 'cardAutomationId',\n '[class.loading]': 'loading || config.loading',\n },\n template: `\n <!--Loading-->\n <div class=\"card-loading-container\" *ngIf=\"loading || config.loading\">\n <novo-loading theme=\"line\" [attr.data-automation-id]=\"cardAutomationId + '-loading'\"></novo-loading>\n </div>\n <!--Card Header-->\n <header *ngIf=\"title || config.title\">\n <div class=\"title\">\n <!--Grabber Icon-->\n <novo-icon\n *ngIf=\"move || config.move\"\n tooltip=\"{{ labels.move }}\"\n tooltipPosition=\"bottom-right\"\n [attr.data-automation-id]=\"cardAutomationId + '-move'\"\n >move</novo-icon\n >\n <!--Card Title-->\n <h3 [attr.data-automation-id]=\"cardAutomationId + '-title'\">\n <span [tooltip]=\"iconTooltip\" tooltipPosition=\"right\"><i *ngIf=\"icon\" [ngClass]=\"iconClass\"></i></span>\n {{ title || config.title }}\n </h3>\n </div>\n <!--Card Actions-->\n <div class=\"actions\" [attr.data-automation-id]=\"cardAutomationId + '-actions'\">\n <ng-content select=\"novo-card-actions\"></ng-content>\n <novo-button\n theme=\"icon\"\n icon=\"refresh\"\n (click)=\"toggleRefresh()\"\n *ngIf=\"refresh || config.refresh\"\n [attr.data-automation-id]=\"cardAutomationId + '-refresh'\"\n tooltip=\"{{ labels.refresh }}\"\n tooltipPosition=\"bottom-left\"\n ></novo-button>\n\n <novo-button\n theme=\"icon\"\n icon=\"close-o\"\n (click)=\"toggleClose()\"\n *ngIf=\"close || config.close\"\n [attr.data-automation-id]=\"cardAutomationId + '-close'\"\n tooltip=\"{{ labels.close }}\"\n tooltipPosition=\"bottom-left\"\n ></novo-button>\n </div>\n </header>\n <!--Content (transcluded)-->\n <ng-content *ngIf=\"!(loading || config.loading) && !(message || config.message)\"></ng-content>\n <!--Error/Empty Message-->\n <p\n class=\"card-message\"\n *ngIf=\"!(loading || config.loading) && (message || config.message)\"\n [attr.data-automation-id]=\"cardAutomationId + '-message'\"\n >\n <i *ngIf=\"messageIconClass\" [ngClass]=\"messageIconClass\"></i> <span [innerHtml]=\"message || config.message\"></span>\n </p>\n <!--Card Footer-->\n <ng-content\n *ngIf=\"!(loading || config.loading) && !(message || config.message)\"\n select=\"footer,novo-card-footer,[novo-card-footer],[novoCardFooter]\"\n ></ng-content>\n `,\n styleUrls: ['./Card.scss'],\n})\nexport class CardElement implements OnChanges, OnInit {\n @Input()\n padding: boolean = true;\n @Input()\n config: any = {};\n @Input()\n title: string;\n @Input()\n message: string;\n @Input()\n messageIcon: string;\n @Input()\n icon: string;\n @Input()\n iconTooltip: string;\n @Input()\n refresh: boolean;\n @Input()\n close: boolean;\n @Input()\n move: boolean;\n @Input()\n loading: boolean;\n\n @Input()\n @BooleanInput()\n @HostBinding('class.novo-card-inline')\n inline: boolean;\n\n @Input()\n inset: string = 'none';\n @HostBinding('class')\n get hbInset() {\n return `novo-card-inset-${this.inset}`;\n }\n\n @Output()\n onClose: EventEmitter<void> = new EventEmitter();\n @Output()\n onRefresh: EventEmitter<void> = new EventEmitter();\n\n cardAutomationId: string;\n labels: NovoLabelService;\n iconClass: string | null;\n messageIconClass: string;\n\n constructor(labels: NovoLabelService) {\n this.labels = labels;\n }\n\n ngOnInit() {\n this.config = this.config || {};\n }\n\n ngOnChanges(changes?: SimpleChanges) {\n this.config = this.config || {};\n this.cardAutomationId = `${(this.title || this.config.title || 'no-title').trim().toLowerCase().replace(/\\s/g, '-')}-card`;\n\n const newIcon: string = this.icon || this.config.icon;\n const newMessageIcon: string = this.messageIcon || this.config.messageIcon;\n this.iconClass = newIcon ? `bhi-${newIcon}` : null;\n this.messageIconClass = newMessageIcon ? `bhi-${newMessageIcon}` : null;\n }\n\n toggleClose() {\n if (!this.config.onClose) {\n this.onClose.next();\n } else {\n this.config.onClose();\n }\n }\n\n toggleRefresh() {\n if (!this.config.onRefresh) {\n this.onRefresh.next();\n } else {\n this.config.onRefresh();\n }\n }\n}\n","// NG2\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n// APP\nimport { NovoButtonModule } from 'novo-elements/elements/button';\nimport { NovoIconModule } from 'novo-elements/elements/icon';\nimport { NovoLoadingModule } from 'novo-elements/elements/loading';\nimport { NovoTooltipModule } from 'novo-elements/elements/tooltip';\nimport { CardActionsElement, CardContentElement, CardElement, CardFooterElement, CardHeaderElement } from './Card';\n\n@NgModule({\n imports: [CommonModule, NovoIconModule, NovoButtonModule, NovoLoadingModule, NovoTooltipModule],\n declarations: [CardElement, CardActionsElement, CardContentElement, CardHeaderElement, CardFooterElement],\n exports: [CardElement, CardActionsElement, CardContentElement, CardHeaderElement, CardFooterElement],\n})\nexport class NovoCardModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"novo-elements-elements-card.mjs","sources":["../../../projects/novo-elements/src/elements/card/Card.ts","../../../projects/novo-elements/src/elements/card/Card.module.ts","../../../projects/novo-elements/src/elements/card/novo-elements-elements-card.ts"],"sourcesContent":["// NG2\nimport { Component, EventEmitter, HostBinding, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\n// APP\nimport { NovoLabelService } from 'novo-elements/services';\nimport { BooleanInput } from 'novo-elements/utils';\n\n@Component({\n selector: 'novo-card-actions',\n template: '<ng-content></ng-content>',\n})\nexport class CardActionsElement {}\n\n/**\n * Content of a card, needed as it's used as a selector in the API.\n */\n@Component({\n selector: 'novo-card-content, [novo-card-content], [novoCardContent]',\n host: { class: 'novo-card-content', '[class.condensed]': 'condensed' },\n template: '<ng-content></ng-content>',\n styleUrls: ['./CardContent.scss'],\n})\nexport class CardContentElement {\n @Input() @BooleanInput() condensed: boolean = false;\n}\n\n/**\n * Content of a card, needed as it's used as a selector in the API.\n */\n@Component({\n selector: 'novo-card-header, [novo-card-header], [novoCardHeader]',\n host: { class: 'novo-card-header' },\n template: `\n <ng-content select=\"novo-avatar, [novo-avatar], novo-icon\"></ng-content>\n <div class=\"novo-card-header-text\">\n <ng-content select=\"novo-title, [novo-title], novo-text, novo-label, novo-caption\"></ng-content>\n </div>\n <ng-content></ng-content>\n <div class=\"novo-card-header-actions\">\n <ng-content select=\"novo-action\"></ng-content>\n </div>\n `,\n styleUrls: ['./CardHeader.scss'],\n})\nexport class CardHeaderElement {}\n\n@Component({\n selector: 'novo-card-footer, [novo-card-footer], [novoCardFooter]',\n host: { class: 'novo-card-footer' },\n template: '<ng-content></ng-content>',\n styleUrls: ['./CardFooter.scss'],\n})\nexport class CardFooterElement {}\n\n@Component({\n selector: 'novo-card',\n host: {\n class: 'novo-card',\n '[attr.data-automation-id]': 'cardAutomationId',\n '[class.loading]': 'loading || config.loading',\n },\n template: `\n <!--Loading-->\n <div class=\"card-loading-container\" *ngIf=\"loading || config.loading\">\n <novo-loading theme=\"line\" [attr.data-automation-id]=\"cardAutomationId + '-loading'\"></novo-loading>\n </div>\n <!--Card Header-->\n <header *ngIf=\"title || config.title\">\n <div class=\"title\">\n <!--Grabber Icon-->\n <novo-icon\n *ngIf=\"move || config.move\"\n tooltip=\"{{ labels.move }}\"\n tooltipPosition=\"bottom-right\"\n [attr.data-automation-id]=\"cardAutomationId + '-move'\"\n >move</novo-icon\n >\n <!--Card Title-->\n <h3 [attr.data-automation-id]=\"cardAutomationId + '-title'\">\n <span [tooltip]=\"iconTooltip\" tooltipPosition=\"right\"><i *ngIf=\"icon\" [ngClass]=\"iconClass\"></i></span>\n {{ title || config.title }}\n </h3>\n </div>\n <!--Card Actions-->\n <div class=\"actions\" [attr.data-automation-id]=\"cardAutomationId + '-actions'\">\n <ng-content select=\"novo-card-actions\"></ng-content>\n <novo-button\n theme=\"icon\"\n icon=\"refresh\"\n (click)=\"toggleRefresh()\"\n *ngIf=\"refresh || config.refresh\"\n [attr.data-automation-id]=\"cardAutomationId + '-refresh'\"\n tooltip=\"{{ labels.refresh }}\"\n tooltipPosition=\"bottom-left\"\n ></novo-button>\n\n <novo-button\n theme=\"icon\"\n icon=\"close-o\"\n (click)=\"toggleClose()\"\n *ngIf=\"close || config.close\"\n [attr.data-automation-id]=\"cardAutomationId + '-close'\"\n tooltip=\"{{ labels.close }}\"\n tooltipPosition=\"bottom-left\"\n ></novo-button>\n </div>\n </header>\n <!--Content (transcluded)-->\n <ng-content *ngIf=\"!(loading || config.loading) && !(message || config.message)\"></ng-content>\n <!--Error/Empty Message-->\n <p\n class=\"card-message\"\n *ngIf=\"!(loading || config.loading) && (message || config.message)\"\n [attr.data-automation-id]=\"cardAutomationId + '-message'\"\n >\n <i *ngIf=\"messageIconClass\" [ngClass]=\"messageIconClass\"></i> <span [innerHtml]=\"message || config.message\"></span>\n </p>\n <!--Card Footer-->\n <ng-content\n *ngIf=\"!(loading || config.loading) && !(message || config.message)\"\n select=\"footer,novo-card-footer,[novo-card-footer],[novoCardFooter]\"\n ></ng-content>\n `,\n styleUrls: ['./Card.scss'],\n})\nexport class CardElement implements OnChanges, OnInit {\n @Input()\n padding: boolean = true;\n @Input()\n config: any = {};\n @Input()\n title: string;\n @Input()\n message: string;\n @Input()\n messageIcon: string;\n @Input()\n icon: string;\n @Input()\n iconTooltip: string;\n @Input()\n refresh: boolean;\n @Input()\n close: boolean;\n @Input()\n move: boolean;\n @Input()\n loading: boolean;\n\n @Input()\n @BooleanInput()\n @HostBinding('class.novo-card-inline')\n inline: boolean;\n\n @Input()\n inset: string = 'none';\n @HostBinding('class')\n get hbInset() {\n return `novo-card-inset-${this.inset}`;\n }\n\n @Output()\n onClose: EventEmitter<void> = new EventEmitter();\n @Output()\n onRefresh: EventEmitter<void> = new EventEmitter();\n\n cardAutomationId: string;\n labels: NovoLabelService;\n iconClass: string | null;\n messageIconClass: string;\n\n constructor(labels: NovoLabelService) {\n this.labels = labels;\n }\n\n ngOnInit() {\n this.config = this.config || {};\n }\n\n ngOnChanges(changes?: SimpleChanges) {\n this.config = this.config || {};\n this.cardAutomationId = `${(this.title || this.config.title || 'no-title').trim().toLowerCase().replace(/\\s/g, '-')}-card`;\n\n const newIcon: string = this.icon || this.config.icon;\n const newMessageIcon: string = this.messageIcon || this.config.messageIcon;\n this.iconClass = newIcon ? `bhi-${newIcon}` : null;\n this.messageIconClass = newMessageIcon ? `bhi-${newMessageIcon}` : null;\n }\n\n toggleClose() {\n if (!this.config.onClose) {\n this.onClose.next();\n } else {\n this.config.onClose();\n }\n }\n\n toggleRefresh() {\n if (!this.config.onRefresh) {\n this.onRefresh.next();\n } else {\n this.config.onRefresh();\n }\n }\n}\n","// NG2\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n// APP\nimport { NovoButtonModule } from 'novo-elements/elements/button';\nimport { NovoIconModule } from 'novo-elements/elements/icon';\nimport { NovoLoadingModule } from 'novo-elements/elements/loading';\nimport { NovoTooltipModule } from 'novo-elements/elements/tooltip';\nimport { CardActionsElement, CardContentElement, CardElement, CardFooterElement, CardHeaderElement } from './Card';\n\n@NgModule({\n imports: [CommonModule, NovoIconModule, NovoButtonModule, NovoLoadingModule, NovoTooltipModule],\n declarations: [CardElement, CardActionsElement, CardContentElement, CardHeaderElement, CardFooterElement],\n exports: [CardElement, CardActionsElement, CardContentElement, CardHeaderElement, CardFooterElement],\n})\nexport class NovoCardModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}