@spartan-ng/brain 0.0.1-alpha.422 → 0.0.1-alpha.424

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 (231) hide show
  1. package/fesm2022/spartan-ng-brain-accordion.mjs +16 -16
  2. package/fesm2022/spartan-ng-brain-alert-dialog.mjs +22 -22
  3. package/fesm2022/spartan-ng-brain-avatar.mjs +16 -16
  4. package/fesm2022/spartan-ng-brain-calendar.mjs +31 -31
  5. package/fesm2022/spartan-ng-brain-checkbox.mjs +7 -8
  6. package/fesm2022/spartan-ng-brain-checkbox.mjs.map +1 -1
  7. package/fesm2022/spartan-ng-brain-collapsible.mjs +13 -13
  8. package/fesm2022/spartan-ng-brain-command.mjs +22 -22
  9. package/fesm2022/spartan-ng-brain-dialog.mjs +28 -28
  10. package/fesm2022/spartan-ng-brain-form-field.mjs +3 -3
  11. package/fesm2022/spartan-ng-brain-form-field.mjs.map +1 -1
  12. package/fesm2022/spartan-ng-brain-forms.mjs +6 -6
  13. package/fesm2022/spartan-ng-brain-hover-card.mjs +16 -16
  14. package/fesm2022/spartan-ng-brain-label.mjs +7 -7
  15. package/fesm2022/spartan-ng-brain-menu.mjs +40 -40
  16. package/fesm2022/spartan-ng-brain-popover.mjs +16 -16
  17. package/fesm2022/spartan-ng-brain-progress.mjs +10 -10
  18. package/fesm2022/spartan-ng-brain-radio-group.mjs +10 -10
  19. package/fesm2022/spartan-ng-brain-select.mjs +37 -38
  20. package/fesm2022/spartan-ng-brain-select.mjs.map +1 -1
  21. package/fesm2022/spartan-ng-brain-separator.mjs +7 -7
  22. package/fesm2022/spartan-ng-brain-sheet.mjs +25 -25
  23. package/fesm2022/spartan-ng-brain-slider.mjs +22 -20
  24. package/fesm2022/spartan-ng-brain-slider.mjs.map +1 -1
  25. package/fesm2022/spartan-ng-brain-switch.mjs +10 -12
  26. package/fesm2022/spartan-ng-brain-switch.mjs.map +1 -1
  27. package/fesm2022/spartan-ng-brain-table.mjs +22 -24
  28. package/fesm2022/spartan-ng-brain-table.mjs.map +1 -1
  29. package/fesm2022/spartan-ng-brain-tabs.mjs +19 -19
  30. package/fesm2022/spartan-ng-brain-tabs.mjs.map +1 -1
  31. package/fesm2022/spartan-ng-brain-toggle.mjs +14 -14
  32. package/fesm2022/spartan-ng-brain-tooltip.mjs +16 -17
  33. package/fesm2022/spartan-ng-brain-tooltip.mjs.map +1 -1
  34. package/form-field/lib/brn-form-field-control.d.ts +1 -1
  35. package/package.json +5 -63
  36. package/slider/lib/brn-slider-track.directive.d.ts +1 -0
  37. package/tabs/lib/brn-tabs-paginated-list.directive.d.ts +1 -1
  38. package/esm2022/accordion/index.mjs +0 -31
  39. package/esm2022/accordion/lib/brn-accordion-content.component.mjs +0 -50
  40. package/esm2022/accordion/lib/brn-accordion.directive.mjs +0 -185
  41. package/esm2022/accordion/spartan-ng-brain-accordion.mjs +0 -5
  42. package/esm2022/alert-dialog/index.mjs +0 -45
  43. package/esm2022/alert-dialog/lib/brn-alert-dialog-content.directive.mjs +0 -17
  44. package/esm2022/alert-dialog/lib/brn-alert-dialog-description.directive.mjs +0 -18
  45. package/esm2022/alert-dialog/lib/brn-alert-dialog-overlay.component.mjs +0 -20
  46. package/esm2022/alert-dialog/lib/brn-alert-dialog-title.directive.mjs +0 -18
  47. package/esm2022/alert-dialog/lib/brn-alert-dialog-trigger.directive.mjs +0 -34
  48. package/esm2022/alert-dialog/lib/brn-alert-dialog.component.mjs +0 -41
  49. package/esm2022/alert-dialog/spartan-ng-brain-alert-dialog.mjs +0 -5
  50. package/esm2022/avatar/index.mjs +0 -23
  51. package/esm2022/avatar/lib/brn-avatar.component.mjs +0 -31
  52. package/esm2022/avatar/lib/fallback/brn-avatar-fallback.directive.mjs +0 -21
  53. package/esm2022/avatar/lib/fallback/index.mjs +0 -2
  54. package/esm2022/avatar/lib/image/brn-avatar-image.directive.mjs +0 -29
  55. package/esm2022/avatar/lib/image/index.mjs +0 -2
  56. package/esm2022/avatar/lib/util/hex-color-for.mjs +0 -22
  57. package/esm2022/avatar/lib/util/index.mjs +0 -4
  58. package/esm2022/avatar/lib/util/initials.pipe.mjs +0 -27
  59. package/esm2022/avatar/lib/util/is-bright.mjs +0 -12
  60. package/esm2022/avatar/spartan-ng-brain-avatar.mjs +0 -5
  61. package/esm2022/calendar/index.mjs +0 -62
  62. package/esm2022/calendar/lib/brn-calendar-cell-button.directive.mjs +0 -160
  63. package/esm2022/calendar/lib/brn-calendar-cell.directive.mjs +0 -17
  64. package/esm2022/calendar/lib/brn-calendar-grid.directive.mjs +0 -21
  65. package/esm2022/calendar/lib/brn-calendar-header.directive.mjs +0 -22
  66. package/esm2022/calendar/lib/brn-calendar-next-button.directive.mjs +0 -42
  67. package/esm2022/calendar/lib/brn-calendar-previous-button.directive.mjs +0 -42
  68. package/esm2022/calendar/lib/brn-calendar-week.directive.mjs +0 -67
  69. package/esm2022/calendar/lib/brn-calendar-weekday.directive.mjs +0 -48
  70. package/esm2022/calendar/lib/brn-calendar.directive.mjs +0 -154
  71. package/esm2022/calendar/lib/brn-calendar.token.mjs +0 -12
  72. package/esm2022/calendar/lib/i18n/calendar-i18n.mjs +0 -33
  73. package/esm2022/calendar/spartan-ng-brain-calendar.mjs +0 -5
  74. package/esm2022/checkbox/index.mjs +0 -18
  75. package/esm2022/checkbox/lib/brn-checkbox.component.mjs +0 -248
  76. package/esm2022/checkbox/spartan-ng-brain-checkbox.mjs +0 -5
  77. package/esm2022/collapsible/index.mjs +0 -30
  78. package/esm2022/collapsible/lib/brn-collapsible-content.component.mjs +0 -62
  79. package/esm2022/collapsible/lib/brn-collapsible-trigger.directive.mjs +0 -35
  80. package/esm2022/collapsible/lib/brn-collapsible.component.mjs +0 -33
  81. package/esm2022/collapsible/spartan-ng-brain-collapsible.mjs +0 -5
  82. package/esm2022/command/index.mjs +0 -48
  83. package/esm2022/command/lib/brn-command-empty.directive.mjs +0 -30
  84. package/esm2022/command/lib/brn-command-group.directive.mjs +0 -29
  85. package/esm2022/command/lib/brn-command-item.directive.mjs +0 -92
  86. package/esm2022/command/lib/brn-command-item.token.mjs +0 -6
  87. package/esm2022/command/lib/brn-command-list.directive.mjs +0 -21
  88. package/esm2022/command/lib/brn-command-search-input.directive.mjs +0 -81
  89. package/esm2022/command/lib/brn-command-search-input.token.mjs +0 -6
  90. package/esm2022/command/lib/brn-command.directive.mjs +0 -81
  91. package/esm2022/command/lib/brn-command.token.mjs +0 -9
  92. package/esm2022/command/spartan-ng-brain-command.mjs +0 -5
  93. package/esm2022/core/helpers/create-injection-token.mjs +0 -15
  94. package/esm2022/core/helpers/custom-element-class-settable.mjs +0 -3
  95. package/esm2022/core/helpers/dev-mode.mjs +0 -6
  96. package/esm2022/core/helpers/exposes-side.mjs +0 -3
  97. package/esm2022/core/helpers/exposes-state.mjs +0 -3
  98. package/esm2022/core/helpers/hlm.mjs +0 -6
  99. package/esm2022/core/helpers/table-classes-settable.mjs +0 -3
  100. package/esm2022/core/helpers/zone-free.mjs +0 -15
  101. package/esm2022/core/index.mjs +0 -8
  102. package/esm2022/core/spartan-ng-brain-core.mjs +0 -5
  103. package/esm2022/date-time/index.mjs +0 -3
  104. package/esm2022/date-time/lib/date-adapter.mjs +0 -16
  105. package/esm2022/date-time/lib/native-date-adapter.mjs +0 -155
  106. package/esm2022/date-time/spartan-ng-brain-date-time.mjs +0 -5
  107. package/esm2022/date-time-luxon/index.mjs +0 -2
  108. package/esm2022/date-time-luxon/lib/date-adapter.mjs +0 -85
  109. package/esm2022/date-time-luxon/spartan-ng-brain-date-time-luxon.mjs +0 -5
  110. package/esm2022/dialog/index.mjs +0 -56
  111. package/esm2022/dialog/lib/brn-dialog-close.directive.mjs +0 -24
  112. package/esm2022/dialog/lib/brn-dialog-content.directive.mjs +0 -41
  113. package/esm2022/dialog/lib/brn-dialog-description.directive.mjs +0 -25
  114. package/esm2022/dialog/lib/brn-dialog-options.mjs +0 -19
  115. package/esm2022/dialog/lib/brn-dialog-overlay.component.mjs +0 -33
  116. package/esm2022/dialog/lib/brn-dialog-ref.mjs +0 -54
  117. package/esm2022/dialog/lib/brn-dialog-state.mjs +0 -2
  118. package/esm2022/dialog/lib/brn-dialog-title.directive.mjs +0 -25
  119. package/esm2022/dialog/lib/brn-dialog-token.mjs +0 -25
  120. package/esm2022/dialog/lib/brn-dialog-trigger.directive.mjs +0 -47
  121. package/esm2022/dialog/lib/brn-dialog-utils.mjs +0 -12
  122. package/esm2022/dialog/lib/brn-dialog.component.mjs +0 -179
  123. package/esm2022/dialog/lib/brn-dialog.service.mjs +0 -128
  124. package/esm2022/dialog/spartan-ng-brain-dialog.mjs +0 -5
  125. package/esm2022/form-field/index.mjs +0 -2
  126. package/esm2022/form-field/lib/brn-form-field-control.mjs +0 -14
  127. package/esm2022/form-field/spartan-ng-brain-form-field.mjs +0 -5
  128. package/esm2022/forms/index.mjs +0 -4
  129. package/esm2022/forms/lib/control-value-accessor.mjs +0 -2
  130. package/esm2022/forms/lib/error-options.mjs +0 -26
  131. package/esm2022/forms/lib/error-state-tracker.mjs +0 -29
  132. package/esm2022/forms/spartan-ng-brain-forms.mjs +0 -5
  133. package/esm2022/hover-card/index.mjs +0 -29
  134. package/esm2022/hover-card/lib/brn-hover-card-content.service.mjs +0 -197
  135. package/esm2022/hover-card/lib/brn-hover-card.component.mjs +0 -28
  136. package/esm2022/hover-card/lib/createHoverObservable.mjs +0 -20
  137. package/esm2022/hover-card/spartan-ng-brain-hover-card.mjs +0 -5
  138. package/esm2022/index.mjs +0 -3
  139. package/esm2022/label/index.mjs +0 -17
  140. package/esm2022/label/lib/brn-label.directive.mjs +0 -49
  141. package/esm2022/label/spartan-ng-brain-label.mjs +0 -5
  142. package/esm2022/menu/index.mjs +0 -100
  143. package/esm2022/menu/lib/brn-context-menu-trigger.directive.mjs +0 -40
  144. package/esm2022/menu/lib/brn-menu-align.mjs +0 -15
  145. package/esm2022/menu/lib/brn-menu-bar.directive.mjs +0 -17
  146. package/esm2022/menu/lib/brn-menu-group.directive.mjs +0 -17
  147. package/esm2022/menu/lib/brn-menu-item-checkbox.directive.mjs +0 -30
  148. package/esm2022/menu/lib/brn-menu-item-radio.directive.mjs +0 -30
  149. package/esm2022/menu/lib/brn-menu-item.directive.mjs +0 -27
  150. package/esm2022/menu/lib/brn-menu-trigger.directive.mjs +0 -42
  151. package/esm2022/menu/lib/brn-menu.directive.mjs +0 -56
  152. package/esm2022/menu/spartan-ng-brain-menu.mjs +0 -5
  153. package/esm2022/popover/index.mjs +0 -35
  154. package/esm2022/popover/lib/brn-popover-close.directive.mjs +0 -15
  155. package/esm2022/popover/lib/brn-popover-content.directive.mjs +0 -17
  156. package/esm2022/popover/lib/brn-popover-trigger.directive.mjs +0 -43
  157. package/esm2022/popover/lib/brn-popover.component.mjs +0 -81
  158. package/esm2022/popover/spartan-ng-brain-popover.mjs +0 -5
  159. package/esm2022/progress/index.mjs +0 -21
  160. package/esm2022/progress/lib/brn-progress-indicator.component.mjs +0 -22
  161. package/esm2022/progress/lib/brn-progress.component.mjs +0 -61
  162. package/esm2022/progress/lib/brn-progress.token.mjs +0 -9
  163. package/esm2022/progress/spartan-ng-brain-progress.mjs +0 -5
  164. package/esm2022/radio-group/index.mjs +0 -20
  165. package/esm2022/radio-group/lib/brn-radio-group.directive.mjs +0 -90
  166. package/esm2022/radio-group/lib/brn-radio-group.token.mjs +0 -9
  167. package/esm2022/radio-group/lib/brn-radio.component.mjs +0 -191
  168. package/esm2022/radio-group/spartan-ng-brain-radio-group.mjs +0 -5
  169. package/esm2022/select/index.mjs +0 -66
  170. package/esm2022/select/lib/brn-select-content.component.mjs +0 -224
  171. package/esm2022/select/lib/brn-select-content.token.mjs +0 -9
  172. package/esm2022/select/lib/brn-select-group.directive.mjs +0 -19
  173. package/esm2022/select/lib/brn-select-label.directive.mjs +0 -23
  174. package/esm2022/select/lib/brn-select-option.directive.mjs +0 -69
  175. package/esm2022/select/lib/brn-select-placeholder.directive.mjs +0 -16
  176. package/esm2022/select/lib/brn-select-trigger.directive.mjs +0 -67
  177. package/esm2022/select/lib/brn-select-value.component.mjs +0 -68
  178. package/esm2022/select/lib/brn-select-value.directive.mjs +0 -16
  179. package/esm2022/select/lib/brn-select.component.mjs +0 -272
  180. package/esm2022/select/lib/brn-select.token.mjs +0 -9
  181. package/esm2022/select/spartan-ng-brain-select.mjs +0 -5
  182. package/esm2022/separator/index.mjs +0 -17
  183. package/esm2022/separator/lib/brn-separator.component.mjs +0 -24
  184. package/esm2022/separator/spartan-ng-brain-separator.mjs +0 -5
  185. package/esm2022/sheet/index.mjs +0 -50
  186. package/esm2022/sheet/lib/brn-sheet-close.directive.mjs +0 -15
  187. package/esm2022/sheet/lib/brn-sheet-content.directive.mjs +0 -25
  188. package/esm2022/sheet/lib/brn-sheet-description.directive.mjs +0 -18
  189. package/esm2022/sheet/lib/brn-sheet-overlay.component.mjs +0 -20
  190. package/esm2022/sheet/lib/brn-sheet-title.directive.mjs +0 -18
  191. package/esm2022/sheet/lib/brn-sheet-trigger.directive.mjs +0 -25
  192. package/esm2022/sheet/lib/brn-sheet.component.mjs +0 -57
  193. package/esm2022/sheet/spartan-ng-brain-sheet.mjs +0 -5
  194. package/esm2022/slider/index.mjs +0 -13
  195. package/esm2022/slider/lib/brn-slider-thumb.directive.mjs +0 -41
  196. package/esm2022/slider/lib/brn-slider-tick-mark.directive.mjs +0 -37
  197. package/esm2022/slider/lib/brn-slider-track-active-fill.directive.mjs +0 -29
  198. package/esm2022/slider/lib/brn-slider-track.directive.mjs +0 -297
  199. package/esm2022/slider/spartan-ng-brain-slider.mjs +0 -5
  200. package/esm2022/spartan-ng-brain.mjs +0 -5
  201. package/esm2022/switch/index.mjs +0 -20
  202. package/esm2022/switch/lib/brn-switch-thumb.component.mjs +0 -16
  203. package/esm2022/switch/lib/brn-switch.component.mjs +0 -236
  204. package/esm2022/switch/spartan-ng-brain-switch.mjs +0 -5
  205. package/esm2022/table/index.mjs +0 -47
  206. package/esm2022/table/lib/brn-cell-def.directive.mjs +0 -22
  207. package/esm2022/table/lib/brn-column-def.component.mjs +0 -82
  208. package/esm2022/table/lib/brn-column-manager.mjs +0 -61
  209. package/esm2022/table/lib/brn-footer-def.directive.mjs +0 -22
  210. package/esm2022/table/lib/brn-header-def.directive.mjs +0 -22
  211. package/esm2022/table/lib/brn-paginator.directive.mjs +0 -111
  212. package/esm2022/table/lib/brn-table.component.mjs +0 -169
  213. package/esm2022/table/spartan-ng-brain-table.mjs +0 -5
  214. package/esm2022/tabs/index.mjs +0 -32
  215. package/esm2022/tabs/lib/brn-tabs-list.directive.mjs +0 -66
  216. package/esm2022/tabs/lib/brn-tabs-paginated-list.directive.mjs +0 -525
  217. package/esm2022/tabs/lib/brn-tabs-trigger.directive.mjs +0 -136
  218. package/esm2022/tabs/spartan-ng-brain-tabs.mjs +0 -5
  219. package/esm2022/toggle/index.mjs +0 -31
  220. package/esm2022/toggle/lib/brn-toggle-group.component.mjs +0 -159
  221. package/esm2022/toggle/lib/brn-toggle-group.token.mjs +0 -9
  222. package/esm2022/toggle/lib/brn-toggle.directive.mjs +0 -65
  223. package/esm2022/toggle/spartan-ng-brain-toggle.mjs +0 -5
  224. package/esm2022/tooltip/index.mjs +0 -36
  225. package/esm2022/tooltip/lib/brn-tooltip-content.component.mjs +0 -221
  226. package/esm2022/tooltip/lib/brn-tooltip-content.directive.mjs +0 -22
  227. package/esm2022/tooltip/lib/brn-tooltip-trigger.directive.mjs +0 -629
  228. package/esm2022/tooltip/lib/brn-tooltip.directive.mjs +0 -15
  229. package/esm2022/tooltip/lib/brn-tooltip.token.mjs +0 -18
  230. package/esm2022/tooltip/lib/computed-previous.mjs +0 -46
  231. package/esm2022/tooltip/spartan-ng-brain-tooltip.mjs +0 -5
