@mintplayer/ng-bootstrap 21.6.0 → 21.8.0

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 (215) hide show
  1. package/fesm2022/mintplayer-ng-bootstrap-accordion.mjs +34 -73
  2. package/fesm2022/mintplayer-ng-bootstrap-accordion.mjs.map +1 -1
  3. package/fesm2022/mintplayer-ng-bootstrap-alert.mjs +10 -31
  4. package/fesm2022/mintplayer-ng-bootstrap-alert.mjs.map +1 -1
  5. package/fesm2022/mintplayer-ng-bootstrap-badge.mjs +4 -4
  6. package/fesm2022/mintplayer-ng-bootstrap-badge.mjs.map +1 -1
  7. package/fesm2022/mintplayer-ng-bootstrap-breadcrumb.mjs +12 -29
  8. package/fesm2022/mintplayer-ng-bootstrap-breadcrumb.mjs.map +1 -1
  9. package/fesm2022/mintplayer-ng-bootstrap-button-group.mjs +5 -5
  10. package/fesm2022/mintplayer-ng-bootstrap-button-group.mjs.map +1 -1
  11. package/fesm2022/mintplayer-ng-bootstrap-button-type.mjs +17 -19
  12. package/fesm2022/mintplayer-ng-bootstrap-button-type.mjs.map +1 -1
  13. package/fesm2022/mintplayer-ng-bootstrap-calendar-month.mjs +9 -11
  14. package/fesm2022/mintplayer-ng-bootstrap-calendar-month.mjs.map +1 -1
  15. package/fesm2022/mintplayer-ng-bootstrap-calendar.mjs +5 -5
  16. package/fesm2022/mintplayer-ng-bootstrap-calendar.mjs.map +1 -1
  17. package/fesm2022/mintplayer-ng-bootstrap-card.mjs +14 -41
  18. package/fesm2022/mintplayer-ng-bootstrap-card.mjs.map +1 -1
  19. package/fesm2022/mintplayer-ng-bootstrap-carousel.mjs +47 -89
  20. package/fesm2022/mintplayer-ng-bootstrap-carousel.mjs.map +1 -1
  21. package/fesm2022/mintplayer-ng-bootstrap-close.mjs +4 -4
  22. package/fesm2022/mintplayer-ng-bootstrap-close.mjs.map +1 -1
  23. package/fesm2022/mintplayer-ng-bootstrap-code-snippet.mjs +10 -13
  24. package/fesm2022/mintplayer-ng-bootstrap-code-snippet.mjs.map +1 -1
  25. package/fesm2022/mintplayer-ng-bootstrap-color-picker.mjs +294 -383
  26. package/fesm2022/mintplayer-ng-bootstrap-color-picker.mjs.map +1 -1
  27. package/fesm2022/mintplayer-ng-bootstrap-container.mjs +5 -5
  28. package/fesm2022/mintplayer-ng-bootstrap-container.mjs.map +1 -1
  29. package/fesm2022/mintplayer-ng-bootstrap-context-menu.mjs +10 -44
  30. package/fesm2022/mintplayer-ng-bootstrap-context-menu.mjs.map +1 -1
  31. package/fesm2022/mintplayer-ng-bootstrap-copy.mjs +16 -23
  32. package/fesm2022/mintplayer-ng-bootstrap-copy.mjs.map +1 -1
  33. package/fesm2022/mintplayer-ng-bootstrap-datatable.mjs +24 -74
  34. package/fesm2022/mintplayer-ng-bootstrap-datatable.mjs.map +1 -1
  35. package/fesm2022/mintplayer-ng-bootstrap-datepicker.mjs +6 -8
  36. package/fesm2022/mintplayer-ng-bootstrap-datepicker.mjs.map +1 -1
  37. package/fesm2022/mintplayer-ng-bootstrap-dock.mjs +43 -73
  38. package/fesm2022/mintplayer-ng-bootstrap-dock.mjs.map +1 -1
  39. package/fesm2022/mintplayer-ng-bootstrap-dropdown-divider.mjs +8 -12
  40. package/fesm2022/mintplayer-ng-bootstrap-dropdown-divider.mjs.map +1 -1
  41. package/fesm2022/mintplayer-ng-bootstrap-dropdown-menu.mjs +23 -60
  42. package/fesm2022/mintplayer-ng-bootstrap-dropdown-menu.mjs.map +1 -1
  43. package/fesm2022/mintplayer-ng-bootstrap-dropdown.mjs +34 -86
  44. package/fesm2022/mintplayer-ng-bootstrap-dropdown.mjs.map +1 -1
  45. package/fesm2022/mintplayer-ng-bootstrap-enhanced-paste.mjs +9 -12
  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-file-upload.mjs +35 -96
  49. package/fesm2022/mintplayer-ng-bootstrap-file-upload.mjs.map +1 -1
  50. package/fesm2022/mintplayer-ng-bootstrap-floating-labels.mjs +9 -10
  51. package/fesm2022/mintplayer-ng-bootstrap-floating-labels.mjs.map +1 -1
  52. package/fesm2022/mintplayer-ng-bootstrap-font-color.mjs +3 -4
  53. package/fesm2022/mintplayer-ng-bootstrap-font-color.mjs.map +1 -1
  54. package/fesm2022/mintplayer-ng-bootstrap-for.mjs +23 -26
  55. package/fesm2022/mintplayer-ng-bootstrap-for.mjs.map +1 -1
  56. package/fesm2022/mintplayer-ng-bootstrap-form.mjs +29 -54
  57. package/fesm2022/mintplayer-ng-bootstrap-form.mjs.map +1 -1
  58. package/fesm2022/mintplayer-ng-bootstrap-grid.mjs +35 -67
  59. package/fesm2022/mintplayer-ng-bootstrap-grid.mjs.map +1 -1
  60. package/fesm2022/mintplayer-ng-bootstrap-has-overlay.mjs +5 -5
  61. package/fesm2022/mintplayer-ng-bootstrap-has-overlay.mjs.map +1 -1
  62. package/fesm2022/mintplayer-ng-bootstrap-has-property.mjs +3 -4
  63. package/fesm2022/mintplayer-ng-bootstrap-has-property.mjs.map +1 -1
  64. package/fesm2022/mintplayer-ng-bootstrap-in-list.mjs +3 -4
  65. package/fesm2022/mintplayer-ng-bootstrap-in-list.mjs.map +1 -1
  66. package/fesm2022/mintplayer-ng-bootstrap-input-group.mjs +5 -5
  67. package/fesm2022/mintplayer-ng-bootstrap-input-group.mjs.map +1 -1
  68. package/fesm2022/mintplayer-ng-bootstrap-instance-of.mjs +75 -114
  69. package/fesm2022/mintplayer-ng-bootstrap-instance-of.mjs.map +1 -1
  70. package/fesm2022/mintplayer-ng-bootstrap-let.mjs +16 -15
  71. package/fesm2022/mintplayer-ng-bootstrap-let.mjs.map +1 -1
  72. package/fesm2022/mintplayer-ng-bootstrap-linify.mjs +3 -4
  73. package/fesm2022/mintplayer-ng-bootstrap-linify.mjs.map +1 -1
  74. package/fesm2022/mintplayer-ng-bootstrap-list-group.mjs +17 -44
  75. package/fesm2022/mintplayer-ng-bootstrap-list-group.mjs.map +1 -1
  76. package/fesm2022/mintplayer-ng-bootstrap-markdown.mjs +12 -16
  77. package/fesm2022/mintplayer-ng-bootstrap-markdown.mjs.map +1 -1
  78. package/fesm2022/mintplayer-ng-bootstrap-marquee.mjs +5 -5
  79. package/fesm2022/mintplayer-ng-bootstrap-marquee.mjs.map +1 -1
  80. package/fesm2022/mintplayer-ng-bootstrap-modal.mjs +74 -160
  81. package/fesm2022/mintplayer-ng-bootstrap-modal.mjs.map +1 -1
  82. package/fesm2022/mintplayer-ng-bootstrap-multiselect.mjs +25 -87
  83. package/fesm2022/mintplayer-ng-bootstrap-multiselect.mjs.map +1 -1
  84. package/fesm2022/mintplayer-ng-bootstrap-navbar-toggler.mjs +8 -9
  85. package/fesm2022/mintplayer-ng-bootstrap-navbar-toggler.mjs.map +1 -1
  86. package/fesm2022/mintplayer-ng-bootstrap-navbar.mjs +136 -232
  87. package/fesm2022/mintplayer-ng-bootstrap-navbar.mjs.map +1 -1
  88. package/fesm2022/mintplayer-ng-bootstrap-navigation-lock.mjs +40 -68
  89. package/fesm2022/mintplayer-ng-bootstrap-navigation-lock.mjs.map +1 -1
  90. package/fesm2022/mintplayer-ng-bootstrap-no-noscript.mjs +11 -15
  91. package/fesm2022/mintplayer-ng-bootstrap-no-noscript.mjs.map +1 -1
  92. package/fesm2022/mintplayer-ng-bootstrap-offcanvas.mjs +70 -138
  93. package/fesm2022/mintplayer-ng-bootstrap-offcanvas.mjs.map +1 -1
  94. package/fesm2022/mintplayer-ng-bootstrap-ordinal-number.mjs +3 -4
  95. package/fesm2022/mintplayer-ng-bootstrap-ordinal-number.mjs.map +1 -1
  96. package/fesm2022/mintplayer-ng-bootstrap-pagination.mjs +4 -4
  97. package/fesm2022/mintplayer-ng-bootstrap-pagination.mjs.map +1 -1
  98. package/fesm2022/mintplayer-ng-bootstrap-parallax.mjs +5 -5
  99. package/fesm2022/mintplayer-ng-bootstrap-parallax.mjs.map +1 -1
  100. package/fesm2022/mintplayer-ng-bootstrap-placeholder.mjs +16 -39
  101. package/fesm2022/mintplayer-ng-bootstrap-placeholder.mjs.map +1 -1
  102. package/fesm2022/mintplayer-ng-bootstrap-playlist-toggler.mjs +8 -9
  103. package/fesm2022/mintplayer-ng-bootstrap-playlist-toggler.mjs.map +1 -1
  104. package/fesm2022/mintplayer-ng-bootstrap-popover.mjs +40 -70
  105. package/fesm2022/mintplayer-ng-bootstrap-popover.mjs.map +1 -1
  106. package/fesm2022/mintplayer-ng-bootstrap-progress-bar.mjs +28 -97
  107. package/fesm2022/mintplayer-ng-bootstrap-progress-bar.mjs.map +1 -1
  108. package/fesm2022/mintplayer-ng-bootstrap-range.mjs +30 -58
  109. package/fesm2022/mintplayer-ng-bootstrap-range.mjs.map +1 -1
  110. package/fesm2022/mintplayer-ng-bootstrap-rating.mjs +10 -17
  111. package/fesm2022/mintplayer-ng-bootstrap-rating.mjs.map +1 -1
  112. package/fesm2022/mintplayer-ng-bootstrap-resizable.mjs +96 -153
  113. package/fesm2022/mintplayer-ng-bootstrap-resizable.mjs.map +1 -1
  114. package/fesm2022/mintplayer-ng-bootstrap-scheduler.mjs +26 -41
  115. package/fesm2022/mintplayer-ng-bootstrap-scheduler.mjs.map +1 -1
  116. package/fesm2022/mintplayer-ng-bootstrap-scrollspy.mjs +30 -61
  117. package/fesm2022/mintplayer-ng-bootstrap-scrollspy.mjs.map +1 -1
  118. package/fesm2022/mintplayer-ng-bootstrap-searchbox.mjs +59 -108
  119. package/fesm2022/mintplayer-ng-bootstrap-searchbox.mjs.map +1 -1
  120. package/fesm2022/mintplayer-ng-bootstrap-select.mjs +99 -131
  121. package/fesm2022/mintplayer-ng-bootstrap-select.mjs.map +1 -1
  122. package/fesm2022/mintplayer-ng-bootstrap-select2.mjs +63 -106
  123. package/fesm2022/mintplayer-ng-bootstrap-select2.mjs.map +1 -1
  124. package/fesm2022/mintplayer-ng-bootstrap-shell.mjs +15 -33
  125. package/fesm2022/mintplayer-ng-bootstrap-shell.mjs.map +1 -1
  126. package/fesm2022/mintplayer-ng-bootstrap-signature-pad.mjs +16 -33
  127. package/fesm2022/mintplayer-ng-bootstrap-signature-pad.mjs.map +1 -1
  128. package/fesm2022/mintplayer-ng-bootstrap-slugify.mjs +3 -4
  129. package/fesm2022/mintplayer-ng-bootstrap-slugify.mjs.map +1 -1
  130. package/fesm2022/mintplayer-ng-bootstrap-spinner.mjs +4 -4
  131. package/fesm2022/mintplayer-ng-bootstrap-spinner.mjs.map +1 -1
  132. package/fesm2022/mintplayer-ng-bootstrap-split-string.mjs +3 -4
  133. package/fesm2022/mintplayer-ng-bootstrap-split-string.mjs.map +1 -1
  134. package/fesm2022/mintplayer-ng-bootstrap-sticky-footer.mjs +16 -35
  135. package/fesm2022/mintplayer-ng-bootstrap-sticky-footer.mjs.map +1 -1
  136. package/fesm2022/mintplayer-ng-bootstrap-tab-control.mjs +39 -81
  137. package/fesm2022/mintplayer-ng-bootstrap-tab-control.mjs.map +1 -1
  138. package/fesm2022/mintplayer-ng-bootstrap-table.mjs +4 -4
  139. package/fesm2022/mintplayer-ng-bootstrap-table.mjs.map +1 -1
  140. package/fesm2022/mintplayer-ng-bootstrap-timepicker.mjs +13 -17
  141. package/fesm2022/mintplayer-ng-bootstrap-timepicker.mjs.map +1 -1
  142. package/fesm2022/mintplayer-ng-bootstrap-toast.mjs +80 -154
  143. package/fesm2022/mintplayer-ng-bootstrap-toast.mjs.map +1 -1
  144. package/fesm2022/mintplayer-ng-bootstrap-toggle-button.mjs +116 -153
  145. package/fesm2022/mintplayer-ng-bootstrap-toggle-button.mjs.map +1 -1
  146. package/fesm2022/mintplayer-ng-bootstrap-tooltip.mjs +25 -62
  147. package/fesm2022/mintplayer-ng-bootstrap-tooltip.mjs.map +1 -1
  148. package/fesm2022/mintplayer-ng-bootstrap-treeview.mjs +16 -33
  149. package/fesm2022/mintplayer-ng-bootstrap-treeview.mjs.map +1 -1
  150. package/fesm2022/mintplayer-ng-bootstrap-trust-html.mjs +3 -4
  151. package/fesm2022/mintplayer-ng-bootstrap-trust-html.mjs.map +1 -1
  152. package/fesm2022/mintplayer-ng-bootstrap-typeahead.mjs +13 -20
  153. package/fesm2022/mintplayer-ng-bootstrap-typeahead.mjs.map +1 -1
  154. package/fesm2022/mintplayer-ng-bootstrap-uc-first.mjs +3 -4
  155. package/fesm2022/mintplayer-ng-bootstrap-uc-first.mjs.map +1 -1
  156. package/fesm2022/mintplayer-ng-bootstrap-user-agent.mjs +14 -26
  157. package/fesm2022/mintplayer-ng-bootstrap-user-agent.mjs.map +1 -1
  158. package/fesm2022/mintplayer-ng-bootstrap-viewport.mjs +6 -9
  159. package/fesm2022/mintplayer-ng-bootstrap-viewport.mjs.map +1 -1
  160. package/fesm2022/mintplayer-ng-bootstrap-word-count.mjs +3 -4
  161. package/fesm2022/mintplayer-ng-bootstrap-word-count.mjs.map +1 -1
  162. package/package.json +4 -4
  163. package/types/mintplayer-ng-bootstrap-accordion.d.ts +20 -30
  164. package/types/mintplayer-ng-bootstrap-alert.d.ts +3 -9
  165. package/types/mintplayer-ng-bootstrap-breadcrumb.d.ts +3 -10
  166. package/types/mintplayer-ng-bootstrap-button-type.d.ts +4 -4
  167. package/types/mintplayer-ng-bootstrap-card.d.ts +5 -12
  168. package/types/mintplayer-ng-bootstrap-carousel.d.ts +6 -14
  169. package/types/mintplayer-ng-bootstrap-code-snippet.d.ts +3 -3
  170. package/types/mintplayer-ng-bootstrap-color-picker.d.ts +43 -54
  171. package/types/mintplayer-ng-bootstrap-context-menu.d.ts +2 -11
  172. package/types/mintplayer-ng-bootstrap-copy.d.ts +5 -7
  173. package/types/mintplayer-ng-bootstrap-datatable.d.ts +7 -18
  174. package/types/mintplayer-ng-bootstrap-dock.d.ts +18 -31
  175. package/types/mintplayer-ng-bootstrap-dropdown-divider.d.ts +0 -1
  176. package/types/mintplayer-ng-bootstrap-dropdown-menu.d.ts +11 -22
  177. package/types/mintplayer-ng-bootstrap-dropdown.d.ts +16 -28
  178. package/types/mintplayer-ng-bootstrap-enhanced-paste.d.ts +1 -2
  179. package/types/mintplayer-ng-bootstrap-file-upload.d.ts +16 -27
  180. package/types/mintplayer-ng-bootstrap-floating-labels.d.ts +2 -3
  181. package/types/mintplayer-ng-bootstrap-for.d.ts +3 -3
  182. package/types/mintplayer-ng-bootstrap-form.d.ts +11 -20
  183. package/types/mintplayer-ng-bootstrap-grid.d.ts +23 -35
  184. package/types/mintplayer-ng-bootstrap-instance-of.d.ts +34 -41
  185. package/types/mintplayer-ng-bootstrap-let.d.ts +3 -2
  186. package/types/mintplayer-ng-bootstrap-list-group.d.ts +4 -13
  187. package/types/mintplayer-ng-bootstrap-modal.d.ts +13 -29
  188. package/types/mintplayer-ng-bootstrap-multiselect.d.ts +8 -21
  189. package/types/mintplayer-ng-bootstrap-navbar.d.ts +38 -51
  190. package/types/mintplayer-ng-bootstrap-navigation-lock.d.ts +8 -15
  191. package/types/mintplayer-ng-bootstrap-no-noscript.d.ts +1 -1
  192. package/types/mintplayer-ng-bootstrap-offcanvas.d.ts +20 -30
  193. package/types/mintplayer-ng-bootstrap-placeholder.d.ts +3 -11
  194. package/types/mintplayer-ng-bootstrap-popover.d.ts +18 -31
  195. package/types/mintplayer-ng-bootstrap-progress-bar.d.ts +9 -27
  196. package/types/mintplayer-ng-bootstrap-range.d.ts +14 -22
  197. package/types/mintplayer-ng-bootstrap-rating.d.ts +0 -2
  198. package/types/mintplayer-ng-bootstrap-resizable.d.ts +23 -32
  199. package/types/mintplayer-ng-bootstrap-scheduler.d.ts +3 -9
  200. package/types/mintplayer-ng-bootstrap-scrollspy.d.ts +7 -16
  201. package/types/mintplayer-ng-bootstrap-searchbox.d.ts +20 -34
  202. package/types/mintplayer-ng-bootstrap-select.d.ts +24 -30
  203. package/types/mintplayer-ng-bootstrap-select2.d.ts +21 -33
  204. package/types/mintplayer-ng-bootstrap-shell.d.ts +12 -19
  205. package/types/mintplayer-ng-bootstrap-signature-pad.d.ts +2 -3
  206. package/types/mintplayer-ng-bootstrap-sticky-footer.d.ts +4 -12
  207. package/types/mintplayer-ng-bootstrap-tab-control.d.ts +9 -21
  208. package/types/mintplayer-ng-bootstrap-timepicker.d.ts +3 -3
  209. package/types/mintplayer-ng-bootstrap-toast.d.ts +12 -20
  210. package/types/mintplayer-ng-bootstrap-toggle-button.d.ts +20 -29
  211. package/types/mintplayer-ng-bootstrap-tooltip.d.ts +4 -24
  212. package/types/mintplayer-ng-bootstrap-treeview.d.ts +13 -21
  213. package/types/mintplayer-ng-bootstrap-typeahead.d.ts +3 -3
  214. package/types/mintplayer-ng-bootstrap-user-agent.d.ts +2 -3
  215. package/types/mintplayer-ng-bootstrap-viewport.d.ts +2 -2
