@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,248 +0,0 @@
1
- import { FocusMonitor } from '@angular/cdk/a11y';
2
- import { NgStyle, isPlatformBrowser } from '@angular/common';
3
- import { ChangeDetectionStrategy, Component, ElementRef, HostListener, PLATFORM_ID, Renderer2, ViewEncapsulation, booleanAttribute, computed, effect, forwardRef, inject, input, model, output, signal, viewChild, } from '@angular/core';
4
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
5
- import * as i0 from "@angular/core";
6
- export const BRN_CHECKBOX_VALUE_ACCESSOR = {
7
- provide: NG_VALUE_ACCESSOR,
8
- useExisting: forwardRef(() => BrnCheckboxComponent),
9
- multi: true,
10
- };
11
- export function indeterminateBooleanAttribute(value) {
12
- if (value === 'indeterminate')
13
- return 'indeterminate';
14
- return booleanAttribute(value);
15
- }
16
- const CONTAINER_POST_FIX = '-checkbox';
17
- export class BrnCheckboxComponent {
18
- _renderer = inject(Renderer2);
19
- _elementRef = inject(ElementRef);
20
- _focusMonitor = inject(FocusMonitor);
21
- _isBrowser = isPlatformBrowser(inject(PLATFORM_ID));
22
- _focusVisible = signal(false);
23
- focusVisible = this._focusVisible.asReadonly();
24
- _focused = signal(false);
25
- focused = this._focused.asReadonly();
26
- checked = model(false);
27
- isChecked = this.checked.asReadonly();
28
- _dataState = computed(() => {
29
- const checked = this.checked();
30
- if (checked === 'indeterminate')
31
- return 'indeterminate';
32
- return checked ? 'checked' : 'unchecked';
33
- });
34
- _ariaChecked = computed(() => {
35
- const checked = this.checked();
36
- if (checked === 'indeterminate')
37
- return 'mixed';
38
- return checked ? 'true' : 'false';
39
- });
40
- _value = computed(() => {
41
- const checked = this.checked();
42
- if (checked === 'indeterminate')
43
- return '';
44
- return checked ? 'on' : 'off';
45
- });
46
- /** Used to set the id on the underlying input element. */
47
- id = input(null);
48
- hostId = computed(() => (this.id() ? this.id() + CONTAINER_POST_FIX : null));
49
- /** Used to set the name attribute on the underlying input element. */
50
- name = input(null);
51
- hostName = computed(() => (this.name() ? this.name() + CONTAINER_POST_FIX : null));
52
- /** Used to set the aria-label attribute on the underlying input element. */
53
- ariaLabel = input(null, { alias: 'aria-label' });
54
- /** Used to set the aria-labelledby attribute on the underlying input element. */
55
- ariaLabelledby = input(null, { alias: 'aria-labelledby' });
56
- ariaDescribedby = input(null, { alias: 'aria-describedby' });
57
- required = input(false, { transform: booleanAttribute });
58
- disabled = input(false, { transform: booleanAttribute });
59
- state = computed(() => ({
60
- disabled: signal(this.disabled()),
61
- }));
62
- // eslint-disable-next-line @typescript-eslint/no-empty-function
63
- _onChange = () => { };
64
- // eslint-disable-next-line @typescript-eslint/no-empty-function
65
- _onTouched = () => { };
66
- checkbox = viewChild.required('checkBox');
67
- changed = output();
68
- constructor() {
69
- effect(() => {
70
- const parent = this._renderer.parentNode(this._elementRef.nativeElement);
71
- if (!parent)
72
- return;
73
- // check if parent is a label and assume it is for this checkbox
74
- if (parent?.tagName === 'LABEL') {
75
- this._renderer.setAttribute(parent, 'data-disabled', this.state().disabled() ? 'true' : 'false');
76
- return;
77
- }
78
- if (!this._isBrowser)
79
- return;
80
- const label = parent?.querySelector(`label[for="${this.id()}"]`);
81
- if (!label)
82
- return;
83
- this._renderer.setAttribute(label, 'data-disabled', this.state().disabled() ? 'true' : 'false');
84
- });
85
- }
86
- toggle(event) {
87
- if (this.state().disabled())
88
- return;
89
- event.preventDefault();
90
- const previousChecked = this.checked();
91
- this.checked.set(previousChecked === 'indeterminate' ? true : !previousChecked);
92
- this._onChange(!previousChecked);
93
- this.changed.emit(!previousChecked);
94
- }
95
- ngAfterContentInit() {
96
- this._focusMonitor.monitor(this._elementRef, true).subscribe((focusOrigin) => {
97
- if (focusOrigin)
98
- this._focused.set(true);
99
- if (focusOrigin === 'keyboard' || focusOrigin === 'program') {
100
- this._focusVisible.set(true);
101
- }
102
- if (!focusOrigin) {
103
- // When a focused element becomes disabled, the browser *immediately* fires a blur event.
104
- // Angular does not expect events to be raised during change detection, so any state
105
- // change (such as a form control's ng-touched) will cause a changed-after-checked error.
106
- // See https://github.com/angular/angular/issues/17793. To work around this, we defer
107
- // telling the form control it has been touched until the next tick.
108
- Promise.resolve().then(() => {
109
- this._focusVisible.set(false);
110
- this._focused.set(false);
111
- this._onTouched();
112
- });
113
- }
114
- });
115
- this.checkbox().nativeElement.indeterminate = this.checked() === 'indeterminate';
116
- if (this.checkbox().nativeElement.indeterminate) {
117
- this.checkbox().nativeElement.value = 'indeterminate';
118
- }
119
- else {
120
- this.checkbox().nativeElement.value = this.checked() ? 'on' : 'off';
121
- }
122
- this.checkbox().nativeElement.dispatchEvent(new Event('change'));
123
- }
124
- ngOnDestroy() {
125
- this._focusMonitor.stopMonitoring(this._elementRef);
126
- }
127
- writeValue(value) {
128
- if (value === 'indeterminate') {
129
- this.checked.set('indeterminate');
130
- }
131
- else {
132
- this.checked.set(!!value);
133
- }
134
- }
135
- registerOnChange(fn) {
136
- this._onChange = fn;
137
- }
138
- registerOnTouched(fn) {
139
- this._onTouched = fn;
140
- }
141
- /** Implemented as a part of ControlValueAccessor. */
142
- setDisabledState(isDisabled) {
143
- this.state().disabled.set(isDisabled);
144
- }
145
- /**
146
- * If the space key is pressed, prevent the default action to stop the page from scrolling.
147
- */
148
- preventScrolling(event) {
149
- event.preventDefault();
150
- }
151
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
152
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.5", type: BrnCheckboxComponent, isStandalone: true, selector: "brn-checkbox", inputs: { checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedby: { classPropertyName: "ariaDescribedby", publicName: "aria-describedby", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checked: "checkedChange", changed: "changed" }, host: { listeners: { "click": "toggle($event)", "keyup.space": "toggle($event)", "keyup.enter": "toggle($event)", "keydown.space": "preventScrolling($event)" }, properties: { "attr.tabindex": "state().disabled() ? \"-1\" : \"0\"", "attr.data-state": "_dataState()", "attr.data-focus-visible": "focusVisible()", "attr.data-focus": "focused()", "attr.data-disabled": "state().disabled()", "attr.aria-labelledby": "null", "attr.aria-label": "null", "attr.aria-describedby": "null", "attr.id": "hostId()", "attr.name": "hostName()" } }, providers: [BRN_CHECKBOX_VALUE_ACCESSOR], viewQueries: [{ propertyName: "checkbox", first: true, predicate: ["checkBox"], descendants: true, isSignal: true }], ngImport: i0, template: `
153
- <input
154
- #checkBox
155
- tabindex="-1"
156
- type="checkbox"
157
- role="checkbox"
158
- [ngStyle]="{
159
- position: 'absolute',
160
- width: '1px',
161
- height: '1px',
162
- padding: '0',
163
- margin: '-1px',
164
- overflow: 'hidden',
165
- clip: 'rect(0, 0, 0, 0)',
166
- whiteSpace: 'nowrap',
167
- borderWidth: '0',
168
- }"
169
- [id]="id() ?? ''"
170
- [name]="name() ?? ''"
171
- [value]="_value()"
172
- [checked]="isChecked()"
173
- [required]="required()"
174
- [attr.aria-label]="ariaLabel()"
175
- [attr.aria-labelledby]="ariaLabelledby()"
176
- [attr.aria-describedby]="ariaDescribedby()"
177
- [attr.aria-required]="required() || null"
178
- [attr.aria-checked]="_ariaChecked()"
179
- />
180
- <ng-content />
181
- `, isInline: true, dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
182
- }
183
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCheckboxComponent, decorators: [{
184
- type: Component,
185
- args: [{
186
- selector: 'brn-checkbox',
187
- standalone: true,
188
- imports: [NgStyle],
189
- template: `
190
- <input
191
- #checkBox
192
- tabindex="-1"
193
- type="checkbox"
194
- role="checkbox"
195
- [ngStyle]="{
196
- position: 'absolute',
197
- width: '1px',
198
- height: '1px',
199
- padding: '0',
200
- margin: '-1px',
201
- overflow: 'hidden',
202
- clip: 'rect(0, 0, 0, 0)',
203
- whiteSpace: 'nowrap',
204
- borderWidth: '0',
205
- }"
206
- [id]="id() ?? ''"
207
- [name]="name() ?? ''"
208
- [value]="_value()"
209
- [checked]="isChecked()"
210
- [required]="required()"
211
- [attr.aria-label]="ariaLabel()"
212
- [attr.aria-labelledby]="ariaLabelledby()"
213
- [attr.aria-describedby]="ariaDescribedby()"
214
- [attr.aria-required]="required() || null"
215
- [attr.aria-checked]="_ariaChecked()"
216
- />
217
- <ng-content />
218
- `,
219
- host: {
220
- '[attr.tabindex]': 'state().disabled() ? "-1" : "0"',
221
- '[attr.data-state]': '_dataState()',
222
- '[attr.data-focus-visible]': 'focusVisible()',
223
- '[attr.data-focus]': 'focused()',
224
- '[attr.data-disabled]': 'state().disabled()',
225
- '[attr.aria-labelledby]': 'null',
226
- '[attr.aria-label]': 'null',
227
- '[attr.aria-describedby]': 'null',
228
- '[attr.id]': 'hostId()',
229
- '[attr.name]': 'hostName()',
230
- },
231
- providers: [BRN_CHECKBOX_VALUE_ACCESSOR],
232
- changeDetection: ChangeDetectionStrategy.OnPush,
233
- encapsulation: ViewEncapsulation.None,
234
- }]
235
- }], ctorParameters: () => [], propDecorators: { toggle: [{
236
- type: HostListener,
237
- args: ['click', ['$event']]
238
- }, {
239
- type: HostListener,
240
- args: ['keyup.space', ['$event']]
241
- }, {
242
- type: HostListener,
243
- args: ['keyup.enter', ['$event']]
244
- }], preventScrolling: [{
245
- type: HostListener,
246
- args: ['keydown.space', ['$event']]
247
- }] } });
248
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWNoZWNrYm94LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vY2hlY2tib3gvc3JjL2xpYi9icm4tY2hlY2tib3guY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0QsT0FBTyxFQUVOLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFlBQVksRUFFWixXQUFXLEVBQ1gsU0FBUyxFQUNULGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLE1BQU0sRUFDTixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixTQUFTLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBR25ELE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHO0lBQzFDLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztJQUNuRCxLQUFLLEVBQUUsSUFBSTtDQUNYLENBQUM7QUFFRixNQUFNLFVBQVUsNkJBQTZCLENBQUMsS0FBYztJQUMzRCxJQUFJLEtBQUssS0FBSyxlQUFlO1FBQUUsT0FBTyxlQUFlLENBQUM7SUFDdEQsT0FBTyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNoQyxDQUFDO0FBRUQsTUFBTSxrQkFBa0IsR0FBRyxXQUFXLENBQUM7QUFvRHZDLE1BQU0sT0FBTyxvQkFBb0I7SUFDZixTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlCLFdBQVcs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d0JBQ2pDLFdBQVcsRUFBRSxVQUFVO3dCQUN2QixhQUFhLEVBQUUsWUFBWTtxQkFDM0I7b0JBQ0QsU0FBUyxFQUFFLENBQUMsMkJBQTJCLENBQUM7b0JBQ3hDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDckM7d0RBb0ZBLE1BQU07c0JBSEwsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7O3NCQUNoQyxZQUFZO3VCQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQzs7c0JBQ3RDLFlBQVk7dUJBQUMsYUFBYSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQW9FN0IsZ0JBQWdCO3NCQUR6QixZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZvY3VzTW9uaXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IE5nU3R5bGUsIGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG5cdHR5cGUgQWZ0ZXJDb250ZW50SW5pdCxcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0RWxlbWVudFJlZixcblx0SG9zdExpc3RlbmVyLFxuXHR0eXBlIE9uRGVzdHJveSxcblx0UExBVEZPUk1fSUQsXG5cdFJlbmRlcmVyMixcblx0Vmlld0VuY2Fwc3VsYXRpb24sXG5cdGJvb2xlYW5BdHRyaWJ1dGUsXG5cdGNvbXB1dGVkLFxuXHRlZmZlY3QsXG5cdGZvcndhcmRSZWYsXG5cdGluamVjdCxcblx0aW5wdXQsXG5cdG1vZGVsLFxuXHRvdXRwdXQsXG5cdHNpZ25hbCxcblx0dmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ2hhbmdlRm4sIFRvdWNoRm4gfSBmcm9tICdAc3BhcnRhbi1uZy9icmFpbi9mb3Jtcyc7XG5cbmV4cG9ydCBjb25zdCBCUk5fQ0hFQ0tCT1hfVkFMVUVfQUNDRVNTT1IgPSB7XG5cdHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuXHR1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBCcm5DaGVja2JveENvbXBvbmVudCksXG5cdG11bHRpOiB0cnVlLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGluZGV0ZXJtaW5hdGVCb29sZWFuQXR0cmlidXRlKHZhbHVlOiB1bmtub3duKTogYm9vbGVhbiB8ICdpbmRldGVybWluYXRlJyB7XG5cdGlmICh2YWx1ZSA9PT0gJ2luZGV0ZXJtaW5hdGUnKSByZXR1cm4gJ2luZGV0ZXJtaW5hdGUnO1xuXHRyZXR1cm4gYm9vbGVhbkF0dHJpYnV0ZSh2YWx1ZSk7XG59XG5cbmNvbnN0IENPTlRBSU5FUl9QT1NUX0ZJWCA9ICctY2hlY2tib3gnO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICdicm4tY2hlY2tib3gnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRpbXBvcnRzOiBbTmdTdHlsZV0sXG5cdHRlbXBsYXRlOiBgXG5cdFx0PGlucHV0XG5cdFx0XHQjY2hlY2tCb3hcblx0XHRcdHRhYmluZGV4PVwiLTFcIlxuXHRcdFx0dHlwZT1cImNoZWNrYm94XCJcblx0XHRcdHJvbGU9XCJjaGVja2JveFwiXG5cdFx0XHRbbmdTdHlsZV09XCJ7XG5cdFx0XHRcdHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuXHRcdFx0XHR3aWR0aDogJzFweCcsXG5cdFx0XHRcdGhlaWdodDogJzFweCcsXG5cdFx0XHRcdHBhZGRpbmc6ICcwJyxcblx0XHRcdFx0bWFyZ2luOiAnLTFweCcsXG5cdFx0XHRcdG92ZXJmbG93OiAnaGlkZGVuJyxcblx0XHRcdFx0Y2xpcDogJ3JlY3QoMCwgMCwgMCwgMCknLFxuXHRcdFx0XHR3aGl0ZVNwYWNlOiAnbm93cmFwJyxcblx0XHRcdFx0Ym9yZGVyV2lkdGg6ICcwJyxcblx0XHRcdH1cIlxuXHRcdFx0W2lkXT1cImlkKCkgPz8gJydcIlxuXHRcdFx0W25hbWVdPVwibmFtZSgpID8/ICcnXCJcblx0XHRcdFt2YWx1ZV09XCJfdmFsdWUoKVwiXG5cdFx0XHRbY2hlY2tlZF09XCJpc0NoZWNrZWQoKVwiXG5cdFx0XHRbcmVxdWlyZWRdPVwicmVxdWlyZWQoKVwiXG5cdFx0XHRbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbCgpXCJcblx0XHRcdFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRieSgpXCJcblx0XHRcdFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiYXJpYURlc2NyaWJlZGJ5KClcIlxuXHRcdFx0W2F0dHIuYXJpYS1yZXF1aXJlZF09XCJyZXF1aXJlZCgpIHx8IG51bGxcIlxuXHRcdFx0W2F0dHIuYXJpYS1jaGVja2VkXT1cIl9hcmlhQ2hlY2tlZCgpXCJcblx0XHQvPlxuXHRcdDxuZy1jb250ZW50IC8+XG5cdGAsXG5cdGhvc3Q6IHtcblx0XHQnW2F0dHIudGFiaW5kZXhdJzogJ3N0YXRlKCkuZGlzYWJsZWQoKSA/IFwiLTFcIiA6IFwiMFwiJyxcblx0XHQnW2F0dHIuZGF0YS1zdGF0ZV0nOiAnX2RhdGFTdGF0ZSgpJyxcblx0XHQnW2F0dHIuZGF0YS1mb2N1cy12aXNpYmxlXSc6ICdmb2N1c1Zpc2libGUoKScsXG5cdFx0J1thdHRyLmRhdGEtZm9jdXNdJzogJ2ZvY3VzZWQoKScsXG5cdFx0J1thdHRyLmRhdGEtZGlzYWJsZWRdJzogJ3N0YXRlKCkuZGlzYWJsZWQoKScsXG5cdFx0J1thdHRyLmFyaWEtbGFiZWxsZWRieV0nOiAnbnVsbCcsXG5cdFx0J1thdHRyLmFyaWEtbGFiZWxdJzogJ251bGwnLFxuXHRcdCdbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XSc6ICdudWxsJyxcblx0XHQnW2F0dHIuaWRdJzogJ2hvc3RJZCgpJyxcblx0XHQnW2F0dHIubmFtZV0nOiAnaG9zdE5hbWUoKScsXG5cdH0sXG5cdHByb3ZpZGVyczogW0JSTl9DSEVDS0JPWF9WQUxVRV9BQ0NFU1NPUl0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXHRlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBCcm5DaGVja2JveENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG5cdHByaXZhdGUgcmVhZG9ubHkgX3JlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG5cdHByaXZhdGUgcmVhZG9ubHkgX2VsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cdHByaXZhdGUgcmVhZG9ubHkgX2ZvY3VzTW9uaXRvciA9IGluamVjdChGb2N1c01vbml0b3IpO1xuXHRwcml2YXRlIHJlYWRvbmx5IF9pc0Jyb3dzZXIgPSBpc1BsYXRmb3JtQnJvd3NlcihpbmplY3QoUExBVEZPUk1fSUQpKTtcblxuXHRwcml2YXRlIHJlYWRvbmx5IF9mb2N1c1Zpc2libGUgPSBzaWduYWwoZmFsc2UpO1xuXHRwdWJsaWMgcmVhZG9ubHkgZm9jdXNWaXNpYmxlID0gdGhpcy5fZm9jdXNWaXNpYmxlLmFzUmVhZG9ubHkoKTtcblx0cHJpdmF0ZSByZWFkb25seSBfZm9jdXNlZCA9IHNpZ25hbChmYWxzZSk7XG5cdHB1YmxpYyByZWFkb25seSBmb2N1c2VkID0gdGhpcy5fZm9jdXNlZC5hc1JlYWRvbmx5KCk7XG5cblx0cHVibGljIHJlYWRvbmx5IGNoZWNrZWQgPSBtb2RlbDxCcm5DaGVja2JveFZhbHVlPihmYWxzZSk7XG5cdHB1YmxpYyByZWFkb25seSBpc0NoZWNrZWQgPSB0aGlzLmNoZWNrZWQuYXNSZWFkb25seSgpO1xuXG5cdHByb3RlY3RlZCByZWFkb25seSBfZGF0YVN0YXRlID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdGNvbnN0IGNoZWNrZWQgPSB0aGlzLmNoZWNrZWQoKTtcblx0XHRpZiAoY2hlY2tlZCA9PT0gJ2luZGV0ZXJtaW5hdGUnKSByZXR1cm4gJ2luZGV0ZXJtaW5hdGUnO1xuXHRcdHJldHVybiBjaGVja2VkID8gJ2NoZWNrZWQnIDogJ3VuY2hlY2tlZCc7XG5cdH0pO1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgX2FyaWFDaGVja2VkID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdGNvbnN0IGNoZWNrZWQgPSB0aGlzLmNoZWNrZWQoKTtcblx0XHRpZiAoY2hlY2tlZCA9PT0gJ2luZGV0ZXJtaW5hdGUnKSByZXR1cm4gJ21peGVkJztcblx0XHRyZXR1cm4gY2hlY2tlZCA/ICd0cnVlJyA6ICdmYWxzZSc7XG5cdH0pO1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgX3ZhbHVlID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdGNvbnN0IGNoZWNrZWQgPSB0aGlzLmNoZWNrZWQoKTtcblx0XHRpZiAoY2hlY2tlZCA9PT0gJ2luZGV0ZXJtaW5hdGUnKSByZXR1cm4gJyc7XG5cdFx0cmV0dXJuIGNoZWNrZWQgPyAnb24nIDogJ29mZic7XG5cdH0pO1xuXG5cdC8qKiBVc2VkIHRvIHNldCB0aGUgaWQgb24gdGhlIHVuZGVybHlpbmcgaW5wdXQgZWxlbWVudC4gKi9cblx0cHVibGljIHJlYWRvbmx5IGlkID0gaW5wdXQ8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cdHByb3RlY3RlZCByZWFkb25seSBob3N0SWQgPSBjb21wdXRlZCgoKSA9PiAodGhpcy5pZCgpID8gdGhpcy5pZCgpICsgQ09OVEFJTkVSX1BPU1RfRklYIDogbnVsbCkpO1xuXG5cdC8qKiBVc2VkIHRvIHNldCB0aGUgbmFtZSBhdHRyaWJ1dGUgb24gdGhlIHVuZGVybHlpbmcgaW5wdXQgZWxlbWVudC4gKi9cblx0cHVibGljIHJlYWRvbmx5IG5hbWUgPSBpbnB1dDxzdHJpbmcgfCBudWxsPihudWxsKTtcblx0cHJvdGVjdGVkIHJlYWRvbmx5IGhvc3ROYW1lID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMubmFtZSgpID8gdGhpcy5uYW1lKCkgKyBDT05UQUlORVJfUE9TVF9GSVggOiBudWxsKSk7XG5cblx0LyoqIFVzZWQgdG8gc2V0IHRoZSBhcmlhLWxhYmVsIGF0dHJpYnV0ZSBvbiB0aGUgdW5kZXJseWluZyBpbnB1dCBlbGVtZW50LiAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgYXJpYUxhYmVsID0gaW5wdXQ8c3RyaW5nIHwgbnVsbD4obnVsbCwgeyBhbGlhczogJ2FyaWEtbGFiZWwnIH0pO1xuXG5cdC8qKiBVc2VkIHRvIHNldCB0aGUgYXJpYS1sYWJlbGxlZGJ5IGF0dHJpYnV0ZSBvbiB0aGUgdW5kZXJseWluZyBpbnB1dCBlbGVtZW50LiAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgYXJpYUxhYmVsbGVkYnkgPSBpbnB1dDxzdHJpbmcgfCBudWxsPihudWxsLCB7IGFsaWFzOiAnYXJpYS1sYWJlbGxlZGJ5JyB9KTtcblxuXHRwdWJsaWMgcmVhZG9ubHkgYXJpYURlc2NyaWJlZGJ5ID0gaW5wdXQ8c3RyaW5nIHwgbnVsbD4obnVsbCwgeyBhbGlhczogJ2FyaWEtZGVzY3JpYmVkYnknIH0pO1xuXG5cdHB1YmxpYyByZWFkb25seSByZXF1aXJlZCA9IGlucHV0KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblxuXHRwdWJsaWMgcmVhZG9ubHkgZGlzYWJsZWQgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cblx0cHJvdGVjdGVkIHJlYWRvbmx5IHN0YXRlID0gY29tcHV0ZWQoKCkgPT4gKHtcblx0XHRkaXNhYmxlZDogc2lnbmFsKHRoaXMuZGlzYWJsZWQoKSksXG5cdH0pKTtcblxuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG5cdHByb3RlY3RlZCBfb25DaGFuZ2U6IENoYW5nZUZuPEJybkNoZWNrYm94VmFsdWU+ID0gKCkgPT4ge307XG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cblx0cHJpdmF0ZSBfb25Ub3VjaGVkOiBUb3VjaEZuID0gKCkgPT4ge307XG5cblx0cHVibGljIHJlYWRvbmx5IGNoZWNrYm94ID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD4+KCdjaGVja0JveCcpO1xuXG5cdHB1YmxpYyByZWFkb25seSBjaGFuZ2VkID0gb3V0cHV0PEJybkNoZWNrYm94VmFsdWU+KCk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0ZWZmZWN0KCgpID0+IHtcblx0XHRcdGNvbnN0IHBhcmVudCA9IHRoaXMuX3JlbmRlcmVyLnBhcmVudE5vZGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcblx0XHRcdGlmICghcGFyZW50KSByZXR1cm47XG5cdFx0XHQvLyBjaGVjayBpZiBwYXJlbnQgaXMgYSBsYWJlbCBhbmQgYXNzdW1lIGl0IGlzIGZvciB0aGlzIGNoZWNrYm94XG5cdFx0XHRpZiAocGFyZW50Py50YWdOYW1lID09PSAnTEFCRUwnKSB7XG5cdFx0XHRcdHRoaXMuX3JlbmRlcmVyLnNldEF0dHJpYnV0ZShwYXJlbnQsICdkYXRhLWRpc2FibGVkJywgdGhpcy5zdGF0ZSgpLmRpc2FibGVkKCkgPyAndHJ1ZScgOiAnZmFsc2UnKTtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdFx0aWYgKCF0aGlzLl9pc0Jyb3dzZXIpIHJldHVybjtcblxuXHRcdFx0Y29uc3QgbGFiZWwgPSBwYXJlbnQ/LnF1ZXJ5U2VsZWN0b3IoYGxhYmVsW2Zvcj1cIiR7dGhpcy5pZCgpfVwiXWApO1xuXHRcdFx0aWYgKCFsYWJlbCkgcmV0dXJuO1xuXHRcdFx0dGhpcy5fcmVuZGVyZXIuc2V0QXR0cmlidXRlKGxhYmVsLCAnZGF0YS1kaXNhYmxlZCcsIHRoaXMuc3RhdGUoKS5kaXNhYmxlZCgpID8gJ3RydWUnIDogJ2ZhbHNlJyk7XG5cdFx0fSk7XG5cdH1cblxuXHRASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG5cdEBIb3N0TGlzdGVuZXIoJ2tleXVwLnNwYWNlJywgWyckZXZlbnQnXSlcblx0QEhvc3RMaXN0ZW5lcigna2V5dXAuZW50ZXInLCBbJyRldmVudCddKVxuXHR0b2dnbGUoZXZlbnQ6IEV2ZW50KSB7XG5cdFx0aWYgKHRoaXMuc3RhdGUoKS5kaXNhYmxlZCgpKSByZXR1cm47XG5cdFx0ZXZlbnQucHJldmVudERlZmF1bHQoKTtcblx0XHRjb25zdCBwcmV2aW91c0NoZWNrZWQgPSB0aGlzLmNoZWNrZWQoKTtcblx0XHR0aGlzLmNoZWNrZWQuc2V0KHByZXZpb3VzQ2hlY2tlZCA9PT0gJ2luZGV0ZXJtaW5hdGUnID8gdHJ1ZSA6ICFwcmV2aW91c0NoZWNrZWQpO1xuXHRcdHRoaXMuX29uQ2hhbmdlKCFwcmV2aW91c0NoZWNrZWQpO1xuXHRcdHRoaXMuY2hhbmdlZC5lbWl0KCFwcmV2aW91c0NoZWNrZWQpO1xuXHR9XG5cblx0bmdBZnRlckNvbnRlbnRJbml0KCkge1xuXHRcdHRoaXMuX2ZvY3VzTW9uaXRvci5tb25pdG9yKHRoaXMuX2VsZW1lbnRSZWYsIHRydWUpLnN1YnNjcmliZSgoZm9jdXNPcmlnaW4pID0+IHtcblx0XHRcdGlmIChmb2N1c09yaWdpbikgdGhpcy5fZm9jdXNlZC5zZXQodHJ1ZSk7XG5cdFx0XHRpZiAoZm9jdXNPcmlnaW4gPT09ICdrZXlib2FyZCcgfHwgZm9jdXNPcmlnaW4gPT09ICdwcm9ncmFtJykge1xuXHRcdFx0XHR0aGlzLl9mb2N1c1Zpc2libGUuc2V0KHRydWUpO1xuXHRcdFx0fVxuXHRcdFx0aWYgKCFmb2N1c09yaWdpbikge1xuXHRcdFx0XHQvLyBXaGVuIGEgZm9jdXNlZCBlbGVtZW50IGJlY29tZXMgZGlzYWJsZWQsIHRoZSBicm93c2VyICppbW1lZGlhdGVseSogZmlyZXMgYSBibHVyIGV2ZW50LlxuXHRcdFx0XHQvLyBBbmd1bGFyIGRvZXMgbm90IGV4cGVjdCBldmVudHMgdG8gYmUgcmFpc2VkIGR1cmluZyBjaGFuZ2UgZGV0ZWN0aW9uLCBzbyBhbnkgc3RhdGVcblx0XHRcdFx0Ly8gY2hhbmdlIChzdWNoIGFzIGEgZm9ybSBjb250cm9sJ3MgbmctdG91Y2hlZCkgd2lsbCBjYXVzZSBhIGNoYW5nZWQtYWZ0ZXItY2hlY2tlZCBlcnJvci5cblx0XHRcdFx0Ly8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzE3NzkzLiBUbyB3b3JrIGFyb3VuZCB0aGlzLCB3ZSBkZWZlclxuXHRcdFx0XHQvLyB0ZWxsaW5nIHRoZSBmb3JtIGNvbnRyb2wgaXQgaGFzIGJlZW4gdG91Y2hlZCB1bnRpbCB0aGUgbmV4dCB0aWNrLlxuXHRcdFx0XHRQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcblx0XHRcdFx0XHR0aGlzLl9mb2N1c1Zpc2libGUuc2V0KGZhbHNlKTtcblx0XHRcdFx0XHR0aGlzLl9mb2N1c2VkLnNldChmYWxzZSk7XG5cdFx0XHRcdFx0dGhpcy5fb25Ub3VjaGVkKCk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0fVxuXHRcdH0pO1xuXG5cdFx0dGhpcy5jaGVja2JveCgpLm5hdGl2ZUVsZW1lbnQuaW5kZXRlcm1pbmF0ZSA9IHRoaXMuY2hlY2tlZCgpID09PSAnaW5kZXRlcm1pbmF0ZSc7XG5cdFx0aWYgKHRoaXMuY2hlY2tib3goKS5uYXRpdmVFbGVtZW50LmluZGV0ZXJtaW5hdGUpIHtcblx0XHRcdHRoaXMuY2hlY2tib3goKS5uYXRpdmVFbGVtZW50LnZhbHVlID0gJ2luZGV0ZXJtaW5hdGUnO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLmNoZWNrYm94KCkubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRoaXMuY2hlY2tlZCgpID8gJ29uJyA6ICdvZmYnO1xuXHRcdH1cblx0XHR0aGlzLmNoZWNrYm94KCkubmF0aXZlRWxlbWVudC5kaXNwYXRjaEV2ZW50KG5ldyBFdmVudCgnY2hhbmdlJykpO1xuXHR9XG5cblx0bmdPbkRlc3Ryb3koKSB7XG5cdFx0dGhpcy5fZm9jdXNNb25pdG9yLnN0b3BNb25pdG9yaW5nKHRoaXMuX2VsZW1lbnRSZWYpO1xuXHR9XG5cblx0d3JpdGVWYWx1ZSh2YWx1ZTogQnJuQ2hlY2tib3hWYWx1ZSk6IHZvaWQge1xuXHRcdGlmICh2YWx1ZSA9PT0gJ2luZGV0ZXJtaW5hdGUnKSB7XG5cdFx0XHR0aGlzLmNoZWNrZWQuc2V0KCdpbmRldGVybWluYXRlJyk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuY2hlY2tlZC5zZXQoISF2YWx1ZSk7XG5cdFx0fVxuXHR9XG5cblx0cmVnaXN0ZXJPbkNoYW5nZShmbjogQ2hhbmdlRm48QnJuQ2hlY2tib3hWYWx1ZT4pOiB2b2lkIHtcblx0XHR0aGlzLl9vbkNoYW5nZSA9IGZuO1xuXHR9XG5cblx0cmVnaXN0ZXJPblRvdWNoZWQoZm46IFRvdWNoRm4pOiB2b2lkIHtcblx0XHR0aGlzLl9vblRvdWNoZWQgPSBmbjtcblx0fVxuXG5cdC8qKiBJbXBsZW1lbnRlZCBhcyBhIHBhcnQgb2YgQ29udHJvbFZhbHVlQWNjZXNzb3IuICovXG5cdHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuXHRcdHRoaXMuc3RhdGUoKS5kaXNhYmxlZC5zZXQoaXNEaXNhYmxlZCk7XG5cdH1cblxuXHQvKipcblx0ICogSWYgdGhlIHNwYWNlIGtleSBpcyBwcmVzc2VkLCBwcmV2ZW50IHRoZSBkZWZhdWx0IGFjdGlvbiB0byBzdG9wIHRoZSBwYWdlIGZyb20gc2Nyb2xsaW5nLlxuXHQgKi9cblx0QEhvc3RMaXN0ZW5lcigna2V5ZG93bi5zcGFjZScsIFsnJGV2ZW50J10pXG5cdHByb3RlY3RlZCBwcmV2ZW50U2Nyb2xsaW5nKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG5cdFx0ZXZlbnQucHJldmVudERlZmF1bHQoKTtcblx0fVxufVxuXG50eXBlIEJybkNoZWNrYm94VmFsdWUgPSBib29sZWFuIHwgJ2luZGV0ZXJtaW5hdGUnO1xuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhcnRhbi1uZy1icmFpbi1jaGVja2JveC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vY2hlY2tib3gvc3JjL3NwYXJ0YW4tbmctYnJhaW4tY2hlY2tib3gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -1,30 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { BrnCollapsibleContentComponent } from './lib/brn-collapsible-content.component';
3
- import { BrnCollapsibleTriggerDirective } from './lib/brn-collapsible-trigger.directive';
4
- import { BrnCollapsibleComponent } from './lib/brn-collapsible.component';
5
- import * as i0 from "@angular/core";
6
- export * from './lib/brn-collapsible-content.component';
7
- export * from './lib/brn-collapsible-trigger.directive';
8
- export * from './lib/brn-collapsible.component';
9
- export const BrnCollapsibleImports = [
10
- BrnCollapsibleComponent,
11
- BrnCollapsibleTriggerDirective,
12
- BrnCollapsibleContentComponent,
13
- ];
14
- export class BrnCollapsibleModule {
15
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCollapsibleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
16
- /** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.5", ngImport: i0, type: BrnCollapsibleModule, imports: [BrnCollapsibleComponent,
17
- BrnCollapsibleTriggerDirective,
18
- BrnCollapsibleContentComponent], exports: [BrnCollapsibleComponent,
19
- BrnCollapsibleTriggerDirective,
20
- BrnCollapsibleContentComponent] });
21
- /** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCollapsibleModule });
22
- }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCollapsibleModule, decorators: [{
24
- type: NgModule,
25
- args: [{
26
- imports: [...BrnCollapsibleImports],
27
- exports: [...BrnCollapsibleImports],
28
- }]
29
- }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2NvbGxhcHNpYmxlL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQUUxRSxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUVoRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRztJQUNwQyx1QkFBdUI7SUFDdkIsOEJBQThCO0lBQzlCLDhCQUE4QjtDQUNyQixDQUFDO0FBTVgsTUFBTSxPQUFPLG9CQUFvQjswSEFBcEIsb0JBQW9COzJIQUFwQixvQkFBb0IsWUFUaEMsdUJBQXVCO1lBQ3ZCLDhCQUE4QjtZQUM5Qiw4QkFBOEIsYUFGOUIsdUJBQXVCO1lBQ3ZCLDhCQUE4QjtZQUM5Qiw4QkFBOEI7MkhBT2xCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFKaEMsUUFBUTttQkFBQztvQkFDVCxPQUFPLEVBQUUsQ0FBQyxHQUFHLHFCQUFxQixDQUFDO29CQUNuQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLHFCQUFxQixDQUFDO2lCQUNuQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IEJybkNvbGxhcHNpYmxlQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vbGliL2Jybi1jb2xsYXBzaWJsZS1jb250ZW50LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCcm5Db2xsYXBzaWJsZVRyaWdnZXJEaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9icm4tY29sbGFwc2libGUtdHJpZ2dlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQnJuQ29sbGFwc2libGVDb21wb25lbnQgfSBmcm9tICcuL2xpYi9icm4tY29sbGFwc2libGUuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJuLWNvbGxhcHNpYmxlLWNvbnRlbnQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jybi1jb2xsYXBzaWJsZS10cmlnZ2VyLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4tY29sbGFwc2libGUuY29tcG9uZW50JztcblxuZXhwb3J0IGNvbnN0IEJybkNvbGxhcHNpYmxlSW1wb3J0cyA9IFtcblx0QnJuQ29sbGFwc2libGVDb21wb25lbnQsXG5cdEJybkNvbGxhcHNpYmxlVHJpZ2dlckRpcmVjdGl2ZSxcblx0QnJuQ29sbGFwc2libGVDb250ZW50Q29tcG9uZW50LFxuXSBhcyBjb25zdDtcblxuQE5nTW9kdWxlKHtcblx0aW1wb3J0czogWy4uLkJybkNvbGxhcHNpYmxlSW1wb3J0c10sXG5cdGV4cG9ydHM6IFsuLi5Ccm5Db2xsYXBzaWJsZUltcG9ydHNdLFxufSlcbmV4cG9ydCBjbGFzcyBCcm5Db2xsYXBzaWJsZU1vZHVsZSB7fVxuIl19
@@ -1,62 +0,0 @@
1
- import { Component, ElementRef, computed, effect, inject, input, signal, untracked, } from '@angular/core';
2
- import { BrnCollapsibleComponent } from './brn-collapsible.component';
3
- import * as i0 from "@angular/core";
4
- export class BrnCollapsibleContentComponent {
5
- _collapsible = inject(BrnCollapsibleComponent, { optional: true });
6
- _elementRef = inject(ElementRef);
7
- _height = signal(0);
8
- _width = signal(0);
9
- contentId = computed(() => this._collapsible?.contentId());
10
- state = computed(() => this._collapsible?.state?.() ?? 'closed');
11
- computedStyles = computed(() => {
12
- const height = this._height();
13
- const width = this._width();
14
- return {
15
- '--radix-collapsible-content-height': height ? `${height}px` : undefined,
16
- '--radix-collapsible-content-width': width ? `${width}px` : undefined,
17
- };
18
- });
19
- id = input();
20
- constructor() {
21
- if (!this._collapsible) {
22
- throw Error('Collapsible trigger directive can only be used inside a brn-collapsible element.');
23
- }
24
- effect(() => {
25
- const id = this.id();
26
- const collapsible = this._collapsible;
27
- if (!id || !collapsible)
28
- return;
29
- untracked(() => collapsible.contentId.set(id));
30
- });
31
- }
32
- ngAfterContentInit() {
33
- if (typeof this._elementRef.nativeElement.getBoundingClientRect !== 'function')
34
- return;
35
- const rect = this._elementRef.nativeElement.getBoundingClientRect();
36
- if (!rect)
37
- return;
38
- this._width.set(rect.width);
39
- this._height.set(rect.height);
40
- }
41
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCollapsibleContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
42
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.5", type: BrnCollapsibleContentComponent, isStandalone: true, selector: "brn-collapsible-content", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "hidden": "state() === \"closed\"", "attr.data-state": "state()", "style": "computedStyles()", "id": "contentId()" } }, ngImport: i0, template: `
43
- <ng-content />
44
- `, isInline: true });
45
- }
46
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCollapsibleContentComponent, decorators: [{
47
- type: Component,
48
- args: [{
49
- selector: 'brn-collapsible-content',
50
- standalone: true,
51
- host: {
52
- '[hidden]': 'state() === "closed"',
53
- '[attr.data-state]': 'state()',
54
- '[style]': 'computedStyles()',
55
- '[id]': 'contentId()',
56
- },
57
- template: `
58
- <ng-content />
59
- `,
60
- }]
61
- }], ctorParameters: () => [] });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWNvbGxhcHNpYmxlLWNvbnRlbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9jb2xsYXBzaWJsZS9zcmMvbGliL2Jybi1jb2xsYXBzaWJsZS1jb250ZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRU4sU0FBUyxFQUNULFVBQVUsRUFDVixRQUFRLEVBQ1IsTUFBTSxFQUNOLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7QUFldEUsTUFBTSxPQUFPLDhCQUE4QjtJQUN6QixZQUFZLEdBQUcsTUFBTSxDQUFDLHVCQUF1QixFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFFbkUsV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUVqQyxPQUFPLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXBCLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFcEIsU0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFFM0QsS0FBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssRUFBRSxFQUFFLElBQUksUUFBUSxDQUFDLENBQUM7SUFFakUsY0FBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDOUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzlCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM1QixPQUFPO1lBQ04sb0NBQW9DLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTO1lBQ3hFLG1DQUFtQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUztTQUNyRSxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFFYSxFQUFFLEdBQUcsS0FBSyxFQUE2QixDQUFDO0lBRXhEO1FBQ0MsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN4QixNQUFNLEtBQUssQ0FBQyxrRkFBa0YsQ0FBQyxDQUFDO1FBQ2pHLENBQUM7UUFFRCxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1gsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ3JCLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDdEMsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLFdBQVc7Z0JBQUUsT0FBTztZQUNoQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNoRCxDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxrQkFBa0I7UUFDakIsSUFBSSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLHFCQUFxQixLQUFLLFVBQVU7WUFBRSxPQUFPO1FBQ3ZGLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDcEUsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBQ2xCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDL0IsQ0FBQzswSEEzQ1csOEJBQThCOzhHQUE5Qiw4QkFBOEIsNFZBSmhDOztFQUVUOzsyRkFFVyw4QkFBOEI7a0JBYjFDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDTCxVQUFVLEVBQUUsc0JBQXNCO3dCQUNsQyxtQkFBbUIsRUFBRSxTQUFTO3dCQUM5QixTQUFTLEVBQUUsa0JBQWtCO3dCQUM3QixNQUFNLEVBQUUsYUFBYTtxQkFDckI7b0JBQ0QsUUFBUSxFQUFFOztFQUVUO2lCQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0dHlwZSBBZnRlckNvbnRlbnRJbml0LFxuXHRDb21wb25lbnQsXG5cdEVsZW1lbnRSZWYsXG5cdGNvbXB1dGVkLFxuXHRlZmZlY3QsXG5cdGluamVjdCxcblx0aW5wdXQsXG5cdHNpZ25hbCxcblx0dW50cmFja2VkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJybkNvbGxhcHNpYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9icm4tY29sbGFwc2libGUuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnYnJuLWNvbGxhcHNpYmxlLWNvbnRlbnQnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRob3N0OiB7XG5cdFx0J1toaWRkZW5dJzogJ3N0YXRlKCkgPT09IFwiY2xvc2VkXCInLFxuXHRcdCdbYXR0ci5kYXRhLXN0YXRlXSc6ICdzdGF0ZSgpJyxcblx0XHQnW3N0eWxlXSc6ICdjb21wdXRlZFN0eWxlcygpJyxcblx0XHQnW2lkXSc6ICdjb250ZW50SWQoKScsXG5cdH0sXG5cdHRlbXBsYXRlOiBgXG5cdFx0PG5nLWNvbnRlbnQgLz5cblx0YCxcbn0pXG5leHBvcnQgY2xhc3MgQnJuQ29sbGFwc2libGVDb250ZW50Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG5cdHByaXZhdGUgcmVhZG9ubHkgX2NvbGxhcHNpYmxlID0gaW5qZWN0KEJybkNvbGxhcHNpYmxlQ29tcG9uZW50LCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG5cdHByaXZhdGUgcmVhZG9ubHkgX2VsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cblx0cHJpdmF0ZSByZWFkb25seSBfaGVpZ2h0ID0gc2lnbmFsKDApO1xuXG5cdHByaXZhdGUgcmVhZG9ubHkgX3dpZHRoID0gc2lnbmFsKDApO1xuXG5cdHB1YmxpYyByZWFkb25seSBjb250ZW50SWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLl9jb2xsYXBzaWJsZT8uY29udGVudElkKCkpO1xuXG5cdHB1YmxpYyByZWFkb25seSBzdGF0ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuX2NvbGxhcHNpYmxlPy5zdGF0ZT8uKCkgPz8gJ2Nsb3NlZCcpO1xuXG5cdHB1YmxpYyByZWFkb25seSBjb21wdXRlZFN0eWxlcyA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRjb25zdCBoZWlnaHQgPSB0aGlzLl9oZWlnaHQoKTtcblx0XHRjb25zdCB3aWR0aCA9IHRoaXMuX3dpZHRoKCk7XG5cdFx0cmV0dXJuIHtcblx0XHRcdCctLXJhZGl4LWNvbGxhcHNpYmxlLWNvbnRlbnQtaGVpZ2h0JzogaGVpZ2h0ID8gYCR7aGVpZ2h0fXB4YCA6IHVuZGVmaW5lZCxcblx0XHRcdCctLXJhZGl4LWNvbGxhcHNpYmxlLWNvbnRlbnQtd2lkdGgnOiB3aWR0aCA/IGAke3dpZHRofXB4YCA6IHVuZGVmaW5lZCxcblx0XHR9O1xuXHR9KTtcblxuXHRwdWJsaWMgcmVhZG9ubHkgaWQgPSBpbnB1dDxzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkPigpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGlmICghdGhpcy5fY29sbGFwc2libGUpIHtcblx0XHRcdHRocm93IEVycm9yKCdDb2xsYXBzaWJsZSB0cmlnZ2VyIGRpcmVjdGl2ZSBjYW4gb25seSBiZSB1c2VkIGluc2lkZSBhIGJybi1jb2xsYXBzaWJsZSBlbGVtZW50LicpO1xuXHRcdH1cblxuXHRcdGVmZmVjdCgoKSA9PiB7XG5cdFx0XHRjb25zdCBpZCA9IHRoaXMuaWQoKTtcblx0XHRcdGNvbnN0IGNvbGxhcHNpYmxlID0gdGhpcy5fY29sbGFwc2libGU7XG5cdFx0XHRpZiAoIWlkIHx8ICFjb2xsYXBzaWJsZSkgcmV0dXJuO1xuXHRcdFx0dW50cmFja2VkKCgpID0+IGNvbGxhcHNpYmxlLmNvbnRlbnRJZC5zZXQoaWQpKTtcblx0XHR9KTtcblx0fVxuXG5cdG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcblx0XHRpZiAodHlwZW9mIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QgIT09ICdmdW5jdGlvbicpIHJldHVybjtcblx0XHRjb25zdCByZWN0ID0gdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXHRcdGlmICghcmVjdCkgcmV0dXJuO1xuXHRcdHRoaXMuX3dpZHRoLnNldChyZWN0LndpZHRoKTtcblx0XHR0aGlzLl9oZWlnaHQuc2V0KHJlY3QuaGVpZ2h0KTtcblx0fVxufVxuIl19
@@ -1,35 +0,0 @@
1
- import { Directive, computed, inject } from '@angular/core';
2
- import { BrnCollapsibleComponent } from './brn-collapsible.component';
3
- import * as i0 from "@angular/core";
4
- export class BrnCollapsibleTriggerDirective {
5
- _collapsible = inject(BrnCollapsibleComponent, { optional: true });
6
- state = computed(() => this._collapsible?.state());
7
- disabled = computed(() => this._collapsible?.disabled?.());
8
- attrDisabled = computed(() => this._collapsible?.attrDisabled?.());
9
- ariaControls = computed(() => this._collapsible?.contentId());
10
- constructor() {
11
- if (!this._collapsible) {
12
- throw Error('Collapsible trigger directive can only be used inside a brn-collapsible element.');
13
- }
14
- }
15
- toggleCollapsible() {
16
- this._collapsible?.toggle();
17
- }
18
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCollapsibleTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
19
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: BrnCollapsibleTriggerDirective, isStandalone: true, selector: "button[brnCollapsibleTrigger]", host: { listeners: { "click": "toggleCollapsible()" }, properties: { "attr.data-state": "state()", "attr.disabled": "attrDisabled()", "attr.aria-expanded": "state() === \"open\"", "attr.aria-controls": "ariaControls()" } }, ngImport: i0 });
20
- }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCollapsibleTriggerDirective, decorators: [{
22
- type: Directive,
23
- args: [{
24
- selector: 'button[brnCollapsibleTrigger]',
25
- standalone: true,
26
- host: {
27
- '[attr.data-state]': 'state()',
28
- '[attr.disabled]': 'attrDisabled()',
29
- '[attr.aria-expanded]': 'state() === "open"',
30
- '[attr.aria-controls]': 'ariaControls()',
31
- '(click)': 'toggleCollapsible()',
32
- },
33
- }]
34
- }], ctorParameters: () => [] });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWNvbGxhcHNpYmxlLXRyaWdnZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9jb2xsYXBzaWJsZS9zcmMvbGliL2Jybi1jb2xsYXBzaWJsZS10cmlnZ2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBYXRFLE1BQU0sT0FBTyw4QkFBOEI7SUFDekIsWUFBWSxHQUFHLE1BQU0sQ0FBQyx1QkFBdUIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRXBFLEtBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBRW5ELFFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFM0QsWUFBWSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQztJQUVuRSxZQUFZLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUU5RTtRQUNDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDeEIsTUFBTSxLQUFLLENBQUMsa0ZBQWtGLENBQUMsQ0FBQztRQUNqRyxDQUFDO0lBQ0YsQ0FBQztJQUVELGlCQUFpQjtRQUNoQixJQUFJLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQzdCLENBQUM7MEhBbkJXLDhCQUE4Qjs4R0FBOUIsOEJBQThCOzsyRkFBOUIsOEJBQThCO2tCQVgxQyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSwrQkFBK0I7b0JBQ3pDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0wsbUJBQW1CLEVBQUUsU0FBUzt3QkFDOUIsaUJBQWlCLEVBQUUsZ0JBQWdCO3dCQUNuQyxzQkFBc0IsRUFBRSxvQkFBb0I7d0JBQzVDLHNCQUFzQixFQUFFLGdCQUFnQjt3QkFDeEMsU0FBUyxFQUFFLHFCQUFxQjtxQkFDaEM7aUJBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGNvbXB1dGVkLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJybkNvbGxhcHNpYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9icm4tY29sbGFwc2libGUuY29tcG9uZW50JztcblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnYnV0dG9uW2JybkNvbGxhcHNpYmxlVHJpZ2dlcl0nLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRob3N0OiB7XG5cdFx0J1thdHRyLmRhdGEtc3RhdGVdJzogJ3N0YXRlKCknLFxuXHRcdCdbYXR0ci5kaXNhYmxlZF0nOiAnYXR0ckRpc2FibGVkKCknLFxuXHRcdCdbYXR0ci5hcmlhLWV4cGFuZGVkXSc6ICdzdGF0ZSgpID09PSBcIm9wZW5cIicsXG5cdFx0J1thdHRyLmFyaWEtY29udHJvbHNdJzogJ2FyaWFDb250cm9scygpJyxcblx0XHQnKGNsaWNrKSc6ICd0b2dnbGVDb2xsYXBzaWJsZSgpJyxcblx0fSxcbn0pXG5leHBvcnQgY2xhc3MgQnJuQ29sbGFwc2libGVUcmlnZ2VyRGlyZWN0aXZlIHtcblx0cHJpdmF0ZSByZWFkb25seSBfY29sbGFwc2libGUgPSBpbmplY3QoQnJuQ29sbGFwc2libGVDb21wb25lbnQsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cblx0cHVibGljIHJlYWRvbmx5IHN0YXRlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5fY29sbGFwc2libGU/LnN0YXRlKCkpO1xuXG5cdHB1YmxpYyByZWFkb25seSBkaXNhYmxlZCA9IGNvbXB1dGVkKCgpID0+IHRoaXMuX2NvbGxhcHNpYmxlPy5kaXNhYmxlZD8uKCkpO1xuXG5cdHB1YmxpYyByZWFkb25seSBhdHRyRGlzYWJsZWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLl9jb2xsYXBzaWJsZT8uYXR0ckRpc2FibGVkPy4oKSk7XG5cblx0cHVibGljIHJlYWRvbmx5IGFyaWFDb250cm9scyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuX2NvbGxhcHNpYmxlPy5jb250ZW50SWQoKSk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0aWYgKCF0aGlzLl9jb2xsYXBzaWJsZSkge1xuXHRcdFx0dGhyb3cgRXJyb3IoJ0NvbGxhcHNpYmxlIHRyaWdnZXIgZGlyZWN0aXZlIGNhbiBvbmx5IGJlIHVzZWQgaW5zaWRlIGEgYnJuLWNvbGxhcHNpYmxlIGVsZW1lbnQuJyk7XG5cdFx0fVxuXHR9XG5cblx0dG9nZ2xlQ29sbGFwc2libGUoKSB7XG5cdFx0dGhpcy5fY29sbGFwc2libGU/LnRvZ2dsZSgpO1xuXHR9XG59XG4iXX0=
@@ -1,33 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, ViewEncapsulation, booleanAttribute, computed, input, signal, } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- let collapsibleContentIdSequence = 0;
4
- export class BrnCollapsibleComponent {
5
- state = signal('closed');
6
- contentId = signal(`brn-collapsible-content-${collapsibleContentIdSequence++}`);
7
- disabled = input(false, { transform: booleanAttribute });
8
- attrDisabled = computed(() => (this.disabled() ? true : undefined));
9
- toggle() {
10
- this.state.set(this.state() === 'closed' ? 'open' : 'closed');
11
- }
12
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCollapsibleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
13
- /** @nocollapse */ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.5", type: BrnCollapsibleComponent, isStandalone: true, selector: "brn-collapsible", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-state": "state()", "attr.disabled": "attrDisabled()" } }, ngImport: i0, template: `
14
- <ng-content />
15
- `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
16
- }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCollapsibleComponent, decorators: [{
18
- type: Component,
19
- args: [{
20
- selector: 'brn-collapsible',
21
- standalone: true,
22
- host: {
23
- '[attr.data-state]': 'state()',
24
- '[attr.disabled]': 'attrDisabled()',
25
- },
26
- template: `
27
- <ng-content />
28
- `,
29
- changeDetection: ChangeDetectionStrategy.OnPush,
30
- encapsulation: ViewEncapsulation.None,
31
- }]
32
- }] });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWNvbGxhcHNpYmxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vY29sbGFwc2libGUvc3JjL2xpYi9icm4tY29sbGFwc2libGUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLEtBQUssRUFDTCxNQUFNLEdBQ04sTUFBTSxlQUFlLENBQUM7O0FBRXZCLElBQUksNEJBQTRCLEdBQUcsQ0FBQyxDQUFDO0FBZ0JyQyxNQUFNLE9BQU8sdUJBQXVCO0lBQ25CLEtBQUssR0FBRyxNQUFNLENBQXNCLFFBQVEsQ0FBQyxDQUFDO0lBRTlDLFNBQVMsR0FBRyxNQUFNLENBQUMsMkJBQTJCLDRCQUE0QixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBRWhGLFFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztJQUV6RCxZQUFZLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFFN0UsTUFBTTtRQUNaLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0QsQ0FBQzswSEFYVyx1QkFBdUI7OEdBQXZCLHVCQUF1QixtVEFOekI7O0VBRVQ7OzJGQUlXLHVCQUF1QjtrQkFibkMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsSUFBSSxFQUFFO3dCQUNMLG1CQUFtQixFQUFFLFNBQVM7d0JBQzlCLGlCQUFpQixFQUFFLGdCQUFnQjtxQkFDbkM7b0JBQ0QsUUFBUSxFQUFFOztFQUVUO29CQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtpQkFDckMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcblx0Q29tcG9uZW50LFxuXHRWaWV3RW5jYXBzdWxhdGlvbixcblx0Ym9vbGVhbkF0dHJpYnV0ZSxcblx0Y29tcHV0ZWQsXG5cdGlucHV0LFxuXHRzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5sZXQgY29sbGFwc2libGVDb250ZW50SWRTZXF1ZW5jZSA9IDA7XG5leHBvcnQgdHlwZSBCcm5Db2xsYXBzaWJsZVN0YXRlID0gJ29wZW4nIHwgJ2Nsb3NlZCc7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ2Jybi1jb2xsYXBzaWJsZScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGhvc3Q6IHtcblx0XHQnW2F0dHIuZGF0YS1zdGF0ZV0nOiAnc3RhdGUoKScsXG5cdFx0J1thdHRyLmRpc2FibGVkXSc6ICdhdHRyRGlzYWJsZWQoKScsXG5cdH0sXG5cdHRlbXBsYXRlOiBgXG5cdFx0PG5nLWNvbnRlbnQgLz5cblx0YCxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEJybkNvbGxhcHNpYmxlQ29tcG9uZW50IHtcblx0cHVibGljIHJlYWRvbmx5IHN0YXRlID0gc2lnbmFsPEJybkNvbGxhcHNpYmxlU3RhdGU+KCdjbG9zZWQnKTtcblxuXHRwdWJsaWMgcmVhZG9ubHkgY29udGVudElkID0gc2lnbmFsKGBicm4tY29sbGFwc2libGUtY29udGVudC0ke2NvbGxhcHNpYmxlQ29udGVudElkU2VxdWVuY2UrK31gKTtcblxuXHRwdWJsaWMgcmVhZG9ubHkgZGlzYWJsZWQgPSBpbnB1dChmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cblx0cHVibGljIHJlYWRvbmx5IGF0dHJEaXNhYmxlZCA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLmRpc2FibGVkKCkgPyB0cnVlIDogdW5kZWZpbmVkKSk7XG5cblx0cHVibGljIHRvZ2dsZSgpIHtcblx0XHR0aGlzLnN0YXRlLnNldCh0aGlzLnN0YXRlKCkgPT09ICdjbG9zZWQnID8gJ29wZW4nIDogJ2Nsb3NlZCcpO1xuXHR9XG59XG4iXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhcnRhbi1uZy1icmFpbi1jb2xsYXBzaWJsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vY29sbGFwc2libGUvc3JjL3NwYXJ0YW4tbmctYnJhaW4tY29sbGFwc2libGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -1,48 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { BrnCommandEmptyDirective } from './lib/brn-command-empty.directive';
3
- import { BrnCommandGroupDirective } from './lib/brn-command-group.directive';
4
- import { BrnCommandItemDirective } from './lib/brn-command-item.directive';
5
- import { BrnCommandListDirective } from './lib/brn-command-list.directive';
6
- import { BrnCommandSearchInputDirective } from './lib/brn-command-search-input.directive';
7
- import { BrnCommandDirective } from './lib/brn-command.directive';
8
- import * as i0 from "@angular/core";
9
- export * from './lib/brn-command-empty.directive';
10
- export * from './lib/brn-command-group.directive';
11
- export * from './lib/brn-command-item.directive';
12
- export * from './lib/brn-command-item.token';
13
- export * from './lib/brn-command-list.directive';
14
- export * from './lib/brn-command-search-input.directive';
15
- export * from './lib/brn-command-search-input.token';
16
- export * from './lib/brn-command.directive';
17
- export * from './lib/brn-command.token';
18
- export const BrnCommandImports = [
19
- BrnCommandEmptyDirective,
20
- BrnCommandGroupDirective,
21
- BrnCommandItemDirective,
22
- BrnCommandListDirective,
23
- BrnCommandSearchInputDirective,
24
- BrnCommandDirective,
25
- ];
26
- export class BrnCommandModule {
27
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
28
- /** @nocollapse */ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandModule, imports: [BrnCommandEmptyDirective,
29
- BrnCommandGroupDirective,
30
- BrnCommandItemDirective,
31
- BrnCommandListDirective,
32
- BrnCommandSearchInputDirective,
33
- BrnCommandDirective], exports: [BrnCommandEmptyDirective,
34
- BrnCommandGroupDirective,
35
- BrnCommandItemDirective,
36
- BrnCommandListDirective,
37
- BrnCommandSearchInputDirective,
38
- BrnCommandDirective] });
39
- /** @nocollapse */ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandModule });
40
- }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandModule, decorators: [{
42
- type: NgModule,
43
- args: [{
44
- imports: [...BrnCommandImports],
45
- exports: [...BrnCommandImports],
46
- }]
47
- }] });
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2NvbW1hbmQvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDN0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDN0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDM0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDM0UsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDMUYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBRWxFLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHlCQUF5QixDQUFDO0FBRXhDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBQ2hDLHdCQUF3QjtJQUN4Qix3QkFBd0I7SUFDeEIsdUJBQXVCO0lBQ3ZCLHVCQUF1QjtJQUN2Qiw4QkFBOEI7SUFDOUIsbUJBQW1CO0NBQ1YsQ0FBQztBQU1YLE1BQU0sT0FBTyxnQkFBZ0I7MEhBQWhCLGdCQUFnQjsySEFBaEIsZ0JBQWdCLFlBWjVCLHdCQUF3QjtZQUN4Qix3QkFBd0I7WUFDeEIsdUJBQXVCO1lBQ3ZCLHVCQUF1QjtZQUN2Qiw4QkFBOEI7WUFDOUIsbUJBQW1CLGFBTG5CLHdCQUF3QjtZQUN4Qix3QkFBd0I7WUFDeEIsdUJBQXVCO1lBQ3ZCLHVCQUF1QjtZQUN2Qiw4QkFBOEI7WUFDOUIsbUJBQW1COzJIQU9QLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFKNUIsUUFBUTttQkFBQztvQkFDVCxPQUFPLEVBQUUsQ0FBQyxHQUFHLGlCQUFpQixDQUFDO29CQUMvQixPQUFPLEVBQUUsQ0FBQyxHQUFHLGlCQUFpQixDQUFDO2lCQUMvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCcm5Db21tYW5kRW1wdHlEaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9icm4tY29tbWFuZC1lbXB0eS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQnJuQ29tbWFuZEdyb3VwRGlyZWN0aXZlIH0gZnJvbSAnLi9saWIvYnJuLWNvbW1hbmQtZ3JvdXAuZGlyZWN0aXZlJztcbmltcG9ydCB7IEJybkNvbW1hbmRJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9saWIvYnJuLWNvbW1hbmQtaXRlbS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQnJuQ29tbWFuZExpc3REaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9icm4tY29tbWFuZC1saXN0LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBCcm5Db21tYW5kU2VhcmNoSW5wdXREaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9icm4tY29tbWFuZC1zZWFyY2gtaW5wdXQuZGlyZWN0aXZlJztcbmltcG9ydCB7IEJybkNvbW1hbmREaXJlY3RpdmUgfSBmcm9tICcuL2xpYi9icm4tY29tbWFuZC5kaXJlY3RpdmUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4tY29tbWFuZC1lbXB0eS5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJuLWNvbW1hbmQtZ3JvdXAuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jybi1jb21tYW5kLWl0ZW0uZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jybi1jb21tYW5kLWl0ZW0udG9rZW4nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJuLWNvbW1hbmQtbGlzdC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJuLWNvbW1hbmQtc2VhcmNoLWlucHV0LmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4tY29tbWFuZC1zZWFyY2gtaW5wdXQudG9rZW4nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJuLWNvbW1hbmQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jybi1jb21tYW5kLnRva2VuJztcblxuZXhwb3J0IGNvbnN0IEJybkNvbW1hbmRJbXBvcnRzID0gW1xuXHRCcm5Db21tYW5kRW1wdHlEaXJlY3RpdmUsXG5cdEJybkNvbW1hbmRHcm91cERpcmVjdGl2ZSxcblx0QnJuQ29tbWFuZEl0ZW1EaXJlY3RpdmUsXG5cdEJybkNvbW1hbmRMaXN0RGlyZWN0aXZlLFxuXHRCcm5Db21tYW5kU2VhcmNoSW5wdXREaXJlY3RpdmUsXG5cdEJybkNvbW1hbmREaXJlY3RpdmUsXG5dIGFzIGNvbnN0O1xuXG5ATmdNb2R1bGUoe1xuXHRpbXBvcnRzOiBbLi4uQnJuQ29tbWFuZEltcG9ydHNdLFxuXHRleHBvcnRzOiBbLi4uQnJuQ29tbWFuZEltcG9ydHNdLFxufSlcbmV4cG9ydCBjbGFzcyBCcm5Db21tYW5kTW9kdWxlIHt9XG4iXX0=
@@ -1,30 +0,0 @@
1
- import { computed, Directive, effect, inject, TemplateRef, ViewContainerRef } from '@angular/core';
2
- import { injectBrnCommand } from './brn-command.token';
3
- import * as i0 from "@angular/core";
4
- export class BrnCommandEmptyDirective {
5
- _templateRef = inject(TemplateRef);
6
- _viewContainerRef = inject(ViewContainerRef);
7
- _command = injectBrnCommand();
8
- /** Determine if the command has any visible items */
9
- _visible = computed(() => this._command.items().some((item) => item.visible()));
10
- constructor() {
11
- effect(() => {
12
- if (this._visible()) {
13
- this._viewContainerRef.clear();
14
- }
15
- else {
16
- this._viewContainerRef.createEmbeddedView(this._templateRef);
17
- }
18
- });
19
- }
20
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandEmptyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
21
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.5", type: BrnCommandEmptyDirective, isStandalone: true, selector: "[brnCommandEmpty]", ngImport: i0 });
22
- }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandEmptyDirective, decorators: [{
24
- type: Directive,
25
- args: [{
26
- standalone: true,
27
- selector: '[brnCommandEmpty]',
28
- }]
29
- }], ctorParameters: () => [] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWNvbW1hbmQtZW1wdHkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9jb21tYW5kL3NyYy9saWIvYnJuLWNvbW1hbmQtZW1wdHkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25HLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQU12RCxNQUFNLE9BQU8sd0JBQXdCO0lBQ25CLFlBQVksR0FBRyxNQUFNLENBQW9CLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzdDLFFBQVEsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO0lBRS9DLHFEQUFxRDtJQUNwQyxRQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRWpHO1FBQ0MsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNYLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNoQyxDQUFDO2lCQUFNLENBQUM7Z0JBQ1AsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUM5RCxDQUFDO1FBQ0YsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDOzBIQWhCVyx3QkFBd0I7OEdBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFKcEMsU0FBUzttQkFBQztvQkFDVixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLG1CQUFtQjtpQkFDN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21wdXRlZCwgRGlyZWN0aXZlLCBlZmZlY3QsIGluamVjdCwgVGVtcGxhdGVSZWYsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdEJybkNvbW1hbmQgfSBmcm9tICcuL2Jybi1jb21tYW5kLnRva2VuJztcblxuQERpcmVjdGl2ZSh7XG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHNlbGVjdG9yOiAnW2JybkNvbW1hbmRFbXB0eV0nLFxufSlcbmV4cG9ydCBjbGFzcyBCcm5Db21tYW5kRW1wdHlEaXJlY3RpdmUge1xuXHRwcml2YXRlIHJlYWRvbmx5IF90ZW1wbGF0ZVJlZiA9IGluamVjdDxUZW1wbGF0ZVJlZjx2b2lkPj4oVGVtcGxhdGVSZWYpO1xuXHRwcml2YXRlIHJlYWRvbmx5IF92aWV3Q29udGFpbmVyUmVmID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuXHRwcml2YXRlIHJlYWRvbmx5IF9jb21tYW5kID0gaW5qZWN0QnJuQ29tbWFuZCgpO1xuXG5cdC8qKiBEZXRlcm1pbmUgaWYgdGhlIGNvbW1hbmQgaGFzIGFueSB2aXNpYmxlIGl0ZW1zICovXG5cdHByaXZhdGUgcmVhZG9ubHkgX3Zpc2libGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLl9jb21tYW5kLml0ZW1zKCkuc29tZSgoaXRlbSkgPT4gaXRlbS52aXNpYmxlKCkpKTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0aWYgKHRoaXMuX3Zpc2libGUoKSkge1xuXHRcdFx0XHR0aGlzLl92aWV3Q29udGFpbmVyUmVmLmNsZWFyKCk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHR0aGlzLl92aWV3Q29udGFpbmVyUmVmLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLl90ZW1wbGF0ZVJlZik7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cbn1cbiJdfQ==
@@ -1,29 +0,0 @@
1
- import { computed, contentChildren, Directive, input } from '@angular/core';
2
- import { BrnCommandItemToken } from './brn-command-item.token';
3
- import * as i0 from "@angular/core";
4
- export class BrnCommandGroupDirective {
5
- static _id = 0;
6
- /** The id of the command list */
7
- id = input(`brn-command-group-${BrnCommandGroupDirective._id++}`);
8
- /** Get the items in the group */
9
- _items = contentChildren(BrnCommandItemToken, {
10
- descendants: true,
11
- });
12
- /** Determine if there are any visible items in the group */
13
- visible = computed(() => this._items().some((item) => item.visible()));
14
- /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
15
- /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.2.5", type: BrnCommandGroupDirective, isStandalone: true, selector: "[brnCommandGroup]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "role": "group" }, properties: { "attr.data-hidden": "!visible() ? \"\" : null", "id": "id()" } }, queries: [{ propertyName: "_items", predicate: BrnCommandItemToken, descendants: true, isSignal: true }], ngImport: i0 });
16
- }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: BrnCommandGroupDirective, decorators: [{
18
- type: Directive,
19
- args: [{
20
- selector: '[brnCommandGroup]',
21
- standalone: true,
22
- host: {
23
- role: 'group',
24
- '[attr.data-hidden]': '!visible() ? "" : null',
25
- '[id]': 'id()',
26
- },
27
- }]
28
- }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWNvbW1hbmQtZ3JvdXAuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9jb21tYW5kL3NyYy9saWIvYnJuLWNvbW1hbmQtZ3JvdXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBVy9ELE1BQU0sT0FBTyx3QkFBd0I7SUFDNUIsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFFdkIsaUNBQWlDO0lBQ2pCLEVBQUUsR0FBRyxLQUFLLENBQVMscUJBQXFCLHdCQUF3QixDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUUxRixpQ0FBaUM7SUFDaEIsTUFBTSxHQUFHLGVBQWUsQ0FBQyxtQkFBbUIsRUFBRTtRQUM5RCxXQUFXLEVBQUUsSUFBSTtLQUNqQixDQUFDLENBQUM7SUFFSCw0REFBNEQ7SUFDekMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDOzBIQVo5RSx3QkFBd0I7OEdBQXhCLHdCQUF3Qix3VkFPTSxtQkFBbUI7OzJGQVBqRCx3QkFBd0I7a0JBVHBDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDTCxJQUFJLEVBQUUsT0FBTzt3QkFDYixvQkFBb0IsRUFBRSx3QkFBd0I7d0JBQzlDLE1BQU0sRUFBRSxNQUFNO3FCQUNkO2lCQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIGNvbnRlbnRDaGlsZHJlbiwgRGlyZWN0aXZlLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnJuQ29tbWFuZEl0ZW1Ub2tlbiB9IGZyb20gJy4vYnJuLWNvbW1hbmQtaXRlbS50b2tlbic7XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ1ticm5Db21tYW5kR3JvdXBdJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0aG9zdDoge1xuXHRcdHJvbGU6ICdncm91cCcsXG5cdFx0J1thdHRyLmRhdGEtaGlkZGVuXSc6ICchdmlzaWJsZSgpID8gXCJcIiA6IG51bGwnLFxuXHRcdCdbaWRdJzogJ2lkKCknLFxuXHR9LFxufSlcbmV4cG9ydCBjbGFzcyBCcm5Db21tYW5kR3JvdXBEaXJlY3RpdmUge1xuXHRwcml2YXRlIHN0YXRpYyBfaWQgPSAwO1xuXG5cdC8qKiBUaGUgaWQgb2YgdGhlIGNvbW1hbmQgbGlzdCAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgaWQgPSBpbnB1dDxzdHJpbmc+KGBicm4tY29tbWFuZC1ncm91cC0ke0JybkNvbW1hbmRHcm91cERpcmVjdGl2ZS5faWQrK31gKTtcblxuXHQvKiogR2V0IHRoZSBpdGVtcyBpbiB0aGUgZ3JvdXAgKi9cblx0cHJpdmF0ZSByZWFkb25seSBfaXRlbXMgPSBjb250ZW50Q2hpbGRyZW4oQnJuQ29tbWFuZEl0ZW1Ub2tlbiwge1xuXHRcdGRlc2NlbmRhbnRzOiB0cnVlLFxuXHR9KTtcblxuXHQvKiogRGV0ZXJtaW5lIGlmIHRoZXJlIGFyZSBhbnkgdmlzaWJsZSBpdGVtcyBpbiB0aGUgZ3JvdXAgKi9cblx0cHJvdGVjdGVkIHJlYWRvbmx5IHZpc2libGUgPSBjb21wdXRlZCgoKSA9PiB0aGlzLl9pdGVtcygpLnNvbWUoKGl0ZW0pID0+IGl0ZW0udmlzaWJsZSgpKSk7XG59XG4iXX0=