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

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,57 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, computed, effect, forwardRef, input, signal, untracked, ViewEncapsulation, } from '@angular/core';
2
- import { BrnDialogComponent } from '@spartan-ng/brain/dialog';
3
- import * as i0 from "@angular/core";
4
- export class BrnSheetComponent extends BrnDialogComponent {
5
- sideInput = input('top', { alias: 'side' });
6
- sideInputState = computed(() => signal(this.sideInput()));
7
- side = computed(() => this.sideInputState().asReadonly()());
8
- constructor() {
9
- super();
10
- effect(() => {
11
- const side = this.side();
12
- untracked(() => {
13
- if (side === 'top') {
14
- this.mutablePositionStrategy().set(this.positionBuilder.global().top());
15
- }
16
- if (side === 'bottom') {
17
- this.mutablePositionStrategy().set(this.positionBuilder.global().bottom());
18
- }
19
- if (side === 'left') {
20
- this.mutablePositionStrategy().set(this.positionBuilder.global().left());
21
- }
22
- if (side === 'right') {
23
- this.mutablePositionStrategy().set(this.positionBuilder.global().right());
24
- }
25
- });
26
- });
27
- }
28
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSheetComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
29
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.5", type: BrnSheetComponent, isStandalone: true, selector: "brn-sheet", inputs: { sideInput: { classPropertyName: "sideInput", publicName: "side", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
30
- {
31
- provide: BrnDialogComponent,
32
- useExisting: forwardRef((() => BrnSheetComponent)),
33
- },
34
- ], exportAs: ["brnSheet"], usesInheritance: true, ngImport: i0, template: `
35
- <ng-content />
36
- `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
37
- }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSheetComponent, decorators: [{
39
- type: Component,
40
- args: [{
41
- selector: 'brn-sheet',
42
- standalone: true,
43
- template: `
44
- <ng-content />
45
- `,
46
- providers: [
47
- {
48
- provide: BrnDialogComponent,
49
- useExisting: forwardRef((() => BrnSheetComponent)),
50
- },
51
- ],
52
- changeDetection: ChangeDetectionStrategy.OnPush,
53
- encapsulation: ViewEncapsulation.None,
54
- exportAs: 'brnSheet',
55
- }]
56
- }], ctorParameters: () => [] });
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLXNoZWV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vc2hlZXQvc3JjL2xpYi9icm4tc2hlZXQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBQ04sVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBQ04sU0FBUyxFQUNULGlCQUFpQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFrQjlELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxrQkFBa0I7SUFDeEMsU0FBUyxHQUFHLEtBQUssQ0FBc0MsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDakYsY0FBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMxRCxJQUFJLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDNUU7UUFDQyxLQUFLLEVBQUUsQ0FBQztRQUNSLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDWCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDekIsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDZCxJQUFJLElBQUksS0FBSyxLQUFLLEVBQUUsQ0FBQztvQkFDcEIsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFDekUsQ0FBQztnQkFDRCxJQUFJLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztvQkFDdkIsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztnQkFDNUUsQ0FBQztnQkFDRCxJQUFJLElBQUksS0FBSyxNQUFNLEVBQUUsQ0FBQztvQkFDckIsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDMUUsQ0FBQztnQkFDRCxJQUFJLElBQUksS0FBSyxPQUFPLEVBQUUsQ0FBQztvQkFDdEIsSUFBSSxDQUFDLHVCQUF1QixFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztnQkFDM0UsQ0FBQztZQUNGLENBQUMsQ0FBQyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDOzBIQXZCVyxpQkFBaUI7OEdBQWpCLGlCQUFpQixtTUFWbEI7WUFDVjtnQkFDQyxPQUFPLEVBQUUsa0JBQWtCO2dCQUMzQixXQUFXLEVBQUUsVUFBVSxFQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixFQUFDO2FBQ2hEO1NBQ0QseUVBUlM7O0VBRVQ7OzJGQVdXLGlCQUFpQjtrQkFoQjdCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7O0VBRVQ7b0JBQ0QsU0FBUyxFQUFFO3dCQUNWOzRCQUNDLE9BQU8sRUFBRSxrQkFBa0I7NEJBQzNCLFdBQVcsRUFBRSxVQUFVLEVBQUMsR0FBRyxFQUFFLGtCQUFrQixFQUFDO3lCQUNoRDtxQkFDRDtvQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLFFBQVEsRUFBRSxVQUFVO2lCQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDb21wb25lbnQsXG5cdGNvbXB1dGVkLFxuXHRlZmZlY3QsXG5cdGZvcndhcmRSZWYsXG5cdGlucHV0LFxuXHRzaWduYWwsXG5cdHVudHJhY2tlZCxcblx0Vmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnJuRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnQHNwYXJ0YW4tbmcvYnJhaW4vZGlhbG9nJztcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnYnJuLXNoZWV0Jyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmctY29udGVudCAvPlxuXHRgLFxuXHRwcm92aWRlcnM6IFtcblx0XHR7XG5cdFx0XHRwcm92aWRlOiBCcm5EaWFsb2dDb21wb25lbnQsXG5cdFx0XHR1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBCcm5TaGVldENvbXBvbmVudCksXG5cdFx0fSxcblx0XSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG5cdGV4cG9ydEFzOiAnYnJuU2hlZXQnLFxufSlcbmV4cG9ydCBjbGFzcyBCcm5TaGVldENvbXBvbmVudCBleHRlbmRzIEJybkRpYWxvZ0NvbXBvbmVudCB7XG5cdHB1YmxpYyByZWFkb25seSBzaWRlSW5wdXQgPSBpbnB1dDwndG9wJyB8ICdib3R0b20nIHwgJ2xlZnQnIHwgJ3JpZ2h0Jz4oJ3RvcCcsIHsgYWxpYXM6ICdzaWRlJyB9KTtcblx0cHVibGljIHJlYWRvbmx5IHNpZGVJbnB1dFN0YXRlID0gY29tcHV0ZWQoKCkgPT4gc2lnbmFsKHRoaXMuc2lkZUlucHV0KCkpKTtcblx0cHVibGljIHJlYWRvbmx5IHNpZGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnNpZGVJbnB1dFN0YXRlKCkuYXNSZWFkb25seSgpKCkpO1xuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRzdXBlcigpO1xuXHRcdGVmZmVjdCgoKSA9PiB7XG5cdFx0XHRjb25zdCBzaWRlID0gdGhpcy5zaWRlKCk7XG5cdFx0XHR1bnRyYWNrZWQoKCkgPT4ge1xuXHRcdFx0XHRpZiAoc2lkZSA9PT0gJ3RvcCcpIHtcblx0XHRcdFx0XHR0aGlzLm11dGFibGVQb3NpdGlvblN0cmF0ZWd5KCkuc2V0KHRoaXMucG9zaXRpb25CdWlsZGVyLmdsb2JhbCgpLnRvcCgpKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAoc2lkZSA9PT0gJ2JvdHRvbScpIHtcblx0XHRcdFx0XHR0aGlzLm11dGFibGVQb3NpdGlvblN0cmF0ZWd5KCkuc2V0KHRoaXMucG9zaXRpb25CdWlsZGVyLmdsb2JhbCgpLmJvdHRvbSgpKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAoc2lkZSA9PT0gJ2xlZnQnKSB7XG5cdFx0XHRcdFx0dGhpcy5tdXRhYmxlUG9zaXRpb25TdHJhdGVneSgpLnNldCh0aGlzLnBvc2l0aW9uQnVpbGRlci5nbG9iYWwoKS5sZWZ0KCkpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGlmIChzaWRlID09PSAncmlnaHQnKSB7XG5cdFx0XHRcdFx0dGhpcy5tdXRhYmxlUG9zaXRpb25TdHJhdGVneSgpLnNldCh0aGlzLnBvc2l0aW9uQnVpbGRlci5nbG9iYWwoKS5yaWdodCgpKTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0fSk7XG5cdH1cbn1cbiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhcnRhbi1uZy1icmFpbi1zaGVldC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vc2hlZXQvc3JjL3NwYXJ0YW4tbmctYnJhaW4tc2hlZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -1,13 +0,0 @@
1
- import { BrnSliderThumbDirective } from './lib/brn-slider-thumb.directive';
2
- import { BrnSliderDirective, BrnSliderInputDirective, BrnSliderTrackDirective } from './lib/brn-slider-track.directive';
3
- export * from './lib/brn-slider-thumb.directive';
4
- export * from './lib/brn-slider-tick-mark.directive';
5
- export * from './lib/brn-slider-track-active-fill.directive';
6
- export * from './lib/brn-slider-track.directive';
7
- export const BrnSliderImports = [
8
- BrnSliderDirective,
9
- BrnSliderTrackDirective,
10
- BrnSliderInputDirective,
11
- BrnSliderThumbDirective,
12
- ];
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL3NsaWRlci9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLHVCQUF1QixFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFeEgsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxrQ0FBa0MsQ0FBQztBQUVqRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUMvQixrQkFBa0I7SUFDbEIsdUJBQXVCO0lBQ3ZCLHVCQUF1QjtJQUN2Qix1QkFBdUI7Q0FDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnJuU2xpZGVyVGh1bWJEaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9icm4tc2xpZGVyLXRodW1iLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBCcm5TbGlkZXJEaXJlY3RpdmUsIEJyblNsaWRlcklucHV0RGlyZWN0aXZlLCBCcm5TbGlkZXJUcmFja0RpcmVjdGl2ZSB9IGZyb20gJy4vbGliL2Jybi1zbGlkZXItdHJhY2suZGlyZWN0aXZlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJuLXNsaWRlci10aHVtYi5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJuLXNsaWRlci10aWNrLW1hcmsuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jybi1zbGlkZXItdHJhY2stYWN0aXZlLWZpbGwuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jybi1zbGlkZXItdHJhY2suZGlyZWN0aXZlJztcblxuZXhwb3J0IGNvbnN0IEJyblNsaWRlckltcG9ydHMgPSBbXG5cdEJyblNsaWRlckRpcmVjdGl2ZSxcblx0QnJuU2xpZGVyVHJhY2tEaXJlY3RpdmUsXG5cdEJyblNsaWRlcklucHV0RGlyZWN0aXZlLFxuXHRCcm5TbGlkZXJUaHVtYkRpcmVjdGl2ZSxcbl0gYXMgY29uc3Q7XG4iXX0=
@@ -1,41 +0,0 @@
1
- import { isPlatformBrowser } from '@angular/common';
2
- import { Directive, ElementRef, PLATFORM_ID, computed, effect, inject } from '@angular/core';
3
- import { BRN_SLIDER } from './brn-slider-track.directive';
4
- import * as i0 from "@angular/core";
5
- export class BrnSliderThumbDirective {
6
- _platformId = inject(PLATFORM_ID);
7
- _elementRef = inject((ElementRef));
8
- _slider = inject(BRN_SLIDER);
9
- translateX = computed(() => this._calcTranslateX());
10
- constructor() {
11
- effect(() => {
12
- if (isPlatformBrowser(this._platformId)) {
13
- this._updateTranslateX(this.translateX());
14
- }
15
- });
16
- }
17
- _calcTranslateX() {
18
- const activeTrackPercentage = this._slider.brnSliderTrack()?.activeTrackPercentage();
19
- const trackHostElementWidth = this._slider.brnSliderTrack()?.hostElementWidth();
20
- if (!activeTrackPercentage || !trackHostElementWidth) {
21
- return 0;
22
- }
23
- if (this._slider.direction() === 'rtl') {
24
- return -(activeTrackPercentage * trackHostElementWidth);
25
- }
26
- return activeTrackPercentage * trackHostElementWidth;
27
- }
28
- _updateTranslateX(value) {
29
- this._elementRef.nativeElement.style.transform = `translate(${value}px, -50%)`;
30
- }
31
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSliderThumbDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
32
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: BrnSliderThumbDirective, isStandalone: true, selector: "[brnSliderThumb]", ngImport: i0 });
33
- }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSliderThumbDirective, decorators: [{
35
- type: Directive,
36
- args: [{
37
- selector: '[brnSliderThumb]',
38
- standalone: true,
39
- }]
40
- }], ctorParameters: () => [] });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLXNsaWRlci10aHVtYi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL3NsaWRlci9zcmMvbGliL2Jybi1zbGlkZXItdGh1bWIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBZSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBVzFELE1BQU0sT0FBTyx1QkFBdUI7SUFDbEIsV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNsQyxXQUFXLEdBQUcsTUFBTSxDQUEwQixDQUFBLFVBQXVCLENBQUEsQ0FBQyxDQUFDO0lBQ3ZFLE9BQU8sR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFOUIsVUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQztJQUVwRTtRQUNDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDWCxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO2dCQUN6QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7WUFDM0MsQ0FBQztRQUNGLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVPLGVBQWU7UUFDdEIsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxFQUFFLHFCQUFxQixFQUFFLENBQUM7UUFDckYsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxFQUFFLGdCQUFnQixFQUFFLENBQUM7UUFFaEYsSUFBSSxDQUFDLHFCQUFxQixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztZQUN0RCxPQUFPLENBQUMsQ0FBQztRQUNWLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDeEMsT0FBTyxDQUFDLENBQUMscUJBQXFCLEdBQUcscUJBQXFCLENBQUMsQ0FBQztRQUN6RCxDQUFDO1FBRUQsT0FBTyxxQkFBcUIsR0FBRyxxQkFBcUIsQ0FBQztJQUN0RCxDQUFDO0lBRU8saUJBQWlCLENBQUMsS0FBYTtRQUN0QyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLGFBQWEsS0FBSyxXQUFXLENBQUM7SUFDaEYsQ0FBQzswSEFoQ1csdUJBQXVCOzhHQUF2Qix1QkFBdUI7OzJGQUF2Qix1QkFBdUI7a0JBSm5DLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsVUFBVSxFQUFFLElBQUk7aUJBQ2hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBQTEFURk9STV9JRCwgdHlwZSBTaWduYWwsIGNvbXB1dGVkLCBlZmZlY3QsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQlJOX1NMSURFUiB9IGZyb20gJy4vYnJuLXNsaWRlci10cmFjay5kaXJlY3RpdmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJyblNsaWRlclRodW1iIHtcblx0LyoqIFRoZSB2aXN1YWwncyB0aHVtYiB0cmFuc2xhdGVYIHBvcnRpb24uICovXG5cdHRyYW5zbGF0ZVg6IFNpZ25hbDxudW1iZXI+O1xufVxuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdbYnJuU2xpZGVyVGh1bWJdJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgQnJuU2xpZGVyVGh1bWJEaXJlY3RpdmUgaW1wbGVtZW50cyBCcm5TbGlkZXJUaHVtYiB7XG5cdHByaXZhdGUgcmVhZG9ubHkgX3BsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuXHRwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmPEhUTUxFbGVtZW50Pik7XG5cdHByaXZhdGUgcmVhZG9ubHkgX3NsaWRlciA9IGluamVjdChCUk5fU0xJREVSKTtcblxuXHRwdWJsaWMgcmVhZG9ubHkgdHJhbnNsYXRlWCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuX2NhbGNUcmFuc2xhdGVYKCkpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGVmZmVjdCgoKSA9PiB7XG5cdFx0XHRpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5fcGxhdGZvcm1JZCkpIHtcblx0XHRcdFx0dGhpcy5fdXBkYXRlVHJhbnNsYXRlWCh0aGlzLnRyYW5zbGF0ZVgoKSk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblxuXHRwcml2YXRlIF9jYWxjVHJhbnNsYXRlWCgpIHtcblx0XHRjb25zdCBhY3RpdmVUcmFja1BlcmNlbnRhZ2UgPSB0aGlzLl9zbGlkZXIuYnJuU2xpZGVyVHJhY2soKT8uYWN0aXZlVHJhY2tQZXJjZW50YWdlKCk7XG5cdFx0Y29uc3QgdHJhY2tIb3N0RWxlbWVudFdpZHRoID0gdGhpcy5fc2xpZGVyLmJyblNsaWRlclRyYWNrKCk/Lmhvc3RFbGVtZW50V2lkdGgoKTtcblxuXHRcdGlmICghYWN0aXZlVHJhY2tQZXJjZW50YWdlIHx8ICF0cmFja0hvc3RFbGVtZW50V2lkdGgpIHtcblx0XHRcdHJldHVybiAwO1xuXHRcdH1cblxuXHRcdGlmICh0aGlzLl9zbGlkZXIuZGlyZWN0aW9uKCkgPT09ICdydGwnKSB7XG5cdFx0XHRyZXR1cm4gLShhY3RpdmVUcmFja1BlcmNlbnRhZ2UgKiB0cmFja0hvc3RFbGVtZW50V2lkdGgpO1xuXHRcdH1cblxuXHRcdHJldHVybiBhY3RpdmVUcmFja1BlcmNlbnRhZ2UgKiB0cmFja0hvc3RFbGVtZW50V2lkdGg7XG5cdH1cblxuXHRwcml2YXRlIF91cGRhdGVUcmFuc2xhdGVYKHZhbHVlOiBudW1iZXIpIHtcblx0XHR0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUudHJhbnNmb3JtID0gYHRyYW5zbGF0ZSgke3ZhbHVlfXB4LCAtNTAlKWA7XG5cdH1cbn1cbiJdfQ==
@@ -1,37 +0,0 @@
1
- import { isPlatformBrowser } from '@angular/common';
2
- import { Directive, ElementRef, PLATFORM_ID, effect, inject, input } from '@angular/core';
3
- import { BRN_SLIDER, BRN_SLIDER_TRACK } from './brn-slider-track.directive';
4
- import * as i0 from "@angular/core";
5
- export class BrnSliderTickMarkDirective {
6
- _platformId = inject(PLATFORM_ID);
7
- data = input();
8
- _sliderTrack = inject(BRN_SLIDER_TRACK);
9
- _elementRef = inject((ElementRef));
10
- _slider = inject(BRN_SLIDER);
11
- constructor() {
12
- effect(() => {
13
- if (isPlatformBrowser(this._platformId)) {
14
- this._updateTranslateX();
15
- }
16
- });
17
- }
18
- _updateTranslateX() {
19
- const data = this.data();
20
- if (!data) {
21
- return;
22
- }
23
- const translateX = data.tickMarkIndex * (this._sliderTrack.tickMarkTrackWidth() / (data.totalTickMarks - 1));
24
- this._elementRef.nativeElement.style.transform =
25
- this._slider.direction() === 'rtl' ? `translateX(${-translateX}px)` : `translateX(${translateX}px)`;
26
- }
27
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSliderTickMarkDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
28
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.5", type: BrnSliderTickMarkDirective, isStandalone: true, selector: "[brnSliderTickMark]", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
29
- }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSliderTickMarkDirective, decorators: [{
31
- type: Directive,
32
- args: [{
33
- selector: '[brnSliderTickMark]',
34
- standalone: true,
35
- }]
36
- }], ctorParameters: () => [] });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLXNsaWRlci10aWNrLW1hcmsuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9zbGlkZXIvc3JjL2xpYi9icm4tc2xpZGVyLXRpY2stbWFyay5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFNNUUsTUFBTSxPQUFPLDBCQUEwQjtJQUNyQixXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ25DLElBQUksR0FBRyxLQUFLLEVBQXFELENBQUM7SUFFakUsWUFBWSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3hDLFdBQVcsR0FBRyxNQUFNLENBQTBCLENBQUEsVUFBdUIsQ0FBQSxDQUFDLENBQUM7SUFDdkUsT0FBTyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUU5QztRQUNDLE1BQU0sQ0FBQyxHQUFHLEVBQUU7WUFDWCxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO2dCQUN6QyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUMxQixDQUFDO1FBQ0YsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRU8saUJBQWlCO1FBQ3hCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUV6QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDWCxPQUFPO1FBQ1IsQ0FBQztRQUVELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFN0csSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFNBQVM7WUFDN0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxVQUFVLEtBQUssQ0FBQyxDQUFDLENBQUMsY0FBYyxVQUFVLEtBQUssQ0FBQztJQUN0RyxDQUFDOzBIQTNCVywwQkFBMEI7OEdBQTFCLDBCQUEwQjs7MkZBQTFCLDBCQUEwQjtrQkFKdEMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUscUJBQXFCO29CQUMvQixVQUFVLEVBQUUsSUFBSTtpQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIFBMQVRGT1JNX0lELCBlZmZlY3QsIGluamVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJSTl9TTElERVIsIEJSTl9TTElERVJfVFJBQ0sgfSBmcm9tICcuL2Jybi1zbGlkZXItdHJhY2suZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnW2JyblNsaWRlclRpY2tNYXJrXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEJyblNsaWRlclRpY2tNYXJrRGlyZWN0aXZlIHtcblx0cHJpdmF0ZSByZWFkb25seSBfcGxhdGZvcm1JZCA9IGluamVjdChQTEFURk9STV9JRCk7XG5cdHB1YmxpYyByZWFkb25seSBkYXRhID0gaW5wdXQ8eyB0aWNrTWFya0luZGV4OiBudW1iZXI7IHRvdGFsVGlja01hcmtzOiBudW1iZXIgfT4oKTtcblxuXHRwcml2YXRlIHJlYWRvbmx5IF9zbGlkZXJUcmFjayA9IGluamVjdChCUk5fU0xJREVSX1RSQUNLKTtcblx0cHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pO1xuXHRwcml2YXRlIHJlYWRvbmx5IF9zbGlkZXIgPSBpbmplY3QoQlJOX1NMSURFUik7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0ZWZmZWN0KCgpID0+IHtcblx0XHRcdGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLl9wbGF0Zm9ybUlkKSkge1xuXHRcdFx0XHR0aGlzLl91cGRhdGVUcmFuc2xhdGVYKCk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblxuXHRwcml2YXRlIF91cGRhdGVUcmFuc2xhdGVYKCkge1xuXHRcdGNvbnN0IGRhdGEgPSB0aGlzLmRhdGEoKTtcblxuXHRcdGlmICghZGF0YSkge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdGNvbnN0IHRyYW5zbGF0ZVggPSBkYXRhLnRpY2tNYXJrSW5kZXggKiAodGhpcy5fc2xpZGVyVHJhY2sudGlja01hcmtUcmFja1dpZHRoKCkgLyAoZGF0YS50b3RhbFRpY2tNYXJrcyAtIDEpKTtcblxuXHRcdHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS50cmFuc2Zvcm0gPVxuXHRcdFx0dGhpcy5fc2xpZGVyLmRpcmVjdGlvbigpID09PSAncnRsJyA/IGB0cmFuc2xhdGVYKCR7LXRyYW5zbGF0ZVh9cHgpYCA6IGB0cmFuc2xhdGVYKCR7dHJhbnNsYXRlWH1weClgO1xuXHR9XG59XG4iXX0=
@@ -1,29 +0,0 @@
1
- import { isPlatformBrowser } from '@angular/common';
2
- import { Directive, ElementRef, PLATFORM_ID, effect, inject } from '@angular/core';
3
- import { BRN_SLIDER_TRACK } from './brn-slider-track.directive';
4
- import * as i0 from "@angular/core";
5
- export class BrnSliderTrackActiveFillDirective {
6
- _platformId = inject(PLATFORM_ID);
7
- _elementRef = inject((ElementRef));
8
- _sliderTrack = inject(BRN_SLIDER_TRACK);
9
- constructor() {
10
- effect(() => {
11
- if (isPlatformBrowser(this._platformId)) {
12
- this._updateActiveTrackPercentage(this._sliderTrack.activeTrackPercentage());
13
- }
14
- });
15
- }
16
- _updateActiveTrackPercentage(percentage) {
17
- this._elementRef.nativeElement.style.transform = `scaleX(${percentage})`;
18
- }
19
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSliderTrackActiveFillDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
20
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: BrnSliderTrackActiveFillDirective, isStandalone: true, selector: "[brnSliderTrackActiveFill]", ngImport: i0 });
21
- }
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSliderTrackActiveFillDirective, decorators: [{
23
- type: Directive,
24
- args: [{
25
- selector: '[brnSliderTrackActiveFill]',
26
- standalone: true,
27
- }]
28
- }], ctorParameters: () => [] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLXNsaWRlci10cmFjay1hY3RpdmUtZmlsbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL3NsaWRlci9zcmMvbGliL2Jybi1zbGlkZXItdHJhY2stYWN0aXZlLWZpbGwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQU1oRSxNQUFNLE9BQU8saUNBQWlDO0lBQzVCLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEMsV0FBVyxHQUFHLE1BQU0sQ0FBMEIsQ0FBQSxVQUF1QixDQUFBLENBQUMsQ0FBQztJQUN2RSxZQUFZLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFekQ7UUFDQyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1gsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztnQkFDekMsSUFBSSxDQUFDLDRCQUE0QixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO1lBQzlFLENBQUM7UUFDRixDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFTyw0QkFBNEIsQ0FBQyxVQUFrQjtRQUN0RCxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLFVBQVUsVUFBVSxHQUFHLENBQUM7SUFDMUUsQ0FBQzswSEFmVyxpQ0FBaUM7OEdBQWpDLGlDQUFpQzs7MkZBQWpDLGlDQUFpQztrQkFKN0MsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxVQUFVLEVBQUUsSUFBSTtpQkFDaEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIFBMQVRGT1JNX0lELCBlZmZlY3QsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQlJOX1NMSURFUl9UUkFDSyB9IGZyb20gJy4vYnJuLXNsaWRlci10cmFjay5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdbYnJuU2xpZGVyVHJhY2tBY3RpdmVGaWxsXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEJyblNsaWRlclRyYWNrQWN0aXZlRmlsbERpcmVjdGl2ZSB7XG5cdHByaXZhdGUgcmVhZG9ubHkgX3BsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuXHRwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmPEhUTUxFbGVtZW50Pik7XG5cdHByaXZhdGUgcmVhZG9ubHkgX3NsaWRlclRyYWNrID0gaW5qZWN0KEJSTl9TTElERVJfVFJBQ0spO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGVmZmVjdCgoKSA9PiB7XG5cdFx0XHRpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5fcGxhdGZvcm1JZCkpIHtcblx0XHRcdFx0dGhpcy5fdXBkYXRlQWN0aXZlVHJhY2tQZXJjZW50YWdlKHRoaXMuX3NsaWRlclRyYWNrLmFjdGl2ZVRyYWNrUGVyY2VudGFnZSgpKTtcblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXG5cdHByaXZhdGUgX3VwZGF0ZUFjdGl2ZVRyYWNrUGVyY2VudGFnZShwZXJjZW50YWdlOiBudW1iZXIpIHtcblx0XHR0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc3R5bGUudHJhbnNmb3JtID0gYHNjYWxlWCgke3BlcmNlbnRhZ2V9KWA7XG5cdH1cbn1cbiJdfQ==
@@ -1,297 +0,0 @@
1
- import { Directionality } from '@angular/cdk/bidi';
2
- import { SharedResizeObserver } from '@angular/cdk/observers/private';
3
- import { isPlatformBrowser } from '@angular/common';
4
- import { Directive, ElementRef, InjectionToken, Injector, PLATFORM_ID, Renderer2, computed, contentChild, effect, forwardRef, inject, input, model, signal, untracked, } from '@angular/core';
5
- import { toObservable } from '@angular/core/rxjs-interop';
6
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
7
- import { Subject, merge } from 'rxjs';
8
- import { debounceTime, takeUntil, tap } from 'rxjs/operators';
9
- import * as i0 from "@angular/core";
10
- export const BRN_SLIDER_INPUT = new InjectionToken('BrnSliderInput');
11
- export const BRN_SLIDER_TRACK = new InjectionToken('BrnSliderTrack');
12
- export const BRN_SLIDER = new InjectionToken('BrnSlider');
13
- /**
14
- * Directive that adds slider-specific behaviors to an input element inside `<brn-slider>`.
15
- */
16
- export class BrnSliderInputDirective {
17
- _onChangeFn;
18
- // eslint-disable-next-line @typescript-eslint/no-empty-function
19
- _onTouchedFn = () => { };
20
- isDisabled = computed(() => (this._slider.disabled() === true ? true : undefined));
21
- valueNow = computed(() => this.value() ?? 0);
22
- valueMin = computed(() => this._slider.min());
23
- valueMax = computed(() => this._slider.max());
24
- ariaLabelledby = computed(() => this._slider.label()?.id);
25
- ariaLabel = computed(() => {
26
- if (!this._slider.ariaLabel() && !this.ariaLabelledby()) {
27
- throw new Error("'ariaLabel' input must be provided as fallback accessibility aria label when no aria-labelledby element is provided.");
28
- }
29
- return this._slider.ariaLabel();
30
- });
31
- value = signal(0);
32
- isFocused = signal(false);
33
- _platformId = inject(PLATFORM_ID);
34
- _elementRef = inject((ElementRef));
35
- _slider = inject(BRN_SLIDER);
36
- _renderer2 = inject(Renderer2);
37
- constructor() {
38
- effect(() => {
39
- if (isPlatformBrowser(this._platformId)) {
40
- const step = this._slider.step();
41
- const min = this._slider.min();
42
- const max = this._slider.max();
43
- const direction = this._slider.direction();
44
- untracked(() => {
45
- this._updateHostElementStep(step);
46
- this._updateMinValue(min);
47
- this._updateMaxValue(max);
48
- this._updateDirection(direction);
49
- });
50
- }
51
- });
52
- }
53
- onFocus() {
54
- this.isFocused.set(true);
55
- }
56
- onBlur() {
57
- this.isFocused.set(false);
58
- this._onTouchedFn();
59
- }
60
- onInput() {
61
- this._updateValue();
62
- }
63
- onChange() {
64
- this._updateValue();
65
- }
66
- writeValue(obj) {
67
- this.value.set(obj);
68
- this._updateHostElementValue(obj);
69
- }
70
- registerOnChange(fn) {
71
- this._onChangeFn = fn;
72
- }
73
- registerOnTouched(fn) {
74
- this._onTouchedFn = fn;
75
- }
76
- /**
77
- * Sets the disabled state of the slider.
78
- * @param isDisabled The new disabled state
79
- */
80
- setDisabledState(isDisabled) {
81
- /** Disable slider only when slider component
82
- * is not disabled and isDisabled param is explicitly set to true
83
- */
84
- if (isDisabled && !this._slider.disabled()) {
85
- this._slider.disabled.set(isDisabled);
86
- }
87
- }
88
- _updateHostElementValue(value) {
89
- this._elementRef.nativeElement.value = value?.toString() ?? '0';
90
- }
91
- _updateValue() {
92
- this.value.set(+this._elementRef.nativeElement.value);
93
- this._onChangeFn?.(this.value());
94
- }
95
- _updateHostElementStep(step) {
96
- this._elementRef.nativeElement.step = step.toString();
97
- this._updateValue();
98
- }
99
- _updateMinValue(value) {
100
- this._elementRef.nativeElement.min = value.toString();
101
- this._updateValue();
102
- }
103
- _updateMaxValue(value) {
104
- this._elementRef.nativeElement.max = value.toString();
105
- this._updateValue();
106
- }
107
- _updateDirection(direction) {
108
- this._renderer2.setStyle(this._elementRef.nativeElement, 'direction', direction);
109
- }
110
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSliderInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
111
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: BrnSliderInputDirective, isStandalone: true, selector: "input[brnSliderInput]", host: { attributes: { "type": "range", "role": "slider", "aria-orientation": "horizontal" }, listeners: { "change": "onChange()", "input": "onInput()", "focus": "onFocus()", "blur": "onBlur()" }, properties: { "attr.disabled": "isDisabled()", "attr.aria-valuenow": "valueNow()", "attr.aria-valuemin": "valueMin()", "attr.aria-valuemax": "valueMax()", "attr.aria-labelledby": "ariaLabelledby()", "attr.aria-label": "ariaLabel()" } }, providers: [
112
- {
113
- provide: NG_VALUE_ACCESSOR,
114
- useExisting: BrnSliderInputDirective,
115
- multi: true,
116
- },
117
- {
118
- provide: BRN_SLIDER_INPUT,
119
- useExisting: BrnSliderInputDirective,
120
- },
121
- ], ngImport: i0 });
122
- }
123
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSliderInputDirective, decorators: [{
124
- type: Directive,
125
- args: [{
126
- selector: 'input[brnSliderInput]',
127
- host: {
128
- type: 'range',
129
- role: 'slider',
130
- '(change)': 'onChange()',
131
- '(input)': 'onInput()',
132
- '(focus)': 'onFocus()',
133
- '(blur)': 'onBlur()',
134
- '[attr.disabled]': 'isDisabled()',
135
- '[attr.aria-valuenow]': 'valueNow()',
136
- '[attr.aria-valuemin]': 'valueMin()',
137
- '[attr.aria-valuemax]': 'valueMax()',
138
- '[attr.aria-labelledby]': 'ariaLabelledby()',
139
- '[attr.aria-label]': 'ariaLabel()',
140
- 'aria-orientation': 'horizontal',
141
- },
142
- providers: [
143
- {
144
- provide: NG_VALUE_ACCESSOR,
145
- useExisting: BrnSliderInputDirective,
146
- multi: true,
147
- },
148
- {
149
- provide: BRN_SLIDER_INPUT,
150
- useExisting: BrnSliderInputDirective,
151
- },
152
- ],
153
- standalone: true,
154
- }]
155
- }], ctorParameters: () => [] });
156
- export class BrnSliderDirective {
157
- label = input(null);
158
- ariaLabel = input(null);
159
- /** Used only as an input. */
160
- dir = input('ltr');
161
- disabled = model(false, { alias: 'brnSliderDisabled' });
162
- min = model(0);
163
- max = model(100);
164
- step = input(1);
165
- showTickMarks = input(false);
166
- direction = signal('ltr');
167
- _destroyed = new Subject();
168
- _injector = inject(Injector);
169
- _dir = inject(Directionality);
170
- _platformId = inject(PLATFORM_ID);
171
- brnSliderTrack = contentChild(BRN_SLIDER_TRACK);
172
- ngAfterViewInit() {
173
- if (isPlatformBrowser(this._platformId)) {
174
- this._updateDirectionality();
175
- }
176
- }
177
- ngOnDestroy() {
178
- this._destroyed.next();
179
- this._destroyed.complete();
180
- }
181
- /**
182
- * The method is responsible of setting the current direction state
183
- * based on the latest 'dir' input or bidi state change. The only
184
- * source of truth for slider direction state is the 'direction' signal
185
- * and all interested consumers of it, will consume this interface exposed signal.
186
- */
187
- _updateDirectionality() {
188
- merge(toObservable(this.dir, { injector: this._injector }), this._dir.change)
189
- .pipe(takeUntil(this._destroyed), tap((dir) => this.direction.set(dir)))
190
- .subscribe();
191
- }
192
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSliderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
193
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.2.5", type: BrnSliderDirective, isStandalone: true, selector: "[brnSlider]", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, dir: { classPropertyName: "dir", publicName: "dir", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "brnSliderDisabled", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, showTickMarks: { classPropertyName: "showTickMarks", publicName: "showTickMarks", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { disabled: "brnSliderDisabledChange", min: "minChange", max: "maxChange" }, providers: [
194
- {
195
- provide: BRN_SLIDER,
196
- useExisting: BrnSliderDirective,
197
- },
198
- ], queries: [{ propertyName: "brnSliderTrack", first: true, predicate: BRN_SLIDER_TRACK, descendants: true, isSignal: true }], exportAs: ["brnSlider"], ngImport: i0 });
199
- }
200
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSliderDirective, decorators: [{
201
- type: Directive,
202
- args: [{
203
- selector: '[brnSlider]',
204
- standalone: true,
205
- providers: [
206
- {
207
- provide: BRN_SLIDER,
208
- useExisting: BrnSliderDirective,
209
- },
210
- ],
211
- exportAs: 'brnSlider',
212
- }]
213
- }] });
214
- export class BrnSliderTrackDirective {
215
- hostElementWidth = signal(0);
216
- _destroyed = new Subject();
217
- _slider = inject(BRN_SLIDER);
218
- _platformId = inject(PLATFORM_ID);
219
- _elementRef = inject((ElementRef));
220
- _sharedResizeObserver = inject(SharedResizeObserver);
221
- brnSliderInput = contentChild(forwardRef(() => BRN_SLIDER_INPUT));
222
- activeTrackPercentage = computed(() => {
223
- const inputValue = this.brnSliderInput()?.value();
224
- if (this._slider.min() >= this._slider.max() || !inputValue || inputValue < this._slider.min()) {
225
- return 0;
226
- }
227
- if (inputValue > this._slider.max()) {
228
- return 1;
229
- }
230
- return (inputValue - this._slider.min()) / (this._slider.max() - this._slider.min());
231
- });
232
- tickMarkTrackWidth = computed(() => {
233
- if (!this._slider.showTickMarks()) {
234
- return 0;
235
- }
236
- const sliderStep = this._slider.step();
237
- const sliderMax = this._slider.max();
238
- const sliderMin = this._slider.min();
239
- const step = sliderStep && sliderStep > 0 ? sliderStep : 1;
240
- const maxValue = Math.floor((sliderMax - sliderMin) / step) * step + sliderMin;
241
- const percentage = (maxValue - sliderMin) / (sliderMax - sliderMin);
242
- return this.hostElementWidth() * percentage;
243
- });
244
- tickMarks = computed(() => {
245
- const inputValue = this.brnSliderInput()?.value();
246
- if (!this._slider.showTickMarks() || inputValue === null || inputValue === undefined) {
247
- return [];
248
- }
249
- let numActive = Math.max(Math.floor((inputValue - this._slider.min()) / this._slider.step()), 0);
250
- let numInactive = Math.max(Math.floor((this._slider.max() - inputValue) / this._slider.step()), 0);
251
- this._slider.direction() === 'rtl' ? numInactive++ : numActive++;
252
- return Array(numActive).fill(true).concat(Array(numInactive).fill(false));
253
- });
254
- ngAfterViewInit() {
255
- if (isPlatformBrowser(this._platformId)) {
256
- this._storeDimensions();
257
- this._onResize();
258
- }
259
- }
260
- ngOnDestroy() {
261
- this._destroyed.next();
262
- this._destroyed.complete();
263
- }
264
- _onResize() {
265
- this._sharedResizeObserver
266
- .observe(this._elementRef.nativeElement)
267
- .pipe(debounceTime(32), takeUntil(this._destroyed), tap(() => this._storeDimensions()))
268
- .subscribe();
269
- }
270
- _storeDimensions() {
271
- const computedStyle = getComputedStyle(this._elementRef.nativeElement);
272
- this.hostElementWidth.set(this._elementRef.nativeElement.offsetWidth -
273
- Number.parseFloat(computedStyle.paddingLeft) -
274
- Number.parseFloat(computedStyle.paddingRight));
275
- }
276
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSliderTrackDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
277
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.2.5", type: BrnSliderTrackDirective, isStandalone: true, selector: "[brnSliderTrack]", providers: [
278
- {
279
- provide: BRN_SLIDER_TRACK,
280
- useExisting: BrnSliderTrackDirective,
281
- },
282
- ], queries: [{ propertyName: "brnSliderInput", first: true, predicate: i0.forwardRef(() => BRN_SLIDER_INPUT), descendants: true, isSignal: true }], ngImport: i0 });
283
- }
284
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSliderTrackDirective, decorators: [{
285
- type: Directive,
286
- args: [{
287
- selector: '[brnSliderTrack]',
288
- standalone: true,
289
- providers: [
290
- {
291
- provide: BRN_SLIDER_TRACK,
292
- useExisting: BrnSliderTrackDirective,
293
- },
294
- ],
295
- }]
296
- }] });
297
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLXNsaWRlci10cmFjay5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL3NsaWRlci9zcmMvbGliL2Jybi1zbGlkZXItdHJhY2suZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBRU4sU0FBUyxFQUNULFVBQVUsRUFDVixjQUFjLEVBQ2QsUUFBUSxFQUVSLFdBQVcsRUFDWCxTQUFTLEVBR1QsUUFBUSxFQUNSLFlBQVksRUFDWixNQUFNLEVBQ04sVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBNkIsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5RSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN0QyxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFFOUQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQWlCLGdCQUFnQixDQUFDLENBQUM7QUFVckYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxjQUFjLENBQWlCLGdCQUFnQixDQUFDLENBQUM7QUFFckYsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLElBQUksY0FBYyxDQUFZLFdBQVcsQ0FBQyxDQUFDO0FBc0NyRTs7R0FF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UyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFDMUIsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQ2xDO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDZixDQUFDO0lBRU8sZ0JBQWdCO1FBQ3ZCLE1BQU0sYUFBYSxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFdkUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsV0FBVztZQUN6QyxNQUFNLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7WUFDNUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQzlDLENBQUM7SUFDSCxDQUFDOzBIQXZGVyx1QkFBdUI7OEdBQXZCLHVCQUF1QiwrREFQeEI7WUFDVjtnQkFDQyxPQUFPLEVBQUUsZ0JBQWdCO2dCQUN6QixXQUFXLEVBQUUsdUJBQXVCO2FBQ3BDO1NBQ0QsMEZBVzhFLGdCQUFnQjs7MkZBVG5GLHVCQUF1QjtrQkFWbkMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsU0FBUyxFQUFFO3dCQUNWOzRCQUNDLE9BQU8sRUFBRSxnQkFBZ0I7NEJBQ3pCLFdBQVcseUJBQXlCO3lCQUNwQztxQkFDRDtpQkFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRGlyZWN0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuaW1wb3J0IHsgRGlyZWN0aW9uYWxpdHkgfSBmcm9tICdAYW5ndWxhci9jZGsvYmlkaSc7XG5pbXBvcnQgeyBTaGFyZWRSZXNpemVPYnNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vYnNlcnZlcnMvcHJpdmF0ZSc7XG5pbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuXHR0eXBlIEFmdGVyVmlld0luaXQsXG5cdERpcmVjdGl2ZSxcblx0RWxlbWVudFJlZixcblx0SW5qZWN0aW9uVG9rZW4sXG5cdEluamVjdG9yLFxuXHR0eXBlIE9uRGVzdHJveSxcblx0UExBVEZPUk1fSUQsXG5cdFJlbmRlcmVyMixcblx0dHlwZSBTaWduYWwsXG5cdHR5cGUgV3JpdGFibGVTaWduYWwsXG5cdGNvbXB1dGVkLFxuXHRjb250ZW50Q2hpbGQsXG5cdGVmZmVjdCxcblx0Zm9yd2FyZFJlZixcblx0aW5qZWN0LFxuXHRpbnB1dCxcblx0bW9kZWwsXG5cdHNpZ25hbCxcblx0dW50cmFja2VkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRvT2JzZXJ2YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IHR5cGUgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHR5cGUgeyBCcm5MYWJlbERpcmVjdGl2ZSB9IGZyb20gJ0BzcGFydGFuLW5nL2JyYWluL2xhYmVsJztcbmltcG9ydCB7IFN1YmplY3QsIG1lcmdlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5leHBvcnQgY29uc3QgQlJOX1NMSURFUl9JTlBVVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxCcm5TbGlkZXJJbnB1dD4oJ0JyblNsaWRlcklucHV0Jyk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnJuU2xpZGVySW5wdXQge1xuXHQvKiogVGhlIHNsaWRlcidzIG5hdGl2ZSBpbnB1dCBlbGVtZW50IHdyYXBwZXIgdmFsdWUuICovXG5cdHZhbHVlOiBTaWduYWw8bnVtYmVyPjtcblxuXHQvKiogRmxhZyBpbmRpY2F0aW5nIGlmIG5hdGl2ZSBpbnB1dCBlbGVtZW50IGlzIGN1cnJlbnRseSBmb2N1c2VkLiAqL1xuXHRpc0ZvY3VzZWQ6IFNpZ25hbDxib29sZWFuPjtcbn1cblxuZXhwb3J0IGNvbnN0IEJSTl9TTElERVJfVFJBQ0sgPSBuZXcgSW5qZWN0aW9uVG9rZW48QnJuU2xpZGVyVHJhY2s+KCdCcm5TbGlkZXJUcmFjaycpO1xuXG5leHBvcnQgY29uc3QgQlJOX1NMSURFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxCcm5TbGlkZXI+KCdCcm5TbGlkZXInKTtcblxuZXhwb3J0IGludGVyZmFjZSBCcm5TbGlkZXIge1xuXHQvKiogVGhlIG1pbmltdW4gdmFsdWUgb2YgdGhlIHNsaWRlci4gKi9cblx0bWluOiBXcml0YWJsZVNpZ25hbDxudW1iZXI+O1xuXG5cdC8qKiBUaGUgbWF4aW11biB2YWx1ZSBvZiB0aGUgc2xpZGVyLiAqL1xuXHRtYXg6IFdyaXRhYmxlU2lnbmFsPG51bWJlcj47XG5cblx0LyoqIFRoZSBhbW91bnQgdGhhdCBzbGlkZXIgdmFsdWVzIGNhbiBpbmNyZW1lbnQgb3IgZGVjcmVtZW50IGJ5LiAqL1xuXHRzdGVwOiBTaWduYWw8bnVtYmVyPjtcblxuXHQvKiogV2hldGhlciB0aGUgc2xpZGVyIGlzIGRpc2FibGVkLiAqL1xuXHRkaXNhYmxlZDogV3JpdGFibGVTaWduYWw8Ym9vbGVhbj47XG5cblx0LyoqIFdoZXRoZXIgdGhlIHNsaWRlciBkaXNwbGF5cyB0aWNrIG1hcmtzIGFsb25nIHRoZSBzbGlkZXIgdHJhY2suICovXG5cdHNob3dUaWNrTWFya3M6IFNpZ25hbDxib29sZWFuPjtcblxuXHQvKiogV2hldGhlciB0aGUgc2xpZGVyIGlzIGx0ciBvciBydGwuXG5cdCAqIEFueSBjb25zdW1lciBvZiBzbGlkZXIgaW50ZXJlc3RlZCBpbiBnZXR0aW5nIHRoZSBjdXJyZW50XG5cdCAqIGRpcmVjdGlvbiBzdGF0ZSwgd2lsbCBjb25zdW1lIHRoaXMgc2lnbmFsLlxuXHQgKi9cblx0ZGlyZWN0aW9uOiBTaWduYWw8RGlyZWN0aW9uPjtcblxuXHQvKiogVGhlIHVuZGVybHlpbmcgc2xpZGVyJ3MgdHJhY2sgZWxlbWVudCAqL1xuXHRicm5TbGlkZXJUcmFjazogU2lnbmFsPEJyblNsaWRlclRyYWNrIHwgdW5kZWZpbmVkPjtcblxuXHQvKiogVGhlIGFyaWEtbGFiZWxsZWRieSBlbGVtZW50ICovXG5cdGxhYmVsOiBTaWduYWw8QnJuTGFiZWxEaXJlY3RpdmUgfCBudWxsPjtcblxuXHQvKiogVGhlIG9wdGlvbmFsIGFyaWEtbGFiZWwgZmFsbGJhY2sgdmFsdWUuXG5cdCAqIElmIG5vIGxhYmVsIGlzIHByb3ZpZGVkLCB0aGlzIGlucHV0IG11c3QgYmUgcHJvdmlkZWQgYnkgdGhlIHVzZXIsXG5cdCAqIG90aGVyd2lzZSBhbiBlcnJvciB3aWxsIGJlIGRpc3BsYXllZCBwcm9tcHRpbmcgdGhlIHVzZXIgdG8gZWl0aGVyXG5cdCAqIHByb3ZpZGUgYSBzcGFydGFuLXVpIGxhYmVsIG9yIGEgZmFsbGJhY2sgYXJpYSBsYWJlbCB0ZXh0LlxuXHQgKi9cblx0YXJpYUxhYmVsOiBTaWduYWw8c3RyaW5nIHwgbnVsbD47XG59XG5cbi8qKlxuICogRGlyZWN0aXZlIHRoYXQgYWRkcyBzbGlkZXItc3BlY2lmaWMgYmVoYXZpb3JzIHRvIGFuIGlucHV0IGVsZW1lbnQgaW5zaWRlIGA8YnJuLXNsaWRlcj5gLlxuICovXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdpbnB1dFticm5TbGlkZXJJbnB1dF0nLFxuXHRob3N0OiB7XG5cdFx0dHlwZTogJ3JhbmdlJyxcblx0XHRyb2xlOiAnc2xpZGVyJyxcblx0XHQnKGNoYW5nZSknOiAnb25DaGFuZ2UoKScsXG5cdFx0JyhpbnB1dCknOiAnb25JbnB1dCgpJyxcblx0XHQnKGZvY3VzKSc6ICdvbkZvY3VzKCknLFxuXHRcdCcoYmx1ciknOiAnb25CbHVyKCknLFxuXHRcdCdbYXR0ci5kaXNhYmxlZF0nOiAnaXNEaXNhYmxlZCgpJyxcblx0XHQnW2F0dHIuYXJpYS12YWx1ZW5vd10nOiAndmFsdWVOb3coKScsXG5cdFx0J1thdHRyLmFyaWEtdmFsdWVtaW5dJzogJ3ZhbHVlTWluKCknLFxuXHRcdCdbYXR0ci5hcmlhLXZhbHVlbWF4XSc6ICd2YWx1ZU1heCgpJyxcblx0XHQnW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XSc6ICdhcmlhTGFiZWxsZWRieSgpJyxcblx0XHQnW2F0dHIuYXJpYS1sYWJlbF0nOiAnYXJpYUxhYmVsKCknLFxuXHRcdCdhcmlhLW9yaWVudGF0aW9uJzogJ2hvcml6b250YWwnLFxuXHR9LFxuXHRwcm92aWRlcnM6IFtcblx0XHR7XG5cdFx0XHRwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcblx0XHRcdHVzZUV4aXN0aW5nOiBCcm5TbGlkZXJJbnB1dERpcmVjdGl2ZSxcblx0XHRcdG11bHRpOiB0cnVlLFxuXHRcdH0sXG5cdFx0e1xuXHRcdFx0cHJvdmlkZTogQlJOX1NMSURFUl9JTlBVVCxcblx0XHRcdHVzZUV4aXN0aW5nOiBCcm5TbGlkZXJJbnB1dERpcmVjdGl2ZSxcblx0XHR9LFxuXHRdLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBCcm5TbGlkZXJJbnB1dERpcmVjdGl2ZSBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBCcm5TbGlkZXJJbnB1dCB7XG5cdHByaXZhdGUgX29uQ2hhbmdlRm46ICgodmFsdWU6IHN0cmluZyB8IG51bWJlcikgPT4gdm9pZCkgfCB1bmRlZmluZWQ7XG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cblx0cHJpdmF0ZSBfb25Ub3VjaGVkRm46ICgpID0+IHZvaWQgPSAoKSA9PiB7fTtcblx0cHJvdGVjdGVkIGlzRGlzYWJsZWQgPSBjb21wdXRlZCgoKSA9PiAodGhpcy5fc2xpZGVyLmRpc2FibGVkKCkgPT09IHRydWUgPyB0cnVlIDogdW5kZWZpbmVkKSk7XG5cdHByb3RlY3RlZCB2YWx1ZU5vdyA9IGNvbXB1dGVkKCgpID0+IHRoaXMudmFsdWUoKSA/PyAwKTtcblx0cHJvdGVjdGVkIHZhbHVlTWluID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5fc2xpZGVyLm1pbigpKTtcblx0cHJvdGVjdGVkIHZhbHVlTWF4ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5fc2xpZGVyLm1heCgpKTtcblx0cHJvdGVjdGVkIGFyaWFMYWJlbGxlZGJ5ID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5fc2xpZGVyLmxhYmVsKCk/LmlkKTtcblx0cHJvdGVjdGVkIGFyaWFMYWJlbCA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRpZiAoIXRoaXMuX3NsaWRlci5hcmlhTGFiZWwoKSAmJiAhdGhpcy5hcmlhTGFiZWxsZWRieSgpKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoXG5cdFx0XHRcdFwiJ2FyaWFMYWJlbCcgaW5wdXQgbXVzdCBiZSBwcm92aWRlZCBhcyBmYWxsYmFjayBhY2Nlc3NpYmlsaXR5IGFyaWEgbGFiZWwgd2hlbiBubyBhcmlhLWxhYmVsbGVkYnkgZWxlbWVudCBpcyBwcm92aWRlZC5cIixcblx0XHRcdCk7XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzLl9zbGlkZXIuYXJpYUxhYmVsKCk7XG5cdH0pO1xuXHRwdWJsaWMgcmVhZG9ubHkgdmFsdWUgPSBzaWduYWwoMCk7XG5cdHB1YmxpYyByZWFkb25seSBpc0ZvY3VzZWQgPSBzaWduYWwoZmFsc2UpO1xuXG5cdHByaXZhdGUgcmVhZG9ubHkgX3BsYXRmb3JtSWQgPSBpbmplY3QoUExBVEZPUk1fSUQpO1xuXHRwcml2YXRlIHJlYWRvbmx5IF9lbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4+KEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4pO1xuXHRwcml2YXRlIHJlYWRvbmx5IF9zbGlkZXIgPSBpbmplY3QoQlJOX1NMSURFUik7XG5cdHByaXZhdGUgcmVhZG9ubHkgX3JlbmRlcmVyMiA9IGluamVjdChSZW5kZXJlcjIpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGVmZmVjdCgoKSA9PiB7XG5cdFx0XHRpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5fcGxhdGZvcm1JZCkpIHtcblx0XHRcdFx0Y29uc3Qgc3RlcCA9IHRoaXMuX3NsaWRlci5zdGVwKCk7XG5cdFx0XHRcdGNvbnN0IG1pbiA9IHRoaXMuX3NsaWRlci5taW4oKTtcblx0XHRcdFx0Y29uc3QgbWF4ID0gdGhpcy5fc2xpZGVyLm1heCgpO1xuXHRcdFx0XHRjb25zdCBkaXJlY3Rpb24gPSB0aGlzLl9zbGlkZXIuZGlyZWN0aW9uKCk7XG5cdFx0XHRcdHVudHJhY2tlZCgoKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5fdXBkYXRlSG9zdEVsZW1lbnRTdGVwKHN0ZXApO1xuXHRcdFx0XHRcdHRoaXMuX3VwZGF0ZU1pblZhbHVlKG1pbik7XG5cdFx0XHRcdFx0dGhpcy5fdXBkYXRlTWF4VmFsdWUobWF4KTtcblx0XHRcdFx0XHR0aGlzLl91cGRhdGVEaXJlY3Rpb24oZGlyZWN0aW9uKTtcblx0XHRcdFx0fSk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblxuXHRvbkZvY3VzKCk6IHZvaWQge1xuXHRcdHRoaXMuaXNGb2N1c2VkLnNldCh0cnVlKTtcblx0fVxuXG5cdG9uQmx1cigpOiB2b2lkIHtcblx0XHR0aGlzLmlzRm9jdXNlZC5zZXQoZmFsc2UpO1xuXHRcdHRoaXMuX29uVG91Y2hlZEZuKCk7XG5cdH1cblxuXHRvbklucHV0KCk6IHZvaWQge1xuXHRcdHRoaXMuX3VwZGF0ZVZhbHVlKCk7XG5cdH1cblxuXHRvbkNoYW5nZSgpOiB2b2lkIHtcblx0XHR0aGlzLl91cGRhdGVWYWx1ZSgpO1xuXHR9XG5cblx0d3JpdGVWYWx1ZShvYmo6IG51bWJlcik6IHZvaWQge1xuXHRcdHRoaXMudmFsdWUuc2V0KG9iaik7XG5cdFx0dGhpcy5fdXBkYXRlSG9zdEVsZW1lbnRWYWx1ZShvYmopO1xuXHR9XG5cblx0cmVnaXN0ZXJPbkNoYW5nZShmbjogKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIpID0+IHZvaWQpOiB2b2lkIHtcblx0XHR0aGlzLl9vbkNoYW5nZUZuID0gZm47XG5cdH1cblxuXHRyZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuXHRcdHRoaXMuX29uVG91Y2hlZEZuID0gZm47XG5cdH1cblxuXHQvKipcblx0ICogU2V0cyB0aGUgZGlzYWJsZWQgc3RhdGUgb2YgdGhlIHNsaWRlci5cblx0ICogQHBhcmFtIGlzRGlzYWJsZWQgVGhlIG5ldyBkaXNhYmxlZCBzdGF0ZVxuXHQgKi9cblx0c2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XG5cdFx0LyoqIERpc2FibGUgc2xpZGVyIG9ubHkgd2hlbiBzbGlkZXIgY29tcG9uZW50XG5cdFx0ICogaXMgbm90IGRpc2FibGVkIGFuZCBpc0Rpc2FibGVkIHBhcmFtIGlzIGV4cGxpY2l0bHkgc2V0IHRvIHRydWVcblx0XHQgKi9cblx0XHRpZiAoaXNEaXNhYmxlZCAmJiAhdGhpcy5fc2xpZGVyLmRpc2FibGVkKCkpIHtcblx0XHRcdHRoaXMuX3NsaWRlci5kaXNhYmxlZC5zZXQoaXNEaXNhYmxlZCk7XG5cdFx0fVxuXHR9XG5cblx0cHJpdmF0ZSBfdXBkYXRlSG9zdEVsZW1lbnRWYWx1ZSh2YWx1ZTogbnVtYmVyIHwgbnVsbCkge1xuXHRcdHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZSA9IHZhbHVlPy50b1N0cmluZygpID8/ICcwJztcblx0fVxuXG5cdHByaXZhdGUgX3VwZGF0ZVZhbHVlKCkge1xuXHRcdHRoaXMudmFsdWUuc2V0KCt0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUpO1xuXHRcdHRoaXMuX29uQ2hhbmdlRm4/Lih0aGlzLnZhbHVlKCkpO1xuXHR9XG5cblx0cHJpdmF0ZSBfdXBkYXRlSG9zdEVsZW1lbnRTdGVwKHN0ZXA6IG51bWJlcikge1xuXHRcdHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdGVwID0gc3RlcC50b1N0cmluZygpO1xuXHRcdHRoaXMuX3VwZGF0ZVZhbHVlKCk7XG5cdH1cblxuXHRwcml2YXRlIF91cGRhdGVNaW5WYWx1ZSh2YWx1ZTogbnVtYmVyKSB7XG5cdFx0dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm1pbiA9IHZhbHVlLnRvU3RyaW5nKCk7XG5cdFx0dGhpcy5fdXBkYXRlVmFsdWUoKTtcblx0fVxuXG5cdHByaXZhdGUgX3VwZGF0ZU1heFZhbHVlKHZhbHVlOiBudW1iZXIpIHtcblx0XHR0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQubWF4ID0gdmFsdWUudG9TdHJpbmcoKTtcblx0XHR0aGlzLl91cGRhdGVWYWx1ZSgpO1xuXHR9XG5cblx0cHJpdmF0ZSBfdXBkYXRlRGlyZWN0aW9uKGRpcmVjdGlvbjogRGlyZWN0aW9uKSB7XG5cdFx0dGhpcy5fcmVuZGVyZXIyLnNldFN0eWxlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2RpcmVjdGlvbicsIGRpcmVjdGlvbik7XG5cdH1cbn1cblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnW2JyblNsaWRlcl0nLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRwcm92aWRlcnM6IFtcblx0XHR7XG5cdFx0XHRwcm92aWRlOiBCUk5fU0xJREVSLFxuXHRcdFx0dXNlRXhpc3Rpbmc6IEJyblNsaWRlckRpcmVjdGl2ZSxcblx0XHR9LFxuXHRdLFxuXHRleHBvcnRBczogJ2JyblNsaWRlcicsXG59KVxuZXhwb3J0IGNsYXNzIEJyblNsaWRlckRpcmVjdGl2ZSBpbXBsZW1lbnRzIEJyblNsaWRlciwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcblx0cHVibGljIHJlYWRvbmx5IGxhYmVsID0gaW5wdXQ8QnJuTGFiZWxEaXJlY3RpdmUgfCBudWxsPihudWxsKTtcblx0cHVibGljIHJlYWRvbmx5IGFyaWFMYWJlbCA9IGlucHV0PHN0cmluZyB8IG51bGw+KG51bGwpO1xuXHQvKiogVXNlZCBvbmx5IGFzIGFuIGlucHV0LiAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgZGlyID0gaW5wdXQ8RGlyZWN0aW9uPignbHRyJyk7XG5cdHB1YmxpYyByZWFkb25seSBkaXNhYmxlZCA9IG1vZGVsPGJvb2xlYW4+KGZhbHNlLCB7IGFsaWFzOiAnYnJuU2xpZGVyRGlzYWJsZWQnIH0pO1xuXHRwdWJsaWMgcmVhZG9ubHkgbWluID0gbW9kZWw8bnVtYmVyPigwKTtcblx0cHVibGljIHJlYWRvbmx5IG1heCA9IG1vZGVsPG51bWJlcj4oMTAwKTtcblx0cHVibGljIHJlYWRvbmx5IHN0ZXAgPSBpbnB1dDxudW1iZXI+KDEpO1xuXHRwdWJsaWMgcmVhZG9ubHkgc2hvd1RpY2tNYXJrcyA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcblxuXHRwdWJsaWMgcmVhZG9ubHkgZGlyZWN0aW9uID0gc2lnbmFsPERpcmVjdGlvbj4oJ2x0cicpO1xuXHRwcml2YXRlIHJlYWRvbmx5IF9kZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG5cdHByaXZhdGUgcmVhZG9ubHkgX2luamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblx0cHJpdmF0ZSByZWFkb25seSBfZGlyID0gaW5qZWN0KERpcmVjdGlvbmFsaXR5KTtcblx0cHJpdmF0ZSByZWFkb25seSBfcGxhdGZvcm1JZCA9IGluamVjdChQTEFURk9STV9JRCk7XG5cblx0cHVibGljIHJlYWRvbmx5IGJyblNsaWRlclRyYWNrID0gY29udGVudENoaWxkKEJSTl9TTElERVJfVFJBQ0spO1xuXG5cdG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcblx0XHRpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5fcGxhdGZvcm1JZCkpIHtcblx0XHRcdHRoaXMuX3VwZGF0ZURpcmVjdGlvbmFsaXR5KCk7XG5cdFx0fVxuXHR9XG5cblx0bmdPbkRlc3Ryb3koKTogdm9pZCB7XG5cdFx0dGhpcy5fZGVzdHJveWVkLm5leHQoKTtcblx0XHR0aGlzLl9kZXN0cm95ZWQuY29tcGxldGUoKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBUaGUgbWV0aG9kIGlzIHJlc3BvbnNpYmxlIG9mIHNldHRpbmcgdGhlIGN1cnJlbnQgZGlyZWN0aW9uIHN0YXRlXG5cdCAqIGJhc2VkIG9uIHRoZSBsYXRlc3QgJ2RpcicgaW5wdXQgb3IgYmlkaSBzdGF0ZSBjaGFuZ2UuIFRoZSBvbmx5XG5cdCAqIHNvdXJjZSBvZiB0cnV0aCBmb3Igc2xpZGVyIGRpcmVjdGlvbiBzdGF0ZSBpcyB0aGUgJ2RpcmVjdGlvbicgc2lnbmFsXG5cdCAqIGFuZCBhbGwgaW50ZXJlc3RlZCBjb25zdW1lcnMgb2YgaXQsIHdpbGwgY29uc3VtZSB0aGlzIGludGVyZmFjZSBleHBvc2VkIHNpZ25hbC5cblx0ICovXG5cdHByaXZhdGUgX3VwZGF0ZURpcmVjdGlvbmFsaXR5KCkge1xuXHRcdG1lcmdlKHRvT2JzZXJ2YWJsZSh0aGlzLmRpciwgeyBpbmplY3RvcjogdGhpcy5faW5qZWN0b3IgfSksIHRoaXMuX2Rpci5jaGFuZ2UpXG5cdFx0XHQucGlwZShcblx0XHRcdFx0dGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3llZCksXG5cdFx0XHRcdHRhcCgoZGlyKSA9PiB0aGlzLmRpcmVjdGlvbi5zZXQoZGlyKSksXG5cdFx0XHQpXG5cdFx0XHQuc3Vic2NyaWJlKCk7XG5cdH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBCcm5TbGlkZXJUcmFjayB7XG5cdC8qKiBUaGUgdHJhY2sncyBhY3RpdmUgcG9ydGlvbi4gKi9cblx0YWN0aXZlVHJhY2tQZXJjZW50YWdlOiBTaWduYWw8bnVtYmVyPjtcblxuXHQvKiogVGhlIGhvc3QgZWxlbWVudCdzIGJvdW5kaW5nIGNsaWVudCByZWN0IHdpZHRoIHdpdGhvdXQgcGFkZGluZyBsZWZ0IGFuZCByaWdodC4gKi9cblx0aG9zdEVsZW1lbnRXaWR0aDogU2lnbmFsPG51bWJlcj47XG5cblx0LyoqIFRoZSBhdmFpbGFibGUgdGljayBtYXJrIHRyYWNrIHdpZHRoIGJhc2VkIG9uIHNsaWRlcidzIHN0ZXAgbWluIGFuZCBtYXggdmFsdWVzLiAqL1xuXHR0aWNrTWFya1RyYWNrV2lkdGg6IFNpZ25hbDxudW1iZXI+O1xuXG5cdC8qKiBUaGUgdGljayBtYXJrcyBhcnJheSBpbmRpY2F0aW5nIGlmIGEgbWFyayBpcyBjdXJyZW50bHkgYWN0aXZlIG9yIGluYWN0aXZlLiAqL1xuXHR0aWNrTWFya3M6IFNpZ25hbDxBcnJheTxib29sZWFuPj47XG5cblx0LyoqIFRoZSB1bmRlcmx5aW5nIHNsaWRlcidzIHRyYWNrIGlucHV0IGVsZW1lbnQgKi9cblx0YnJuU2xpZGVySW5wdXQ6IFNpZ25hbDxCcm5TbGlkZXJJbnB1dCB8IHVuZGVmaW5lZD47XG59XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ1ticm5TbGlkZXJUcmFja10nLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRwcm92aWRlcnM6IFtcblx0XHR7XG5cdFx0XHRwcm92aWRlOiBCUk5fU0xJREVSX1RSQUNLLFxuXHRcdFx0dXNlRXhpc3Rpbmc6IEJyblNsaWRlclRyYWNrRGlyZWN0aXZlLFxuXHRcdH0sXG5cdF0sXG59KVxuZXhwb3J0IGNsYXNzIEJyblNsaWRlclRyYWNrRGlyZWN0aXZlIGltcGxlbWVudHMgQnJuU2xpZGVyVHJhY2ssIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG5cdHB1YmxpYyByZWFkb25seSBob3N0RWxlbWVudFdpZHRoID0gc2lnbmFsPG51bWJlcj4oMCk7XG5cdHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3llZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cblx0cHJpdmF0ZSByZWFkb25seSBfc2xpZGVyID0gaW5qZWN0KEJSTl9TTElERVIpO1xuXHRwcml2YXRlIHJlYWRvbmx5IF9wbGF0Zm9ybUlkID0gaW5qZWN0KFBMQVRGT1JNX0lEKTtcblx0cHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pO1xuXHRwcml2YXRlIHJlYWRvbmx5IF9zaGFyZWRSZXNpemVPYnNlcnZlciA9IGluamVjdChTaGFyZWRSZXNpemVPYnNlcnZlcik7XG5cblx0cHVibGljIHJlYWRvbmx5IGJyblNsaWRlcklucHV0ID0gY29udGVudENoaWxkPEJyblNsaWRlcklucHV0Pihmb3J3YXJkUmVmKCgpID0+IEJSTl9TTElERVJfSU5QVVQpKTtcblxuXHRwdWJsaWMgYWN0aXZlVHJhY2tQZXJjZW50YWdlID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdGNvbnN0IGlucHV0VmFsdWUgPSB0aGlzLmJyblNsaWRlcklucHV0KCk/LnZhbHVlKCk7XG5cblx0XHRpZiAodGhpcy5fc2xpZGVyLm1pbigpID49IHRoaXMuX3NsaWRlci5tYXgoKSB8fCAhaW5wdXRWYWx1ZSB8fCBpbnB1dFZhbHVlIDwgdGhpcy5fc2xpZGVyLm1pbigpKSB7XG5cdFx0XHRyZXR1cm4gMDtcblx0XHR9XG5cblx0XHRpZiAoaW5wdXRWYWx1ZSA+IHRoaXMuX3NsaWRlci5tYXgoKSkge1xuXHRcdFx0cmV0dXJuIDE7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIChpbnB1dFZhbHVlIC0gdGhpcy5fc2xpZGVyLm1pbigpKSAvICh0aGlzLl9zbGlkZXIubWF4KCkgLSB0aGlzLl9zbGlkZXIubWluKCkpO1xuXHR9KTtcblxuXHRwdWJsaWMgdGlja01hcmtUcmFja1dpZHRoID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdGlmICghdGhpcy5fc2xpZGVyLnNob3dUaWNrTWFya3MoKSkge1xuXHRcdFx0cmV0dXJuIDA7XG5cdFx0fVxuXG5cdFx0Y29uc3Qgc2xpZGVyU3RlcCA9IHRoaXMuX3NsaWRlci5zdGVwKCk7XG5cdFx0Y29uc3Qgc2xpZGVyTWF4ID0gdGhpcy5fc2xpZGVyLm1heCgpO1xuXHRcdGNvbnN0IHNsaWRlck1pbiA9IHRoaXMuX3NsaWRlci5taW4oKTtcblxuXHRcdGNvbnN0IHN0ZXAgPSBzbGlkZXJTdGVwICYmIHNsaWRlclN0ZXAgPiAwID8gc2xpZGVyU3RlcCA6IDE7XG5cdFx0Y29uc3QgbWF4VmFsdWUgPSBNYXRoLmZsb29yKChzbGlkZXJNYXggLSBzbGlkZXJNaW4pIC8gc3RlcCkgKiBzdGVwICsgc2xpZGVyTWluO1xuXHRcdGNvbnN0IHBlcmNlbnRhZ2UgPSAobWF4VmFsdWUgLSBzbGlkZXJNaW4pIC8gKHNsaWRlck1heCAtIHNsaWRlck1pbik7XG5cblx0XHRyZXR1cm4gdGhpcy5ob3N0RWxlbWVudFdpZHRoKCkgKiBwZXJjZW50YWdlO1xuXHR9KTtcblxuXHRwdWJsaWMgdGlja01hcmtzID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdGNvbnN0IGlucHV0VmFsdWUgPSB0aGlzLmJyblNsaWRlcklucHV0KCk/LnZhbHVlKCk7XG5cblx0XHRpZiAoIXRoaXMuX3NsaWRlci5zaG93VGlja01hcmtzKCkgfHwgaW5wdXRWYWx1ZSA9PT0gbnVsbCB8fCBpbnB1dFZhbHVlID09PSB1bmRlZmluZWQpIHtcblx0XHRcdHJldHVybiBbXTtcblx0XHR9XG5cblx0XHRsZXQgbnVtQWN0aXZlID0gTWF0aC5tYXgoTWF0aC5mbG9vcigoaW5wdXRWYWx1ZSAtIHRoaXMuX3NsaWRlci5taW4oKSkgLyB0aGlzLl9zbGlkZXIuc3RlcCgpKSwgMCk7XG5cdFx0bGV0IG51bUluYWN0aXZlID0gTWF0aC5tYXgoTWF0aC5mbG9vcigodGhpcy5fc2xpZGVyLm1heCgpIC0gaW5wdXRWYWx1ZSkgLyB0aGlzLl9zbGlkZXIuc3RlcCgpKSwgMCk7XG5cblx0XHR0aGlzLl9zbGlkZXIuZGlyZWN0aW9uKCkgPT09ICdydGwnID8gbnVtSW5hY3RpdmUrKyA6IG51bUFjdGl2ZSsrO1xuXG5cdFx0cmV0dXJuIEFycmF5KG51bUFjdGl2ZSkuZmlsbCh0cnVlKS5jb25jYXQoQXJyYXkobnVtSW5hY3RpdmUpLmZpbGwoZmFsc2UpKTtcblx0fSk7XG5cblx0bmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuXHRcdGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLl9wbGF0Zm9ybUlkKSkge1xuXHRcdFx0dGhpcy5fc3RvcmVEaW1lbnNpb25zKCk7XG5cdFx0XHR0aGlzLl9vblJlc2l6ZSgpO1xuXHRcdH1cblx0fVxuXG5cdG5nT25EZXN0cm95KCk6IHZvaWQge1xuXHRcdHRoaXMuX2Rlc3Ryb3llZC5uZXh0KCk7XG5cdFx0dGhpcy5fZGVzdHJveWVkLmNvbXBsZXRlKCk7XG5cdH1cblxuXHRwcml2YXRlIF9vblJlc2l6ZSgpIHtcblx0XHR0aGlzLl9zaGFyZWRSZXNpemVPYnNlcnZlclxuXHRcdFx0Lm9ic2VydmUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KVxuXHRcdFx0LnBpcGUoXG5cdFx0XHRcdGRlYm91bmNlVGltZSgzMiksXG5cdFx0XHRcdHRha2VVbnRpbCh0aGlzLl9kZXN0cm95ZWQpLFxuXHRcdFx0XHR0YXAoKCkgPT4gdGhpcy5fc3RvcmVEaW1lbnNpb25zKCkpLFxuXHRcdFx0KVxuXHRcdFx0LnN1YnNjcmliZSgpO1xuXHR9XG5cblx0cHJpdmF0ZSBfc3RvcmVEaW1lbnNpb25zKCk6IHZvaWQge1xuXHRcdGNvbnN0IGNvbXB1dGVkU3R5bGUgPSBnZXRDb21wdXRlZFN0eWxlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XG5cblx0XHR0aGlzLmhvc3RFbGVtZW50V2lkdGguc2V0KFxuXHRcdFx0dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoIC1cblx0XHRcdFx0TnVtYmVyLnBhcnNlRmxvYXQoY29tcHV0ZWRTdHlsZS5wYWRkaW5nTGVmdCkgLVxuXHRcdFx0XHROdW1iZXIucGFyc2VGbG9hdChjb21wdXRlZFN0eWxlLnBhZGRpbmdSaWdodCksXG5cdFx0KTtcblx0fVxufVxuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhcnRhbi1uZy1icmFpbi1zbGlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL3NsaWRlci9zcmMvc3BhcnRhbi1uZy1icmFpbi1zbGlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhcnRhbi1uZy1icmFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vc3JjL3NwYXJ0YW4tbmctYnJhaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -1,20 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { BrnSwitchThumbComponent } from './lib/brn-switch-thumb.component';
3
- import { BrnSwitchComponent } from './lib/brn-switch.component';
4
- import * as i0 from "@angular/core";
5
- export * from './lib/brn-switch-thumb.component';
6
- export * from './lib/brn-switch.component';
7
- export const BrnSwitchImports = [BrnSwitchComponent, BrnSwitchThumbComponent];
8
- export class BrnSwitchModule {
9
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSwitchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
- /** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.5", ngImport: i0, type: BrnSwitchModule, imports: [BrnSwitchComponent, BrnSwitchThumbComponent], exports: [BrnSwitchComponent, BrnSwitchThumbComponent] });
11
- /** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSwitchModule });
12
- }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnSwitchModule, decorators: [{
14
- type: NgModule,
15
- args: [{
16
- imports: [...BrnSwitchImports],
17
- exports: [...BrnSwitchImports],
18
- }]
19
- }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL3N3aXRjaC9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFFaEUsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDRCQUE0QixDQUFDO0FBRTNDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsa0JBQWtCLEVBQUUsdUJBQXVCLENBQVUsQ0FBQztBQU12RixNQUFNLE9BQU8sZUFBZTswSEFBZixlQUFlOzJIQUFmLGVBQWUsWUFOSyxrQkFBa0IsRUFBRSx1QkFBdUIsYUFBM0Msa0JBQWtCLEVBQUUsdUJBQXVCOzJIQU0vRCxlQUFlOzsyRkFBZixlQUFlO2tCQUozQixRQUFRO21CQUFDO29CQUNULE9BQU8sRUFBRSxDQUFDLEdBQUcsZ0JBQWdCLENBQUM7b0JBQzlCLE9BQU8sRUFBRSxDQUFDLEdBQUcsZ0JBQWdCLENBQUM7aUJBQzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQnJuU3dpdGNoVGh1bWJDb21wb25lbnQgfSBmcm9tICcuL2xpYi9icm4tc3dpdGNoLXRodW1iLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCcm5Td2l0Y2hDb21wb25lbnQgfSBmcm9tICcuL2xpYi9icm4tc3dpdGNoLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jybi1zd2l0Y2gtdGh1bWIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jybi1zd2l0Y2guY29tcG9uZW50JztcblxuZXhwb3J0IGNvbnN0IEJyblN3aXRjaEltcG9ydHMgPSBbQnJuU3dpdGNoQ29tcG9uZW50LCBCcm5Td2l0Y2hUaHVtYkNvbXBvbmVudF0gYXMgY29uc3Q7XG5cbkBOZ01vZHVsZSh7XG5cdGltcG9ydHM6IFsuLi5Ccm5Td2l0Y2hJbXBvcnRzXSxcblx0ZXhwb3J0czogWy4uLkJyblN3aXRjaEltcG9ydHNdLFxufSlcbmV4cG9ydCBjbGFzcyBCcm5Td2l0Y2hNb2R1bGUge31cbiJdfQ==