@@ -1,30 +1,25 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, Inject, Component, inject, Injector, ComponentFactoryResolver, EventEmitter, HostListener, Input, Output, TemplateRef, Directive, HostBinding, NgModule } from '@angular/core';
3
- import { FadeInOutAnimation, EnterFromTopAnimation } from '@mintplayer/ng-animations';
4
- import * as i1 from '@angular/common';
2
+ import { InjectionToken, inject, signal, ChangeDetectionStrategy, Component, Injector, ComponentFactoryResolver, model, input, effect, TemplateRef, Directive } from '@angular/core';
5
3
  import { NgTemplateOutlet } from '@angular/common';
6
- import { Overlay, OverlayModule } from '@angular/cdk/overlay';
7
- import * as i1$1 from '@mintplayer/ng-bootstrap/has-overlay';
8
- import { BsHasOverlayComponent } from '@mintplayer/ng-bootstrap/has-overlay';
4
+ import { FadeInOutAnimation, EnterFromTopAnimation } from '@mintplayer/ng-animations';
5
+ import { Overlay } from '@angular/cdk/overlay';
9
6
  import { ComponentPortal } from '@angular/cdk/portal';
7
+ import { BsHasOverlayComponent } from '@mintplayer/ng-bootstrap/has-overlay';
10
8
 
