@mintplayer/ng-bootstrap 21.22.0 → 21.23.1

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 (182) hide show
  1. package/fesm2022/mintplayer-ng-bootstrap-accordion.mjs +20 -20
  2. package/fesm2022/mintplayer-ng-bootstrap-accordion.mjs.map +1 -1
  3. package/fesm2022/mintplayer-ng-bootstrap-alert.mjs +8 -8
  4. package/fesm2022/mintplayer-ng-bootstrap-alert.mjs.map +1 -1
  5. package/fesm2022/mintplayer-ng-bootstrap-badge.mjs +5 -5
  6. package/fesm2022/mintplayer-ng-bootstrap-badge.mjs.map +1 -1
  7. package/fesm2022/mintplayer-ng-bootstrap-breadcrumb.mjs +6 -6
  8. package/fesm2022/mintplayer-ng-bootstrap-breadcrumb.mjs.map +1 -1
  9. package/fesm2022/mintplayer-ng-bootstrap-button-group.mjs +3 -3
  10. package/fesm2022/mintplayer-ng-bootstrap-button-group.mjs.map +1 -1
  11. package/fesm2022/mintplayer-ng-bootstrap-button-type.mjs +4 -4
  12. package/fesm2022/mintplayer-ng-bootstrap-button-type.mjs.map +1 -1
  13. package/fesm2022/mintplayer-ng-bootstrap-calendar-month.mjs +9 -9
  14. package/fesm2022/mintplayer-ng-bootstrap-calendar-month.mjs.map +1 -1
  15. package/fesm2022/mintplayer-ng-bootstrap-calendar.mjs +10 -10
  16. package/fesm2022/mintplayer-ng-bootstrap-calendar.mjs.map +1 -1
  17. package/fesm2022/mintplayer-ng-bootstrap-card.mjs +8 -8
  18. package/fesm2022/mintplayer-ng-bootstrap-card.mjs.map +1 -1
  19. package/fesm2022/mintplayer-ng-bootstrap-carousel.mjs +25 -25
  20. package/fesm2022/mintplayer-ng-bootstrap-carousel.mjs.map +1 -1
  21. package/fesm2022/mintplayer-ng-bootstrap-close.mjs +3 -3
  22. package/fesm2022/mintplayer-ng-bootstrap-close.mjs.map +1 -1
  23. package/fesm2022/mintplayer-ng-bootstrap-code-snippet.mjs +7 -7
  24. package/fesm2022/mintplayer-ng-bootstrap-code-snippet.mjs.map +1 -1
  25. package/fesm2022/mintplayer-ng-bootstrap-color-picker.mjs +58 -58
  26. package/fesm2022/mintplayer-ng-bootstrap-color-picker.mjs.map +1 -1
  27. package/fesm2022/mintplayer-ng-bootstrap-container.mjs +3 -3
  28. package/fesm2022/mintplayer-ng-bootstrap-container.mjs.map +1 -1
  29. package/fesm2022/mintplayer-ng-bootstrap-context-menu.mjs +3 -3
  30. package/fesm2022/mintplayer-ng-bootstrap-context-menu.mjs.map +1 -1
  31. package/fesm2022/mintplayer-ng-bootstrap-copy.mjs +4 -4
  32. package/fesm2022/mintplayer-ng-bootstrap-copy.mjs.map +1 -1
  33. package/fesm2022/mintplayer-ng-bootstrap-datatable.mjs +20 -20
  34. package/fesm2022/mintplayer-ng-bootstrap-datatable.mjs.map +1 -1
  35. package/fesm2022/mintplayer-ng-bootstrap-datepicker.mjs +6 -6
  36. package/fesm2022/mintplayer-ng-bootstrap-datepicker.mjs.map +1 -1
  37. package/fesm2022/mintplayer-ng-bootstrap-dock.mjs +798 -1175
  38. package/fesm2022/mintplayer-ng-bootstrap-dock.mjs.map +1 -1
  39. package/fesm2022/mintplayer-ng-bootstrap-dropdown-divider.mjs +3 -3
  40. package/fesm2022/mintplayer-ng-bootstrap-dropdown-divider.mjs.map +1 -1
  41. package/fesm2022/mintplayer-ng-bootstrap-dropdown-menu.mjs +10 -10
  42. package/fesm2022/mintplayer-ng-bootstrap-dropdown-menu.mjs.map +1 -1
  43. package/fesm2022/mintplayer-ng-bootstrap-dropdown.mjs +15 -15
  44. package/fesm2022/mintplayer-ng-bootstrap-dropdown.mjs.map +1 -1
  45. package/fesm2022/mintplayer-ng-bootstrap-enhanced-paste.mjs +3 -3
  46. package/fesm2022/mintplayer-ng-bootstrap-enhanced-paste.mjs.map +1 -1
  47. package/fesm2022/mintplayer-ng-bootstrap-enum.mjs +3 -3
  48. package/fesm2022/mintplayer-ng-bootstrap-enum.mjs.map +1 -1
  49. package/fesm2022/mintplayer-ng-bootstrap-file-upload.mjs +16 -16
  50. package/fesm2022/mintplayer-ng-bootstrap-file-upload.mjs.map +1 -1
  51. package/fesm2022/mintplayer-ng-bootstrap-floating-labels.mjs +3 -3
  52. package/fesm2022/mintplayer-ng-bootstrap-floating-labels.mjs.map +1 -1
  53. package/fesm2022/mintplayer-ng-bootstrap-font-color.mjs +3 -3
  54. package/fesm2022/mintplayer-ng-bootstrap-font-color.mjs.map +1 -1
  55. package/fesm2022/mintplayer-ng-bootstrap-for.mjs +4 -4
  56. package/fesm2022/mintplayer-ng-bootstrap-for.mjs.map +1 -1
  57. package/fesm2022/mintplayer-ng-bootstrap-form.mjs +11 -11
  58. package/fesm2022/mintplayer-ng-bootstrap-form.mjs.map +1 -1
  59. package/fesm2022/mintplayer-ng-bootstrap-grid.mjs +26 -26
  60. package/fesm2022/mintplayer-ng-bootstrap-grid.mjs.map +1 -1
  61. package/fesm2022/mintplayer-ng-bootstrap-has-overlay.mjs +4 -4
  62. package/fesm2022/mintplayer-ng-bootstrap-has-overlay.mjs.map +1 -1
  63. package/fesm2022/mintplayer-ng-bootstrap-has-property.mjs +3 -3
  64. package/fesm2022/mintplayer-ng-bootstrap-has-property.mjs.map +1 -1
  65. package/fesm2022/mintplayer-ng-bootstrap-in-list.mjs +3 -3
  66. package/fesm2022/mintplayer-ng-bootstrap-in-list.mjs.map +1 -1
  67. package/fesm2022/mintplayer-ng-bootstrap-input-group.mjs +3 -3
  68. package/fesm2022/mintplayer-ng-bootstrap-input-group.mjs.map +1 -1
  69. package/fesm2022/mintplayer-ng-bootstrap-instance-of.mjs +14 -14
  70. package/fesm2022/mintplayer-ng-bootstrap-instance-of.mjs.map +1 -1
  71. package/fesm2022/mintplayer-ng-bootstrap-let.mjs +4 -4
  72. package/fesm2022/mintplayer-ng-bootstrap-let.mjs.map +1 -1
  73. package/fesm2022/mintplayer-ng-bootstrap-linify.mjs +3 -3
  74. package/fesm2022/mintplayer-ng-bootstrap-linify.mjs.map +1 -1
  75. package/fesm2022/mintplayer-ng-bootstrap-list-group.mjs +7 -7
  76. package/fesm2022/mintplayer-ng-bootstrap-list-group.mjs.map +1 -1
  77. package/fesm2022/mintplayer-ng-bootstrap-markdown.mjs +12 -12
  78. package/fesm2022/mintplayer-ng-bootstrap-markdown.mjs.map +1 -1
  79. package/fesm2022/mintplayer-ng-bootstrap-marquee.mjs +3 -3
  80. package/fesm2022/mintplayer-ng-bootstrap-marquee.mjs.map +1 -1
  81. package/fesm2022/mintplayer-ng-bootstrap-modal.mjs +24 -24
  82. package/fesm2022/mintplayer-ng-bootstrap-modal.mjs.map +1 -1
  83. package/fesm2022/mintplayer-ng-bootstrap-multiselect.mjs +24 -24
  84. package/fesm2022/mintplayer-ng-bootstrap-multiselect.mjs.map +1 -1
  85. package/fesm2022/mintplayer-ng-bootstrap-navbar-toggler.mjs +5 -5
  86. package/fesm2022/mintplayer-ng-bootstrap-navbar-toggler.mjs.map +1 -1
  87. package/fesm2022/mintplayer-ng-bootstrap-navbar.mjs +58 -58
  88. package/fesm2022/mintplayer-ng-bootstrap-navbar.mjs.map +1 -1
  89. package/fesm2022/mintplayer-ng-bootstrap-navigation-lock.mjs +8 -8
  90. package/fesm2022/mintplayer-ng-bootstrap-navigation-lock.mjs.map +1 -1
  91. package/fesm2022/mintplayer-ng-bootstrap-no-noscript.mjs +3 -3
  92. package/fesm2022/mintplayer-ng-bootstrap-no-noscript.mjs.map +1 -1
  93. package/fesm2022/mintplayer-ng-bootstrap-offcanvas.mjs +40 -40
  94. package/fesm2022/mintplayer-ng-bootstrap-offcanvas.mjs.map +1 -1
  95. package/fesm2022/mintplayer-ng-bootstrap-ordinal-number.mjs +3 -3
  96. package/fesm2022/mintplayer-ng-bootstrap-ordinal-number.mjs.map +1 -1
  97. package/fesm2022/mintplayer-ng-bootstrap-pagination.mjs +12 -12
  98. package/fesm2022/mintplayer-ng-bootstrap-pagination.mjs.map +1 -1
  99. package/fesm2022/mintplayer-ng-bootstrap-parallax.mjs +6 -6
  100. package/fesm2022/mintplayer-ng-bootstrap-parallax.mjs.map +1 -1
  101. package/fesm2022/mintplayer-ng-bootstrap-placeholder.mjs +7 -7
  102. package/fesm2022/mintplayer-ng-bootstrap-placeholder.mjs.map +1 -1
  103. package/fesm2022/mintplayer-ng-bootstrap-playlist-toggler.mjs +5 -5
  104. package/fesm2022/mintplayer-ng-bootstrap-playlist-toggler.mjs.map +1 -1
  105. package/fesm2022/mintplayer-ng-bootstrap-popover.mjs +20 -20
  106. package/fesm2022/mintplayer-ng-bootstrap-popover.mjs.map +1 -1
  107. package/fesm2022/mintplayer-ng-bootstrap-priority-nav.mjs +30 -30
  108. package/fesm2022/mintplayer-ng-bootstrap-priority-nav.mjs.map +1 -1
  109. package/fesm2022/mintplayer-ng-bootstrap-progress-bar.mjs +17 -17
  110. package/fesm2022/mintplayer-ng-bootstrap-progress-bar.mjs.map +1 -1
  111. package/fesm2022/mintplayer-ng-bootstrap-range.mjs +9 -9
  112. package/fesm2022/mintplayer-ng-bootstrap-range.mjs.map +1 -1
  113. package/fesm2022/mintplayer-ng-bootstrap-rating.mjs +7 -7
  114. package/fesm2022/mintplayer-ng-bootstrap-rating.mjs.map +1 -1
  115. package/fesm2022/mintplayer-ng-bootstrap-resizable.mjs +25 -25
  116. package/fesm2022/mintplayer-ng-bootstrap-resizable.mjs.map +1 -1
  117. package/fesm2022/mintplayer-ng-bootstrap-scheduler.mjs +16 -16
  118. package/fesm2022/mintplayer-ng-bootstrap-scheduler.mjs.map +1 -1
  119. package/fesm2022/mintplayer-ng-bootstrap-scrollspy.mjs +14 -14
  120. package/fesm2022/mintplayer-ng-bootstrap-scrollspy.mjs.map +1 -1
  121. package/fesm2022/mintplayer-ng-bootstrap-searchbox.mjs +24 -24
  122. package/fesm2022/mintplayer-ng-bootstrap-searchbox.mjs.map +1 -1
  123. package/fesm2022/mintplayer-ng-bootstrap-select.mjs +19 -19
  124. package/fesm2022/mintplayer-ng-bootstrap-select.mjs.map +1 -1
  125. package/fesm2022/mintplayer-ng-bootstrap-select2.mjs +20 -20
  126. package/fesm2022/mintplayer-ng-bootstrap-select2.mjs.map +1 -1
  127. package/fesm2022/mintplayer-ng-bootstrap-shell.mjs +11 -11
  128. package/fesm2022/mintplayer-ng-bootstrap-shell.mjs.map +1 -1
  129. package/fesm2022/mintplayer-ng-bootstrap-signature-pad.mjs +7 -7
  130. package/fesm2022/mintplayer-ng-bootstrap-signature-pad.mjs.map +1 -1
  131. package/fesm2022/mintplayer-ng-bootstrap-slugify.mjs +3 -3
  132. package/fesm2022/mintplayer-ng-bootstrap-slugify.mjs.map +1 -1
  133. package/fesm2022/mintplayer-ng-bootstrap-spinner.mjs +7 -7
  134. package/fesm2022/mintplayer-ng-bootstrap-spinner.mjs.map +1 -1
  135. package/fesm2022/mintplayer-ng-bootstrap-split-string.mjs +3 -3
  136. package/fesm2022/mintplayer-ng-bootstrap-split-string.mjs.map +1 -1
  137. package/fesm2022/mintplayer-ng-bootstrap-sticky-footer.mjs +6 -6
  138. package/fesm2022/mintplayer-ng-bootstrap-sticky-footer.mjs.map +1 -1
  139. package/fesm2022/mintplayer-ng-bootstrap-tab-control.mjs +57 -67
  140. package/fesm2022/mintplayer-ng-bootstrap-tab-control.mjs.map +1 -1
  141. package/fesm2022/mintplayer-ng-bootstrap-table.mjs +10 -10
  142. package/fesm2022/mintplayer-ng-bootstrap-table.mjs.map +1 -1
  143. package/fesm2022/mintplayer-ng-bootstrap-timepicker.mjs +8 -8
  144. package/fesm2022/mintplayer-ng-bootstrap-timepicker.mjs.map +1 -1
  145. package/fesm2022/mintplayer-ng-bootstrap-toast.mjs +24 -24
  146. package/fesm2022/mintplayer-ng-bootstrap-toast.mjs.map +1 -1
  147. package/fesm2022/mintplayer-ng-bootstrap-toggle-button.mjs +22 -22
  148. package/fesm2022/mintplayer-ng-bootstrap-toggle-button.mjs.map +1 -1
  149. package/fesm2022/mintplayer-ng-bootstrap-tooltip.mjs +10 -10
  150. package/fesm2022/mintplayer-ng-bootstrap-tooltip.mjs.map +1 -1
  151. package/fesm2022/mintplayer-ng-bootstrap-treeview.mjs +14 -14
  152. package/fesm2022/mintplayer-ng-bootstrap-treeview.mjs.map +1 -1
  153. package/fesm2022/mintplayer-ng-bootstrap-trust-html.mjs +3 -3
  154. package/fesm2022/mintplayer-ng-bootstrap-trust-html.mjs.map +1 -1
  155. package/fesm2022/mintplayer-ng-bootstrap-typeahead.mjs +10 -10
  156. package/fesm2022/mintplayer-ng-bootstrap-typeahead.mjs.map +1 -1
  157. package/fesm2022/mintplayer-ng-bootstrap-uc-first.mjs +3 -3
  158. package/fesm2022/mintplayer-ng-bootstrap-uc-first.mjs.map +1 -1
  159. package/fesm2022/mintplayer-ng-bootstrap-user-agent.mjs +3 -3
  160. package/fesm2022/mintplayer-ng-bootstrap-user-agent.mjs.map +1 -1
  161. package/fesm2022/mintplayer-ng-bootstrap-viewport.mjs +3 -3
  162. package/fesm2022/mintplayer-ng-bootstrap-viewport.mjs.map +1 -1
  163. package/fesm2022/mintplayer-ng-bootstrap-virtual-datatable.mjs +10 -10
  164. package/fesm2022/mintplayer-ng-bootstrap-virtual-datatable.mjs.map +1 -1
  165. package/fesm2022/mintplayer-ng-bootstrap-web-components-scheduler-core.mjs +1356 -0
  166. package/fesm2022/mintplayer-ng-bootstrap-web-components-scheduler-core.mjs.map +1 -0
  167. package/fesm2022/mintplayer-ng-bootstrap-web-components-scheduler.mjs +3819 -0
  168. package/fesm2022/mintplayer-ng-bootstrap-web-components-scheduler.mjs.map +1 -0
  169. package/fesm2022/mintplayer-ng-bootstrap-web-components-splitter.mjs +731 -0
  170. package/fesm2022/mintplayer-ng-bootstrap-web-components-splitter.mjs.map +1 -0
  171. package/fesm2022/mintplayer-ng-bootstrap-web-components-tab-control.mjs +549 -0
  172. package/fesm2022/mintplayer-ng-bootstrap-web-components-tab-control.mjs.map +1 -0
  173. package/fesm2022/mintplayer-ng-bootstrap-word-count.mjs +3 -3
  174. package/fesm2022/mintplayer-ng-bootstrap-word-count.mjs.map +1 -1
  175. package/package.json +20 -6
  176. package/types/mintplayer-ng-bootstrap-dock.d.ts +55 -19
  177. package/types/mintplayer-ng-bootstrap-scheduler.d.ts +2 -2
  178. package/types/mintplayer-ng-bootstrap-tab-control.d.ts +7 -11
  179. package/types/mintplayer-ng-bootstrap-web-components-scheduler-core.d.ts +890 -0
  180. package/types/mintplayer-ng-bootstrap-web-components-scheduler.d.ts +354 -0
  181. package/types/mintplayer-ng-bootstrap-web-components-splitter.d.ts +165 -0
  182. package/types/mintplayer-ng-bootstrap-web-components-tab-control.d.ts +95 -0