@@ -1,29 +0,0 @@
1
- import { Directive, HostListener, computed, signal } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class BrnAvatarImageDirective {
4
- _loaded = signal(false);
5
- onError() {
6
- this._loaded.set(false);
7
- }
8
- onLoad() {
9
- this._loaded.set(true);
10
- }
11
- canShow = computed(() => this._loaded());
12
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnAvatarImageDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
13
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: BrnAvatarImageDirective, isStandalone: true, selector: "img[brnAvatarImage]", host: { listeners: { "error": "onError()", "load": "onLoad()" } }, exportAs: ["avatarImage"], ngImport: i0 });
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnAvatarImageDirective, decorators: [{
16
- type: Directive,
17
- args: [{
18
- selector: 'img[brnAvatarImage]',
19
- standalone: true,
20
- exportAs: 'avatarImage',
21
- }]
22
- }], propDecorators: { onError: [{
23
- type: HostListener,
24
- args: ['error']
25
- }], onLoad: [{
26
- type: HostListener,
27
- args: ['load']
28
- }] } });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWF2YXRhci1pbWFnZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2F2YXRhci9zcmMvbGliL2ltYWdlL2Jybi1hdmF0YXItaW1hZ2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzFFLE1BQU0sT0FBTyx1QkFBdUI7SUFDbEIsT0FBTyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUdqQyxPQUFPO1FBQ2QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUdPLE1BQU07UUFDYixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQzswSEFicEMsdUJBQXVCOzhHQUF2Qix1QkFBdUI7OzJGQUF2Qix1QkFBdUI7a0JBTG5DLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxhQUFhO2lCQUN2Qjs4QkFLUSxPQUFPO3NCQURkLFlBQVk7dUJBQUMsT0FBTztnQkFNYixNQUFNO3NCQURiLFlBQVk7dUJBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBjb21wdXRlZCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ2ltZ1ticm5BdmF0YXJJbWFnZV0nLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRleHBvcnRBczogJ2F2YXRhckltYWdlJyxcbn0pXG5leHBvcnQgY2xhc3MgQnJuQXZhdGFySW1hZ2VEaXJlY3RpdmUge1xuXHRwcml2YXRlIHJlYWRvbmx5IF9sb2FkZWQgPSBzaWduYWwoZmFsc2UpO1xuXG5cdEBIb3N0TGlzdGVuZXIoJ2Vycm9yJylcblx0cHJpdmF0ZSBvbkVycm9yKCkge1xuXHRcdHRoaXMuX2xvYWRlZC5zZXQoZmFsc2UpO1xuXHR9XG5cblx0QEhvc3RMaXN0ZW5lcignbG9hZCcpXG5cdHByaXZhdGUgb25Mb2FkKCkge1xuXHRcdHRoaXMuX2xvYWRlZC5zZXQodHJ1ZSk7XG5cdH1cblxuXHRwdWJsaWMgY2FuU2hvdyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuX2xvYWRlZCgpKTtcbn1cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export * from './brn-avatar-image.directive';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2F2YXRhci9zcmMvbGliL2ltYWdlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Jybi1hdmF0YXItaW1hZ2UuZGlyZWN0aXZlJztcbiJdfQ==
@@ -1,22 +0,0 @@
1
- function hashString(str) {
2
- let h;
3
- for (let i = 0; i < str.length; i++)
4
- h = (Math.imul(31, h || 0) + str.charCodeAt(i)) | 0;
5
- return h || 0;
6
- }
7
- function hashManyTimes(times, str) {
8
- let h = hashString(str);
9
- for (let i = 0; i < times; i++)
10
- h = hashString(String(h));
11
- return h;
12
- }
13
- export function hexColorFor(str) {
14
- const hash = str.length <= 2 ? hashManyTimes(5, str) : hashString(str);
15
- let color = '#';
16
- for (let i = 0; i < 3; i += 1) {
17
- const value = (hash >> (i * 8)) & 0xff;
18
- color += `00${value.toString(16)}`.slice(-2);
19
- }
20
- return color;
21
- }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGV4LWNvbG9yLWZvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vYXZhdGFyL3NyYy9saWIvdXRpbC9oZXgtY29sb3ItZm9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFNBQVMsVUFBVSxDQUFDLEdBQVc7SUFDOUIsSUFBSSxDQUFDLENBQUM7SUFDTixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUU7UUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUV6RixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDZixDQUFDO0FBRUQsU0FBUyxhQUFhLENBQUMsS0FBYSxFQUFFLEdBQVc7SUFDaEQsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBRXhCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFO1FBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUUxRCxPQUFPLENBQUMsQ0FBQztBQUNWLENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUFDLEdBQVc7SUFDdEMsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUV2RSxJQUFJLEtBQUssR0FBRyxHQUFHLENBQUM7SUFFaEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDL0IsTUFBTSxLQUFLLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDdkMsS0FBSyxJQUFJLEtBQUssS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxPQUFPLEtBQUssQ0FBQztBQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBoYXNoU3RyaW5nKHN0cjogc3RyaW5nKSB7XG5cdGxldCBoO1xuXHRmb3IgKGxldCBpID0gMDsgaSA8IHN0ci5sZW5ndGg7IGkrKykgaCA9IChNYXRoLmltdWwoMzEsIGggfHwgMCkgKyBzdHIuY2hhckNvZGVBdChpKSkgfCAwO1xuXG5cdHJldHVybiBoIHx8IDA7XG59XG5cbmZ1bmN0aW9uIGhhc2hNYW55VGltZXModGltZXM6IG51bWJlciwgc3RyOiBzdHJpbmcpIHtcblx0bGV0IGggPSBoYXNoU3RyaW5nKHN0cik7XG5cblx0Zm9yIChsZXQgaSA9IDA7IGkgPCB0aW1lczsgaSsrKSBoID0gaGFzaFN0cmluZyhTdHJpbmcoaCkpO1xuXG5cdHJldHVybiBoO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaGV4Q29sb3JGb3Ioc3RyOiBzdHJpbmcpIHtcblx0Y29uc3QgaGFzaCA9IHN0ci5sZW5ndGggPD0gMiA/IGhhc2hNYW55VGltZXMoNSwgc3RyKSA6IGhhc2hTdHJpbmcoc3RyKTtcblxuXHRsZXQgY29sb3IgPSAnIyc7XG5cblx0Zm9yIChsZXQgaSA9IDA7IGkgPCAzOyBpICs9IDEpIHtcblx0XHRjb25zdCB2YWx1ZSA9IChoYXNoID4+IChpICogOCkpICYgMHhmZjtcblx0XHRjb2xvciArPSBgMDAke3ZhbHVlLnRvU3RyaW5nKDE2KX1gLnNsaWNlKC0yKTtcblx0fVxuXG5cdHJldHVybiBjb2xvcjtcbn1cbiJdfQ==
@@ -1,4 +0,0 @@
1
- export * from './hex-color-for';
2
- export * from './initials.pipe';
3
- export * from './is-bright';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2F2YXRhci9zcmMvbGliL3V0aWwvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9oZXgtY29sb3ItZm9yJztcbmV4cG9ydCAqIGZyb20gJy4vaW5pdGlhbHMucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2lzLWJyaWdodCc7XG4iXX0=
@@ -1,27 +0,0 @@
1
- import { Pipe } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- const toInitial = (capitalize = true) => (word) => {
4
- const initial = word.charAt(0);
5
- return capitalize ? initial.toLocaleUpperCase() : initial;
6
- };
7
- const firstAndLast = (initials) => `${initials[0]}${initials[initials.length - 1]}`;
8
- export class InitialsPipe {
9
- transform(name, capitalize = true, firstAndLastOnly = true, delimiter = ' ') {
10
- if (!name)
11
- return '';
12
- const initials = name.trim().split(delimiter).filter(Boolean).map(toInitial(capitalize));
13
- if (firstAndLastOnly && initials.length > 1)
14
- return firstAndLast(initials);
15
- return initials.join('');
16
- }
17
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: InitialsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
18
- /** @nocollapse */ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.5", ngImport: i0, type: InitialsPipe, isStandalone: true, name: "initials" });
19
- }
20
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: InitialsPipe, decorators: [{
21
- type: Pipe,
22
- args: [{
23
- name: 'initials',
24
- standalone: true,
25
- }]
26
- }] });
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5pdGlhbHMucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vYXZhdGFyL3NyYy9saWIvdXRpbC9pbml0aWFscy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQXNCLE1BQU0sZUFBZSxDQUFDOztBQUV6RCxNQUFNLFNBQVMsR0FDZCxDQUFDLFVBQVUsR0FBRyxJQUFJLEVBQUUsRUFBRSxDQUN0QixDQUFDLElBQVksRUFBRSxFQUFFO0lBQ2hCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0IsT0FBTyxVQUFVLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7QUFDM0QsQ0FBQyxDQUFDO0FBRUgsTUFBTSxZQUFZLEdBQUcsQ0FBQyxRQUFrQixFQUFFLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBTTlGLE1BQU0sT0FBTyxZQUFZO0lBQ3hCLFNBQVMsQ0FBQyxJQUFZLEVBQUUsVUFBVSxHQUFHLElBQUksRUFBRSxnQkFBZ0IsR0FBRyxJQUFJLEVBQUUsU0FBUyxHQUFHLEdBQUc7UUFDbEYsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUVyQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFFekYsSUFBSSxnQkFBZ0IsSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUM7WUFBRSxPQUFPLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUUzRSxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDMUIsQ0FBQzswSEFUVyxZQUFZO3dIQUFaLFlBQVk7OzJGQUFaLFlBQVk7a0JBSnhCLElBQUk7bUJBQUM7b0JBQ0wsSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLFVBQVUsRUFBRSxJQUFJO2lCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIHR5cGUgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5jb25zdCB0b0luaXRpYWwgPVxuXHQoY2FwaXRhbGl6ZSA9IHRydWUpID0+XG5cdCh3b3JkOiBzdHJpbmcpID0+IHtcblx0XHRjb25zdCBpbml0aWFsID0gd29yZC5jaGFyQXQoMCk7XG5cdFx0cmV0dXJuIGNhcGl0YWxpemUgPyBpbml0aWFsLnRvTG9jYWxlVXBwZXJDYXNlKCkgOiBpbml0aWFsO1xuXHR9O1xuXG5jb25zdCBmaXJzdEFuZExhc3QgPSAoaW5pdGlhbHM6IHN0cmluZ1tdKSA9PiBgJHtpbml0aWFsc1swXX0ke2luaXRpYWxzW2luaXRpYWxzLmxlbmd0aCAtIDFdfWA7XG5cbkBQaXBlKHtcblx0bmFtZTogJ2luaXRpYWxzJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgSW5pdGlhbHNQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cdHRyYW5zZm9ybShuYW1lOiBzdHJpbmcsIGNhcGl0YWxpemUgPSB0cnVlLCBmaXJzdEFuZExhc3RPbmx5ID0gdHJ1ZSwgZGVsaW1pdGVyID0gJyAnKTogc3RyaW5nIHtcblx0XHRpZiAoIW5hbWUpIHJldHVybiAnJztcblxuXHRcdGNvbnN0IGluaXRpYWxzID0gbmFtZS50cmltKCkuc3BsaXQoZGVsaW1pdGVyKS5maWx0ZXIoQm9vbGVhbikubWFwKHRvSW5pdGlhbChjYXBpdGFsaXplKSk7XG5cblx0XHRpZiAoZmlyc3RBbmRMYXN0T25seSAmJiBpbml0aWFscy5sZW5ndGggPiAxKSByZXR1cm4gZmlyc3RBbmRMYXN0KGluaXRpYWxzKTtcblxuXHRcdHJldHVybiBpbml0aWFscy5qb2luKCcnKTtcblx0fVxufVxuIl19
@@ -1,12 +0,0 @@
1
- const isShortHand = (hex) => hex.length === 3;
2
- const cleanup = (hex) => {
3
- const noHash = hex.replace('#', '').trim().toLowerCase();
4
- if (!isShortHand(noHash))
5
- return noHash;
6
- return noHash
7
- .split('')
8
- .map((char) => char + char)
9
- .join('');
10
- };
11
- export const isBright = (hex) => Number.parseInt(cleanup(hex), 16) > 0xffffff / 1.25;
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtYnJpZ2h0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9hdmF0YXIvc3JjL2xpYi91dGlsL2lzLWJyaWdodC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFdBQVcsR0FBRyxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7QUFFdEQsTUFBTSxPQUFPLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRTtJQUMvQixNQUFNLE1BQU0sR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUV6RCxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQztRQUFFLE9BQU8sTUFBTSxDQUFDO0lBRXhDLE9BQU8sTUFBTTtTQUNYLEtBQUssQ0FBQyxFQUFFLENBQUM7U0FDVCxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7U0FDMUIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ1osQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsR0FBRyxRQUFRLEdBQUcsSUFBSSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgaXNTaG9ydEhhbmQgPSAoaGV4OiBzdHJpbmcpID0+IGhleC5sZW5ndGggPT09IDM7XG5cbmNvbnN0IGNsZWFudXAgPSAoaGV4OiBzdHJpbmcpID0+IHtcblx0Y29uc3Qgbm9IYXNoID0gaGV4LnJlcGxhY2UoJyMnLCAnJykudHJpbSgpLnRvTG93ZXJDYXNlKCk7XG5cblx0aWYgKCFpc1Nob3J0SGFuZChub0hhc2gpKSByZXR1cm4gbm9IYXNoO1xuXG5cdHJldHVybiBub0hhc2hcblx0XHQuc3BsaXQoJycpXG5cdFx0Lm1hcCgoY2hhcikgPT4gY2hhciArIGNoYXIpXG5cdFx0LmpvaW4oJycpO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzQnJpZ2h0ID0gKGhleDogc3RyaW5nKSA9PiBOdW1iZXIucGFyc2VJbnQoY2xlYW51cChoZXgpLCAxNikgPiAweGZmZmZmZiAvIDEuMjU7XG4iXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhcnRhbi1uZy1icmFpbi1hdmF0YXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2F2YXRhci9zcmMvc3BhcnRhbi1uZy1icmFpbi1hdmF0YXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -1,62 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { BrnCalendarCellButtonDirective } from './lib/brn-calendar-cell-button.directive';
3
- import { BrnCalendarCellDirective } from './lib/brn-calendar-cell.directive';
4
- import { BrnCalendarGridDirective } from './lib/brn-calendar-grid.directive';
5
- import { BrnCalendarHeaderDirective } from './lib/brn-calendar-header.directive';
6
- import { BrnCalendarNextButtonDirective } from './lib/brn-calendar-next-button.directive';
7
- import { BrnCalendarPreviousButtonDirective } from './lib/brn-calendar-previous-button.directive';
8
- import { BrnCalendarWeekDirective } from './lib/brn-calendar-week.directive';
9
- import { BrnCalendarWeekdayDirective } from './lib/brn-calendar-weekday.directive';
10
- import { BrnCalendarDirective } from './lib/brn-calendar.directive';
11
- import * as i0 from "@angular/core";
12
- export * from './lib/brn-calendar-cell-button.directive';
13
- export * from './lib/brn-calendar-cell.directive';
14
- export * from './lib/brn-calendar-grid.directive';
15
- export * from './lib/brn-calendar-header.directive';
16
- export * from './lib/brn-calendar-next-button.directive';
17
- export * from './lib/brn-calendar-previous-button.directive';
18
- export * from './lib/brn-calendar-week.directive';
19
- export * from './lib/brn-calendar-weekday.directive';
20
- export * from './lib/brn-calendar.directive';
21
- export * from './lib/brn-calendar.token';
22
- export * from './lib/i18n/calendar-i18n';
23
- export const BrnCalendarImports = [
24
- BrnCalendarCellButtonDirective,
25
- BrnCalendarGridDirective,
26
- BrnCalendarHeaderDirective,
27
- BrnCalendarNextButtonDirective,
28
- BrnCalendarPreviousButtonDirective,
29
- BrnCalendarWeekDirective,
30
- BrnCalendarWeekdayDirective,
31
- BrnCalendarDirective,
32
- BrnCalendarCellDirective,
33
- ];
34
- export class BrnCalendarModule {
35
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCalendarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
36
- /** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.5", ngImport: i0, type: BrnCalendarModule, imports: [BrnCalendarCellButtonDirective,
37
- BrnCalendarGridDirective,
38
- BrnCalendarHeaderDirective,
39
- BrnCalendarNextButtonDirective,
40
- BrnCalendarPreviousButtonDirective,
41
- BrnCalendarWeekDirective,
42
- BrnCalendarWeekdayDirective,
43
- BrnCalendarDirective,
44
- BrnCalendarCellDirective], exports: [BrnCalendarCellButtonDirective,
45
- BrnCalendarGridDirective,
46
- BrnCalendarHeaderDirective,
47
- BrnCalendarNextButtonDirective,
48
- BrnCalendarPreviousButtonDirective,
49
- BrnCalendarWeekDirective,
50
- BrnCalendarWeekdayDirective,
51
- BrnCalendarDirective,
52
- BrnCalendarCellDirective] });
53
- /** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCalendarModule });
54
- }
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCalendarModule, decorators: [{
56
- type: NgModule,
57
- args: [{
58
- imports: [...BrnCalendarImports],
59
- exports: [...BrnCalendarImports],
60
- }]
61
- }] });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2NhbGVuZGFyL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFZQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzFGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzFGLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ2xHLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQXJCcEUsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDBCQUEwQixDQUFDO0FBYXpDLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHO0lBQ2pDLDhCQUE4QjtJQUM5Qix3QkFBd0I7SUFDeEIsMEJBQTBCO0lBQzFCLDhCQUE4QjtJQUM5QixrQ0FBa0M7SUFDbEMsd0JBQXdCO0lBQ3hCLDJCQUEyQjtJQUMzQixvQkFBb0I7SUFDcEIsd0JBQXdCO0NBQ2YsQ0FBQztBQU1YLE1BQU0sT0FBTyxpQkFBaUI7MEhBQWpCLGlCQUFpQjsySEFBakIsaUJBQWlCLFlBZjdCLDhCQUE4QjtZQUM5Qix3QkFBd0I7WUFDeEIsMEJBQTBCO1lBQzFCLDhCQUE4QjtZQUM5QixrQ0FBa0M7WUFDbEMsd0JBQXdCO1lBQ3hCLDJCQUEyQjtZQUMzQixvQkFBb0I7WUFDcEIsd0JBQXdCLGFBUnhCLDhCQUE4QjtZQUM5Qix3QkFBd0I7WUFDeEIsMEJBQTBCO1lBQzFCLDhCQUE4QjtZQUM5QixrQ0FBa0M7WUFDbEMsd0JBQXdCO1lBQ3hCLDJCQUEyQjtZQUMzQixvQkFBb0I7WUFDcEIsd0JBQXdCOzJIQU9aLGlCQUFpQjs7MkZBQWpCLGlCQUFpQjtrQkFKN0IsUUFBUTttQkFBQztvQkFDVCxPQUFPLEVBQUUsQ0FBQyxHQUFHLGtCQUFrQixDQUFDO29CQUNoQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLGtCQUFrQixDQUFDO2lCQUNoQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2Jybi1jYWxlbmRhci1jZWxsLWJ1dHRvbi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJuLWNhbGVuZGFyLWNlbGwuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jybi1jYWxlbmRhci1ncmlkLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4tY2FsZW5kYXItaGVhZGVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4tY2FsZW5kYXItbmV4dC1idXR0b24uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jybi1jYWxlbmRhci1wcmV2aW91cy1idXR0b24uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jybi1jYWxlbmRhci13ZWVrLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4tY2FsZW5kYXItd2Vla2RheS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJuLWNhbGVuZGFyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4tY2FsZW5kYXIudG9rZW4nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaTE4bi9jYWxlbmRhci1pMThuJztcblxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJybkNhbGVuZGFyQ2VsbEJ1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJy4vbGliL2Jybi1jYWxlbmRhci1jZWxsLWJ1dHRvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQnJuQ2FsZW5kYXJDZWxsRGlyZWN0aXZlIH0gZnJvbSAnLi9saWIvYnJuLWNhbGVuZGFyLWNlbGwuZGlyZWN0aXZlJztcbmltcG9ydCB7IEJybkNhbGVuZGFyR3JpZERpcmVjdGl2ZSB9IGZyb20gJy4vbGliL2Jybi1jYWxlbmRhci1ncmlkLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBCcm5DYWxlbmRhckhlYWRlckRpcmVjdGl2ZSB9IGZyb20gJy4vbGliL2Jybi1jYWxlbmRhci1oZWFkZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IEJybkNhbGVuZGFyTmV4dEJ1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJy4vbGliL2Jybi1jYWxlbmRhci1uZXh0LWJ1dHRvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQnJuQ2FsZW5kYXJQcmV2aW91c0J1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJy4vbGliL2Jybi1jYWxlbmRhci1wcmV2aW91cy1idXR0b24uZGlyZWN0aXZlJztcbmltcG9ydCB7IEJybkNhbGVuZGFyV2Vla0RpcmVjdGl2ZSB9IGZyb20gJy4vbGliL2Jybi1jYWxlbmRhci13ZWVrLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBCcm5DYWxlbmRhcldlZWtkYXlEaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9icm4tY2FsZW5kYXItd2Vla2RheS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQnJuQ2FsZW5kYXJEaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9icm4tY2FsZW5kYXIuZGlyZWN0aXZlJztcblxuZXhwb3J0IGNvbnN0IEJybkNhbGVuZGFySW1wb3J0cyA9IFtcblx0QnJuQ2FsZW5kYXJDZWxsQnV0dG9uRGlyZWN0aXZlLFxuXHRCcm5DYWxlbmRhckdyaWREaXJlY3RpdmUsXG5cdEJybkNhbGVuZGFySGVhZGVyRGlyZWN0aXZlLFxuXHRCcm5DYWxlbmRhck5leHRCdXR0b25EaXJlY3RpdmUsXG5cdEJybkNhbGVuZGFyUHJldmlvdXNCdXR0b25EaXJlY3RpdmUsXG5cdEJybkNhbGVuZGFyV2Vla0RpcmVjdGl2ZSxcblx0QnJuQ2FsZW5kYXJXZWVrZGF5RGlyZWN0aXZlLFxuXHRCcm5DYWxlbmRhckRpcmVjdGl2ZSxcblx0QnJuQ2FsZW5kYXJDZWxsRGlyZWN0aXZlLFxuXSBhcyBjb25zdDtcblxuQE5nTW9kdWxlKHtcblx0aW1wb3J0czogWy4uLkJybkNhbGVuZGFySW1wb3J0c10sXG5cdGV4cG9ydHM6IFsuLi5Ccm5DYWxlbmRhckltcG9ydHNdLFxufSlcbmV4cG9ydCBjbGFzcyBCcm5DYWxlbmRhck1vZHVsZSB7fVxuIl19
@@ -1,160 +0,0 @@
1
- import { Directive, ElementRef, computed, inject, input } from '@angular/core';
2
- import { injectDateAdapter } from '@spartan-ng/brain/date-time';
3
- import { injectBrnCalendar } from './brn-calendar.token';
4
- import * as i0 from "@angular/core";
5
- export class BrnCalendarCellButtonDirective {
6
- /** Access the date adapter */
7
- dateAdapter = injectDateAdapter();
8
- /** Access the calendar component */
9
- calendar = injectBrnCalendar();
10
- /** Access the element ref */
11
- _elementRef = inject(ElementRef);
12
- /** The date this cell represents */
13
- date = input.required();
14
- /** Whether this date is currently selected */
15
- selected = computed(() => {
16
- const selectedDate = this.calendar.date();
17
- return selectedDate && this.dateAdapter.isSameDay(this.date(), selectedDate);
18
- });
19
- /** Whether this date is focusable */
20
- focusable = computed(() => this.dateAdapter.isSameDay(this.calendar.focusedDate(), this.date()));
21
- outside = computed(() => {
22
- const focusedDate = this.calendar.focusedDate();
23
- return !this.dateAdapter.isSameMonth(this.date(), focusedDate);
24
- });
25
- /** Whether this date is today */
26
- today = computed(() => this.dateAdapter.isSameDay(this.date(), this.dateAdapter.now()));
27
- /** Whether this date is disabled */
28
- disabled = computed(() => this.calendar.isDateDisabled(this.date()) || this.calendar.disabled());
29
- /**
30
- * Focus the previous cell.
31
- */
32
- focusPrevious(event) {
33
- event.preventDefault();
34
- event.stopPropagation();
35
- // in rtl, the arrow keys are reversed.
36
- const targetDate = this.dateAdapter.add(this.calendar.focusedDate(), {
37
- days: this.getDirection() === 'rtl' ? 1 : -1,
38
- });
39
- this.calendar.setFocusedDate(targetDate);
40
- }
41
- /**
42
- * Focus the next cell.
43
- */
44
- focusNext(event) {
45
- event.preventDefault();
46
- event.stopPropagation();
47
- const targetDate = this.dateAdapter.add(this.calendar.focusedDate(), {
48
- days: this.getDirection() === 'rtl' ? -1 : 1,
49
- });
50
- this.calendar.setFocusedDate(targetDate);
51
- }
52
- /**
53
- * Focus the above cell.
54
- */
55
- focusAbove(event) {
56
- event.preventDefault();
57
- event.stopPropagation();
58
- this.calendar.setFocusedDate(this.dateAdapter.subtract(this.calendar.focusedDate(), { days: 7 }));
59
- }
60
- /**
61
- * Focus the below cell.
62
- */
63
- focusBelow(event) {
64
- event.preventDefault();
65
- event.stopPropagation();
66
- this.calendar.setFocusedDate(this.dateAdapter.add(this.calendar.focusedDate(), { days: 7 }));
67
- }
68
- /**
69
- * Focus the first date of the month.
70
- */
71
- focusFirst(event) {
72
- event.preventDefault();
73
- event.stopPropagation();
74
- this.calendar.setFocusedDate(this.dateAdapter.startOfMonth(this.calendar.focusedDate()));
75
- }
76
- /**
77
- * Focus the last date of the month.
78
- */
79
- focusLast(event) {
80
- event.preventDefault();
81
- event.stopPropagation();
82
- this.calendar.setFocusedDate(this.dateAdapter.endOfMonth(this.calendar.focusedDate()));
83
- }
84
- /**
85
- * Focus the same date in the previous month.
86
- */
87
- focusPreviousMonth(event) {
88
- event.preventDefault();
89
- event.stopPropagation();
90
- const date = this.dateAdapter.getDate(this.calendar.focusedDate());
91
- let previousMonthTarget = this.dateAdapter.startOfMonth(this.calendar.focusedDate());
92
- previousMonthTarget = this.dateAdapter.subtract(previousMonthTarget, { months: 1 });
93
- const lastDay = this.dateAdapter.endOfMonth(previousMonthTarget);
94
- // if we are on a date that does not exist in the previous month, we should focus the last day of the month.
95
- if (date > this.dateAdapter.getDate(lastDay)) {
96
- this.calendar.setFocusedDate(lastDay);
97
- }
98
- else {
99
- this.calendar.setFocusedDate(this.dateAdapter.set(previousMonthTarget, { day: date }));
100
- }
101
- }
102
- /**
103
- * Focus the same date in the next month.
104
- */
105
- focusNextMonth(event) {
106
- event.preventDefault();
107
- event.stopPropagation();
108
- const date = this.dateAdapter.getDate(this.calendar.focusedDate());
109
- let nextMonthTarget = this.dateAdapter.startOfMonth(this.calendar.focusedDate());
110
- nextMonthTarget = this.dateAdapter.add(nextMonthTarget, { months: 1 });
111
- const lastDay = this.dateAdapter.endOfMonth(nextMonthTarget);
112
- // if we are on a date that does not exist in the next month, we should focus the last day of the month.
113
- if (date > this.dateAdapter.getDate(lastDay)) {
114
- this.calendar.setFocusedDate(lastDay);
115
- }
116
- else {
117
- this.calendar.setFocusedDate(this.dateAdapter.set(nextMonthTarget, { day: date }));
118
- }
119
- }
120
- /**
121
- * Get the direction of the element.
122
- */
123
- getDirection() {
124
- return getComputedStyle(this._elementRef.nativeElement).direction === 'rtl' ? 'rtl' : 'ltr';
125
- }
126
- focus() {
127
- this._elementRef.nativeElement.focus();
128
- }
129
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCalendarCellButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
130
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.5", type: BrnCalendarCellButtonDirective, isStandalone: true, selector: "button[brnCalendarCellButton]", inputs: { date: { classPropertyName: "date", publicName: "date", isSignal: true, isRequired: true, transformFunction: null } }, host: { attributes: { "role": "gridcell", "type": "button" }, listeners: { "click": "calendar.selectDate(date())", "keydown.arrowLeft": "focusPrevious($event)", "keydown.arrowRight": "focusNext($event)", "keydown.arrowUp": "focusAbove($event)", "keydown.arrowDown": "focusBelow($event)", "keydown.home": "focusFirst($event)", "keydown.end": "focusLast($event)", "keydown.pageUp": "focusPreviousMonth($event)", "keydown.pageDown": "focusNextMonth($event)" }, properties: { "tabindex": "focusable() ? 0 : -1", "attr.data-outside": "outside() ? '' : null", "attr.data-today": "today() && !selected() ? '' : null", "attr.data-selected": "selected() ? '' : null", "attr.data-disabled": "disabled() ? '' : null", "attr.aria-selected": "selected() ? 'true' : null", "attr.aria-disabled": "disabled() ? 'true' : null", "disabled": "disabled()" } }, ngImport: i0 });
131
- }
132
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCalendarCellButtonDirective, decorators: [{
133
- type: Directive,
134
- args: [{
135
- selector: 'button[brnCalendarCellButton]',
136
- standalone: true,
137
- host: {
138
- role: 'gridcell',
139
- '[tabindex]': 'focusable() ? 0 : -1',
140
- type: 'button',
141
- '[attr.data-outside]': "outside() ? '' : null",
142
- '[attr.data-today]': "today() && !selected() ? '' : null",
143
- '[attr.data-selected]': "selected() ? '' : null",
144
- '[attr.data-disabled]': "disabled() ? '' : null",
145
- '[attr.aria-selected]': "selected() ? 'true' : null",
146
- '[attr.aria-disabled]': "disabled() ? 'true' : null",
147
- '[disabled]': 'disabled()',
148
- '(click)': 'calendar.selectDate(date())',
149
- '(keydown.arrowLeft)': 'focusPrevious($event)',
150
- '(keydown.arrowRight)': 'focusNext($event)',
151
- '(keydown.arrowUp)': 'focusAbove($event)',
152
- '(keydown.arrowDown)': 'focusBelow($event)',
153
- '(keydown.home)': 'focusFirst($event)',
154
- '(keydown.end)': 'focusLast($event)',
155
- '(keydown.pageUp)': 'focusPreviousMonth($event)',
156
- '(keydown.pageDown)': 'focusNextMonth($event)',
157
- },
158
- }]
159
- }] });
160
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWNhbGVuZGFyLWNlbGwtYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vY2FsZW5kYXIvc3JjL2xpYi9icm4tY2FsZW5kYXItY2VsbC1idXR0b24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQTJCekQsTUFBTSxPQUFPLDhCQUE4QjtJQUMxQyw4QkFBOEI7SUFDWCxXQUFXLEdBQUcsaUJBQWlCLEVBQUssQ0FBQztJQUV4RCxvQ0FBb0M7SUFDakIsUUFBUSxHQUFHLGlCQUFpQixFQUFLLENBQUM7SUFFckQsNkJBQTZCO0lBQ1osV0FBVyxHQUFHLE1BQU0sQ0FBZ0MsVUFBVSxDQUFDLENBQUM7SUFFakYsb0NBQW9DO0lBQ3BCLElBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFLLENBQUM7SUFFM0MsOENBQThDO0lBQzlCLFFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ3hDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDMUMsT0FBTyxZQUFZLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQzlFLENBQUMsQ0FBQyxDQUFDO0lBRUgscUNBQXFDO0lBQ3JCLFNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFD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ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgY29tcHV0ZWQsIGluamVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdERhdGVBZGFwdGVyIH0gZnJvbSAnQHNwYXJ0YW4tbmcvYnJhaW4vZGF0ZS10aW1lJztcbmltcG9ydCB7IGluamVjdEJybkNhbGVuZGFyIH0gZnJvbSAnLi9icm4tY2FsZW5kYXIudG9rZW4nO1xuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdidXR0b25bYnJuQ2FsZW5kYXJDZWxsQnV0dG9uXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGhvc3Q6IHtcblx0XHRyb2xlOiAnZ3JpZGNlbGwnLFxuXHRcdCdbdGFiaW5kZXhdJzogJ2ZvY3VzYWJsZSgpID8gMCA6IC0xJyxcblx0XHR0eXBlOiAnYnV0dG9uJyxcblx0XHQnW2F0dHIuZGF0YS1vdXRzaWRlXSc6IFwib3V0c2lkZSgpID8gJycgOiBudWxsXCIsXG5cdFx0J1thdHRyLmRhdGEtdG9kYXldJzogXCJ0b2RheSgpICYmICFzZWxlY3RlZCgpID8gJycgOiBudWxsXCIsXG5cdFx0J1thdHRyLmRhdGEtc2VsZWN0ZWRdJzogXCJzZWxlY3RlZCgpID8gJycgOiBudWxsXCIsXG5cdFx0J1thdHRyLmRhdGEtZGlzYWJsZWRdJzogXCJkaXNhYmxlZCgpID8gJycgOiBudWxsXCIsXG5cdFx0J1thdHRyLmFyaWEtc2VsZWN0ZWRdJzogXCJzZWxlY3RlZCgpID8gJ3RydWUnIDogbnVsbFwiLFxuXHRcdCdbYXR0ci5hcmlhLWRpc2FibGVkXSc6IFwiZGlzYWJsZWQoKSA/ICd0cnVlJyA6IG51bGxcIixcblx0XHQnW2Rpc2FibGVkXSc6ICdkaXNhYmxlZCgpJyxcblx0XHQnKGNsaWNrKSc6ICdjYWxlbmRhci5zZWxlY3REYXRlKGRhdGUoKSknLFxuXHRcdCcoa2V5ZG93bi5hcnJvd0xlZnQpJzogJ2ZvY3VzUHJldmlvdXMoJGV2ZW50KScsXG5cdFx0JyhrZXlkb3duLmFycm93UmlnaHQpJzogJ2ZvY3VzTmV4dCgkZXZlbnQpJyxcblx0XHQnKGtleWRvd24uYXJyb3dVcCknOiAnZm9jdXNBYm92ZSgkZXZlbnQpJyxcblx0XHQnKGtleWRvd24uYXJyb3dEb3duKSc6ICdmb2N1c0JlbG93KCRldmVudCknLFxuXHRcdCcoa2V5ZG93bi5ob21lKSc6ICdmb2N1c0ZpcnN0KCRldmVudCknLFxuXHRcdCcoa2V5ZG93bi5lbmQpJzogJ2ZvY3VzTGFzdCgkZXZlbnQpJyxcblx0XHQnKGtleWRvd24ucGFnZVVwKSc6ICdmb2N1c1ByZXZpb3VzTW9udGgoJGV2ZW50KScsXG5cdFx0JyhrZXlkb3duLnBhZ2VEb3duKSc6ICdmb2N1c05leHRNb250aCgkZXZlbnQpJyxcblx0fSxcbn0pXG5leHBvcnQgY2xhc3MgQnJuQ2FsZW5kYXJDZWxsQnV0dG9uRGlyZWN0aXZlPFQ+IHtcblx0LyoqIEFjY2VzcyB0aGUgZGF0ZSBhZGFwdGVyICovXG5cdHByb3RlY3RlZCByZWFkb25seSBkYXRlQWRhcHRlciA9IGluamVjdERhdGVBZGFwdGVyPFQ+KCk7XG5cblx0LyoqIEFjY2VzcyB0aGUgY2FsZW5kYXIgY29tcG9uZW50ICovXG5cdHByb3RlY3RlZCByZWFkb25seSBjYWxlbmRhciA9IGluamVjdEJybkNhbGVuZGFyPFQ+KCk7XG5cblx0LyoqIEFjY2VzcyB0aGUgZWxlbWVudCByZWYgKi9cblx0cHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50Pj4oRWxlbWVudFJlZik7XG5cblx0LyoqIFRoZSBkYXRlIHRoaXMgY2VsbCByZXByZXNlbnRzICovXG5cdHB1YmxpYyByZWFkb25seSBkYXRlID0gaW5wdXQucmVxdWlyZWQ8VD4oKTtcblxuXHQvKiogV2hldGhlciB0aGlzIGRhdGUgaXMgY3VycmVudGx5IHNlbGVjdGVkICovXG5cdHB1YmxpYyByZWFkb25seSBzZWxlY3RlZCA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRjb25zdCBzZWxlY3RlZERhdGUgPSB0aGlzLmNhbGVuZGFyLmRhdGUoKTtcblx0XHRyZXR1cm4gc2VsZWN0ZWREYXRlICYmIHRoaXMuZGF0ZUFkYXB0ZXIuaXNTYW1lRGF5KHRoaXMuZGF0ZSgpLCBzZWxlY3RlZERhdGUpO1xuXHR9KTtcblxuXHQvKiogV2hldGhlciB0aGlzIGRhdGUgaXMgZm9jdXNhYmxlICovXG5cdHB1YmxpYyByZWFkb25seSBmb2N1c2FibGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmRhdGVBZGFwdGVyLmlzU2FtZURheSh0aGlzLmNhbGVuZGFyLmZvY3VzZWREYXRlKCksIHRoaXMuZGF0ZSgpKSk7XG5cblx0cHVibGljIHJlYWRvbmx5IG91dHNpZGUgPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0Y29uc3QgZm9jdXNlZERhdGUgPSB0aGlzLmNhbGVuZGFyLmZvY3VzZWREYXRlKCk7XG5cdFx0cmV0dXJuICF0aGlzLmRhdGVBZGFwdGVyLmlzU2FtZU1vbnRoKHRoaXMuZGF0ZSgpLCBmb2N1c2VkRGF0ZSk7XG5cdH0pO1xuXG5cdC8qKiBXaGV0aGVyIHRoaXMgZGF0ZSBpcyB0b2RheSAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgdG9kYXkgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmRhdGVBZGFwdGVyLmlzU2FtZURheSh0aGlzLmRhdGUoKSwgdGhpcy5kYXRlQWRhcHRlci5ub3coKSkpO1xuXG5cdC8qKiBXaGV0aGVyIHRoaXMgZGF0ZSBpcyBkaXNhYmxlZCAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgZGlzYWJsZWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLmNhbGVuZGFyLmlzRGF0ZURpc2FibGVkKHRoaXMuZGF0ZSgpKSB8fCB0aGlzLmNhbGVuZGFyLmRpc2FibGVkKCkpO1xuXG5cdC8qKlxuXHQgKiBGb2N1cyB0aGUgcHJldmlvdXMgY2VsbC5cblx0ICovXG5cdHByb3RlY3RlZCBmb2N1c1ByZXZpb3VzKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuXHRcdGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cdFx0ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cblx0XHQvLyBpbiBydGwsIHRoZSBhcnJvdyBrZXlzIGFyZSByZXZlcnNlZC5cblx0XHRjb25zdCB0YXJnZXREYXRlID0gdGhpcy5kYXRlQWRhcHRlci5hZGQodGhpcy5jYWxlbmRhci5mb2N1c2VkRGF0ZSgpLCB7XG5cdFx0XHRkYXlzOiB0aGlzLmdldERpcmVjdGlvbigpID09PSAncnRsJyA/IDEgOiAtMSxcblx0XHR9KTtcblxuXHRcdHRoaXMuY2FsZW5kYXIuc2V0Rm9jdXNlZERhdGUodGFyZ2V0RGF0ZSk7XG5cdH1cblxuXHQvKipcblx0ICogRm9jdXMgdGhlIG5leHQgY2VsbC5cblx0ICovXG5cdHByb3RlY3RlZCBmb2N1c05leHQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG5cdFx0ZXZlbnQucHJldmVudERlZmF1bHQoKTtcblx0XHRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuXHRcdGNvbnN0IHRhcmdldERhdGUgPSB0aGlzLmRhdGVBZGFwdGVyLmFkZCh0aGlzLmNhbGVuZGFyLmZvY3VzZWREYXRlKCksIHtcblx0XHRcdGRheXM6IHRoaXMuZ2V0RGlyZWN0aW9uKCkgPT09ICdydGwnID8gLTEgOiAxLFxuXHRcdH0pO1xuXG5cdFx0dGhpcy5jYWxlbmRhci5zZXRGb2N1c2VkRGF0ZSh0YXJnZXREYXRlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBGb2N1cyB0aGUgYWJvdmUgY2VsbC5cblx0ICovXG5cdHByb3RlY3RlZCBmb2N1c0Fib3ZlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuXHRcdGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cdFx0ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cdFx0dGhpcy5jYWxlbmRhci5zZXRGb2N1c2VkRGF0ZSh0aGlzLmRhdGVBZGFwdGVyLnN1YnRyYWN0KHRoaXMuY2FsZW5kYXIuZm9jdXNlZERhdGUoKSwgeyBkYXlzOiA3IH0pKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBGb2N1cyB0aGUgYmVsb3cgY2VsbC5cblx0ICovXG5cdHByb3RlY3RlZCBmb2N1c0JlbG93KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuXHRcdGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cdFx0ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cdFx0dGhpcy5jYWxlbmRhci5zZXRGb2N1c2VkRGF0ZSh0aGlzLmRhdGVBZGFwdGVyLmFkZCh0aGlzLmNhbGVuZGFyLmZvY3VzZWREYXRlKCksIHsgZGF5czogNyB9KSk7XG5cdH1cblxuXHQvKipcblx0ICogRm9jdXMgdGhlIGZpcnN0IGRhdGUgb2YgdGhlIG1vbnRoLlxuXHQgKi9cblx0cHJvdGVjdGVkIGZvY3VzRmlyc3QoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG5cdFx0ZXZlbnQucHJldmVudERlZmF1bHQoKTtcblx0XHRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblx0XHR0aGlzLmNhbGVuZGFyLnNldEZvY3VzZWREYXRlKHRoaXMuZGF0ZUFkYXB0ZXIuc3RhcnRPZk1vbnRoKHRoaXMuY2FsZW5kYXIuZm9jdXNlZERhdGUoKSkpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEZvY3VzIHRoZSBsYXN0IGRhdGUgb2YgdGhlIG1vbnRoLlxuXHQgKi9cblx0cHJvdGVjdGVkIGZvY3VzTGFzdChldmVudDogRXZlbnQpOiB2b2lkIHtcblx0XHRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXHRcdGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXHRcdHRoaXMuY2FsZW5kYXIuc2V0Rm9jdXNlZERhdGUodGhpcy5kYXRlQWRhcHRlci5lbmRPZk1vbnRoKHRoaXMuY2FsZW5kYXIuZm9jdXNlZERhdGUoKSkpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEZvY3VzIHRoZSBzYW1lIGRhdGUgaW4gdGhlIHByZXZpb3VzIG1vbnRoLlxuXHQgKi9cblx0cHJvdGVjdGVkIGZvY3VzUHJldmlvdXNNb250aChldmVudDogRXZlbnQpOiB2b2lkIHtcblx0XHRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXHRcdGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG5cdFx0Y29uc3QgZGF0ZSA9IHRoaXMuZGF0ZUFkYXB0ZXIuZ2V0RGF0ZSh0aGlzLmNhbGVuZGFyLmZvY3VzZWREYXRlKCkpO1xuXG5cdFx0bGV0IHByZXZpb3VzTW9udGhUYXJnZXQgPSB0aGlzLmRhdGVBZGFwdGVyLnN0YXJ0T2ZNb250aCh0aGlzLmNhbGVuZGFyLmZvY3VzZWREYXRlKCkpO1xuXHRcdHByZXZpb3VzTW9udGhUYXJnZXQgPSB0aGlzLmRhdGVBZGFwdGVyLnN1YnRyYWN0KHByZXZpb3VzTW9udGhUYXJnZXQsIHsgbW9udGhzOiAxIH0pO1xuXG5cdFx0Y29uc3QgbGFzdERheSA9IHRoaXMuZGF0ZUFkYXB0ZXIuZW5kT2ZNb250aChwcmV2aW91c01vbnRoVGFyZ2V0KTtcblxuXHRcdC8vIGlmIHdlIGFyZSBvbiBhIGRhdGUgdGhhdCBkb2VzIG5vdCBleGlzdCBpbiB0aGUgcHJldmlvdXMgbW9udGgsIHdlIHNob3VsZCBmb2N1cyB0aGUgbGFzdCBkYXkgb2YgdGhlIG1vbnRoLlxuXHRcdGlmIChkYXRlID4gdGhpcy5kYXRlQWRhcHRlci5nZXREYXRlKGxhc3REYXkpKSB7XG5cdFx0XHR0aGlzLmNhbGVuZGFyLnNldEZvY3VzZWREYXRlKGxhc3REYXkpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLmNhbGVuZGFyLnNldEZvY3VzZWREYXRlKHRoaXMuZGF0ZUFkYXB0ZXIuc2V0KHByZXZpb3VzTW9udGhUYXJnZXQsIHsgZGF5OiBkYXRlIH0pKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogRm9jdXMgdGhlIHNhbWUgZGF0ZSBpbiB0aGUgbmV4dCBtb250aC5cblx0ICovXG5cdHByb3RlY3RlZCBmb2N1c05leHRNb250aChldmVudDogRXZlbnQpOiB2b2lkIHtcblx0XHRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXHRcdGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG5cdFx0Y29uc3QgZGF0ZSA9IHRoaXMuZGF0ZUFkYXB0ZXIuZ2V0RGF0ZSh0aGlzLmNhbGVuZGFyLmZvY3VzZWREYXRlKCkpO1xuXG5cdFx0bGV0IG5leHRNb250aFRhcmdldCA9IHRoaXMuZGF0ZUFkYXB0ZXIuc3RhcnRPZk1vbnRoKHRoaXMuY2FsZW5kYXIuZm9jdXNlZERhdGUoKSk7XG5cdFx0bmV4dE1vbnRoVGFyZ2V0ID0gdGhpcy5kYXRlQWRhcHRlci5hZGQobmV4dE1vbnRoVGFyZ2V0LCB7IG1vbnRoczogMSB9KTtcblxuXHRcdGNvbnN0IGxhc3REYXkgPSB0aGlzLmRhdGVBZGFwdGVyLmVuZE9mTW9udGgobmV4dE1vbnRoVGFyZ2V0KTtcblxuXHRcdC8vIGlmIHdlIGFyZSBvbiBhIGRhdGUgdGhhdCBkb2VzIG5vdCBleGlzdCBpbiB0aGUgbmV4dCBtb250aCwgd2Ugc2hvdWxkIGZvY3VzIHRoZSBsYXN0IGRheSBvZiB0aGUgbW9udGguXG5cdFx0aWYgKGRhdGUgPiB0aGlzLmRhdGVBZGFwdGVyLmdldERhdGUobGFzdERheSkpIHtcblx0XHRcdHRoaXMuY2FsZW5kYXIuc2V0Rm9jdXNlZERhdGUobGFzdERheSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuY2FsZW5kYXIuc2V0Rm9jdXNlZERhdGUodGhpcy5kYXRlQWRhcHRlci5zZXQobmV4dE1vbnRoVGFyZ2V0LCB7IGRheTogZGF0ZSB9KSk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIEdldCB0aGUgZGlyZWN0aW9uIG9mIHRoZSBlbGVtZW50LlxuXHQgKi9cblx0cHJpdmF0ZSBnZXREaXJlY3Rpb24oKTogJ2x0cicgfCAncnRsJyB7XG5cdFx0cmV0dXJuIGdldENvbXB1dGVkU3R5bGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KS5kaXJlY3Rpb24gPT09ICdydGwnID8gJ3J0bCcgOiAnbHRyJztcblx0fVxuXG5cdGZvY3VzKCk6IHZvaWQge1xuXHRcdHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuXHR9XG59XG4iXX0=
@@ -1,17 +0,0 @@
1
- import { Directive } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class BrnCalendarCellDirective {
4
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCalendarCellDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
5
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: BrnCalendarCellDirective, isStandalone: true, selector: "[brnCalendarCell]", host: { attributes: { "role": "presentation" } }, ngImport: i0 });
6
- }
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCalendarCellDirective, decorators: [{
8
- type: Directive,
9
- args: [{
10
- selector: '[brnCalendarCell]',
11
- standalone: true,
12
- host: {
13
- role: 'presentation',
14
- },
15
- }]
16
- }] });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWNhbGVuZGFyLWNlbGwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9jYWxlbmRhci9zcmMvbGliL2Jybi1jYWxlbmRhci1jZWxsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVMxQyxNQUFNLE9BQU8sd0JBQXdCOzBIQUF4Qix3QkFBd0I7OEdBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFQcEMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNMLElBQUksRUFBRSxjQUFjO3FCQUNwQjtpQkFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdbYnJuQ2FsZW5kYXJDZWxsXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGhvc3Q6IHtcblx0XHRyb2xlOiAncHJlc2VudGF0aW9uJyxcblx0fSxcbn0pXG5leHBvcnQgY2xhc3MgQnJuQ2FsZW5kYXJDZWxsRGlyZWN0aXZlIHt9XG4iXX0=
@@ -1,21 +0,0 @@
1
- import { Directive } from '@angular/core';
2
- import { injectBrnCalendar } from './brn-calendar.token';
3
- import * as i0 from "@angular/core";
4
- export class BrnCalendarGridDirective {
5
- /** Access the calendar component */
6
- calendar = injectBrnCalendar();
7
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCalendarGridDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
8
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: BrnCalendarGridDirective, isStandalone: true, selector: "[brnCalendarGrid]", host: { attributes: { "role": "grid" }, properties: { "attr.aria-labelledby": "calendar.header()?.id()" } }, ngImport: i0 });
9
- }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCalendarGridDirective, decorators: [{
11
- type: Directive,
12
- args: [{
13
- selector: '[brnCalendarGrid]',
14
- standalone: true,
15
- host: {
16
- role: 'grid',
17
- '[attr.aria-labelledby]': 'calendar.header()?.id()',
18
- },
19
- }]
20
- }] });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWNhbGVuZGFyLWdyaWQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9jYWxlbmRhci9zcmMvbGliL2Jybi1jYWxlbmRhci1ncmlkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQVV6RCxNQUFNLE9BQU8sd0JBQXdCO0lBQ3BDLG9DQUFvQztJQUNqQixRQUFRLEdBQUcsaUJBQWlCLEVBQUssQ0FBQzswSEFGekMsd0JBQXdCOzhHQUF4Qix3QkFBd0I7OzJGQUF4Qix3QkFBd0I7a0JBUnBDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDTCxJQUFJLEVBQUUsTUFBTTt3QkFDWix3QkFBd0IsRUFBRSx5QkFBeUI7cUJBQ25EO2lCQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBpbmplY3RCcm5DYWxlbmRhciB9IGZyb20gJy4vYnJuLWNhbGVuZGFyLnRva2VuJztcblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnW2JybkNhbGVuZGFyR3JpZF0nLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRob3N0OiB7XG5cdFx0cm9sZTogJ2dyaWQnLFxuXHRcdCdbYXR0ci5hcmlhLWxhYmVsbGVkYnldJzogJ2NhbGVuZGFyLmhlYWRlcigpPy5pZCgpJyxcblx0fSxcbn0pXG5leHBvcnQgY2xhc3MgQnJuQ2FsZW5kYXJHcmlkRGlyZWN0aXZlPFQ+IHtcblx0LyoqIEFjY2VzcyB0aGUgY2FsZW5kYXIgY29tcG9uZW50ICovXG5cdHByb3RlY3RlZCByZWFkb25seSBjYWxlbmRhciA9IGluamVjdEJybkNhbGVuZGFyPFQ+KCk7XG59XG4iXX0=
@@ -1,22 +0,0 @@
1
- import { Directive, input } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- let uniqueId = 0;
4
- export class BrnCalendarHeaderDirective {
5
- /** The unique id for the header */
6
- id = input(`brn-calendar-header-${uniqueId++}`);
7
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCalendarHeaderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
8
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.5", type: BrnCalendarHeaderDirective, isStandalone: true, selector: "[brnCalendarHeader]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "aria-live": "polite", "role": "presentation" }, properties: { "id": "id()" } }, ngImport: i0 });
9
- }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCalendarHeaderDirective, decorators: [{
11
- type: Directive,
12
- args: [{
13
- selector: '[brnCalendarHeader]',
14
- standalone: true,
15
- host: {
16
- '[id]': 'id()',
17
- 'aria-live': 'polite',
18
- role: 'presentation',
19
- },
20
- }]
21
- }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWNhbGVuZGFyLWhlYWRlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2NhbGVuZGFyL3NyYy9saWIvYnJuLWNhbGVuZGFyLWhlYWRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRWpELElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztBQVdqQixNQUFNLE9BQU8sMEJBQTBCO0lBQ3RDLG1DQUFtQztJQUNuQixFQUFFLEdBQUcsS0FBSyxDQUFDLHVCQUF1QixRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7MEhBRnBELDBCQUEwQjs4R0FBMUIsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQVR0QyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0wsTUFBTSxFQUFFLE1BQU07d0JBQ2QsV0FBVyxFQUFFLFFBQVE7d0JBQ3JCLElBQUksRUFBRSxjQUFjO3FCQUNwQjtpQkFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxubGV0IHVuaXF1ZUlkID0gMDtcblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnW2JybkNhbGVuZGFySGVhZGVyXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGhvc3Q6IHtcblx0XHQnW2lkXSc6ICdpZCgpJyxcblx0XHQnYXJpYS1saXZlJzogJ3BvbGl0ZScsXG5cdFx0cm9sZTogJ3ByZXNlbnRhdGlvbicsXG5cdH0sXG59KVxuZXhwb3J0IGNsYXNzIEJybkNhbGVuZGFySGVhZGVyRGlyZWN0aXZlIHtcblx0LyoqIFRoZSB1bmlxdWUgaWQgZm9yIHRoZSBoZWFkZXIgKi9cblx0cHVibGljIHJlYWRvbmx5IGlkID0gaW5wdXQoYGJybi1jYWxlbmRhci1oZWFkZXItJHt1bmlxdWVJZCsrfWApO1xufVxuIl19
@@ -1,42 +0,0 @@
1
- import { Directive, HostListener } from '@angular/core';
2
- import { injectDateAdapter } from '@spartan-ng/brain/date-time';
3
- import { injectBrnCalendar } from './brn-calendar.token';
4
- import { injectBrnCalendarI18n } from './i18n/calendar-i18n';
5
- import * as i0 from "@angular/core";
6
- export class BrnCalendarNextButtonDirective {
7
- /** Access the calendar */
8
- _calendar = injectBrnCalendar();
9
- /** Access the date adapter */
10
- _dateAdapter = injectDateAdapter();
11
- /** Access the calendar i18n */
12
- i18n = injectBrnCalendarI18n();
13
- /** Focus the previous month */
14
- focusPreviousMonth() {
15
- const targetDate = this._dateAdapter.add(this._calendar.state().focusedDate(), { months: 1 });
16
- // if the date is disabled, but there are available dates in the month, focus the last day of the month.
17
- const possibleDate = this._calendar.constrainDate(targetDate);
18
- if (this._dateAdapter.isSameMonth(possibleDate, targetDate)) {
19
- // if this date is within the same month, then focus it
20
- this._calendar.state().focusedDate.set(possibleDate);
21
- return;
22
- }
23
- this._calendar.state().focusedDate.set(targetDate);
24
- }
25
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCalendarNextButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
26
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: BrnCalendarNextButtonDirective, isStandalone: true, selector: "[brnCalendarNextButton]", host: { attributes: { "type": "button" }, listeners: { "click": "focusPreviousMonth()" }, properties: { "attr.aria-label": "i18n.labelNext()" } }, ngImport: i0 });
27
- }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCalendarNextButtonDirective, decorators: [{
29
- type: Directive,
30
- args: [{
31
- selector: '[brnCalendarNextButton]',
32
- standalone: true,
33
- host: {
34
- type: 'button',
35
- '[attr.aria-label]': 'i18n.labelNext()',
36
- },
37
- }]
38
- }], propDecorators: { focusPreviousMonth: [{
39
- type: HostListener,
40
- args: ['click']
41
- }] } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWNhbGVuZGFyLW5leHQtYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vY2FsZW5kYXIvc3JjL2xpYi9icm4tY2FsZW5kYXItbmV4dC1idXR0b24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQVU3RCxNQUFNLE9BQU8sOEJBQThCO0lBQzFDLDBCQUEwQjtJQUNULFNBQVMsR0FBRyxpQkFBaUIsRUFBRSxDQUFDO0lBRWpELDhCQUE4QjtJQUNiLFlBQVksR0FBRyxpQkFBaUIsRUFBRSxDQUFDO0lBRXBELCtCQUErQjtJQUNaLElBQUksR0FBRyxxQkFBcUIsRUFBRSxDQUFDO0lBRWxELCtCQUErQjtJQUVyQixrQkFBa0I7UUFDM0IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRTlGLHdHQUF3RztRQUN4RyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU5RCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQzdELHVEQUF1RDtZQUN2RCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDckQsT0FBTztRQUNSLENBQUM7UUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDcEQsQ0FBQzswSEF6QlcsOEJBQThCOzhHQUE5Qiw4QkFBOEI7OzJGQUE5Qiw4QkFBOEI7a0JBUjFDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDTCxJQUFJLEVBQUUsUUFBUTt3QkFDZCxtQkFBbUIsRUFBRSxrQkFBa0I7cUJBQ3ZDO2lCQUNEOzhCQWFVLGtCQUFrQjtzQkFEM0IsWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdERhdGVBZGFwdGVyIH0gZnJvbSAnQHNwYXJ0YW4tbmcvYnJhaW4vZGF0ZS10aW1lJztcbmltcG9ydCB7IGluamVjdEJybkNhbGVuZGFyIH0gZnJvbSAnLi9icm4tY2FsZW5kYXIudG9rZW4nO1xuaW1wb3J0IHsgaW5qZWN0QnJuQ2FsZW5kYXJJMThuIH0gZnJvbSAnLi9pMThuL2NhbGVuZGFyLWkxOG4nO1xuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdbYnJuQ2FsZW5kYXJOZXh0QnV0dG9uXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGhvc3Q6IHtcblx0XHR0eXBlOiAnYnV0dG9uJyxcblx0XHQnW2F0dHIuYXJpYS1sYWJlbF0nOiAnaTE4bi5sYWJlbE5leHQoKScsXG5cdH0sXG59KVxuZXhwb3J0IGNsYXNzIEJybkNhbGVuZGFyTmV4dEJ1dHRvbkRpcmVjdGl2ZSB7XG5cdC8qKiBBY2Nlc3MgdGhlIGNhbGVuZGFyICovXG5cdHByaXZhdGUgcmVhZG9ubHkgX2NhbGVuZGFyID0gaW5qZWN0QnJuQ2FsZW5kYXIoKTtcblxuXHQvKiogQWNjZXNzIHRoZSBkYXRlIGFkYXB0ZXIgKi9cblx0cHJpdmF0ZSByZWFkb25seSBfZGF0ZUFkYXB0ZXIgPSBpbmplY3REYXRlQWRhcHRlcigpO1xuXG5cdC8qKiBBY2Nlc3MgdGhlIGNhbGVuZGFyIGkxOG4gKi9cblx0cHJvdGVjdGVkIHJlYWRvbmx5IGkxOG4gPSBpbmplY3RCcm5DYWxlbmRhckkxOG4oKTtcblxuXHQvKiogRm9jdXMgdGhlIHByZXZpb3VzIG1vbnRoICovXG5cdEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcblx0cHJvdGVjdGVkIGZvY3VzUHJldmlvdXNNb250aCgpOiB2b2lkIHtcblx0XHRjb25zdCB0YXJnZXREYXRlID0gdGhpcy5fZGF0ZUFkYXB0ZXIuYWRkKHRoaXMuX2NhbGVuZGFyLnN0YXRlKCkuZm9jdXNlZERhdGUoKSwgeyBtb250aHM6IDEgfSk7XG5cblx0XHQvLyBpZiB0aGUgZGF0ZSBpcyBkaXNhYmxlZCwgYnV0IHRoZXJlIGFyZSBhdmFpbGFibGUgZGF0ZXMgaW4gdGhlIG1vbnRoLCBmb2N1cyB0aGUgbGFzdCBkYXkgb2YgdGhlIG1vbnRoLlxuXHRcdGNvbnN0IHBvc3NpYmxlRGF0ZSA9IHRoaXMuX2NhbGVuZGFyLmNvbnN0cmFpbkRhdGUodGFyZ2V0RGF0ZSk7XG5cblx0XHRpZiAodGhpcy5fZGF0ZUFkYXB0ZXIuaXNTYW1lTW9udGgocG9zc2libGVEYXRlLCB0YXJnZXREYXRlKSkge1xuXHRcdFx0Ly8gaWYgdGhpcyBkYXRlIGlzIHdpdGhpbiB0aGUgc2FtZSBtb250aCwgdGhlbiBmb2N1cyBpdFxuXHRcdFx0dGhpcy5fY2FsZW5kYXIuc3RhdGUoKS5mb2N1c2VkRGF0ZS5zZXQocG9zc2libGVEYXRlKTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHR0aGlzLl9jYWxlbmRhci5zdGF0ZSgpLmZvY3VzZWREYXRlLnNldCh0YXJnZXREYXRlKTtcblx0fVxufVxuIl19
@@ -1,42 +0,0 @@
1
- import { Directive, HostListener } from '@angular/core';
2
- import { injectDateAdapter } from '@spartan-ng/brain/date-time';
3
- import { injectBrnCalendar } from './brn-calendar.token';
4
- import { injectBrnCalendarI18n } from './i18n/calendar-i18n';
5
- import * as i0 from "@angular/core";
6
- export class BrnCalendarPreviousButtonDirective {
7
- /** Access the calendar */
8
- _calendar = injectBrnCalendar();
9
- /** Access the date adapter */
10
- _dateAdapter = injectDateAdapter();
11
- /** Access the calendar i18n */
12
- i18n = injectBrnCalendarI18n();
13
- /** Focus the previous month */
14
- focusPreviousMonth() {
15
- const targetDate = this._dateAdapter.subtract(this._calendar.state().focusedDate(), { months: 1 });
16
- // if the date is disabled, but there are available dates in the month, focus the last day of the month.
17
- const possibleDate = this._calendar.constrainDate(targetDate);
18
- if (this._dateAdapter.isSameMonth(possibleDate, targetDate)) {
19
- // if this date is within the same month, then focus it
20
- this._calendar.state().focusedDate.set(possibleDate);
21
- return;
22
- }
23
- this._calendar.state().focusedDate.set(targetDate);
24
- }
25
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCalendarPreviousButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
26
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: BrnCalendarPreviousButtonDirective, isStandalone: true, selector: "[brnCalendarPreviousButton]", host: { attributes: { "type": "button" }, listeners: { "click": "focusPreviousMonth()" }, properties: { "attr.aria-label": "i18n.labelPrevious()" } }, ngImport: i0 });
27
- }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCalendarPreviousButtonDirective, decorators: [{
29
- type: Directive,
30
- args: [{
31
- selector: '[brnCalendarPreviousButton]',
32
- standalone: true,
33
- host: {
34
- type: 'button',
35
- '[attr.aria-label]': 'i18n.labelPrevious()',
36
- },
37
- }]
38
- }], propDecorators: { focusPreviousMonth: [{
39
- type: HostListener,
40
- args: ['click']
41
- }] } });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWNhbGVuZGFyLXByZXZpb3VzLWJ1dHRvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2NhbGVuZGFyL3NyYy9saWIvYnJuLWNhbGVuZGFyLXByZXZpb3VzLWJ1dHRvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBVTdELE1BQU0sT0FBTyxrQ0FBa0M7SUFDOUMsMEJBQTBCO0lBQ1QsU0FBUyxHQUFHLGlCQUFpQixFQUFFLENBQUM7SUFFakQsOEJBQThCO0lBQ2IsWUFBWSxHQUFHLGlCQUFpQixFQUFFLENBQUM7SUFFcEQsK0JBQStCO0lBQ1osSUFBSSxHQUFHLHFCQUFxQixFQUFFLENBQUM7SUFFbEQsK0JBQStCO0lBRXJCLGtCQUFrQjtRQUMzQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLFdBQVcsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFbkcsd0dBQXdHO1FBQ3hHLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRTlELElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsWUFBWSxFQUFFLFVBQVUsQ0FBQyxFQUFFLENBQUM7WUFDN0QsdURBQXVEO1lBQ3ZELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNyRCxPQUFPO1FBQ1IsQ0FBQztRQUVELElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNwRCxDQUFDOzBIQXpCVyxrQ0FBa0M7OEdBQWxDLGtDQUFrQzs7MkZBQWxDLGtDQUFrQztrQkFSOUMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsNkJBQTZCO29CQUN2QyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNMLElBQUksRUFBRSxRQUFRO3dCQUNkLG1CQUFtQixFQUFFLHNCQUFzQjtxQkFDM0M7aUJBQ0Q7OEJBYVUsa0JBQWtCO3NCQUQzQixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RMaXN0ZW5lciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0RGF0ZUFkYXB0ZXIgfSBmcm9tICdAc3BhcnRhbi1uZy9icmFpbi9kYXRlLXRpbWUnO1xuaW1wb3J0IHsgaW5qZWN0QnJuQ2FsZW5kYXIgfSBmcm9tICcuL2Jybi1jYWxlbmRhci50b2tlbic7XG5pbXBvcnQgeyBpbmplY3RCcm5DYWxlbmRhckkxOG4gfSBmcm9tICcuL2kxOG4vY2FsZW5kYXItaTE4bic7XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ1ticm5DYWxlbmRhclByZXZpb3VzQnV0dG9uXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGhvc3Q6IHtcblx0XHR0eXBlOiAnYnV0dG9uJyxcblx0XHQnW2F0dHIuYXJpYS1sYWJlbF0nOiAnaTE4bi5sYWJlbFByZXZpb3VzKCknLFxuXHR9LFxufSlcbmV4cG9ydCBjbGFzcyBCcm5DYWxlbmRhclByZXZpb3VzQnV0dG9uRGlyZWN0aXZlIHtcblx0LyoqIEFjY2VzcyB0aGUgY2FsZW5kYXIgKi9cblx0cHJpdmF0ZSByZWFkb25seSBfY2FsZW5kYXIgPSBpbmplY3RCcm5DYWxlbmRhcigpO1xuXG5cdC8qKiBBY2Nlc3MgdGhlIGRhdGUgYWRhcHRlciAqL1xuXHRwcml2YXRlIHJlYWRvbmx5IF9kYXRlQWRhcHRlciA9IGluamVjdERhdGVBZGFwdGVyKCk7XG5cblx0LyoqIEFjY2VzcyB0aGUgY2FsZW5kYXIgaTE4biAqL1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgaTE4biA9IGluamVjdEJybkNhbGVuZGFySTE4bigpO1xuXG5cdC8qKiBGb2N1cyB0aGUgcHJldmlvdXMgbW9udGggKi9cblx0QEhvc3RMaXN0ZW5lcignY2xpY2snKVxuXHRwcm90ZWN0ZWQgZm9jdXNQcmV2aW91c01vbnRoKCk6IHZvaWQge1xuXHRcdGNvbnN0IHRhcmdldERhdGUgPSB0aGlzLl9kYXRlQWRhcHRlci5zdWJ0cmFjdCh0aGlzLl9jYWxlbmRhci5zdGF0ZSgpLmZvY3VzZWREYXRlKCksIHsgbW9udGhzOiAxIH0pO1xuXG5cdFx0Ly8gaWYgdGhlIGRhdGUgaXMgZGlzYWJsZWQsIGJ1dCB0aGVyZSBhcmUgYXZhaWxhYmxlIGRhdGVzIGluIHRoZSBtb250aCwgZm9jdXMgdGhlIGxhc3QgZGF5IG9mIHRoZSBtb250aC5cblx0XHRjb25zdCBwb3NzaWJsZURhdGUgPSB0aGlzLl9jYWxlbmRhci5jb25zdHJhaW5EYXRlKHRhcmdldERhdGUpO1xuXG5cdFx0aWYgKHRoaXMuX2RhdGVBZGFwdGVyLmlzU2FtZU1vbnRoKHBvc3NpYmxlRGF0ZSwgdGFyZ2V0RGF0ZSkpIHtcblx0XHRcdC8vIGlmIHRoaXMgZGF0ZSBpcyB3aXRoaW4gdGhlIHNhbWUgbW9udGgsIHRoZW4gZm9jdXMgaXRcblx0XHRcdHRoaXMuX2NhbGVuZGFyLnN0YXRlKCkuZm9jdXNlZERhdGUuc2V0KHBvc3NpYmxlRGF0ZSk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0dGhpcy5fY2FsZW5kYXIuc3RhdGUoKS5mb2N1c2VkRGF0ZS5zZXQodGFyZ2V0RGF0ZSk7XG5cdH1cbn1cbiJdfQ==