11
9
  const MODAL_CONTENT = new InjectionToken('ModalContent');
12
10
 
13
11
  class BsModalComponent {
14
- constructor(template) {
15
- this.isOpen = false;
16
- this.template = template;
12
+ constructor() {
13
+ this.template = inject(MODAL_CONTENT);
14
+ this.isOpen = signal(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : []));
17
15
  }
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BsModalComponent, deps: [{ token: MODAL_CONTENT }], target: i0.ɵɵFactoryTarget.Component }); }
19
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.6", type: BsModalComponent, isStandalone: false, selector: "bs-modal-content", ngImport: i0, template: "@if (isOpen) {\n <div class=\"modal d-block\"\n [@fadeInOut]\n [@enterFromTop]\n role=\"dialog\"\n aria-modal=\"true\"\n tabindex=\"-1\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n </div>\n </div>\n </div>\n\n <div [@fadeInOut]>\n <div class=\"modal-backdrop fade\" [class.show]=\"isOpen\" aria-hidden=\"true\"></div>\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 .modal{--bs-modal-zindex: 1055;--bs-modal-width: 500px;--bs-modal-padding: 1rem;--bs-modal-margin: .5rem;--bs-modal-color: var(--bs-body-color);--bs-modal-bg: var(--bs-body-bg);--bs-modal-border-color: var(--bs-border-color-translucent);--bs-modal-border-width: var(--bs-border-width);--bs-modal-border-radius: var(--bs-border-radius-lg);--bs-modal-box-shadow: var(--bs-box-shadow-sm);--bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x: 1rem;--bs-modal-header-padding-y: 1rem;--bs-modal-header-padding: 1rem 1rem;--bs-modal-header-border-color: var(--bs-border-color);--bs-modal-header-border-width: var(--bs-border-width);--bs-modal-title-line-height: 1.5;--bs-modal-footer-gap: .5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color: var(--bs-border-color);--bs-modal-footer-border-width: var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}:host ::ng-deep .modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade :host ::ng-deep .modal-dialog{transform:translateY(-50px);transition:transform .3s ease-out}@media(prefers-reduced-motion:reduce){.modal.fade :host ::ng-deep .modal-dialog{transition:none}}.modal.show :host ::ng-deep .modal-dialog{transform:none}.modal.modal-static :host ::ng-deep .modal-dialog{transform:scale(1.02)}:host ::ng-deep .modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}:host ::ng-deep .modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}:host ::ng-deep .modal-dialog-scrollable .modal-body{overflow-y:auto}:host ::ng-deep .modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}:host ::ng-deep .modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}:host ::ng-deep .modal-backdrop{--bs-backdrop-zindex: 1050;--bs-backdrop-bg: #000;--bs-backdrop-opacity: .5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}:host ::ng-deep .modal-backdrop.fade{opacity:0}:host ::ng-deep .modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}:host ::ng-deep .modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}:host ::ng-deep .modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin-top:calc(-.5 * var(--bs-modal-header-padding-y));margin-right:calc(-.5 * var(--bs-modal-header-padding-x));margin-bottom:calc(-.5 * var(--bs-modal-header-padding-y));margin-left:auto}:host ::ng-deep .modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}:host ::ng-deep .modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}:host ::ng-deep .modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}:host ::ng-deep .modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media(min-width:576px){:host ::ng-deep .modal{--bs-modal-margin: 1.75rem;--bs-modal-box-shadow: var(--bs-box-shadow)}:host ::ng-deep .modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}:host ::ng-deep .modal-sm{--bs-modal-width: 300px}}@media(min-width:992px){:host ::ng-deep .modal-lg,:host ::ng-deep .modal-xl{--bs-modal-width: 800px}}@media(min-width:1200px){:host ::ng-deep .modal-xl{--bs-modal-width: 1140px}}:host ::ng-deep .modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}:host ::ng-deep .modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}:host ::ng-deep .modal-fullscreen .modal-header,:host ::ng-deep .modal-fullscreen .modal-footer{border-radius:0}:host ::ng-deep .modal-fullscreen .modal-body{overflow-y:auto}@media(max-width:575.98px){:host ::ng-deep .modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}:host ::ng-deep .modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}:host ::ng-deep .modal-fullscreen-sm-down .modal-header,:host ::ng-deep .modal-fullscreen-sm-down .modal-footer{border-radius:0}:host ::ng-deep .modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media(max-width:767.98px){:host ::ng-deep .modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}:host ::ng-deep .modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}:host ::ng-deep .modal-fullscreen-md-down .modal-header,:host ::ng-deep .modal-fullscreen-md-down .modal-footer{border-radius:0}:host ::ng-deep .modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media(max-width:991.98px){:host ::ng-deep .modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}:host ::ng-deep .modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}:host ::ng-deep .modal-fullscreen-lg-down .modal-header,:host ::ng-deep .modal-fullscreen-lg-down .modal-footer{border-radius:0}:host ::ng-deep .modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media(max-width:1199.98px){:host ::ng-deep .modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}:host ::ng-deep .modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}:host ::ng-deep .modal-fullscreen-xl-down .modal-header,:host ::ng-deep .modal-fullscreen-xl-down .modal-footer{border-radius:0}:host ::ng-deep .modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media(max-width:1399.98px){:host ::ng-deep .modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}:host ::ng-deep .modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}:host ::ng-deep .modal-fullscreen-xxl-down .modal-header,:host ::ng-deep .modal-fullscreen-xxl-down .modal-footer{border-radius:0}:host ::ng-deep .modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [FadeInOutAnimation, EnterFromTopAnimation] }); }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.6", type: BsModalComponent, isStandalone: true, selector: "bs-modal-content", ngImport: i0, template: "@if (isOpen()) {\n <div class=\"modal d-block\"\n [@fadeInOut]\n [@enterFromTop]\n role=\"dialog\"\n aria-modal=\"true\"\n tabindex=\"-1\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n </div>\n </div>\n </div>\n\n <div [@fadeInOut]>\n <div class=\"modal-backdrop fade\" [class.show]=\"isOpen()\" aria-hidden=\"true\"></div>\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 .modal{--bs-modal-zindex: 1055;--bs-modal-width: 500px;--bs-modal-padding: 1rem;--bs-modal-margin: .5rem;--bs-modal-color: var(--bs-body-color);--bs-modal-bg: var(--bs-body-bg);--bs-modal-border-color: var(--bs-border-color-translucent);--bs-modal-border-width: var(--bs-border-width);--bs-modal-border-radius: var(--bs-border-radius-lg);--bs-modal-box-shadow: var(--bs-box-shadow-sm);--bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x: 1rem;--bs-modal-header-padding-y: 1rem;--bs-modal-header-padding: 1rem 1rem;--bs-modal-header-border-color: var(--bs-border-color);--bs-modal-header-border-width: var(--bs-border-width);--bs-modal-title-line-height: 1.5;--bs-modal-footer-gap: .5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color: var(--bs-border-color);--bs-modal-footer-border-width: var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}:host ::ng-deep .modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade :host ::ng-deep .modal-dialog{transform:translateY(-50px);transition:transform .3s ease-out}@media(prefers-reduced-motion:reduce){.modal.fade :host ::ng-deep .modal-dialog{transition:none}}.modal.show :host ::ng-deep .modal-dialog{transform:none}.modal.modal-static :host ::ng-deep .modal-dialog{transform:scale(1.02)}:host ::ng-deep .modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}:host ::ng-deep .modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}:host ::ng-deep .modal-dialog-scrollable .modal-body{overflow-y:auto}:host ::ng-deep .modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}:host ::ng-deep .modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}:host ::ng-deep .modal-backdrop{--bs-backdrop-zindex: 1050;--bs-backdrop-bg: #000;--bs-backdrop-opacity: .5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}:host ::ng-deep .modal-backdrop.fade{opacity:0}:host ::ng-deep .modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}:host ::ng-deep .modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}:host ::ng-deep .modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin-top:calc(-.5 * var(--bs-modal-header-padding-y));margin-right:calc(-.5 * var(--bs-modal-header-padding-x));margin-bottom:calc(-.5 * var(--bs-modal-header-padding-y));margin-left:auto}:host ::ng-deep .modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}:host ::ng-deep .modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}:host ::ng-deep .modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}:host ::ng-deep .modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media(min-width:576px){:host ::ng-deep .modal{--bs-modal-margin: 1.75rem;--bs-modal-box-shadow: var(--bs-box-shadow)}:host ::ng-deep .modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}:host ::ng-deep .modal-sm{--bs-modal-width: 300px}}@media(min-width:992px){:host ::ng-deep .modal-lg,:host ::ng-deep .modal-xl{--bs-modal-width: 800px}}@media(min-width:1200px){:host ::ng-deep .modal-xl{--bs-modal-width: 1140px}}:host ::ng-deep .modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}:host ::ng-deep .modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}:host ::ng-deep .modal-fullscreen .modal-header,:host ::ng-deep .modal-fullscreen .modal-footer{border-radius:0}:host ::ng-deep .modal-fullscreen .modal-body{overflow-y:auto}@media(max-width:575.98px){:host ::ng-deep .modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}:host ::ng-deep .modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}:host ::ng-deep .modal-fullscreen-sm-down .modal-header,:host ::ng-deep .modal-fullscreen-sm-down .modal-footer{border-radius:0}:host ::ng-deep .modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media(max-width:767.98px){:host ::ng-deep .modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}:host ::ng-deep .modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}:host ::ng-deep .modal-fullscreen-md-down .modal-header,:host ::ng-deep .modal-fullscreen-md-down .modal-footer{border-radius:0}:host ::ng-deep .modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media(max-width:991.98px){:host ::ng-deep .modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}:host ::ng-deep .modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}:host ::ng-deep .modal-fullscreen-lg-down .modal-header,:host ::ng-deep .modal-fullscreen-lg-down .modal-footer{border-radius:0}:host ::ng-deep .modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media(max-width:1199.98px){:host ::ng-deep .modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}:host ::ng-deep .modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}:host ::ng-deep .modal-fullscreen-xl-down .modal-header,:host ::ng-deep .modal-fullscreen-xl-down .modal-footer{border-radius:0}:host ::ng-deep .modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media(max-width:1399.98px){:host ::ng-deep .modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}:host ::ng-deep .modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}:host ::ng-deep .modal-fullscreen-xxl-down .modal-header,:host ::ng-deep .modal-fullscreen-xxl-down .modal-footer{border-radius:0}:host ::ng-deep .modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], animations: [FadeInOutAnimation, EnterFromTopAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
20
18
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BsModalComponent, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsModalComponent, decorators: [{
22
20
  type: Component,
23
- args: [{ selector: 'bs-modal-content', standalone: false, animations: [FadeInOutAnimation, EnterFromTopAnimation], template: "@if (isOpen) {\n <div class=\"modal d-block\"\n [@fadeInOut]\n [@enterFromTop]\n role=\"dialog\"\n aria-modal=\"true\"\n tabindex=\"-1\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n </div>\n </div>\n </div>\n\n <div [@fadeInOut]>\n <div class=\"modal-backdrop fade\" [class.show]=\"isOpen\" aria-hidden=\"true\"></div>\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 .modal{--bs-modal-zindex: 1055;--bs-modal-width: 500px;--bs-modal-padding: 1rem;--bs-modal-margin: .5rem;--bs-modal-color: var(--bs-body-color);--bs-modal-bg: var(--bs-body-bg);--bs-modal-border-color: var(--bs-border-color-translucent);--bs-modal-border-width: var(--bs-border-width);--bs-modal-border-radius: var(--bs-border-radius-lg);--bs-modal-box-shadow: var(--bs-box-shadow-sm);--bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x: 1rem;--bs-modal-header-padding-y: 1rem;--bs-modal-header-padding: 1rem 1rem;--bs-modal-header-border-color: var(--bs-border-color);--bs-modal-header-border-width: var(--bs-border-width);--bs-modal-title-line-height: 1.5;--bs-modal-footer-gap: .5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color: var(--bs-border-color);--bs-modal-footer-border-width: var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}:host ::ng-deep .modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade :host ::ng-deep .modal-dialog{transform:translateY(-50px);transition:transform .3s ease-out}@media(prefers-reduced-motion:reduce){.modal.fade :host ::ng-deep .modal-dialog{transition:none}}.modal.show :host ::ng-deep .modal-dialog{transform:none}.modal.modal-static :host ::ng-deep .modal-dialog{transform:scale(1.02)}:host ::ng-deep .modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}:host ::ng-deep .modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}:host ::ng-deep .modal-dialog-scrollable .modal-body{overflow-y:auto}:host ::ng-deep .modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}:host ::ng-deep .modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}:host ::ng-deep .modal-backdrop{--bs-backdrop-zindex: 1050;--bs-backdrop-bg: #000;--bs-backdrop-opacity: .5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}:host ::ng-deep .modal-backdrop.fade{opacity:0}:host ::ng-deep .modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}:host ::ng-deep .modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}:host ::ng-deep .modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin-top:calc(-.5 * var(--bs-modal-header-padding-y));margin-right:calc(-.5 * var(--bs-modal-header-padding-x));margin-bottom:calc(-.5 * var(--bs-modal-header-padding-y));margin-left:auto}:host ::ng-deep .modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}:host ::ng-deep .modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}:host ::ng-deep .modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}:host ::ng-deep .modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media(min-width:576px){:host ::ng-deep .modal{--bs-modal-margin: 1.75rem;--bs-modal-box-shadow: var(--bs-box-shadow)}:host ::ng-deep .modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}:host ::ng-deep .modal-sm{--bs-modal-width: 300px}}@media(min-width:992px){:host ::ng-deep .modal-lg,:host ::ng-deep .modal-xl{--bs-modal-width: 800px}}@media(min-width:1200px){:host ::ng-deep .modal-xl{--bs-modal-width: 1140px}}:host ::ng-deep .modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}:host ::ng-deep .modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}:host ::ng-deep .modal-fullscreen .modal-header,:host ::ng-deep .modal-fullscreen .modal-footer{border-radius:0}:host ::ng-deep .modal-fullscreen .modal-body{overflow-y:auto}@media(max-width:575.98px){:host ::ng-deep .modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}:host ::ng-deep .modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}:host ::ng-deep .modal-fullscreen-sm-down .modal-header,:host ::ng-deep .modal-fullscreen-sm-down .modal-footer{border-radius:0}:host ::ng-deep .modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media(max-width:767.98px){:host ::ng-deep .modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}:host ::ng-deep .modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}:host ::ng-deep .modal-fullscreen-md-down .modal-header,:host ::ng-deep .modal-fullscreen-md-down .modal-footer{border-radius:0}:host ::ng-deep .modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media(max-width:991.98px){:host ::ng-deep .modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}:host ::ng-deep .modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}:host ::ng-deep .modal-fullscreen-lg-down .modal-header,:host ::ng-deep .modal-fullscreen-lg-down .modal-footer{border-radius:0}:host ::ng-deep .modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media(max-width:1199.98px){:host ::ng-deep .modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}:host ::ng-deep .modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}:host ::ng-deep .modal-fullscreen-xl-down .modal-header,:host ::ng-deep .modal-fullscreen-xl-down .modal-footer{border-radius:0}:host ::ng-deep .modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media(max-width:1399.98px){:host ::ng-deep .modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}:host ::ng-deep .modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}:host ::ng-deep .modal-fullscreen-xxl-down .modal-header,:host ::ng-deep .modal-fullscreen-xxl-down .modal-footer{border-radius:0}:host ::ng-deep .modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}\n"] }]
24
- }], ctorParameters: () => [{ type: i0.TemplateRef, decorators: [{
25
- type: Inject,
26
- args: [MODAL_CONTENT]
27
- }] }] });
21
+ args: [{ selector: 'bs-modal-content', imports: [NgTemplateOutlet], animations: [FadeInOutAnimation, EnterFromTopAnimation], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (isOpen()) {\n <div class=\"modal d-block\"\n [@fadeInOut]\n [@enterFromTop]\n role=\"dialog\"\n aria-modal=\"true\"\n tabindex=\"-1\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n </div>\n </div>\n </div>\n\n <div [@fadeInOut]>\n <div class=\"modal-backdrop fade\" [class.show]=\"isOpen()\" aria-hidden=\"true\"></div>\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 .modal{--bs-modal-zindex: 1055;--bs-modal-width: 500px;--bs-modal-padding: 1rem;--bs-modal-margin: .5rem;--bs-modal-color: var(--bs-body-color);--bs-modal-bg: var(--bs-body-bg);--bs-modal-border-color: var(--bs-border-color-translucent);--bs-modal-border-width: var(--bs-border-width);--bs-modal-border-radius: var(--bs-border-radius-lg);--bs-modal-box-shadow: var(--bs-box-shadow-sm);--bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x: 1rem;--bs-modal-header-padding-y: 1rem;--bs-modal-header-padding: 1rem 1rem;--bs-modal-header-border-color: var(--bs-border-color);--bs-modal-header-border-width: var(--bs-border-width);--bs-modal-title-line-height: 1.5;--bs-modal-footer-gap: .5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color: var(--bs-border-color);--bs-modal-footer-border-width: var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}:host ::ng-deep .modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade :host ::ng-deep .modal-dialog{transform:translateY(-50px);transition:transform .3s ease-out}@media(prefers-reduced-motion:reduce){.modal.fade :host ::ng-deep .modal-dialog{transition:none}}.modal.show :host ::ng-deep .modal-dialog{transform:none}.modal.modal-static :host ::ng-deep .modal-dialog{transform:scale(1.02)}:host ::ng-deep .modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}:host ::ng-deep .modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}:host ::ng-deep .modal-dialog-scrollable .modal-body{overflow-y:auto}:host ::ng-deep .modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}:host ::ng-deep .modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}:host ::ng-deep .modal-backdrop{--bs-backdrop-zindex: 1050;--bs-backdrop-bg: #000;--bs-backdrop-opacity: .5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}:host ::ng-deep .modal-backdrop.fade{opacity:0}:host ::ng-deep .modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}:host ::ng-deep .modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}:host ::ng-deep .modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin-top:calc(-.5 * var(--bs-modal-header-padding-y));margin-right:calc(-.5 * var(--bs-modal-header-padding-x));margin-bottom:calc(-.5 * var(--bs-modal-header-padding-y));margin-left:auto}:host ::ng-deep .modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}:host ::ng-deep .modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}:host ::ng-deep .modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}:host ::ng-deep .modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media(min-width:576px){:host ::ng-deep .modal{--bs-modal-margin: 1.75rem;--bs-modal-box-shadow: var(--bs-box-shadow)}:host ::ng-deep .modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}:host ::ng-deep .modal-sm{--bs-modal-width: 300px}}@media(min-width:992px){:host ::ng-deep .modal-lg,:host ::ng-deep .modal-xl{--bs-modal-width: 800px}}@media(min-width:1200px){:host ::ng-deep .modal-xl{--bs-modal-width: 1140px}}:host ::ng-deep .modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}:host ::ng-deep .modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}:host ::ng-deep .modal-fullscreen .modal-header,:host ::ng-deep .modal-fullscreen .modal-footer{border-radius:0}:host ::ng-deep .modal-fullscreen .modal-body{overflow-y:auto}@media(max-width:575.98px){:host ::ng-deep .modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}:host ::ng-deep .modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}:host ::ng-deep .modal-fullscreen-sm-down .modal-header,:host ::ng-deep .modal-fullscreen-sm-down .modal-footer{border-radius:0}:host ::ng-deep .modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media(max-width:767.98px){:host ::ng-deep .modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}:host ::ng-deep .modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}:host ::ng-deep .modal-fullscreen-md-down .modal-header,:host ::ng-deep .modal-fullscreen-md-down .modal-footer{border-radius:0}:host ::ng-deep .modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media(max-width:991.98px){:host ::ng-deep .modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}:host ::ng-deep .modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}:host ::ng-deep .modal-fullscreen-lg-down .modal-header,:host ::ng-deep .modal-fullscreen-lg-down .modal-footer{border-radius:0}:host ::ng-deep .modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media(max-width:1199.98px){:host ::ng-deep .modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}:host ::ng-deep .modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}:host ::ng-deep .modal-fullscreen-xl-down .modal-header,:host ::ng-deep .modal-fullscreen-xl-down .modal-footer{border-radius:0}:host ::ng-deep .modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media(max-width:1399.98px){:host ::ng-deep .modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}:host ::ng-deep .modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}:host ::ng-deep .modal-fullscreen-xxl-down .modal-header,:host ::ng-deep .modal-fullscreen-xxl-down .modal-footer{border-radius:0}:host ::ng-deep .modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}\n"] }]
22
+ }] });
28
23
 