@@ -17,12 +17,12 @@ import { BsInputGroupComponent } from '@mintplayer/ng-bootstrap/input-group';
17
17
  class BsTimepickerComponent {
18
18
  constructor() {
19
19
  this.sanitizer = inject(DomSanitizer);
20
- this.clock = signal(undefined, ...(ngDevMode ? [{ debugName: "clock" }] : []));
20
+ this.clock = signal(undefined, ...(ngDevMode ? [{ debugName: "clock" }] : /* istanbul ignore next */ []));
21
21
  this.colors = Color;
22
- this.isOpen = model(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : []));
23
- this.presetTimestamps = signal([], ...(ngDevMode ? [{ debugName: "presetTimestamps" }] : []));
24
- this.isFocused = signal(false, ...(ngDevMode ? [{ debugName: "isFocused" }] : []));
25
- this.selectedTime = model(new Date(), ...(ngDevMode ? [{ debugName: "selectedTime" }] : []));
22
+ this.isOpen = model(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : /* istanbul ignore next */ []));
23
+ this.presetTimestamps = signal([], ...(ngDevMode ? [{ debugName: "presetTimestamps" }] : /* istanbul ignore next */ []));
24
+ this.isFocused = signal(false, ...(ngDevMode ? [{ debugName: "isFocused" }] : /* istanbul ignore next */ []));
25
+ this.selectedTime = model(new Date(), ...(ngDevMode ? [{ debugName: "selectedTime" }] : /* istanbul ignore next */ []));
26
26
  const today = new Date();
27
27
  today.setHours(0);
28
28
  today.setMinutes(0);
@@ -88,10 +88,10 @@ class BsTimepickerComponent {
88
88
  timesEqual(time1, time2) {
89
89
  return (time1.getHours() === time2.getHours()) && (time1.getMinutes() === time2.getMinutes());
90
90
  }
91
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsTimepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
92
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.6", type: BsTimepickerComponent, isStandalone: true, selector: "bs-timepicker", inputs: { isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, selectedTime: { classPropertyName: "selectedTime", publicName: "selectedTime", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpen: "isOpenChange", selectedTime: "selectedTimeChange" }, ngImport: i0, template: "<!-- <bs-dropdown [(isOpen)]=\"isOpen\" [sameDropdownWidth]=\"true\"></bs-dropdown> -->\n<div bsDropdown [(isOpen)]=\"isOpen\" [sameDropdownWidth]=\"true\">\n <bs-form>\n <bs-input-group>\n <span class=\"form-control d-flex\" [class.focus]=\"isFocused()\">\n <div class=\"flex-grow-1\">\n <input type=\"number\" [min]=\"0\" [max]=\"23\" (input)=\"setNumber($event, 23, minuteBox)\" bsEnhancedPaste [ngModel]=\"hours | number: '2.0'\" (ngModelChange)=\"hours = $event\" (focus)=\"selectAll(hourBox)\" (blur)=\"isFocused.set(false)\" #hourBox class=\"w-100 border-0 bg-transparent text-end no-form-control\">\n </div>\n <span class=\"px-1\">:</span>\n <div class=\"flex-grow-1\">\n <input type=\"number\" [min]=\"0\" [max]=\"59\" (input)=\"setNumber($event, 59, null)\" bsEnhancedPaste [ngModel]=\"minutes | number: '2.0'\" (ngModelChange)=\"minutes = $event\" (focus)=\"selectAll(minuteBox)\" (blur)=\"isFocused.set(false)\" #minuteBox class=\"w-100 border-0 bg-transparent no-form-control\">\n </div>\n </span>\n <button [color]=\"colors.secondary\" (click)=\"isOpen.set(!isOpen())\">\n <span [innerHTML]=\"clock()\"></span>\n </button>\n </bs-input-group>\n </bs-form>\n <bs-has-overlay></bs-has-overlay>\n <bs-dropdown-menu class=\"overflow-auto\" *bsDropdownMenu>\n @for (timestamp of presetTimestamps(); track timestamp) {\n <bs-dropdown-item [isSelected]=\"timesEqual(selectedTime(), timestamp)\" (click)=\"setTime(timestamp)\">\n {{ timestamp | date: 'HH:mm' }}\n </bs-dropdown-item>\n }\n </bs-dropdown-menu>\n</div>", styles: [":host{display:inline-block}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;outline:0px!important}.form-control{transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control.focus{color:#495057;background-color:#fff;border-color:#80bdff!important;outline:0;box-shadow:0 0 0 .2rem #007bff40}bs-dropdown-menu{max-height:250px}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: EnhancedPasteDirective, selector: "input[type=\"number\"][bsEnhancedPaste]", outputs: ["numberOverflow"] }, { kind: "component", type: BsFormComponent, selector: "bs-form", inputs: ["action", "method"], outputs: ["submitted"] }, { kind: "directive", type: BsDropdownDirective, selector: "[bsDropdown]", inputs: ["hasBackdrop", "sameWidth", "closeOnClickOutside", "sameDropdownWidth", "isOpen"], outputs: ["isOpenChange"] }, { kind: "directive", type: BsDropdownMenuDirective, selector: "[bsDropdownMenu]" }, { kind: "component", type: BsDropdownMenuComponent, selector: "bs-dropdown-menu", inputs: ["maxHeight"] }, { kind: "component", type: BsDropdownItemComponent, selector: "bs-dropdown-item", inputs: ["isSelected", "disabled"] }, { kind: "component", type: BsInputGroupComponent, selector: "bs-input-group" }, { kind: "directive", type: BsButtonTypeDirective, selector: "button[color],input[type=\"button\"][color],input[type=\"submit\"][color],a[color]", inputs: ["color"] }, { kind: "component", type: BsHasOverlayComponent, selector: "bs-has-overlay" }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: DecimalPipe, name: "number" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
91
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BsTimepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
92
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: BsTimepickerComponent, isStandalone: true, selector: "bs-timepicker", inputs: { isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, selectedTime: { classPropertyName: "selectedTime", publicName: "selectedTime", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpen: "isOpenChange", selectedTime: "selectedTimeChange" }, ngImport: i0, template: "<!-- <bs-dropdown [(isOpen)]=\"isOpen\" [sameDropdownWidth]=\"true\"></bs-dropdown> -->\n<div bsDropdown [(isOpen)]=\"isOpen\" [sameDropdownWidth]=\"true\">\n <bs-form>\n <bs-input-group>\n <span class=\"form-control d-flex\" [class.focus]=\"isFocused()\">\n <div class=\"flex-grow-1\">\n <input type=\"number\" [min]=\"0\" [max]=\"23\" (input)=\"setNumber($event, 23, minuteBox)\" bsEnhancedPaste [ngModel]=\"hours | number: '2.0'\" (ngModelChange)=\"hours = $event\" (focus)=\"selectAll(hourBox)\" (blur)=\"isFocused.set(false)\" #hourBox class=\"w-100 border-0 bg-transparent text-end no-form-control\">\n </div>\n <span class=\"px-1\">:</span>\n <div class=\"flex-grow-1\">\n <input type=\"number\" [min]=\"0\" [max]=\"59\" (input)=\"setNumber($event, 59, null)\" bsEnhancedPaste [ngModel]=\"minutes | number: '2.0'\" (ngModelChange)=\"minutes = $event\" (focus)=\"selectAll(minuteBox)\" (blur)=\"isFocused.set(false)\" #minuteBox class=\"w-100 border-0 bg-transparent no-form-control\">\n </div>\n </span>\n <button [color]=\"colors.secondary\" (click)=\"isOpen.set(!isOpen())\">\n <span [innerHTML]=\"clock()\"></span>\n </button>\n </bs-input-group>\n </bs-form>\n <bs-has-overlay></bs-has-overlay>\n <bs-dropdown-menu class=\"overflow-auto\" *bsDropdownMenu>\n @for (timestamp of presetTimestamps(); track timestamp) {\n <bs-dropdown-item [isSelected]=\"timesEqual(selectedTime(), timestamp)\" (click)=\"setTime(timestamp)\">\n {{ timestamp | date: 'HH:mm' }}\n </bs-dropdown-item>\n }\n </bs-dropdown-menu>\n</div>", styles: [":host{display:inline-block}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;outline:0px!important}.form-control{transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control.focus{color:#495057;background-color:#fff;border-color:#80bdff!important;outline:0;box-shadow:0 0 0 .2rem #007bff40}bs-dropdown-menu{max-height:250px}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: EnhancedPasteDirective, selector: "input[type=\"number\"][bsEnhancedPaste]", outputs: ["numberOverflow"] }, { kind: "component", type: BsFormComponent, selector: "bs-form", inputs: ["action", "method"], outputs: ["submitted"] }, { kind: "directive", type: BsDropdownDirective, selector: "[bsDropdown]", inputs: ["hasBackdrop", "sameWidth", "closeOnClickOutside", "sameDropdownWidth", "isOpen"], outputs: ["isOpenChange"] }, { kind: "directive", type: BsDropdownMenuDirective, selector: "[bsDropdownMenu]" }, { kind: "component", type: BsDropdownMenuComponent, selector: "bs-dropdown-menu", inputs: ["maxHeight"] }, { kind: "component", type: BsDropdownItemComponent, selector: "bs-dropdown-item", inputs: ["isSelected", "disabled"] }, { kind: "component", type: BsInputGroupComponent, selector: "bs-input-group" }, { kind: "directive", type: BsButtonTypeDirective, selector: "button[color],input[type=\"button\"][color],input[type=\"submit\"][color],a[color]", inputs: ["color"] }, { kind: "component", type: BsHasOverlayComponent, selector: "bs-has-overlay" }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "pipe", type: DecimalPipe, name: "number" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
93
93
  }
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsTimepickerComponent, decorators: [{
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BsTimepickerComponent, decorators: [{
95
95
  type: Component,
96
96
  args: [{ selector: 'bs-timepicker', imports: [DatePipe, DecimalPipe, FormsModule, EnhancedPasteDirective, BsFormComponent, BsDropdownDirective, BsDropdownMenuDirective, BsDropdownMenuComponent, BsDropdownItemComponent, BsInputGroupComponent, BsButtonTypeDirective, BsHasOverlayComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- <bs-dropdown [(isOpen)]=\"isOpen\" [sameDropdownWidth]=\"true\"></bs-dropdown> -->\n<div bsDropdown [(isOpen)]=\"isOpen\" [sameDropdownWidth]=\"true\">\n <bs-form>\n <bs-input-group>\n <span class=\"form-control d-flex\" [class.focus]=\"isFocused()\">\n <div class=\"flex-grow-1\">\n <input type=\"number\" [min]=\"0\" [max]=\"23\" (input)=\"setNumber($event, 23, minuteBox)\" bsEnhancedPaste [ngModel]=\"hours | number: '2.0'\" (ngModelChange)=\"hours = $event\" (focus)=\"selectAll(hourBox)\" (blur)=\"isFocused.set(false)\" #hourBox class=\"w-100 border-0 bg-transparent text-end no-form-control\">\n </div>\n <span class=\"px-1\">:</span>\n <div class=\"flex-grow-1\">\n <input type=\"number\" [min]=\"0\" [max]=\"59\" (input)=\"setNumber($event, 59, null)\" bsEnhancedPaste [ngModel]=\"minutes | number: '2.0'\" (ngModelChange)=\"minutes = $event\" (focus)=\"selectAll(minuteBox)\" (blur)=\"isFocused.set(false)\" #minuteBox class=\"w-100 border-0 bg-transparent no-form-control\">\n </div>\n </span>\n <button [color]=\"colors.secondary\" (click)=\"isOpen.set(!isOpen())\">\n <span [innerHTML]=\"clock()\"></span>\n </button>\n </bs-input-group>\n </bs-form>\n <bs-has-overlay></bs-has-overlay>\n <bs-dropdown-menu class=\"overflow-auto\" *bsDropdownMenu>\n @for (timestamp of presetTimestamps(); track timestamp) {\n <bs-dropdown-item [isSelected]=\"timesEqual(selectedTime(), timestamp)\" (click)=\"setTime(timestamp)\">\n {{ timestamp | date: 'HH:mm' }}\n </bs-dropdown-item>\n }\n </bs-dropdown-menu>\n</div>", styles: [":host{display:inline-block}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;outline:0px!important}.form-control{transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control.focus{color:#495057;background-color:#fff;border-color:#80bdff!important;outline:0;box-shadow:0 0 0 .2rem #007bff40}bs-dropdown-menu{max-height:250px}\n"] }]
97
97
  }], ctorParameters: () => [], propDecorators: { isOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOpen", required: false }] }, { type: i0.Output, args: ["isOpenChange"] }], selectedTime: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedTime", required: false }] }, { type: i0.Output, args: ["selectedTimeChange"] }] } });