29
24
  const PORTAL_FACTORY = new InjectionToken('ModalPortalFactory');
30
25
 
@@ -35,21 +30,15 @@ class BsModalHostComponent {
35
30
  this.portalFactory = inject(PORTAL_FACTORY);
36
31
  this.componentFactoryResolver = inject(ComponentFactoryResolver);
37
32
  //#region isOpen
38
- this._isOpen = false;
39
- this.isOpenChange = new EventEmitter();
33
+ this.isOpen = model(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : []));
40
34
  //#endregion
41
- this.closeOnEscape = true;
42
- }
43
- get isOpen() {
44
- return this._isOpen;
45
- }
46
- set isOpen(value) {
47
- this._isOpen = value;
48
- if (this.componentInstance) {
49
- this.componentInstance.instance.isOpen = value;
50
- this.componentInstance.changeDetectorRef.detectChanges();
51
- }
52
- this.isOpenChange.emit(value);
35
+ this.closeOnEscape = input(true, ...(ngDevMode ? [{ debugName: "closeOnEscape" }] : []));
36
+ effect(() => {
37
+ const value = this.isOpen();
38
+ if (this.componentInstance) {
39
+ this.componentInstance.instance.isOpen.set(value);
40
+ }
41
+ });
53
42
  }
54
43
  ngAfterViewInit() {
55
44
  const injector = Injector.create({
@@ -68,35 +57,37 @@ class BsModalHostComponent {
68
57
  hasBackdrop: false
69
58
  });
70
59
  this.componentInstance = this.overlayRef.attach(portal);
71
- this.componentInstance.instance.isOpen = this._isOpen;
72
- this.componentInstance.changeDetectorRef.detectChanges();
60
+ this.componentInstance.instance.isOpen.set(this.isOpen());
73
61
  }
74
62
  ngOnDestroy() {
75
- this.isOpen = false;
63
+ this.isOpen.set(false);
76
64
  setTimeout(() => this.overlayRef && this.overlayRef.dispose(), 500);
77
65
  }
78
66
  onKeyDown(event) {
79
67
  const ev = event;
80
- if (this.isOpen && this.closeOnEscape && ev.code === 'Escape') {
81
- this.isOpen = false;
68
+ if (this.isOpen() && this.closeOnEscape() && ev.code === 'Escape') {
69
+ this.isOpen.set(false);
82
70
  }
83
71
  }
84
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BsModalHostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
85
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.6", type: BsModalHostComponent, isStandalone: false, selector: "bs-modal", inputs: { isOpen: "isOpen", closeOnEscape: "closeOnEscape" }, outputs: { isOpenChange: "isOpenChange" }, host: { listeners: { "document:keydown": "onKeyDown($event)" } }, ngImport: i0, template: "<bs-has-overlay></bs-has-overlay>", styles: [""], dependencies: [{ kind: "component", type: i1$1.BsHasOverlayComponent, selector: "bs-has-overlay" }] }); }
72
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsModalHostComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
73
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.6", type: BsModalHostComponent, isStandalone: true, selector: "bs-modal", inputs: { isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, closeOnEscape: { classPropertyName: "closeOnEscape", publicName: "closeOnEscape", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpen: "isOpenChange" }, host: { listeners: { "document:keydown": "onKeyDown($event)" } }, providers: [{
74
+ provide: PORTAL_FACTORY,
75
+ useValue: (injector) => {
76
+ return new ComponentPortal(BsModalComponent, null, injector);
77
+ }
78
+ }], ngImport: i0, template: "<bs-has-overlay></bs-has-overlay>", styles: [""], dependencies: [{ kind: "component", type: BsHasOverlayComponent, selector: "bs-has-overlay" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
86
79
  }
87
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BsModalHostComponent, decorators: [{
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsModalHostComponent, decorators: [{
88
81
  type: Component,
89
- args: [{ selector: 'bs-modal', standalone: false, template: "<bs-has-overlay></bs-has-overlay>" }]
90
- }], propDecorators: { isOpen: [{
91
- type: Input
92
- }], isOpenChange: [{
93
- type: Output
94
- }], closeOnEscape: [{
95
- type: Input
96
- }], onKeyDown: [{
97
- type: HostListener,
98
- args: ['document:keydown', ['$event']]
99
- }] } });
82
+ args: [{ selector: 'bs-modal', imports: [BsHasOverlayComponent], changeDetection: ChangeDetectionStrategy.OnPush, providers: [{
83
+ provide: PORTAL_FACTORY,
84
+ useValue: (injector) => {
85
+ return new ComponentPortal(BsModalComponent, null, injector);
86
+ }
87
+ }], host: {
88
+ '(document:keydown)': 'onKeyDown($event)',
89
+ }, template: "<bs-has-overlay></bs-has-overlay>" }]
90
+ }], ctorParameters: () => [], propDecorators: { isOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "isOpen", required: false }] }, { type: i0.Output, args: ["isOpenChange"] }], closeOnEscape: [{ type: i0.Input, args: [{ isSignal: true, alias: "closeOnEscape", required: false }] }] } });
100
91
 
101
92
  class BsModalDirective {
102
93
  constructor() {
@@ -104,153 +95,76 @@ class BsModalDirective {
104
95
  const host = inject(BsModalHostComponent);
105
96
  host.template = template;
106
97
  }
107
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BsModalDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
108
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.6", type: BsModalDirective, isStandalone: false, selector: "[bsModal]", ngImport: i0 }); }
98
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsModalDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
99
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.6", type: BsModalDirective, isStandalone: true, selector: "[bsModal]", ngImport: i0 }); }
109
100
  }
110
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BsModalDirective, decorators: [{
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsModalDirective, decorators: [{
111
102
  type: Directive,
112
103
  args: [{
113
104
  selector: '[bsModal]',
114
- standalone: false,
115
105
  }]
116
106
  }], ctorParameters: () => [] });
117
107
 
118
108
  class BsModalHeaderDirective {
119
- constructor() {
120
- this.headerClass = true;
121
- }
122
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BsModalHeaderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
123
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.6", type: BsModalHeaderDirective, isStandalone: false, selector: "[bsModalHeader]", host: { properties: { "class.modal-header": "this.headerClass" } }, ngImport: i0 }); }
109
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsModalHeaderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
110
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.6", type: BsModalHeaderDirective, isStandalone: true, selector: "[bsModalHeader]", host: { properties: { "class.modal-header": "true" } }, ngImport: i0 }); }
124
111
  }
125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BsModalHeaderDirective, decorators: [{
112
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsModalHeaderDirective, decorators: [{
126
113
  type: Directive,
127
114
  args: [{
128
115
  selector: '[bsModalHeader]',
129
- standalone: false,
116
+ host: {
117
+ '[class.modal-header]': 'true',
118
+ },
130
119
  }]
131
- }], propDecorators: { headerClass: [{
132
- type: HostBinding,
133
- args: ['class.modal-header']
134
- }] } });
120
+ }] });
135
121
 