@@ -1 +1 @@
1
- {"version":3,"file":"mintplayer-ng-bootstrap-timepicker.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/timepicker/src/timepicker.component.ts","../../../../libs/mintplayer-ng-bootstrap/timepicker/src/timepicker.component.html","../../../../libs/mintplayer-ng-bootstrap/timepicker/mintplayer-ng-bootstrap-timepicker.ts"],"sourcesContent":["/// <reference types=\"./types\" />\n\nimport { DatePipe, DecimalPipe } from '@angular/common';\nimport { Component, inject, model, signal, ChangeDetectionStrategy} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { Color } from '@mintplayer/ng-bootstrap';\nimport { BsButtonTypeDirective } from '@mintplayer/ng-bootstrap/button-type';\nimport { BsDropdownDirective, BsDropdownMenuDirective } from '@mintplayer/ng-bootstrap/dropdown';\nimport { BsDropdownMenuComponent, BsDropdownItemComponent } from '@mintplayer/ng-bootstrap/dropdown-menu';\nimport { EnhancedPasteDirective } from '@mintplayer/ng-bootstrap/enhanced-paste';\nimport { BsFormComponent } from '@mintplayer/ng-bootstrap/form';\nimport { BsHasOverlayComponent } from '@mintplayer/ng-bootstrap/has-overlay';\nimport { BsInputGroupComponent } from '@mintplayer/ng-bootstrap/input-group';\n\n@Component({\n selector: 'bs-timepicker',\n templateUrl: './timepicker.component.html',\n styleUrls: ['./timepicker.component.scss'],\n imports: [DatePipe, DecimalPipe, FormsModule, EnhancedPasteDirective, BsFormComponent, BsDropdownDirective, BsDropdownMenuDirective, BsDropdownMenuComponent, BsDropdownItemComponent, BsInputGroupComponent, BsButtonTypeDirective, BsHasOverlayComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BsTimepickerComponent {\n private sanitizer = inject(DomSanitizer);\n\n constructor() {\n const today = new Date();\n today.setHours(0); today.setMinutes(0); today.setSeconds(0);\n\n const interval = 900;\n this.presetTimestamps.set(\n Array.from(Array(24 * 60 * 60 / interval).keys())\n .map(i => {\n const clone = new Date(today);\n clone.setTime(clone.getTime() + i * interval * 1000);\n return clone;\n })\n );\n\n\n import('bootstrap-icons/icons/clock.svg').then((icon) => {\n this.clock.set(this.sanitizer.bypassSecurityTrustHtml(icon.default));\n });\n }\n\n clock = signal<SafeHtml | undefined>(undefined);\n readonly colors = Color;\n isOpen = model(false);\n readonly presetTimestamps = signal<Date[]>([]);\n isFocused = signal(false);\n\n selectAll(box: HTMLInputElement) {\n box.select();\n // box.setSelectionRange(0, box.value.length);\n this.isFocused.set(true);\n }\n\n setNumber(event: Event, max: number, nextInput: HTMLInputElement | null) {\n event.preventDefault();\n const input = <HTMLInputElement>event.target;\n const val = parseInt(input.value);\n if (isNaN(val)) {\n input.value = '00';\n } else {\n const result = Math.min(max, Math.abs(val));\n input.value = result.toString().padStart(2, '0');\n\n if (nextInput) {\n // const maxAllowedNumberOfDigits = input.max.length;\n if (result * 10 > parseInt(input.max)) {\n nextInput.focus();\n }\n }\n }\n }\n\n setTime(time: Date) {\n this.selectedTime.set(time);\n this.isOpen.set(false);\n }\n\n selectedTime = model<Date>(new Date());\n\n //#region Hours\n get hours() {\n return this.selectedTime().getHours();\n }\n set hours(value: number) {\n const clone = new Date(this.selectedTime());\n clone.setHours(value);\n this.selectedTime.set(clone);\n }\n //#endregion\n\n //#region Minutes\n get minutes() {\n return this.selectedTime().getMinutes();\n }\n set minutes(value: number) {\n const clone = new Date(this.selectedTime());\n clone.setMinutes(value);\n this.selectedTime.set(clone);\n }\n //#endregion\n\n timesEqual(time1: Date, time2: Date) {\n return (time1.getHours() === time2.getHours()) && (time1.getMinutes() === time2.getMinutes());\n }\n\n}\n","<!-- <bs-dropdown [(isOpen)]=\"isOpen\" [sameDropdownWidth]=\"true\"></bs-dropdown> -->\n<div bsDropdown [(isOpen)]=\"isOpen\" [sameDropdownWidth]=\"true\">\n <bs-form>\n <bs-input-group>\n <span class=\"form-control d-flex\" [class.focus]=\"isFocused()\">\n <div class=\"flex-grow-1\">\n <input type=\"number\" [min]=\"0\" [max]=\"23\" (input)=\"setNumber($event, 23, minuteBox)\" bsEnhancedPaste [ngModel]=\"hours | number: '2.0'\" (ngModelChange)=\"hours = $event\" (focus)=\"selectAll(hourBox)\" (blur)=\"isFocused.set(false)\" #hourBox class=\"w-100 border-0 bg-transparent text-end no-form-control\">\n </div>\n <span class=\"px-1\">:</span>\n <div class=\"flex-grow-1\">\n <input type=\"number\" [min]=\"0\" [max]=\"59\" (input)=\"setNumber($event, 59, null)\" bsEnhancedPaste [ngModel]=\"minutes | number: '2.0'\" (ngModelChange)=\"minutes = $event\" (focus)=\"selectAll(minuteBox)\" (blur)=\"isFocused.set(false)\" #minuteBox class=\"w-100 border-0 bg-transparent no-form-control\">\n </div>\n </span>\n <button [color]=\"colors.secondary\" (click)=\"isOpen.set(!isOpen())\">\n <span [innerHTML]=\"clock()\"></span>\n </button>\n </bs-input-group>\n </bs-form>\n <bs-has-overlay></bs-has-overlay>\n <bs-dropdown-menu class=\"overflow-auto\" *bsDropdownMenu>\n @for (timestamp of presetTimestamps(); track timestamp) {\n <bs-dropdown-item [isSelected]=\"timesEqual(selectedTime(), timestamp)\" (click)=\"setTime(timestamp)\">\n {{ timestamp | date: 'HH:mm' }}\n </bs-dropdown-item>\n }\n </bs-dropdown-menu>\n</div>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mintplayer-ng-bootstrap-timepicker.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/timepicker/src/timepicker.component.ts","../../../../libs/mintplayer-ng-bootstrap/timepicker/src/timepicker.component.html","../../../../libs/mintplayer-ng-bootstrap/timepicker/mintplayer-ng-bootstrap-timepicker.ts"],"sourcesContent":["/// <reference types=\"./types\" />\n\nimport { DatePipe, DecimalPipe } from '@angular/common';\nimport { Component, inject, model, signal, ChangeDetectionStrategy} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\nimport { Color } from '@mintplayer/ng-bootstrap';\nimport { BsButtonTypeDirective } from '@mintplayer/ng-bootstrap/button-type';\nimport { BsDropdownDirective, BsDropdownMenuDirective } from '@mintplayer/ng-bootstrap/dropdown';\nimport { BsDropdownMenuComponent, BsDropdownItemComponent } from '@mintplayer/ng-bootstrap/dropdown-menu';\nimport { EnhancedPasteDirective } from '@mintplayer/ng-bootstrap/enhanced-paste';\nimport { BsFormComponent } from '@mintplayer/ng-bootstrap/form';\nimport { BsHasOverlayComponent } from '@mintplayer/ng-bootstrap/has-overlay';\nimport { BsInputGroupComponent } from '@mintplayer/ng-bootstrap/input-group';\n\n@Component({\n selector: 'bs-timepicker',\n templateUrl: './timepicker.component.html',\n styleUrls: ['./timepicker.component.scss'],\n imports: [DatePipe, DecimalPipe, FormsModule, EnhancedPasteDirective, BsFormComponent, BsDropdownDirective, BsDropdownMenuDirective, BsDropdownMenuComponent, BsDropdownItemComponent, BsInputGroupComponent, BsButtonTypeDirective, BsHasOverlayComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BsTimepickerComponent {\n private sanitizer = inject(DomSanitizer);\n\n constructor() {\n const today = new Date();\n today.setHours(0); today.setMinutes(0); today.setSeconds(0);\n\n const interval = 900;\n this.presetTimestamps.set(\n Array.from(Array(24 * 60 * 60 / interval).keys())\n .map(i => {\n const clone = new Date(today);\n clone.setTime(clone.getTime() + i * interval * 1000);\n return clone;\n })\n );\n\n\n import('bootstrap-icons/icons/clock.svg').then((icon) => {\n this.clock.set(this.sanitizer.bypassSecurityTrustHtml(icon.default));\n });\n }\n\n clock = signal<SafeHtml | undefined>(undefined);\n readonly colors = Color;\n isOpen = model(false);\n readonly presetTimestamps = signal<Date[]>([]);\n isFocused = signal(false);\n\n selectAll(box: HTMLInputElement) {\n box.select();\n // box.setSelectionRange(0, box.value.length);\n this.isFocused.set(true);\n }\n\n setNumber(event: Event, max: number, nextInput: HTMLInputElement | null) {\n event.preventDefault();\n const input = <HTMLInputElement>event.target;\n const val = parseInt(input.value);\n if (isNaN(val)) {\n input.value = '00';\n } else {\n const result = Math.min(max, Math.abs(val));\n input.value = result.toString().padStart(2, '0');\n\n if (nextInput) {\n // const maxAllowedNumberOfDigits = input.max.length;\n if (result * 10 > parseInt(input.max)) {\n nextInput.focus();\n }\n }\n }\n }\n\n setTime(time: Date) {\n this.selectedTime.set(time);\n this.isOpen.set(false);\n }\n\n selectedTime = model<Date>(new Date());\n\n //#region Hours\n get hours() {\n return this.selectedTime().getHours();\n }\n set hours(value: number) {\n const clone = new Date(this.selectedTime());\n clone.setHours(value);\n this.selectedTime.set(clone);\n }\n //#endregion\n\n //#region Minutes\n get minutes() {\n return this.selectedTime().getMinutes();\n }\n set minutes(value: number) {\n const clone = new Date(this.selectedTime());\n clone.setMinutes(value);\n this.selectedTime.set(clone);\n }\n //#endregion\n\n timesEqual(time1: Date, time2: Date) {\n return (time1.getHours() === time2.getHours()) && (time1.getMinutes() === time2.getMinutes());\n }\n\n}\n","<!-- <bs-dropdown [(isOpen)]=\"isOpen\" [sameDropdownWidth]=\"true\"></bs-dropdown> -->\n<div bsDropdown [(isOpen)]=\"isOpen\" [sameDropdownWidth]=\"true\">\n <bs-form>\n <bs-input-group>\n <span class=\"form-control d-flex\" [class.focus]=\"isFocused()\">\n <div class=\"flex-grow-1\">\n <input type=\"number\" [min]=\"0\" [max]=\"23\" (input)=\"setNumber($event, 23, minuteBox)\" bsEnhancedPaste [ngModel]=\"hours | number: '2.0'\" (ngModelChange)=\"hours = $event\" (focus)=\"selectAll(hourBox)\" (blur)=\"isFocused.set(false)\" #hourBox class=\"w-100 border-0 bg-transparent text-end no-form-control\">\n </div>\n <span class=\"px-1\">:</span>\n <div class=\"flex-grow-1\">\n <input type=\"number\" [min]=\"0\" [max]=\"59\" (input)=\"setNumber($event, 59, null)\" bsEnhancedPaste [ngModel]=\"minutes | number: '2.0'\" (ngModelChange)=\"minutes = $event\" (focus)=\"selectAll(minuteBox)\" (blur)=\"isFocused.set(false)\" #minuteBox class=\"w-100 border-0 bg-transparent no-form-control\">\n </div>\n </span>\n <button [color]=\"colors.secondary\" (click)=\"isOpen.set(!isOpen())\">\n <span [innerHTML]=\"clock()\"></span>\n </button>\n </bs-input-group>\n </bs-form>\n <bs-has-overlay></bs-has-overlay>\n <bs-dropdown-menu class=\"overflow-auto\" *bsDropdownMenu>\n @for (timestamp of presetTimestamps(); track timestamp) {\n <bs-dropdown-item [isSelected]=\"timesEqual(selectedTime(), timestamp)\" (click)=\"setTime(timestamp)\">\n {{ timestamp | date: 'HH:mm' }}\n </bs-dropdown-item>\n }\n </bs-dropdown-menu>\n</div>","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -7,21 +7,21 @@ import { ComponentPortal } from '@angular/cdk/portal';
7
7
 
8
8
  class BsToastComponent {
9
9
  constructor() {
10
- this.isVisible = input(false, ...(ngDevMode ? [{ debugName: "isVisible" }] : []));
10
+ this.isVisible = input(false, ...(ngDevMode ? [{ debugName: "isVisible" }] : /* istanbul ignore next */ []));
11
11
  }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsToastComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.6", type: BsToastComponent, isStandalone: true, selector: "bs-toast", inputs: { isVisible: { classPropertyName: "isVisible", publicName: "isVisible", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"toast d-block fade mb-2 me-2\" [class.show]=\"isVisible()\" aria-live=\"assertive\" aria-atomic=\"true\">\n <ng-content></ng-content>\n</div>\n", styles: [":host ::ng-deep .fade{transition:opacity .15s linear}@media(prefers-reduced-motion:reduce){:host ::ng-deep .fade{transition:none}}:host ::ng-deep .fade:not(.show){opacity:0}:host ::ng-deep .collapse:not(.show){display:none}:host ::ng-deep .collapsing{height:0;overflow:hidden;transition:height .35s ease}@media(prefers-reduced-motion:reduce){:host ::ng-deep .collapsing{transition:none}}:host ::ng-deep .collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media(prefers-reduced-motion:reduce){:host ::ng-deep .collapsing.collapse-horizontal{transition:none}}:host ::ng-deep .toast{--bs-toast-zindex: 1090;--bs-toast-padding-x: .75rem;--bs-toast-padding-y: .5rem;--bs-toast-spacing: 1.5rem;--bs-toast-max-width: 350px;--bs-toast-font-size: .875rem;--bs-toast-color: ;--bs-toast-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-border-width: var(--bs-border-width);--bs-toast-border-color: var(--bs-border-color-translucent);--bs-toast-border-radius: var(--bs-border-radius);--bs-toast-box-shadow: var(--bs-box-shadow);--bs-toast-header-color: var(--bs-secondary-color);--bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-header-border-color: var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}:host ::ng-deep .toast.showing{opacity:0}:host ::ng-deep .toast:not(.show){display:none}:host ::ng-deep .toast-container{--bs-toast-zindex: 1090;position:absolute;z-index:var(--bs-toast-zindex);width:max-content;max-width:100%;pointer-events:none}:host ::ng-deep .toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}:host ::ng-deep .toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}:host ::ng-deep .toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}:host ::ng-deep .toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BsToastComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.11", type: BsToastComponent, isStandalone: true, selector: "bs-toast", inputs: { isVisible: { classPropertyName: "isVisible", publicName: "isVisible", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div class=\"toast d-block fade mb-2 me-2\" [class.show]=\"isVisible()\" aria-live=\"assertive\" aria-atomic=\"true\">\n <ng-content></ng-content>\n</div>\n", styles: [":host ::ng-deep .fade{transition:opacity .15s linear}@media(prefers-reduced-motion:reduce){:host ::ng-deep .fade{transition:none}}:host ::ng-deep .fade:not(.show){opacity:0}:host ::ng-deep .collapse:not(.show){display:none}:host ::ng-deep .collapsing{height:0;overflow:hidden;transition:height .35s ease}@media(prefers-reduced-motion:reduce){:host ::ng-deep .collapsing{transition:none}}:host ::ng-deep .collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media(prefers-reduced-motion:reduce){:host ::ng-deep .collapsing.collapse-horizontal{transition:none}}:host ::ng-deep .toast{--bs-toast-zindex: 1090;--bs-toast-padding-x: .75rem;--bs-toast-padding-y: .5rem;--bs-toast-spacing: 1.5rem;--bs-toast-max-width: 350px;--bs-toast-font-size: .875rem;--bs-toast-color: ;--bs-toast-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-border-width: var(--bs-border-width);--bs-toast-border-color: var(--bs-border-color-translucent);--bs-toast-border-radius: var(--bs-border-radius);--bs-toast-box-shadow: var(--bs-box-shadow);--bs-toast-header-color: var(--bs-secondary-color);--bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-header-border-color: var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}:host ::ng-deep .toast.showing{opacity:0}:host ::ng-deep .toast:not(.show){display:none}:host ::ng-deep .toast-container{--bs-toast-zindex: 1090;position:absolute;z-index:var(--bs-toast-zindex);width:max-content;max-width:100%;pointer-events:none}:host ::ng-deep .toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}:host ::ng-deep .toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}:host ::ng-deep .toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}:host ::ng-deep .toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
14
14
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsToastComponent, decorators: [{
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BsToastComponent, decorators: [{
16
16
  type: Component,
17
17
  args: [{ selector: 'bs-toast', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"toast d-block fade mb-2 me-2\" [class.show]=\"isVisible()\" aria-live=\"assertive\" aria-atomic=\"true\">\n <ng-content></ng-content>\n</div>\n", styles: [":host ::ng-deep .fade{transition:opacity .15s linear}@media(prefers-reduced-motion:reduce){:host ::ng-deep .fade{transition:none}}:host ::ng-deep .fade:not(.show){opacity:0}:host ::ng-deep .collapse:not(.show){display:none}:host ::ng-deep .collapsing{height:0;overflow:hidden;transition:height .35s ease}@media(prefers-reduced-motion:reduce){:host ::ng-deep .collapsing{transition:none}}:host ::ng-deep .collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media(prefers-reduced-motion:reduce){:host ::ng-deep .collapsing.collapse-horizontal{transition:none}}:host ::ng-deep .toast{--bs-toast-zindex: 1090;--bs-toast-padding-x: .75rem;--bs-toast-padding-y: .5rem;--bs-toast-spacing: 1.5rem;--bs-toast-max-width: 350px;--bs-toast-font-size: .875rem;--bs-toast-color: ;--bs-toast-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-border-width: var(--bs-border-width);--bs-toast-border-color: var(--bs-border-color-translucent);--bs-toast-border-radius: var(--bs-border-radius);--bs-toast-box-shadow: var(--bs-box-shadow);--bs-toast-header-color: var(--bs-secondary-color);--bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-header-border-color: var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}:host ::ng-deep .toast.showing{opacity:0}:host ::ng-deep .toast:not(.show){display:none}:host ::ng-deep .toast-container{--bs-toast-zindex: 1090;position:absolute;z-index:var(--bs-toast-zindex);width:max-content;max-width:100%;pointer-events:none}:host ::ng-deep .toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}:host ::ng-deep .toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}:host ::ng-deep .toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}:host ::ng-deep .toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}\n"] }]
18
18
  }], propDecorators: { isVisible: [{ type: i0.Input, args: [{ isSignal: true, alias: "isVisible", required: false }] }] } });
19
19
 
20
20
  class BsToastHeaderComponent {
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsToastHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.6", type: BsToastHeaderComponent, isStandalone: true, selector: "bs-toast-header", host: { properties: { "class.toast-header": "true" } }, ngImport: i0, template: "<ng-content></ng-content>", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BsToastHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
22
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: BsToastHeaderComponent, isStandalone: true, selector: "bs-toast-header", host: { properties: { "class.toast-header": "true" } }, ngImport: i0, template: "<ng-content></ng-content>", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsToastHeaderComponent, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BsToastHeaderComponent, decorators: [{
25
25
  type: Component,
26
26
  args: [{ selector: 'bs-toast-header', changeDetection: ChangeDetectionStrategy.OnPush, host: {
27
27
  '[class.toast-header]': 'true',
@@ -29,10 +29,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
29
29
  }] });
30
30
 
31
31
  class BsToastBodyComponent {
32
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsToastBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.6", type: BsToastBodyComponent, isStandalone: true, selector: "bs-toast-body", host: { properties: { "class.d-flex": "true", "class.toast-body": "true" } }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BsToastBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: BsToastBodyComponent, isStandalone: true, selector: "bs-toast-body", host: { properties: { "class.d-flex": "true", "class.toast-body": "true" } }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
34
34
  }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsToastBodyComponent, decorators: [{
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BsToastBodyComponent, decorators: [{
36
36
  type: Component,
37
37
  args: [{ selector: 'bs-toast-body', changeDetection: ChangeDetectionStrategy.OnPush, host: {
38
38
  '[class.d-flex]': 'true',
@@ -44,10 +44,10 @@ class BsAddPropertiesPipe {
44
44
  transform(value, toAdd) {
45
45
  return Object.assign({}, value ?? {}, toAdd);
46
46
  }
47
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsAddPropertiesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
48
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.1.6", ngImport: i0, type: BsAddPropertiesPipe, isStandalone: true, name: "bsAddProperties" }); }
47
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BsAddPropertiesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
48
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.2.11", ngImport: i0, type: BsAddPropertiesPipe, isStandalone: true, name: "bsAddProperties" }); }
49
49
  }
50
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsAddPropertiesPipe, decorators: [{
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BsAddPropertiesPipe, decorators: [{
51
51
  type: Pipe,
52
52
  args: [{
53
53
  name: 'bsAddProperties',
@@ -75,7 +75,7 @@ class BsToastService {
75
75
  this.rootInjector = inject(Injector);
76
76
  this.portalFactory = inject(PORTAL_FACTORY);
77
77
  this.overlayRef = null;
78
- this.toasts = signal([], ...(ngDevMode ? [{ debugName: "toasts" }] : []));
78
+ this.toasts = signal([], ...(ngDevMode ? [{ debugName: "toasts" }] : /* istanbul ignore next */ []));
79
79
  }
80
80
  pushToast(toast, context) {
81
81
  if (!this.overlayRef) {
@@ -106,10 +106,10 @@ class BsToastService {
106
106
  this.toasts.update(toasts => toasts.filter((_, i) => i !== index));
107
107
  }, 400);
108
108
  }
109
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsToastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
110
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsToastService, providedIn: 'root' }); }
109
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BsToastService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
110
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BsToastService, providedIn: 'root' }); }
111
111
  }
112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsToastService, decorators: [{
112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BsToastService, decorators: [{
113
113
  type: Injectable,
114
114
  args: [{ providedIn: 'root' }]
115
115
  }] });
@@ -118,10 +118,10 @@ class BsToastContainerComponent {
118
118
  constructor() {
119
119
  this.toastService = inject(BsToastService);
120
120
  }
121
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsToastContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
122
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.6", type: BsToastContainerComponent, isStandalone: true, selector: "bs-toast-container", host: { properties: { "style.overflow-y": "\"auto\"" } }, ngImport: i0, template: "<bs-has-overlay></bs-has-overlay>\n@for (toast of toastService.toasts(); let i = $index; track i) {\n <ng-container [ngTemplateOutlet]=\"toast.template\" [ngTemplateOutletContext]=\"toast.context | bsAddProperties: {toastIndex: i}\"></ng-container>\n}\n", styles: [":host ::ng-deep .toast{--bs-toast-zindex: 1090;--bs-toast-padding-x: .75rem;--bs-toast-padding-y: .5rem;--bs-toast-spacing: 1.5rem;--bs-toast-max-width: 350px;--bs-toast-font-size: .875rem;--bs-toast-color: ;--bs-toast-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-border-width: var(--bs-border-width);--bs-toast-border-color: var(--bs-border-color-translucent);--bs-toast-border-radius: var(--bs-border-radius);--bs-toast-box-shadow: var(--bs-box-shadow);--bs-toast-header-color: var(--bs-secondary-color);--bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-header-border-color: var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}:host ::ng-deep .toast.showing{opacity:0}:host ::ng-deep .toast:not(.show){display:none}:host ::ng-deep .toast-container{--bs-toast-zindex: 1090;position:absolute;z-index:var(--bs-toast-zindex);width:max-content;max-width:100%;pointer-events:none}:host ::ng-deep .toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}:host ::ng-deep .toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}:host ::ng-deep .toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}:host ::ng-deep .toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: BsHasOverlayComponent, selector: "bs-has-overlay" }, { kind: "pipe", type: BsAddPropertiesPipe, name: "bsAddProperties" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
121
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BsToastContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
122
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: BsToastContainerComponent, isStandalone: true, selector: "bs-toast-container", host: { properties: { "style.overflow-y": "\"auto\"" } }, ngImport: i0, template: "<bs-has-overlay></bs-has-overlay>\n@for (toast of toastService.toasts(); let i = $index; track i) {\n <ng-container [ngTemplateOutlet]=\"toast.template\" [ngTemplateOutletContext]=\"toast.context | bsAddProperties: {toastIndex: i}\"></ng-container>\n}\n", styles: [":host ::ng-deep .toast{--bs-toast-zindex: 1090;--bs-toast-padding-x: .75rem;--bs-toast-padding-y: .5rem;--bs-toast-spacing: 1.5rem;--bs-toast-max-width: 350px;--bs-toast-font-size: .875rem;--bs-toast-color: ;--bs-toast-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-border-width: var(--bs-border-width);--bs-toast-border-color: var(--bs-border-color-translucent);--bs-toast-border-radius: var(--bs-border-radius);--bs-toast-box-shadow: var(--bs-box-shadow);--bs-toast-header-color: var(--bs-secondary-color);--bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), .85);--bs-toast-header-border-color: var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}:host ::ng-deep .toast.showing{opacity:0}:host ::ng-deep .toast:not(.show){display:none}:host ::ng-deep .toast-container{--bs-toast-zindex: 1090;position:absolute;z-index:var(--bs-toast-zindex);width:max-content;max-width:100%;pointer-events:none}:host ::ng-deep .toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}:host ::ng-deep .toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}:host ::ng-deep .toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}:host ::ng-deep .toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: BsHasOverlayComponent, selector: "bs-has-overlay" }, { kind: "pipe", type: BsAddPropertiesPipe, name: "bsAddProperties" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
123
123
  }
124
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsToastContainerComponent, decorators: [{
124
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BsToastContainerComponent, decorators: [{
125
125
  type: Component,
126
126
  args: [{ selector: 'bs-toast-container', imports: [NgTemplateOutlet, BsHasOverlayComponent, BsAddPropertiesPipe], changeDetection: ChangeDetectionStrategy.OnPush, host: {
127
127
  '[style.overflow-y]': '"auto"',
@@ -132,17 +132,17 @@ class BsToastCloseDirective {
132
132
  constructor() {
133
133
  this.toast = inject(BsToastComponent);
134
134
  this.toastService = inject(BsToastService);
135
- this.index = input(null, ...(ngDevMode ? [{ debugName: "index" }] : []));
135
+ this.index = input(null, ...(ngDevMode ? [{ debugName: "index" }] : /* istanbul ignore next */ []));
136
136
  }
137
137
  onClick() {
138
138
  if (this.index() !== null) {
139
139
  this.toastService.close(this.index());
140
140
  }
141
141
  }
142
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsToastCloseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
143
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.6", type: BsToastCloseDirective, isStandalone: true, selector: "bs-close", inputs: { index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick()" } }, ngImport: i0 }); }
142
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BsToastCloseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
143
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.11", type: BsToastCloseDirective, isStandalone: true, selector: "bs-close", inputs: { index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "click": "onClick()" } }, ngImport: i0 }); }
144
144
  }
145
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsToastCloseDirective, decorators: [{
145
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BsToastCloseDirective, decorators: [{
146
146
  type: Directive,
147
147
  args: [{
148
148
  selector: 'bs-close',
@@ -1 +1 @@
1
- {"version":3,"file":"mintplayer-ng-bootstrap-toast.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/toast/src/components/toast/toast.component.ts","../../../../libs/mintplayer-ng-bootstrap/toast/src/components/toast/toast.component.html","../../../../libs/mintplayer-ng-bootstrap/toast/src/components/toast-header/toast-header.component.ts","../../../../libs/mintplayer-ng-bootstrap/toast/src/components/toast-header/toast-header.component.html","../../../../libs/mintplayer-ng-bootstrap/toast/src/components/toast-body/toast-body.component.ts","../../../../libs/mintplayer-ng-bootstrap/toast/src/components/toast-body/toast-body.component.html","../../../../libs/mintplayer-ng-bootstrap/toast/src/pipes/add-properties.pipe.ts","../../../../libs/mintplayer-ng-bootstrap/toast/src/providers/portal-factory.provider.ts","../../../../libs/mintplayer-ng-bootstrap/toast/src/services/toast/toast.service.ts","../../../../libs/mintplayer-ng-bootstrap/toast/src/components/toast-container/toast-container.component.ts","../../../../libs/mintplayer-ng-bootstrap/toast/src/components/toast-container/toast-container.component.html","../../../../libs/mintplayer-ng-bootstrap/toast/src/directives/toast-close/toast-close.directive.ts","../../../../libs/mintplayer-ng-bootstrap/toast/mintplayer-ng-bootstrap-toast.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input } from '@angular/core';\n\n@Component({\n selector: 'bs-toast',\n templateUrl: './toast.component.html',\n styleUrls: ['./toast.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BsToastComponent {\n isVisible = input(false);\n}\n","<div class=\"toast d-block fade mb-2 me-2\" [class.show]=\"isVisible()\" aria-live=\"assertive\" aria-atomic=\"true\">\n <ng-content></ng-content>\n</div>\n","import { Component, ChangeDetectionStrategy} from '@angular/core';\n\n@Component({\n selector: 'bs-toast-header',\n templateUrl: './toast-header.component.html',\n styleUrls: ['./toast-header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.toast-header]': 'true',\n },\n})\nexport class BsToastHeaderComponent {\n}\n","<ng-content></ng-content>","import { Component, ChangeDetectionStrategy} from '@angular/core';\n\n@Component({\n selector: 'bs-toast-body',\n templateUrl: './toast-body.component.html',\n styleUrls: ['./toast-body.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.d-flex]': 'true',\n '[class.toast-body]': 'true',\n },\n})\nexport class BsToastBodyComponent {\n}\n","<ng-content></ng-content>\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'bsAddProperties',\n})\nexport class BsAddPropertiesPipe implements PipeTransform {\n transform(value: Object | null, toAdd: Object) {\n return Object.assign({}, value ?? {}, toAdd);\n }\n}\n","import { ComponentPortal } from \"@angular/cdk/portal\";\nimport { EnvironmentProviders, InjectionToken, Injector, makeEnvironmentProviders } from \"@angular/core\";\nimport { BsToastContainerComponent } from \"../components/toast-container/toast-container.component\";\n\nexport const PORTAL_FACTORY = new InjectionToken<(injector: Injector) => ComponentPortal<any>>('ToastPortalFactory', {\n providedIn: 'root',\n factory: () => (injector: Injector) => new ComponentPortal(BsToastContainerComponent, null, injector),\n});\n\nexport function provideToast(): EnvironmentProviders {\n return makeEnvironmentProviders([\n {\n provide: PORTAL_FACTORY,\n useValue: (injector: Injector) => {\n return new ComponentPortal(BsToastContainerComponent, null, injector);\n }\n },\n ]);\n}","import { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { inject, Injectable, Injector, signal, TemplateRef } from '@angular/core';\nimport { BsToastContainerComponent } from '../../components/toast-container/toast-container.component';\nimport { PORTAL_FACTORY } from '../../providers/portal-factory.provider';\n\n@Injectable({ providedIn: 'root' })\nexport class BsToastService {\n\n private overlayService = inject(Overlay);\n private rootInjector = inject(Injector);\n private portalFactory = inject<(injector: Injector) => ComponentPortal<any>>(PORTAL_FACTORY);\n\n overlayRef: OverlayRef | null = null;\n toasts = signal<ToastItem[]>([]);\n\n public pushToast(toast: TemplateRef<any>, context?: Object) {\n if (!this.overlayRef) {\n const injector = Injector.create({\n providers: [],\n parent: this.rootInjector,\n });\n const portal = this.portalFactory(injector);\n this.overlayRef = this.overlayService.create({\n scrollStrategy: this.overlayService.scrollStrategies.block(),\n positionStrategy: this.overlayService.position().global()\n .top('0').left('0').bottom('0').right('0'),\n hasBackdrop: false\n });\n const component = this.overlayRef.attach<BsToastContainerComponent>(portal);\n }\n\n context = context ?? {};\n const ctx = Object.assign(context, { isVisible: false });\n const item: ToastItem = { template: toast, context: ctx };\n this.toasts.update(toasts => [...toasts, item]);\n setTimeout(() => {\n this.toasts.update(toasts => toasts.map(t =>\n t === item ? { ...t, context: Object.assign({}, t.context, { isVisible: true }) } : t\n ));\n }, 20);\n }\n\n public close(index: number) {\n this.toasts.update(toasts => toasts.map((t, i) =>\n i === index ? { ...t, context: Object.assign({}, t.context, { isVisible: false }) } : t\n ));\n\n setTimeout(() => {\n this.toasts.update(toasts => toasts.filter((_, i) => i !== index));\n }, 400);\n }\n}\n\ninterface ToastItem {\n template: TemplateRef<any>;\n context: Object | null;\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { BsHasOverlayComponent } from '@mintplayer/ng-bootstrap/has-overlay';\nimport { BsAddPropertiesPipe } from '../../pipes/add-properties.pipe';\nimport { BsToastService } from '../../services/toast/toast.service';\n\n@Component({\n selector: 'bs-toast-container',\n templateUrl: './toast-container.component.html',\n styleUrls: ['./toast-container.component.scss'],\n imports: [NgTemplateOutlet, BsHasOverlayComponent, BsAddPropertiesPipe],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[style.overflow-y]': '\"auto\"',\n },\n})\nexport class BsToastContainerComponent {\n toastService = inject(BsToastService);\n}\n","<bs-has-overlay></bs-has-overlay>\n@for (toast of toastService.toasts(); let i = $index; track i) {\n <ng-container [ngTemplateOutlet]=\"toast.template\" [ngTemplateOutletContext]=\"toast.context | bsAddProperties: {toastIndex: i}\"></ng-container>\n}\n","import { Directive, inject, input } from '@angular/core';\nimport { BsToastService } from '../../services/toast/toast.service';\nimport { BsToastComponent } from '../../components/toast/toast.component';\n\n@Directive({\n selector: 'bs-close',\n host: {\n '(click)': 'onClick()',\n },\n})\nexport class BsToastCloseDirective {\n private toast = inject(BsToastComponent);\n private toastService = inject(BsToastService);\n\n onClick() {\n if (this.index() !== null) {\n this.toastService.close(this.index()!);\n }\n }\n\n readonly index = input<number | null>(null);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;MAQa,gBAAgB,CAAA;AAN7B,IAAA,WAAA,GAAA;AAOE,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAC,KAAK,qDAAC;AACzB,IAAA;8GAFY,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,oNCR7B,iKAGA,EAAA,MAAA,EAAA,CAAA,mjFAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FDKa,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAN5B,SAAS;+BACE,UAAU,EAAA,eAAA,EAGH,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,iKAAA,EAAA,MAAA,EAAA,CAAA,mjFAAA,CAAA,EAAA;;;MEKpC,sBAAsB,CAAA;8GAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,mICXnC,2BAAyB,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FDWZ,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBATlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EAAA,eAAA,EAGV,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,sBAAsB,EAAE,MAAM;AAC/B,qBAAA,EAAA,QAAA,EAAA,2BAAA,EAAA;;;MEGU,oBAAoB,CAAA;8GAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,uJCZjC,6BACA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FDWa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAVhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EAAA,eAAA,EAGR,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,gBAAgB,EAAE,MAAM;AACxB,wBAAA,oBAAoB,EAAE,MAAM;AAC7B,qBAAA,EAAA,QAAA,EAAA,6BAAA,EAAA;;;MELU,mBAAmB,CAAA;IAC9B,SAAS,CAAC,KAAoB,EAAE,KAAa,EAAA;AAC3C,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE,EAAE,KAAK,CAAC;IAC9C;8GAHW,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,CAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAH/B,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,iBAAiB;AACxB,iBAAA;;;MCAY,cAAc,GAAG,IAAI,cAAc,CAA+C,oBAAoB,EAAE;AACnH,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,OAAO,EAAE,MAAM,CAAC,QAAkB,KAAK,IAAI,eAAe,CAAC,yBAAyB,EAAE,IAAI,EAAE,QAAQ,CAAC;AACtG,CAAA;SAEe,YAAY,GAAA;AAC1B,IAAA,OAAO,wBAAwB,CAAC;AAC9B,QAAA;AACE,YAAA,OAAO,EAAE,cAAc;AACvB,YAAA,QAAQ,EAAE,CAAC,QAAkB,KAAI;gBAC/B,OAAO,IAAI,eAAe,CAAC,yBAAyB,EAAE,IAAI,EAAE,QAAQ,CAAC;YACvE;AACD,SAAA;AACF,KAAA,CAAC;AACJ;;MCXa,cAAc,CAAA;AAD3B,IAAA,WAAA,GAAA;AAGU,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC;AAChC,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC;AAC/B,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAA+C,cAAc,CAAC;QAE5F,IAAA,CAAA,UAAU,GAAsB,IAAI;AACpC,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAc,EAAE,kDAAC;AAsCjC,IAAA;IApCQ,SAAS,CAAC,KAAuB,EAAE,OAAgB,EAAA;AACxD,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AACpB,YAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;AAC/B,gBAAA,SAAS,EAAE,EAAE;gBACb,MAAM,EAAE,IAAI,CAAC,YAAY;AAC1B,aAAA,CAAC;YACF,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;YAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;gBAC3C,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,KAAK,EAAE;gBAC5D,gBAAgB,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,MAAM;AACpD,qBAAA,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;AAC5C,gBAAA,WAAW,EAAE;AACd,aAAA,CAAC;YACF,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAA4B,MAAM,CAAC;QAC7E;AAEA,QAAA,OAAO,GAAG,OAAO,IAAI,EAAE;AACvB,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QACxD,MAAM,IAAI,GAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE;AACzD,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC;QAC/C,UAAU,CAAC,MAAK;YACd,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,IACvC,CAAC,KAAK,IAAI,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CACtF,CAAC;QACJ,CAAC,EAAE,EAAE,CAAC;IACR;AAEO,IAAA,KAAK,CAAC,KAAa,EAAA;QACxB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAC3C,CAAC,KAAK,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,CACxF,CAAC;QAEF,UAAU,CAAC,MAAK;YACd,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,CAAC;QACpE,CAAC,EAAE,GAAG,CAAC;IACT;8GA5CW,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAd,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,cADD,MAAM,EAAA,CAAA,CAAA;;2FACnB,cAAc,EAAA,UAAA,EAAA,CAAA;kBAD1B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;MCUrB,yBAAyB,CAAA;AAVtC,IAAA,WAAA,GAAA;AAWE,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC;AACtC,IAAA;8GAFY,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,wIChBtC,kQAIA,EAAA,MAAA,EAAA,CAAA,0+DAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDMY,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,qBAAqB,sDAAE,mBAAmB,EAAA,IAAA,EAAA,iBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAM3D,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAVrC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oBAAoB,EAAA,OAAA,EAGrB,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,mBAAmB,CAAC,EAAA,eAAA,EACtD,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,oBAAoB,EAAE,QAAQ;AAC/B,qBAAA,EAAA,QAAA,EAAA,kQAAA,EAAA,MAAA,EAAA,CAAA,0+DAAA,CAAA,EAAA;;;MEJU,qBAAqB,CAAA;AANlC,IAAA,WAAA,GAAA;AAOU,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,gBAAgB,CAAC;AAChC,QAAA,IAAA,CAAA,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC;AAQpC,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAgB,IAAI,iDAAC;AAC5C,IAAA;IAPC,OAAO,GAAA;AACL,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE;YACzB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAG,CAAC;QACxC;IACF;8GARW,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,WAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBANjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,IAAI,EAAE;AACJ,wBAAA,SAAS,EAAE,WAAW;AACvB,qBAAA;AACF,iBAAA;;;ACTD;;AAEG;;;;"}
1
+ {"version":3,"file":"mintplayer-ng-bootstrap-toast.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/toast/src/components/toast/toast.component.ts","../../../../libs/mintplayer-ng-bootstrap/toast/src/components/toast/toast.component.html","../../../../libs/mintplayer-ng-bootstrap/toast/src/components/toast-header/toast-header.component.ts","../../../../libs/mintplayer-ng-bootstrap/toast/src/components/toast-header/toast-header.component.html","../../../../libs/mintplayer-ng-bootstrap/toast/src/components/toast-body/toast-body.component.ts","../../../../libs/mintplayer-ng-bootstrap/toast/src/components/toast-body/toast-body.component.html","../../../../libs/mintplayer-ng-bootstrap/toast/src/pipes/add-properties.pipe.ts","../../../../libs/mintplayer-ng-bootstrap/toast/src/providers/portal-factory.provider.ts","../../../../libs/mintplayer-ng-bootstrap/toast/src/services/toast/toast.service.ts","../../../../libs/mintplayer-ng-bootstrap/toast/src/components/toast-container/toast-container.component.ts","../../../../libs/mintplayer-ng-bootstrap/toast/src/components/toast-container/toast-container.component.html","../../../../libs/mintplayer-ng-bootstrap/toast/src/directives/toast-close/toast-close.directive.ts","../../../../libs/mintplayer-ng-bootstrap/toast/mintplayer-ng-bootstrap-toast.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, input } from '@angular/core';\n\n@Component({\n selector: 'bs-toast',\n templateUrl: './toast.component.html',\n styleUrls: ['./toast.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BsToastComponent {\n isVisible = input(false);\n}\n","<div class=\"toast d-block fade mb-2 me-2\" [class.show]=\"isVisible()\" aria-live=\"assertive\" aria-atomic=\"true\">\n <ng-content></ng-content>\n</div>\n","import { Component, ChangeDetectionStrategy} from '@angular/core';\n\n@Component({\n selector: 'bs-toast-header',\n templateUrl: './toast-header.component.html',\n styleUrls: ['./toast-header.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.toast-header]': 'true',\n },\n})\nexport class BsToastHeaderComponent {\n}\n","<ng-content></ng-content>","import { Component, ChangeDetectionStrategy} from '@angular/core';\n\n@Component({\n selector: 'bs-toast-body',\n templateUrl: './toast-body.component.html',\n styleUrls: ['./toast-body.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.d-flex]': 'true',\n '[class.toast-body]': 'true',\n },\n})\nexport class BsToastBodyComponent {\n}\n","<ng-content></ng-content>\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'bsAddProperties',\n})\nexport class BsAddPropertiesPipe implements PipeTransform {\n transform(value: Object | null, toAdd: Object) {\n return Object.assign({}, value ?? {}, toAdd);\n }\n}\n","import { ComponentPortal } from \"@angular/cdk/portal\";\nimport { EnvironmentProviders, InjectionToken, Injector, makeEnvironmentProviders } from \"@angular/core\";\nimport { BsToastContainerComponent } from \"../components/toast-container/toast-container.component\";\n\nexport const PORTAL_FACTORY = new InjectionToken<(injector: Injector) => ComponentPortal<any>>('ToastPortalFactory', {\n providedIn: 'root',\n factory: () => (injector: Injector) => new ComponentPortal(BsToastContainerComponent, null, injector),\n});\n\nexport function provideToast(): EnvironmentProviders {\n return makeEnvironmentProviders([\n {\n provide: PORTAL_FACTORY,\n useValue: (injector: Injector) => {\n return new ComponentPortal(BsToastContainerComponent, null, injector);\n }\n },\n ]);\n}","import { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { inject, Injectable, Injector, signal, TemplateRef } from '@angular/core';\nimport { BsToastContainerComponent } from '../../components/toast-container/toast-container.component';\nimport { PORTAL_FACTORY } from '../../providers/portal-factory.provider';\n\n@Injectable({ providedIn: 'root' })\nexport class BsToastService {\n\n private overlayService = inject(Overlay);\n private rootInjector = inject(Injector);\n private portalFactory = inject<(injector: Injector) => ComponentPortal<any>>(PORTAL_FACTORY);\n\n overlayRef: OverlayRef | null = null;\n toasts = signal<ToastItem[]>([]);\n\n public pushToast(toast: TemplateRef<any>, context?: Object) {\n if (!this.overlayRef) {\n const injector = Injector.create({\n providers: [],\n parent: this.rootInjector,\n });\n const portal = this.portalFactory(injector);\n this.overlayRef = this.overlayService.create({\n scrollStrategy: this.overlayService.scrollStrategies.block(),\n positionStrategy: this.overlayService.position().global()\n .top('0').left('0').bottom('0').right('0'),\n hasBackdrop: false\n });\n const component = this.overlayRef.attach<BsToastContainerComponent>(portal);\n }\n\n context = context ?? {};\n const ctx = Object.assign(context, { isVisible: false });\n const item: ToastItem = { template: toast, context: ctx };\n this.toasts.update(toasts => [...toasts, item]);\n setTimeout(() => {\n this.toasts.update(toasts => toasts.map(t =>\n t === item ? { ...t, context: Object.assign({}, t.context, { isVisible: true }) } : t\n ));\n }, 20);\n }\n\n public close(index: number) {\n this.toasts.update(toasts => toasts.map((t, i) =>\n i === index ? { ...t, context: Object.assign({}, t.context, { isVisible: false }) } : t\n ));\n\n setTimeout(() => {\n this.toasts.update(toasts => toasts.filter((_, i) => i !== index));\n }, 400);\n }\n}\n\ninterface ToastItem {\n template: TemplateRef<any>;\n context: Object | null;\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { BsHasOverlayComponent } from '@mintplayer/ng-bootstrap/has-overlay';\nimport { BsAddPropertiesPipe } from '../../pipes/add-properties.pipe';\nimport { BsToastService } from '../../services/toast/toast.service';\n\n@Component({\n selector: 'bs-toast-container',\n templateUrl: './toast-container.component.html',\n styleUrls: ['./toast-container.component.scss'],\n imports: [NgTemplateOutlet, BsHasOverlayComponent, BsAddPropertiesPipe],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[style.overflow-y]': '\"auto\"',\n },\n})\nexport class BsToastContainerComponent {\n toastService = inject(BsToastService);\n}\n","<bs-has-overlay></bs-has-overlay>\n@for (toast of toastService.toasts(); let i = $index; track i) {\n <ng-container [ngTemplateOutlet]=\"toast.template\" [ngTemplateOutletContext]=\"toast.context | bsAddProperties: {toastIndex: i}\"></ng-container>\n}\n","import { Directive, inject, input } from '@angular/core';\nimport { BsToastService } from '../../services/toast/toast.service';\nimport { BsToastComponent } from '../../components/toast/toast.component';\n\n@Directive({\n selector: 'bs-close',\n host: {\n '(click)': 'onClick()',\n },\n})\nexport class BsToastCloseDirective {\n private toast = inject(BsToastComponent);\n private toastService = inject(BsToastService);\n\n onClick() {\n if (this.index() !== null) {\n this.toastService.close(this.index()!);\n }\n }\n\n readonly index = input<number | null>(null);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -77,14 +77,14 @@ class BsToggleButtonValueAccessor {
77
77
  checkbox.nativeElement.disabled = isDisabled;
78
78
  }
79
79
  }
80
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsToggleButtonValueAccessor, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
81
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.6", type: BsToggleButtonValueAccessor, isStandalone: true, selector: "bs-toggle-button", host: { listeners: { "change": "onChangeEvent($event)" } }, providers: [{
80
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BsToggleButtonValueAccessor, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
81
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.11", type: BsToggleButtonValueAccessor, isStandalone: true, selector: "bs-toggle-button", host: { listeners: { "change": "onChangeEvent($event)" } }, providers: [{
82
82
  provide: NG_VALUE_ACCESSOR,
83
83
  useExisting: forwardRef(() => BsToggleButtonValueAccessor),
84
84
  multi: true,
85
85
  }], ngImport: i0 }); }
86
86
  }
87
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsToggleButtonValueAccessor, decorators: [{
87
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BsToggleButtonValueAccessor, decorators: [{
88
88
  type: Directive,
89
89
  args: [{
90
90
  selector: 'bs-toggle-button',
@@ -102,12 +102,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
102
102
  class BsToggleButtonComponent {
103
103
  constructor() {
104
104
  this.checkbox = viewChild.required('checkbox');
105
- this.disableAnimations = signal(true, ...(ngDevMode ? [{ debugName: "disableAnimations" }] : []));
106
- this.type = input('checkbox', ...(ngDevMode ? [{ debugName: "type" }] : []));
107
- this.isToggled = model(false, ...(ngDevMode ? [{ debugName: "isToggled" }] : []));
108
- this.name = input(null, ...(ngDevMode ? [{ debugName: "name" }] : []));
109
- this.value = input(null, ...(ngDevMode ? [{ debugName: "value" }] : []));
110
- this.group = input(null, ...(ngDevMode ? [{ debugName: "group" }] : []));
105
+ this.disableAnimations = signal(true, ...(ngDevMode ? [{ debugName: "disableAnimations" }] : /* istanbul ignore next */ []));
106
+ this.type = input('checkbox', ...(ngDevMode ? [{ debugName: "type" }] : /* istanbul ignore next */ []));
107
+ this.isToggled = model(false, ...(ngDevMode ? [{ debugName: "isToggled" }] : /* istanbul ignore next */ []));
108
+ this.name = input(null, ...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
109
+ this.value = input(null, ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
110
+ this.group = input(null, ...(ngDevMode ? [{ debugName: "group" }] : /* istanbul ignore next */ []));
111
111
  this.mainCheckStyle = computed(() => {
112
112
  switch (this.type()) {
113
113
  case 'checkbox':
@@ -117,7 +117,7 @@ class BsToggleButtonComponent {
117
117
  default:
118
118
  return null;
119
119
  }
120
- }, ...(ngDevMode ? [{ debugName: "mainCheckStyle" }] : []));
120
+ }, ...(ngDevMode ? [{ debugName: "mainCheckStyle" }] : /* istanbul ignore next */ []));
121
121
  this.isSwitch = computed(() => {
122
122
  switch (this.type()) {
123
123
  case 'switch':
@@ -125,7 +125,7 @@ class BsToggleButtonComponent {
125
125
  default:
126
126
  return false;
127
127
  }
128
- }, ...(ngDevMode ? [{ debugName: "isSwitch" }] : []));
128
+ }, ...(ngDevMode ? [{ debugName: "isSwitch" }] : /* istanbul ignore next */ []));
129
129
  this.inputClass = computed(() => {
130
130
  switch (this.type()) {
131
131
  case 'checkbox':
@@ -135,7 +135,7 @@ class BsToggleButtonComponent {
135
135
  default:
136
136
  return 'btn-check';
137
137
  }
138
- }, ...(ngDevMode ? [{ debugName: "inputClass" }] : []));
138
+ }, ...(ngDevMode ? [{ debugName: "inputClass" }] : /* istanbul ignore next */ []));
139
139
  this.labelClass = computed(() => {
140
140
  switch (this.type()) {
141
141
  case 'checkbox':
@@ -147,7 +147,7 @@ class BsToggleButtonComponent {
147
147
  case 'radio_toggle_button':
148
148
  return 'btn btn-secondary';
149
149
  }
150
- }, ...(ngDevMode ? [{ debugName: "labelClass" }] : []));
150
+ }, ...(ngDevMode ? [{ debugName: "labelClass" }] : /* istanbul ignore next */ []));
151
151
  this.checkOrRadio = computed(() => {
152
152
  switch (this.type()) {
153
153
  case 'radio':
@@ -156,7 +156,7 @@ class BsToggleButtonComponent {
156
156
  default:
157
157
  return 'checkbox';
158
158
  }
159
- }, ...(ngDevMode ? [{ debugName: "checkOrRadio" }] : []));
159
+ }, ...(ngDevMode ? [{ debugName: "checkOrRadio" }] : /* istanbul ignore next */ []));
160
160
  this.nameResult = computed(() => {
161
161
  const type = this.type();
162
162
  const name = this.name();
@@ -177,15 +177,15 @@ class BsToggleButtonComponent {
177
177
  default:
178
178
  throw 'Invalid value';
179
179
  }
180
- }, ...(ngDevMode ? [{ debugName: "nameResult" }] : []));
180
+ }, ...(ngDevMode ? [{ debugName: "nameResult" }] : /* istanbul ignore next */ []));
181
181
  }
182
182
  ngAfterViewInit() {
183
183
  this.disableAnimations.set(false);
184
184
  }
185
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsToggleButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
186
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.6", type: BsToggleButtonComponent, isStandalone: true, selector: "bs-toggle-button", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, isToggled: { classPropertyName: "isToggled", publicName: "isToggled", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, group: { classPropertyName: "group", publicName: "group", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isToggled: "isToggledChange" }, host: { classAttribute: "d-inline-block" }, viewQueries: [{ propertyName: "checkbox", first: true, predicate: ["checkbox"], descendants: true, isSignal: true }], hostDirectives: [{ directive: BsToggleButtonValueAccessor }], ngImport: i0, template: "<label [class]=\"mainCheckStyle()\" [class.form-switch]=\"isSwitch()\">\n <input #checkbox [class]=\"inputClass()\" [type]=\"checkOrRadio()\" [name]=\"nameResult()\" [value]=\"value()\">\n <span [class]=\"labelClass()\">\n <ng-content></ng-content>\n </span>\n</label>\n", styles: [":host ::ng-deep .form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}:host ::ng-deep .form-check .form-check-input{float:left;margin-left:-1.5em}:host ::ng-deep .form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}:host ::ng-deep .form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}:host ::ng-deep .form-check-input{--bs-form-check-bg: var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;print-color-adjust:exact}:host ::ng-deep .form-check-input[type=checkbox]{border-radius:.25em}:host ::ng-deep .form-check-input[type=radio]{border-radius:50%}:host ::ng-deep .form-check-input:active{filter:brightness(90%)}:host ::ng-deep .form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}:host ::ng-deep .form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}:host ::ng-deep .form-check-input:checked[type=checkbox]{--bs-form-check-bg-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e\")}:host ::ng-deep .form-check-input:checked[type=radio]{--bs-form-check-bg-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e\")}:host ::ng-deep .form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e\")}:host ::ng-deep .form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}:host ::ng-deep .form-check-input[disabled]~.form-check-label,:host ::ng-deep .form-check-input:disabled~.form-check-label{cursor:default;opacity:.5}:host ::ng-deep .form-switch{padding-left:2.5em}:host ::ng-deep .form-switch .form-check-input{--bs-form-switch-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e\");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media(prefers-reduced-motion:reduce){:host ::ng-deep .form-switch .form-check-input{transition:none}}:host ::ng-deep .form-switch .form-check-input:focus{--bs-form-switch-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgb%28134, 182.5, 254%29'/%3e%3c/svg%3e\")}:host ::ng-deep .form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\")}:host ::ng-deep .form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}:host ::ng-deep .form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}:host ::ng-deep .form-check-inline{display:inline-block;margin-right:1rem}:host ::ng-deep .btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}:host ::ng-deep .btn-check[disabled]+.btn,:host ::ng-deep .btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}:host ::ng-deep [data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e\")}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
185
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BsToggleButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
186
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.11", type: BsToggleButtonComponent, isStandalone: true, selector: "bs-toggle-button", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, isToggled: { classPropertyName: "isToggled", publicName: "isToggled", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, group: { classPropertyName: "group", publicName: "group", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isToggled: "isToggledChange" }, host: { classAttribute: "d-inline-block" }, viewQueries: [{ propertyName: "checkbox", first: true, predicate: ["checkbox"], descendants: true, isSignal: true }], hostDirectives: [{ directive: BsToggleButtonValueAccessor }], ngImport: i0, template: "<label [class]=\"mainCheckStyle()\" [class.form-switch]=\"isSwitch()\">\n <input #checkbox [class]=\"inputClass()\" [type]=\"checkOrRadio()\" [name]=\"nameResult()\" [value]=\"value()\">\n <span [class]=\"labelClass()\">\n <ng-content></ng-content>\n </span>\n</label>\n", styles: [":host ::ng-deep .form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}:host ::ng-deep .form-check .form-check-input{float:left;margin-left:-1.5em}:host ::ng-deep .form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}:host ::ng-deep .form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}:host ::ng-deep .form-check-input{--bs-form-check-bg: var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;print-color-adjust:exact}:host ::ng-deep .form-check-input[type=checkbox]{border-radius:.25em}:host ::ng-deep .form-check-input[type=radio]{border-radius:50%}:host ::ng-deep .form-check-input:active{filter:brightness(90%)}:host ::ng-deep .form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem #0d6efd40}:host ::ng-deep .form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}:host ::ng-deep .form-check-input:checked[type=checkbox]{--bs-form-check-bg-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e\")}:host ::ng-deep .form-check-input:checked[type=radio]{--bs-form-check-bg-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e\")}:host ::ng-deep .form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e\")}:host ::ng-deep .form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}:host ::ng-deep .form-check-input[disabled]~.form-check-label,:host ::ng-deep .form-check-input:disabled~.form-check-label{cursor:default;opacity:.5}:host ::ng-deep .form-switch{padding-left:2.5em}:host ::ng-deep .form-switch .form-check-input{--bs-form-switch-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e\");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media(prefers-reduced-motion:reduce){:host ::ng-deep .form-switch .form-check-input{transition:none}}:host ::ng-deep .form-switch .form-check-input:focus{--bs-form-switch-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgb%28134, 182.5, 254%29'/%3e%3c/svg%3e\")}:host ::ng-deep .form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\")}:host ::ng-deep .form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}:host ::ng-deep .form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}:host ::ng-deep .form-check-inline{display:inline-block;margin-right:1rem}:host ::ng-deep .btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}:host ::ng-deep .btn-check[disabled]+.btn,:host ::ng-deep .btn-check:disabled+.btn{pointer-events:none;filter:none;opacity:.65}:host ::ng-deep [data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e\")}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
187
187
  }
188
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsToggleButtonComponent, decorators: [{
188
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BsToggleButtonComponent, decorators: [{
189
189
  type: Component,
190
190
  args: [{ selector: 'bs-toggle-button', changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [BsToggleButtonValueAccessor], host: {
191
191
  'class': 'd-inline-block',
@@ -194,12 +194,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImpor
194
194
 
195
195
  class BsToggleButtonGroupDirective {
196
196
  constructor() {
197
- this.toggleButtons = contentChildren(BsToggleButtonComponent, { ...(ngDevMode ? { debugName: "toggleButtons" } : {}), descendants: true });
197
+ this.toggleButtons = contentChildren(BsToggleButtonComponent, { ...(ngDevMode ? { debugName: "toggleButtons" } : /* istanbul ignore next */ {}), descendants: true });
198
198
  }
199
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsToggleButtonGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
200
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.1.6", type: BsToggleButtonGroupDirective, isStandalone: true, selector: "[bsToggleButtonGroup]", queries: [{ propertyName: "toggleButtons", predicate: BsToggleButtonComponent, descendants: true, isSignal: true }], exportAs: ["bsToggleButtonGroup"], ngImport: i0 }); }
199
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BsToggleButtonGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
200
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.2.11", type: BsToggleButtonGroupDirective, isStandalone: true, selector: "[bsToggleButtonGroup]", queries: [{ propertyName: "toggleButtons", predicate: BsToggleButtonComponent, descendants: true, isSignal: true }], exportAs: ["bsToggleButtonGroup"], ngImport: i0 }); }
201
201
  }
202
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsToggleButtonGroupDirective, decorators: [{
202
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: BsToggleButtonGroupDirective, decorators: [{
203
203
  type: Directive,
204
204
  args: [{
205
205
  selector: '[bsToggleButtonGroup]',
@@ -1 +1 @@
1
- {"version":3,"file":"mintplayer-ng-bootstrap-toggle-button.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/toggle-button/src/value-accessor/toggle-button-value-accessor.ts","../../../../libs/mintplayer-ng-bootstrap/toggle-button/src/component/toggle-button.component.ts","../../../../libs/mintplayer-ng-bootstrap/toggle-button/src/component/toggle-button.component.html","../../../../libs/mintplayer-ng-bootstrap/toggle-button/src/directives/toggle-button-group/toggle-button-group.directive.ts","../../../../libs/mintplayer-ng-bootstrap/toggle-button/mintplayer-ng-bootstrap-toggle-button.ts"],"sourcesContent":["import { Directive, forwardRef, inject } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { BsToggleButtonComponent } from '../component/toggle-button.component';\n\n@Directive({\n selector: 'bs-toggle-button',\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BsToggleButtonValueAccessor),\n multi: true,\n }],\n host: {\n '(change)': 'onChangeEvent($event)',\n },\n})\nexport class BsToggleButtonValueAccessor implements ControlValueAccessor {\n private host = inject(BsToggleButtonComponent);\n\n onValueChange?: (value: boolean | string | string[]) => void;\n onTouched?: () => void;\n\n onChangeEvent(ev: Event) {\n if (this.onValueChange) {\n const isChecked = (<HTMLInputElement>ev.target).checked;\n switch (this.host.type()) {\n case 'radio':\n case 'radio_toggle_button':\n if (isChecked) {\n this.onValueChange(this.host.checkbox().nativeElement.value);\n }\n break;\n default:\n const group = this.host.group();\n if (group) {\n const itemValue = this.host.checkbox().nativeElement.value;\n\n const result = group.toggleButtons()\n .map(tb => ({ value: tb.value(), checked: tb.checkbox().nativeElement.checked }))\n .filter(tb => !!tb.value && tb.checked)\n .map(tb => <string>tb.value);\n\n if (this.host.checkbox().nativeElement.checked) {\n if (!result.includes(itemValue)) {\n result.push(itemValue);\n }\n } else {\n if (result.includes(itemValue)) {\n result.splice(result.indexOf(itemValue), 1);\n }\n }\n\n this.onValueChange(result);\n } else {\n this.onValueChange(isChecked);\n }\n break;\n }\n }\n }\n\n //#region ControlValueAccessor implementation\n registerOnChange(fn: (_: any) => void) {\n this.onValueChange = fn;\n }\n\n registerOnTouched(fn: () => void) {\n this.onTouched = fn;\n }\n\n writeValue(value: boolean | string | string[]) {\n const checkbox = this.host.checkbox();\n if (checkbox) {\n switch (this.host.type()) {\n case 'radio':\n case 'radio_toggle_button':\n if (<string>value === this.host.value()) {\n checkbox.nativeElement.checked = true;\n }\n break;\n default:\n if (this.host.group()) {\n checkbox.nativeElement.checked = Array.isArray(value) && value.includes(this.host.value()!);\n } else {\n checkbox.nativeElement.checked = <boolean>value;\n }\n break;\n }\n }\n }\n\n setDisabledState(isDisabled: boolean) {\n const checkbox = this.host.checkbox();\n if (checkbox) {\n checkbox.nativeElement.disabled = isDisabled;\n }\n }\n //#endregion\n\n}\n","import { AfterViewInit, ChangeDetectionStrategy, Component, computed, ElementRef, input, model, signal, viewChild } from '@angular/core';\nimport { BsToggleButtonValueAccessor } from '../value-accessor/toggle-button-value-accessor';\nimport { BsToggleButtonGroupDirective } from '../directives/toggle-button-group/toggle-button-group.directive';\nimport { BsCheckStyle } from '../types/check-style';\n\n@Component({\n selector: 'bs-toggle-button',\n templateUrl: './toggle-button.component.html',\n styleUrls: ['./toggle-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [BsToggleButtonValueAccessor],\n host: {\n 'class': 'd-inline-block',\n },\n})\nexport class BsToggleButtonComponent implements AfterViewInit {\n\n readonly checkbox = viewChild.required<ElementRef<HTMLInputElement>>('checkbox');\n\n disableAnimations = signal(true);\n\n type = input<BsCheckStyle>('checkbox');\n isToggled = model<boolean | null>(false);\n name = input<string | null>(null);\n value = input<string | null>(null);\n group = input<BsToggleButtonGroupDirective | null>(null);\n\n mainCheckStyle = computed(() => {\n switch (this.type()) {\n case 'checkbox':\n case 'radio':\n case 'switch':\n return 'form-check';\n default:\n return null;\n }\n });\n\n isSwitch = computed(() => {\n switch (this.type()) {\n case 'switch':\n return true;\n default:\n return false;\n }\n });\n\n inputClass = computed(() => {\n switch (this.type()) {\n case 'checkbox':\n case 'radio':\n case 'switch':\n return 'form-check-input';\n default:\n return 'btn-check';\n }\n });\n\n labelClass = computed(() => {\n switch (this.type()) {\n case 'checkbox':\n case 'radio':\n case 'switch':\n return 'form-check-label';\n case 'toggle_button':\n return 'btn btn-primary'\n case 'radio_toggle_button':\n return 'btn btn-secondary';\n }\n });\n\n checkOrRadio = computed<'checkbox' | 'radio'>(() => {\n switch (this.type()) {\n case 'radio':\n case 'radio_toggle_button':\n return 'radio';\n default:\n return 'checkbox';\n }\n });\n\n nameResult = computed(() => {\n const type = this.type();\n const name = this.name();\n const group = this.group();\n switch (type) {\n case 'radio':\n case 'radio_toggle_button':\n return name;\n case 'checkbox':\n case 'toggle_button':\n case 'switch':\n if (group) {\n return `${name}[]`;\n } else {\n return name;\n }\n default:\n throw 'Invalid value';\n }\n });\n\n ngAfterViewInit() {\n this.disableAnimations.set(false);\n }\n}\n","<label [class]=\"mainCheckStyle()\" [class.form-switch]=\"isSwitch()\">\n <input #checkbox [class]=\"inputClass()\" [type]=\"checkOrRadio()\" [name]=\"nameResult()\" [value]=\"value()\">\n <span [class]=\"labelClass()\">\n <ng-content></ng-content>\n </span>\n</label>\n","import { contentChildren, Directive } from '@angular/core';\nimport { BsToggleButtonComponent } from '../../component/toggle-button.component';\n\n@Directive({\n selector: '[bsToggleButtonGroup]',\n exportAs: 'bsToggleButtonGroup',\n})\nexport class BsToggleButtonGroupDirective {\n readonly toggleButtons = contentChildren(BsToggleButtonComponent, { descendants: true });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mintplayer-ng-bootstrap-toggle-button.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/toggle-button/src/value-accessor/toggle-button-value-accessor.ts","../../../../libs/mintplayer-ng-bootstrap/toggle-button/src/component/toggle-button.component.ts","../../../../libs/mintplayer-ng-bootstrap/toggle-button/src/component/toggle-button.component.html","../../../../libs/mintplayer-ng-bootstrap/toggle-button/src/directives/toggle-button-group/toggle-button-group.directive.ts","../../../../libs/mintplayer-ng-bootstrap/toggle-button/mintplayer-ng-bootstrap-toggle-button.ts"],"sourcesContent":["import { Directive, forwardRef, inject } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { BsToggleButtonComponent } from '../component/toggle-button.component';\n\n@Directive({\n selector: 'bs-toggle-button',\n providers: [{\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BsToggleButtonValueAccessor),\n multi: true,\n }],\n host: {\n '(change)': 'onChangeEvent($event)',\n },\n})\nexport class BsToggleButtonValueAccessor implements ControlValueAccessor {\n private host = inject(BsToggleButtonComponent);\n\n onValueChange?: (value: boolean | string | string[]) => void;\n onTouched?: () => void;\n\n onChangeEvent(ev: Event) {\n if (this.onValueChange) {\n const isChecked = (<HTMLInputElement>ev.target).checked;\n switch (this.host.type()) {\n case 'radio':\n case 'radio_toggle_button':\n if (isChecked) {\n this.onValueChange(this.host.checkbox().nativeElement.value);\n }\n break;\n default:\n const group = this.host.group();\n if (group) {\n const itemValue = this.host.checkbox().nativeElement.value;\n\n const result = group.toggleButtons()\n .map(tb => ({ value: tb.value(), checked: tb.checkbox().nativeElement.checked }))\n .filter(tb => !!tb.value && tb.checked)\n .map(tb => <string>tb.value);\n\n if (this.host.checkbox().nativeElement.checked) {\n if (!result.includes(itemValue)) {\n result.push(itemValue);\n }\n } else {\n if (result.includes(itemValue)) {\n result.splice(result.indexOf(itemValue), 1);\n }\n }\n\n this.onValueChange(result);\n } else {\n this.onValueChange(isChecked);\n }\n break;\n }\n }\n }\n\n //#region ControlValueAccessor implementation\n registerOnChange(fn: (_: any) => void) {\n this.onValueChange = fn;\n }\n\n registerOnTouched(fn: () => void) {\n this.onTouched = fn;\n }\n\n writeValue(value: boolean | string | string[]) {\n const checkbox = this.host.checkbox();\n if (checkbox) {\n switch (this.host.type()) {\n case 'radio':\n case 'radio_toggle_button':\n if (<string>value === this.host.value()) {\n checkbox.nativeElement.checked = true;\n }\n break;\n default:\n if (this.host.group()) {\n checkbox.nativeElement.checked = Array.isArray(value) && value.includes(this.host.value()!);\n } else {\n checkbox.nativeElement.checked = <boolean>value;\n }\n break;\n }\n }\n }\n\n setDisabledState(isDisabled: boolean) {\n const checkbox = this.host.checkbox();\n if (checkbox) {\n checkbox.nativeElement.disabled = isDisabled;\n }\n }\n //#endregion\n\n}\n","import { AfterViewInit, ChangeDetectionStrategy, Component, computed, ElementRef, input, model, signal, viewChild } from '@angular/core';\nimport { BsToggleButtonValueAccessor } from '../value-accessor/toggle-button-value-accessor';\nimport { BsToggleButtonGroupDirective } from '../directives/toggle-button-group/toggle-button-group.directive';\nimport { BsCheckStyle } from '../types/check-style';\n\n@Component({\n selector: 'bs-toggle-button',\n templateUrl: './toggle-button.component.html',\n styleUrls: ['./toggle-button.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [BsToggleButtonValueAccessor],\n host: {\n 'class': 'd-inline-block',\n },\n})\nexport class BsToggleButtonComponent implements AfterViewInit {\n\n readonly checkbox = viewChild.required<ElementRef<HTMLInputElement>>('checkbox');\n\n disableAnimations = signal(true);\n\n type = input<BsCheckStyle>('checkbox');\n isToggled = model<boolean | null>(false);\n name = input<string | null>(null);\n value = input<string | null>(null);\n group = input<BsToggleButtonGroupDirective | null>(null);\n\n mainCheckStyle = computed(() => {\n switch (this.type()) {\n case 'checkbox':\n case 'radio':\n case 'switch':\n return 'form-check';\n default:\n return null;\n }\n });\n\n isSwitch = computed(() => {\n switch (this.type()) {\n case 'switch':\n return true;\n default:\n return false;\n }\n });\n\n inputClass = computed(() => {\n switch (this.type()) {\n case 'checkbox':\n case 'radio':\n case 'switch':\n return 'form-check-input';\n default:\n return 'btn-check';\n }\n });\n\n labelClass = computed(() => {\n switch (this.type()) {\n case 'checkbox':\n case 'radio':\n case 'switch':\n return 'form-check-label';\n case 'toggle_button':\n return 'btn btn-primary'\n case 'radio_toggle_button':\n return 'btn btn-secondary';\n }\n });\n\n checkOrRadio = computed<'checkbox' | 'radio'>(() => {\n switch (this.type()) {\n case 'radio':\n case 'radio_toggle_button':\n return 'radio';\n default:\n return 'checkbox';\n }\n });\n\n nameResult = computed(() => {\n const type = this.type();\n const name = this.name();\n const group = this.group();\n switch (type) {\n case 'radio':\n case 'radio_toggle_button':\n return name;\n case 'checkbox':\n case 'toggle_button':\n case 'switch':\n if (group) {\n return `${name}[]`;\n } else {\n return name;\n }\n default:\n throw 'Invalid value';\n }\n });\n\n ngAfterViewInit() {\n this.disableAnimations.set(false);\n }\n}\n","<label [class]=\"mainCheckStyle()\" [class.form-switch]=\"isSwitch()\">\n <input #checkbox [class]=\"inputClass()\" [type]=\"checkOrRadio()\" [name]=\"nameResult()\" [value]=\"value()\">\n <span [class]=\"labelClass()\">\n <ng-content></ng-content>\n </span>\n</label>\n","import { contentChildren, Directive } from '@angular/core';\nimport { BsToggleButtonComponent } from '../../component/toggle-button.component';\n\n@Directive({\n selector: '[bsToggleButtonGroup]',\n exportAs: 'bsToggleButtonGroup',\n})\nexport class BsToggleButtonGroupDirective {\n readonly toggleButtons = contentChildren(BsToggleButtonComponent, { descendants: true });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}