136
122
  class BsModalBodyDirective {
137
- constructor() {
138
- this.bodyClass = true;
139
- }
140
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BsModalBodyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
141
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.6", type: BsModalBodyDirective, isStandalone: false, selector: "[bsModalBody]", host: { properties: { "class.modal-body": "this.bodyClass" } }, ngImport: i0 }); }
123
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsModalBodyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
124
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.6", type: BsModalBodyDirective, isStandalone: true, selector: "[bsModalBody]", host: { properties: { "class.modal-body": "true" } }, ngImport: i0 }); }
142
125
  }
143
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BsModalBodyDirective, decorators: [{
126
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsModalBodyDirective, decorators: [{
144
127
  type: Directive,
145
128
  args: [{
146
129
  selector: '[bsModalBody]',
147
- standalone: false,
130
+ host: {
131
+ '[class.modal-body]': 'true',
132
+ },
148
133
  }]
149
- }], propDecorators: { bodyClass: [{
150
- type: HostBinding,
151
- args: ['class.modal-body']
152
- }] } });
134
+ }] });
153
135
 
154
136
  class BsModalFooterDirective {
155
- constructor() {
156
- this.footerClass = true;
157
- }
158
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BsModalFooterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
159
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.6", type: BsModalFooterDirective, isStandalone: false, selector: "[bsModalFooter]", host: { properties: { "class.modal-footer": "this.footerClass" } }, ngImport: i0 }); }
137
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsModalFooterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
138
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.6", type: BsModalFooterDirective, isStandalone: true, selector: "[bsModalFooter]", host: { properties: { "class.modal-footer": "true" } }, ngImport: i0 }); }
160
139
  }
161
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BsModalFooterDirective, decorators: [{
140
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsModalFooterDirective, decorators: [{
162
141
  type: Directive,
163
142
  args: [{
164
143
  selector: '[bsModalFooter]',
165
- standalone: false,
144
+ host: {
145
+ '[class.modal-footer]': 'true',
146
+ },
166
147
  }]
167
- }], propDecorators: { footerClass: [{
168
- type: HostBinding,
169
- args: ['class.modal-footer']
170
- }] } });
148
+ }] });
171
149
 
172
150
  class BsModalCloseDirective {
173
151
  constructor() {
174
152
  this.host = inject(BsModalHostComponent);
175
- this.ariaLabel = 'Close';
176
153
  }
177
154
  onClick() {
178
- this.host.isOpen = false;
155
+ this.host.isOpen.set(false);
179
156
  }
180
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BsModalCloseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
181
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.6", type: BsModalCloseDirective, isStandalone: false, selector: "[bsModalClose]", host: { listeners: { "click": "onClick()" }, properties: { "attr.aria-label": "this.ariaLabel" } }, ngImport: i0 }); }
157
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsModalCloseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
158
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.6", type: BsModalCloseDirective, isStandalone: true, selector: "[bsModalClose]", host: { listeners: { "click": "onClick()" }, properties: { "attr.aria-label": "\"Close\"" } }, ngImport: i0 }); }
182
159
  }
183
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BsModalCloseDirective, decorators: [{
160
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.6", ngImport: i0, type: BsModalCloseDirective, decorators: [{
184
161
  type: Directive,
185
162
  args: [{
186
163
  selector: '[bsModalClose]',
187
- standalone: false,
188
- }]
189
- }], propDecorators: { ariaLabel: [{
190
- type: HostBinding,
191
- args: ['attr.aria-label']
192
- }], onClick: [{
193
- type: HostListener,
194
- args: ['click']
195
- }] } });
196
-
197
- class BsModalModule {
198
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BsModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
199
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.0.6", ngImport: i0, type: BsModalModule, declarations: [BsModalHeaderDirective,
200
- BsModalBodyDirective,
201
- BsModalFooterDirective,
202
- BsModalDirective,
203
- BsModalCloseDirective,
204
- BsModalComponent,
205
- BsModalHostComponent], imports: [NgTemplateOutlet,
206
- OverlayModule,
207
- BsHasOverlayComponent], exports: [BsModalHeaderDirective,
208
- BsModalBodyDirective,
209
- BsModalFooterDirective,
210
- BsModalDirective,
211
- BsModalCloseDirective,
212
- BsModalComponent,
213
- BsModalHostComponent] }); }
214
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BsModalModule, providers: [{
215
- provide: PORTAL_FACTORY,
216
- useValue: (injector) => {
217
- return new ComponentPortal(BsModalComponent, null, injector);
218
- }
219
- }], imports: [OverlayModule,
220
- BsHasOverlayComponent] }); }
221
- }
222
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BsModalModule, decorators: [{
223
- type: NgModule,
224
- args: [{
225
- declarations: [
226
- BsModalHeaderDirective,
227
- BsModalBodyDirective,
228
- BsModalFooterDirective,
229
- BsModalDirective,
230
- BsModalCloseDirective,
231
- BsModalComponent,
232
- BsModalHostComponent
233
- ],
234
- imports: [
235
- NgTemplateOutlet,
236
- OverlayModule,
237
- BsHasOverlayComponent
238
- ],
239
- exports: [
240
- BsModalHeaderDirective,
241
- BsModalBodyDirective,
242
- BsModalFooterDirective,
243
- BsModalDirective,
244
- BsModalCloseDirective,
245
- BsModalComponent,
246
- BsModalHostComponent
247
- ],
248
- providers: [{
249
- provide: PORTAL_FACTORY,
250
- useValue: (injector) => {
251
- return new ComponentPortal(BsModalComponent, null, injector);
252
- }
253
- }]
164
+ host: {
165
+ '[attr.aria-label]': '"Close"',
166
+ '(click)': 'onClick()',
167
+ },
254
168
  }]
255
169
  }] });
256
170
 
@@ -258,5 +172,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImpor
258
172
  * Generated bundle index. Do not edit.
259
173
  */
260
174
 
261
- export { BsModalBodyDirective, BsModalCloseDirective, BsModalComponent, BsModalDirective, BsModalFooterDirective, BsModalHeaderDirective, BsModalHostComponent, BsModalModule };
175
+ export { BsModalBodyDirective, BsModalCloseDirective, BsModalComponent, BsModalDirective, BsModalFooterDirective, BsModalHeaderDirective, BsModalHostComponent };
262
176
  //# sourceMappingURL=mintplayer-ng-bootstrap-modal.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"mintplayer-ng-bootstrap-modal.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/modal/src/providers/modal-content.provider.ts","../../../../libs/mintplayer-ng-bootstrap/modal/src/components/modal/modal.component.ts","../../../../libs/mintplayer-ng-bootstrap/modal/src/components/modal/modal.component.html","../../../../libs/mintplayer-ng-bootstrap/modal/src/providers/portal-factory.provider.ts","../../../../libs/mintplayer-ng-bootstrap/modal/src/components/modal-host/modal-host.component.ts","../../../../libs/mintplayer-ng-bootstrap/modal/src/components/modal-host/modal-host.component.html","../../../../libs/mintplayer-ng-bootstrap/modal/src/directives/modal/modal.directive.ts","../../../../libs/mintplayer-ng-bootstrap/modal/src/directives/modal-header/modal-header.directive.ts","../../../../libs/mintplayer-ng-bootstrap/modal/src/directives/modal-body/modal-body.directive.ts","../../../../libs/mintplayer-ng-bootstrap/modal/src/directives/modal-footer/modal-footer.directive.ts","../../../../libs/mintplayer-ng-bootstrap/modal/src/directives/modal-close/modal-close.directive.ts","../../../../libs/mintplayer-ng-bootstrap/modal/src/modal.module.ts","../../../../libs/mintplayer-ng-bootstrap/modal/mintplayer-ng-bootstrap-modal.ts"],"sourcesContent":["import { InjectionToken, TemplateRef } from \"@angular/core\";\n\nexport const MODAL_CONTENT = new InjectionToken<TemplateRef<any>>('ModalContent');","import { Component, Inject, TemplateRef } from '@angular/core';\nimport { EnterFromTopAnimation, FadeInOutAnimation } from '@mintplayer/ng-animations';\nimport { MODAL_CONTENT } from '../../providers/modal-content.provider';\n\n@Component({\n selector: 'bs-modal-content',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss'],\n standalone: false,\n animations: [FadeInOutAnimation, EnterFromTopAnimation],\n})\nexport class BsModalComponent {\n\n constructor(@Inject(MODAL_CONTENT) template: TemplateRef<any>) {\n this.template = template;\n }\n\n isOpen = false;\n template: TemplateRef<any>;\n\n}\n","@if (isOpen) {\n <div class=\"modal d-block\"\n [@fadeInOut]\n [@enterFromTop]\n role=\"dialog\"\n aria-modal=\"true\"\n tabindex=\"-1\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n </div>\n </div>\n </div>\n\n <div [@fadeInOut]>\n <div class=\"modal-backdrop fade\" [class.show]=\"isOpen\" aria-hidden=\"true\"></div>\n </div>\n}","import { ComponentPortal } from \"@angular/cdk/portal\";\nimport { InjectionToken, Injector } from \"@angular/core\";\n\nexport const PORTAL_FACTORY = new InjectionToken<(injector: Injector) => ComponentPortal<any>>('ModalPortalFactory');","import { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { AfterViewInit, Component, ComponentFactoryResolver, ComponentRef, EventEmitter, HostListener, inject, Injector, Input, OnDestroy, Output, TemplateRef } from '@angular/core';\nimport { MODAL_CONTENT } from '../../providers/modal-content.provider';\nimport { PORTAL_FACTORY } from '../../providers/portal-factory.provider';\nimport { BsModalComponent } from '../modal/modal.component';\n\n@Component({\n selector: 'bs-modal',\n templateUrl: './modal-host.component.html',\n styleUrls: ['./modal-host.component.scss'],\n standalone: false,\n})\nexport class BsModalHostComponent implements AfterViewInit, OnDestroy {\n private overlay = inject(Overlay);\n private parentInjector = inject(Injector);\n private portalFactory = inject<(injector: Injector) => ComponentPortal<BsModalComponent>>(PORTAL_FACTORY);\n private componentFactoryResolver = inject(ComponentFactoryResolver);\n\n overlayRef!: OverlayRef;\n componentInstance?: ComponentRef<BsModalComponent>;\n template!: TemplateRef<any>;\n\n //#region isOpen\n private _isOpen = false;\n get isOpen() {\n return this._isOpen;\n }\n @Input() set isOpen(value: boolean) {\n this._isOpen = value;\n if (this.componentInstance) {\n this.componentInstance.instance.isOpen = value;\n this.componentInstance.changeDetectorRef.detectChanges();\n }\n this.isOpenChange.emit(value);\n }\n @Output() isOpenChange = new EventEmitter<boolean>();\n //#endregion\n @Input() closeOnEscape = true;\n\n ngAfterViewInit() {\n const injector = Injector.create({\n providers: [\n { provide: MODAL_CONTENT, useValue: this.template }\n ],\n parent: this.parentInjector\n });\n // const portal = new ComponentPortal(BsModalComponent, null, injector, this.componentFactoryResolver);\n const portal = this.portalFactory(injector);\n this.overlayRef = this.overlay.create({\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n positionStrategy: this.overlay.position()\n .global().centerHorizontally().bottom('0').top('0').left('0').right('0'),\n width: '100%',\n hasBackdrop: false\n });\n this.componentInstance = this.overlayRef.attach<BsModalComponent>(portal);\n this.componentInstance.instance.isOpen = this._isOpen;\n this.componentInstance.changeDetectorRef.detectChanges();\n }\n\n ngOnDestroy() {\n this.isOpen = false;\n setTimeout(() => this.overlayRef && this.overlayRef.dispose(), 500);\n }\n \n @HostListener('document:keydown', ['$event'])\n onKeyDown(event: Event) {\n const ev = event as KeyboardEvent;\n if (this.isOpen && this.closeOnEscape && ev.code === 'Escape') {\n this.isOpen = false;\n }\n }\n}","<bs-has-overlay></bs-has-overlay>","import { Directive, inject, TemplateRef } from '@angular/core';\nimport { BsModalHostComponent } from '../../components/modal-host/modal-host.component';\n\n@Directive({\n selector: '[bsModal]',\n standalone: false,\n})\nexport class BsModalDirective {\n\n constructor() {\n const template = inject(TemplateRef);\n const host = inject(BsModalHostComponent);\n host.template = template;\n }\n\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[bsModalHeader]',\n standalone: false,\n})\nexport class BsModalHeaderDirective {\n @HostBinding('class.modal-header') headerClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[bsModalBody]',\n standalone: false,\n})\nexport class BsModalBodyDirective {\n @HostBinding('class.modal-body') bodyClass = true;\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '[bsModalFooter]',\n standalone: false,\n})\nexport class BsModalFooterDirective {\n @HostBinding('class.modal-footer') footerClass = true;\n}\n","import { Directive, HostBinding, HostListener, inject } from '@angular/core';\nimport { BsModalHostComponent } from '../../components/modal-host/modal-host.component';\n\n@Directive({\n selector: '[bsModalClose]',\n standalone: false,\n})\nexport class BsModalCloseDirective {\n private host = inject(BsModalHostComponent);\n\n @HostBinding('attr.aria-label') ariaLabel = 'Close';\n\n @HostListener('click') onClick() {\n this.host.isOpen = false;\n }\n}\n","import { Injector, NgModule } from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { BsHasOverlayComponent } from '@mintplayer/ng-bootstrap/has-overlay';\nimport { BsModalComponent } from './components/modal/modal.component';\nimport { BsModalHostComponent } from './components/modal-host/modal-host.component';\nimport { BsModalHeaderDirective } from './directives/modal-header/modal-header.directive';\nimport { BsModalBodyDirective } from './directives/modal-body/modal-body.directive';\nimport { BsModalFooterDirective } from './directives/modal-footer/modal-footer.directive';\nimport { BsModalDirective } from './directives/modal/modal.directive';\nimport { BsModalCloseDirective } from './directives/modal-close/modal-close.directive';\nimport { PORTAL_FACTORY } from './providers/portal-factory.provider';\n\n@NgModule({\n declarations: [\n BsModalHeaderDirective,\n BsModalBodyDirective,\n BsModalFooterDirective,\n BsModalDirective,\n BsModalCloseDirective,\n BsModalComponent,\n BsModalHostComponent\n ],\n imports: [\n NgTemplateOutlet,\n OverlayModule,\n BsHasOverlayComponent\n ],\n exports: [\n BsModalHeaderDirective,\n BsModalBodyDirective,\n BsModalFooterDirective,\n BsModalDirective,\n BsModalCloseDirective,\n BsModalComponent,\n BsModalHostComponent\n ],\n providers: [{\n provide: PORTAL_FACTORY,\n useValue: (injector: Injector) => {\n return new ComponentPortal(BsModalComponent, null, injector);\n }\n }]\n})\nexport class BsModalModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":";;;;;;;;;;AAEO,MAAM,aAAa,GAAG,IAAI,cAAc,CAAmB,cAAc,CAAC;;MCSpE,gBAAgB,CAAA;AAE3B,IAAA,WAAA,CAAmC,QAA0B,EAAA;QAI7D,IAAA,CAAA,MAAM,GAAG,KAAK;AAHZ,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;IAC1B;AAJW,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,kBAEP,aAAa,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAFtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,gBAAgB,6ECX7B,ygBAiBC,EAAA,MAAA,EAAA,CAAA,4pOAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EDRa,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,EAAA,CAAA,CAAA;;2FAE5C,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAP5B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,cAGhB,KAAK,EAAA,UAAA,EACL,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,EAAA,QAAA,EAAA,ygBAAA,EAAA,MAAA,EAAA,CAAA,4pOAAA,CAAA,EAAA;;0BAI1C,MAAM;2BAAC,aAAa;;;AEV5B,MAAM,cAAc,GAAG,IAAI,cAAc,CAA+C,oBAAoB,CAAC;;MCUvG,oBAAoB,CAAA;AANjC,IAAA,WAAA,GAAA;AAOU,QAAA,IAAA,CAAA,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;AACzB,QAAA,IAAA,CAAA,cAAc,GAAG,MAAM,CAAC,QAAQ,CAAC;AACjC,QAAA,IAAA,CAAA,aAAa,GAAG,MAAM,CAA4D,cAAc,CAAC;AACjG,QAAA,IAAA,CAAA,wBAAwB,GAAG,MAAM,CAAC,wBAAwB,CAAC;;QAO3D,IAAA,CAAA,OAAO,GAAG,KAAK;AAYb,QAAA,IAAA,CAAA,YAAY,GAAG,IAAI,YAAY,EAAW;;QAE3C,IAAA,CAAA,aAAa,GAAG,IAAI;AAmC9B,IAAA;AAhDC,IAAA,IAAI,MAAM,GAAA;QACR,OAAO,IAAI,CAAC,OAAO;IACrB;IACA,IAAa,MAAM,CAAC,KAAc,EAAA;AAChC,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;AACpB,QAAA,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAC1B,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,GAAG,KAAK;AAC9C,YAAA,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,aAAa,EAAE;QAC1D;AACA,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;IAC/B;IAKA,eAAe,GAAA;AACb,QAAA,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;AAC/B,YAAA,SAAS,EAAE;gBACT,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ;AAClD,aAAA;YACD,MAAM,EAAE,IAAI,CAAC;AACd,SAAA,CAAC;;QAEF,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YACpC,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,UAAU,EAAE;AAC1D,YAAA,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;iBACpC,MAAM,EAAE,CAAC,kBAAkB,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;AAC1E,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,WAAW,EAAE;AACd,SAAA,CAAC;QACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAmB,MAAM,CAAC;QACzE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO;AACrD,QAAA,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,aAAa,EAAE;IAC1D;IAEA,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK;AACnB,QAAA,UAAU,CAAC,MAAM,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC;IACrE;AAGA,IAAA,SAAS,CAAC,KAAY,EAAA;QACpB,MAAM,EAAE,GAAG,KAAsB;AACjC,QAAA,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,IAAI,KAAK,QAAQ,EAAE;AAC7D,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK;QACrB;IACF;8GA3DW,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,gPCbjC,mCAAiC,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,qBAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FDapB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBANhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,UAAU,cAGR,KAAK,EAAA,QAAA,EAAA,mCAAA,EAAA;;sBAiBhB;;sBAQA;;sBAEA;;sBA4BA,YAAY;uBAAC,kBAAkB,EAAE,CAAC,QAAQ,CAAC;;;ME3DjC,gBAAgB,CAAA;AAE3B,IAAA,WAAA,GAAA;AACE,QAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC;AACpC,QAAA,MAAM,IAAI,GAAG,MAAM,CAAC,oBAAoB,CAAC;AACzC,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ;IAC1B;8GANW,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAhB,gBAAgB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,WAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;;MCAY,sBAAsB,CAAA;AAJnC,IAAA,WAAA,GAAA;QAKqC,IAAA,CAAA,WAAW,GAAG,IAAI;AACtD,IAAA;8GAFY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oBAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;sBAEE,WAAW;uBAAC,oBAAoB;;;MCDtB,oBAAoB,CAAA;AAJjC,IAAA,WAAA,GAAA;QAKmC,IAAA,CAAA,SAAS,GAAG,IAAI;AAClD,IAAA;8GAFY,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAApB,oBAAoB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,eAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAJhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;sBAEE,WAAW;uBAAC,kBAAkB;;;MCDpB,sBAAsB,CAAA;AAJnC,IAAA,WAAA,GAAA;QAKqC,IAAA,CAAA,WAAW,GAAG,IAAI;AACtD,IAAA;8GAFY,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAtB,sBAAsB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oBAAA,EAAA,kBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;sBAEE,WAAW;uBAAC,oBAAoB;;;MCAtB,qBAAqB,CAAA;AAJlC,IAAA,WAAA,GAAA;AAKU,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,oBAAoB,CAAC;QAEX,IAAA,CAAA,SAAS,GAAG,OAAO;AAKpD,IAAA;IAHwB,OAAO,GAAA;AAC5B,QAAA,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK;IAC1B;8GAPW,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAArB,qBAAqB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,WAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAArB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAJjC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,gBAAgB;AAC1B,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;sBAIE,WAAW;uBAAC,iBAAiB;;sBAE7B,YAAY;uBAAC,OAAO;;;MCiCV,aAAa,CAAA;8GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,iBA7BtB,sBAAsB;YACtB,oBAAoB;YACpB,sBAAsB;YACtB,gBAAgB;YAChB,qBAAqB;YACrB,gBAAgB;AAChB,YAAA,oBAAoB,aAGpB,gBAAgB;YAChB,aAAa;AACb,YAAA,qBAAqB,aAGrB,sBAAsB;YACtB,oBAAoB;YACpB,sBAAsB;YACtB,gBAAgB;YAChB,qBAAqB;YACrB,gBAAgB;YAChB,oBAAoB,CAAA,EAAA,CAAA,CAAA;AASX,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,aAPb,CAAC;AACV,gBAAA,OAAO,EAAE,cAAc;AACvB,gBAAA,QAAQ,EAAE,CAAC,QAAkB,KAAI;oBAC/B,OAAO,IAAI,eAAe,CAAC,gBAAgB,EAAE,IAAI,EAAE,QAAQ,CAAC;gBAC9D;AACD,aAAA,CAAC,YAjBA,aAAa;YACb,qBAAqB,CAAA,EAAA,CAAA,CAAA;;2FAkBZ,aAAa,EAAA,UAAA,EAAA,CAAA;kBA/BzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,sBAAsB;wBACtB,oBAAoB;wBACpB,sBAAsB;wBACtB,gBAAgB;wBAChB,qBAAqB;wBACrB,gBAAgB;wBAChB;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,gBAAgB;wBAChB,aAAa;wBACb;AACD,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,sBAAsB;wBACtB,oBAAoB;wBACpB,sBAAsB;wBACtB,gBAAgB;wBAChB,qBAAqB;wBACrB,gBAAgB;wBAChB;AACD,qBAAA;AACD,oBAAA,SAAS,EAAE,CAAC;AACV,4BAAA,OAAO,EAAE,cAAc;AACvB,4BAAA,QAAQ,EAAE,CAAC,QAAkB,KAAI;gCAC/B,OAAO,IAAI,eAAe,CAAC,gBAAgB,EAAE,IAAI,EAAE,QAAQ,CAAC;4BAC9D;yBACD;AACF,iBAAA;;;AC5CD;;AAEG;;;;"}
1
+ {"version":3,"file":"mintplayer-ng-bootstrap-modal.mjs","sources":["../../../../libs/mintplayer-ng-bootstrap/modal/src/providers/modal-content.provider.ts","../../../../libs/mintplayer-ng-bootstrap/modal/src/components/modal/modal.component.ts","../../../../libs/mintplayer-ng-bootstrap/modal/src/components/modal/modal.component.html","../../../../libs/mintplayer-ng-bootstrap/modal/src/providers/portal-factory.provider.ts","../../../../libs/mintplayer-ng-bootstrap/modal/src/components/modal-host/modal-host.component.ts","../../../../libs/mintplayer-ng-bootstrap/modal/src/components/modal-host/modal-host.component.html","../../../../libs/mintplayer-ng-bootstrap/modal/src/directives/modal/modal.directive.ts","../../../../libs/mintplayer-ng-bootstrap/modal/src/directives/modal-header/modal-header.directive.ts","../../../../libs/mintplayer-ng-bootstrap/modal/src/directives/modal-body/modal-body.directive.ts","../../../../libs/mintplayer-ng-bootstrap/modal/src/directives/modal-footer/modal-footer.directive.ts","../../../../libs/mintplayer-ng-bootstrap/modal/src/directives/modal-close/modal-close.directive.ts","../../../../libs/mintplayer-ng-bootstrap/modal/mintplayer-ng-bootstrap-modal.ts"],"sourcesContent":["import { InjectionToken, TemplateRef } from \"@angular/core\";\n\nexport const MODAL_CONTENT = new InjectionToken<TemplateRef<any>>('ModalContent');","import { Component, inject, signal, TemplateRef, ChangeDetectionStrategy} from '@angular/core';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { EnterFromTopAnimation, FadeInOutAnimation } from '@mintplayer/ng-animations';\nimport { MODAL_CONTENT } from '../../providers/modal-content.provider';\n\n@Component({\n selector: 'bs-modal-content',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss'],\n imports: [NgTemplateOutlet],\n animations: [FadeInOutAnimation, EnterFromTopAnimation],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class BsModalComponent {\n\n template = inject<TemplateRef<any>>(MODAL_CONTENT);\n isOpen = signal(false);\n\n}\n","@if (isOpen()) {\n <div class=\"modal d-block\"\n [@fadeInOut]\n [@enterFromTop]\n role=\"dialog\"\n aria-modal=\"true\"\n tabindex=\"-1\">\n <div class=\"modal-dialog\">\n <div class=\"modal-content\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n </div>\n </div>\n </div>\n\n <div [@fadeInOut]>\n <div class=\"modal-backdrop fade\" [class.show]=\"isOpen()\" aria-hidden=\"true\"></div>\n </div>\n}","import { ComponentPortal } from \"@angular/cdk/portal\";\nimport { InjectionToken, Injector } from \"@angular/core\";\n\nexport const PORTAL_FACTORY = new InjectionToken<(injector: Injector) => ComponentPortal<any>>('ModalPortalFactory');","import { Overlay, OverlayRef } from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport { AfterViewInit, Component, ComponentFactoryResolver, ComponentRef, effect, inject, Injector, input, model, OnDestroy, TemplateRef, ChangeDetectionStrategy} from '@angular/core';\nimport { BsHasOverlayComponent } from '@mintplayer/ng-bootstrap/has-overlay';\nimport { MODAL_CONTENT } from '../../providers/modal-content.provider';\nimport { PORTAL_FACTORY } from '../../providers/portal-factory.provider';\nimport { BsModalComponent } from '../modal/modal.component';\n\n@Component({\n selector: 'bs-modal',\n templateUrl: './modal-host.component.html',\n styleUrls: ['./modal-host.component.scss'],\n imports: [BsHasOverlayComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{\n provide: PORTAL_FACTORY,\n useValue: (injector: Injector) => {\n return new ComponentPortal(BsModalComponent, null, injector);\n }\n }],\n host: {\n '(document:keydown)': 'onKeyDown($event)',\n },\n})\nexport class BsModalHostComponent implements AfterViewInit, OnDestroy {\n private overlay = inject(Overlay);\n private parentInjector = inject(Injector);\n private portalFactory = inject<(injector: Injector) => ComponentPortal<BsModalComponent>>(PORTAL_FACTORY);\n private componentFactoryResolver = inject(ComponentFactoryResolver);\n\n overlayRef!: OverlayRef;\n componentInstance?: ComponentRef<BsModalComponent>;\n template!: TemplateRef<any>;\n\n //#region isOpen\n readonly isOpen = model<boolean>(false);\n //#endregion\n readonly closeOnEscape = input(true);\n\n constructor() {\n effect(() => {\n const value = this.isOpen();\n if (this.componentInstance) {\n this.componentInstance.instance.isOpen.set(value);\n }\n });\n }\n\n ngAfterViewInit() {\n const injector = Injector.create({\n providers: [\n { provide: MODAL_CONTENT, useValue: this.template }\n ],\n parent: this.parentInjector\n });\n // const portal = new ComponentPortal(BsModalComponent, null, injector, this.componentFactoryResolver);\n const portal = this.portalFactory(injector);\n this.overlayRef = this.overlay.create({\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n positionStrategy: this.overlay.position()\n .global().centerHorizontally().bottom('0').top('0').left('0').right('0'),\n width: '100%',\n hasBackdrop: false\n });\n this.componentInstance = this.overlayRef.attach<BsModalComponent>(portal);\n this.componentInstance.instance.isOpen.set(this.isOpen());\n }\n\n ngOnDestroy() {\n this.isOpen.set(false);\n setTimeout(() => this.overlayRef && this.overlayRef.dispose(), 500);\n }\n\n onKeyDown(event: Event) {\n const ev = event as KeyboardEvent;\n if (this.isOpen() && this.closeOnEscape() && ev.code === 'Escape') {\n this.isOpen.set(false);\n }\n }\n}","<bs-has-overlay></bs-has-overlay>","import { Directive, inject, TemplateRef } from '@angular/core';\nimport { BsModalHostComponent } from '../../components/modal-host/modal-host.component';\n\n@Directive({\n selector: '[bsModal]',\n})\nexport class BsModalDirective {\n\n constructor() {\n const template = inject(TemplateRef);\n const host = inject(BsModalHostComponent);\n host.template = template;\n }\n\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[bsModalHeader]',\n host: {\n '[class.modal-header]': 'true',\n },\n})\nexport class BsModalHeaderDirective {\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[bsModalBody]',\n host: {\n '[class.modal-body]': 'true',\n },\n})\nexport class BsModalBodyDirective {\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[bsModalFooter]',\n host: {\n '[class.modal-footer]': 'true',\n },\n})\nexport class BsModalFooterDirective {\n}\n","import { Directive, inject } from '@angular/core';\nimport { BsModalHostComponent } from '../../components/modal-host/modal-host.component';\n\n@Directive({\n selector: '[bsModalClose]',\n host: {\n '[attr.aria-label]': '\"Close\"',\n '(click)': 'onClick()',\n },\n})\nexport class BsModalCloseDirective {\n private host = inject(BsModalHostComponent);\n\n onClick() {\n this.host.isOpen.set(false);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}