ngx-bootstrap 6.1.0 → 6.2.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 (154) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/accordion/bundles/ngx-bootstrap-accordion.umd.js.map +1 -1
  3. package/accordion/bundles/ngx-bootstrap-accordion.umd.min.js.map +1 -1
  4. package/accordion/fesm2015/ngx-bootstrap-accordion.js.map +1 -1
  5. package/accordion/fesm5/ngx-bootstrap-accordion.js.map +1 -1
  6. package/accordion/package.json +1 -1
  7. package/alert/package.json +1 -1
  8. package/buttons/bundles/ngx-bootstrap-buttons.umd.js.map +1 -1
  9. package/buttons/bundles/ngx-bootstrap-buttons.umd.min.js.map +1 -1
  10. package/buttons/fesm2015/ngx-bootstrap-buttons.js.map +1 -1
  11. package/buttons/fesm5/ngx-bootstrap-buttons.js.map +1 -1
  12. package/buttons/package.json +1 -1
  13. package/carousel/bundles/ngx-bootstrap-carousel.umd.js.map +1 -1
  14. package/carousel/bundles/ngx-bootstrap-carousel.umd.min.js.map +1 -1
  15. package/carousel/fesm2015/ngx-bootstrap-carousel.js.map +1 -1
  16. package/carousel/fesm5/ngx-bootstrap-carousel.js.map +1 -1
  17. package/carousel/package.json +1 -1
  18. package/chronos/bundles/ngx-bootstrap-chronos.umd.js.map +1 -1
  19. package/chronos/bundles/ngx-bootstrap-chronos.umd.min.js.map +1 -1
  20. package/chronos/fesm2015/ngx-bootstrap-chronos.js.map +1 -1
  21. package/chronos/fesm5/ngx-bootstrap-chronos.js.map +1 -1
  22. package/chronos/package.json +1 -1
  23. package/collapse/package.json +1 -1
  24. package/component-loader/package.json +1 -1
  25. package/datepicker/base/bs-datepicker-container.d.ts +4 -1
  26. package/datepicker/bs-datepicker.config.d.ts +16 -0
  27. package/datepicker/bs-datepicker.css +108 -0
  28. package/datepicker/bs-datepicker.css.map +3 -3
  29. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.js +59 -9
  30. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.js.map +1 -1
  31. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.min.js +1 -1
  32. package/datepicker/bundles/ngx-bootstrap-datepicker.umd.min.js.map +1 -1
  33. package/datepicker/esm2015/base/bs-datepicker-container.js +9 -3
  34. package/datepicker/esm2015/bs-datepicker.config.js +37 -1
  35. package/datepicker/esm2015/reducer/bs-datepicker.reducer.js +2 -2
  36. package/datepicker/esm2015/themes/bs/bs-custom-dates-view.component.js +5 -2
  37. package/datepicker/esm2015/themes/bs/bs-datepicker-container.component.js +7 -3
  38. package/datepicker/esm2015/themes/bs/bs-datepicker-inline-container.component.js +2 -2
  39. package/datepicker/esm2015/themes/bs/bs-daterangepicker-container.component.js +3 -2
  40. package/datepicker/esm2015/themes/bs/bs-daterangepicker-inline-container.component.js +2 -2
  41. package/datepicker/esm5/base/bs-datepicker-container.js +9 -3
  42. package/datepicker/esm5/bs-datepicker.config.js +37 -1
  43. package/datepicker/esm5/reducer/bs-datepicker.reducer.js +2 -2
  44. package/datepicker/esm5/themes/bs/bs-custom-dates-view.component.js +5 -2
  45. package/datepicker/esm5/themes/bs/bs-datepicker-container.component.js +7 -3
  46. package/datepicker/esm5/themes/bs/bs-datepicker-inline-container.component.js +2 -2
  47. package/datepicker/esm5/themes/bs/bs-daterangepicker-container.component.js +3 -2
  48. package/datepicker/esm5/themes/bs/bs-daterangepicker-inline-container.component.js +2 -2
  49. package/datepicker/fesm2015/ngx-bootstrap-datepicker.js +59 -9
  50. package/datepicker/fesm2015/ngx-bootstrap-datepicker.js.map +1 -1
  51. package/datepicker/fesm5/ngx-bootstrap-datepicker.js +59 -9
  52. package/datepicker/fesm5/ngx-bootstrap-datepicker.js.map +1 -1
  53. package/datepicker/ngx-bootstrap-datepicker.metadata.json +1 -1
  54. package/datepicker/package.json +1 -1
  55. package/datepicker/themes/bs/bs-custom-dates-view.component.d.ts +1 -0
  56. package/datepicker/utils/scss/mixins.css.map +2 -2
  57. package/datepicker/utils/scss/mixins.scss +98 -0
  58. package/datepicker/utils/scss/variables.css.map +1 -1
  59. package/datepicker/utils/scss/variables.scss +14 -0
  60. package/dropdown/bundles/ngx-bootstrap-dropdown.umd.js.map +1 -1
  61. package/dropdown/bundles/ngx-bootstrap-dropdown.umd.min.js.map +1 -1
  62. package/dropdown/fesm2015/ngx-bootstrap-dropdown.js.map +1 -1
  63. package/dropdown/fesm5/ngx-bootstrap-dropdown.js.map +1 -1
  64. package/dropdown/package.json +1 -1
  65. package/locale/package.json +1 -1
  66. package/mini-ngrx/package.json +1 -1
  67. package/modal/bs-modal-ref.service.d.ts +2 -2
  68. package/modal/bs-modal.service.d.ts +3 -1
  69. package/modal/bundles/ngx-bootstrap-modal.umd.js +19 -8
  70. package/modal/bundles/ngx-bootstrap-modal.umd.js.map +1 -1
  71. package/modal/bundles/ngx-bootstrap-modal.umd.min.js +1 -1
  72. package/modal/bundles/ngx-bootstrap-modal.umd.min.js.map +1 -1
  73. package/modal/esm2015/bs-modal-ref.service.js +5 -1
  74. package/modal/esm2015/bs-modal.service.js +7 -2
  75. package/modal/esm2015/modal-container.component.js +2 -1
  76. package/modal/esm2015/modal-options.class.js +6 -3
  77. package/modal/esm2015/modal.directive.js +2 -2
  78. package/modal/esm2015/models/index.js +3 -1
  79. package/modal/esm2015/ngx-bootstrap-modal.js +3 -3
  80. package/modal/esm2015/public_api.js +2 -2
  81. package/modal/esm5/bs-modal-ref.service.js +4 -1
  82. package/modal/esm5/bs-modal.service.js +8 -4
  83. package/modal/esm5/modal-container.component.js +2 -1
  84. package/modal/esm5/modal-options.class.js +6 -3
  85. package/modal/esm5/modal.directive.js +2 -2
  86. package/modal/esm5/models/index.js +3 -1
  87. package/modal/esm5/ngx-bootstrap-modal.js +3 -3
  88. package/modal/esm5/public_api.js +2 -2
  89. package/modal/fesm2015/ngx-bootstrap-modal.js +18 -5
  90. package/modal/fesm2015/ngx-bootstrap-modal.js.map +1 -1
  91. package/modal/fesm5/ngx-bootstrap-modal.js +18 -7
  92. package/modal/fesm5/ngx-bootstrap-modal.js.map +1 -1
  93. package/modal/modal-options.class.d.ts +2 -2
  94. package/modal/models/index.d.ts +1 -0
  95. package/modal/ngx-bootstrap-modal.d.ts +1 -1
  96. package/modal/ngx-bootstrap-modal.metadata.json +1 -1
  97. package/modal/package.json +1 -1
  98. package/modal/public_api.d.ts +1 -1
  99. package/package.json +2 -2
  100. package/pagination/bundles/ngx-bootstrap-pagination.umd.js.map +1 -1
  101. package/pagination/bundles/ngx-bootstrap-pagination.umd.min.js.map +1 -1
  102. package/pagination/fesm2015/ngx-bootstrap-pagination.js.map +1 -1
  103. package/pagination/fesm5/ngx-bootstrap-pagination.js.map +1 -1
  104. package/pagination/package.json +1 -1
  105. package/popover/bundles/ngx-bootstrap-popover.umd.js.map +1 -1
  106. package/popover/bundles/ngx-bootstrap-popover.umd.min.js.map +1 -1
  107. package/popover/fesm2015/ngx-bootstrap-popover.js.map +1 -1
  108. package/popover/fesm5/ngx-bootstrap-popover.js.map +1 -1
  109. package/popover/package.json +1 -1
  110. package/positioning/package.json +1 -1
  111. package/progressbar/bar.component.d.ts +4 -7
  112. package/progressbar/bundles/ngx-bootstrap-progressbar.umd.js +40 -64
  113. package/progressbar/bundles/ngx-bootstrap-progressbar.umd.js.map +1 -1
  114. package/progressbar/bundles/ngx-bootstrap-progressbar.umd.min.js +1 -1
  115. package/progressbar/bundles/ngx-bootstrap-progressbar.umd.min.js.map +1 -1
  116. package/progressbar/esm2015/bar.component.js +33 -48
  117. package/progressbar/esm2015/progressbar.component.js +5 -8
  118. package/progressbar/esm5/bar.component.js +37 -58
  119. package/progressbar/esm5/progressbar.component.js +5 -8
  120. package/progressbar/fesm2015/ngx-bootstrap-progressbar.js +36 -54
  121. package/progressbar/fesm2015/ngx-bootstrap-progressbar.js.map +1 -1
  122. package/progressbar/fesm5/ngx-bootstrap-progressbar.js +40 -64
  123. package/progressbar/fesm5/ngx-bootstrap-progressbar.js.map +1 -1
  124. package/progressbar/ngx-bootstrap-progressbar.metadata.json +1 -1
  125. package/progressbar/package.json +1 -1
  126. package/progressbar/progressbar.component.d.ts +1 -1
  127. package/rating/package.json +1 -1
  128. package/sortable/package.json +1 -1
  129. package/tabs/package.json +1 -1
  130. package/timepicker/bundles/ngx-bootstrap-timepicker.umd.js +3 -3
  131. package/timepicker/bundles/ngx-bootstrap-timepicker.umd.js.map +1 -1
  132. package/timepicker/bundles/ngx-bootstrap-timepicker.umd.min.js.map +1 -1
  133. package/timepicker/esm2015/timepicker.component.js +2 -2
  134. package/timepicker/esm2015/timepicker.config.js +3 -3
  135. package/timepicker/esm5/timepicker.component.js +2 -2
  136. package/timepicker/esm5/timepicker.config.js +3 -3
  137. package/timepicker/fesm2015/ngx-bootstrap-timepicker.js +3 -3
  138. package/timepicker/fesm2015/ngx-bootstrap-timepicker.js.map +1 -1
  139. package/timepicker/fesm5/ngx-bootstrap-timepicker.js +3 -3
  140. package/timepicker/fesm5/ngx-bootstrap-timepicker.js.map +1 -1
  141. package/timepicker/package.json +1 -1
  142. package/timepicker/timepicker.component.d.ts +1 -1
  143. package/timepicker/timepicker.config.d.ts +1 -1
  144. package/tooltip/bundles/ngx-bootstrap-tooltip.umd.js.map +1 -1
  145. package/tooltip/bundles/ngx-bootstrap-tooltip.umd.min.js.map +1 -1
  146. package/tooltip/fesm2015/ngx-bootstrap-tooltip.js.map +1 -1
  147. package/tooltip/fesm5/ngx-bootstrap-tooltip.js.map +1 -1
  148. package/tooltip/package.json +1 -1
  149. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.js.map +1 -1
  150. package/typeahead/bundles/ngx-bootstrap-typeahead.umd.min.js.map +1 -1
  151. package/typeahead/fesm2015/ngx-bootstrap-typeahead.js.map +1 -1
  152. package/typeahead/fesm5/ngx-bootstrap-typeahead.js.map +1 -1
  153. package/typeahead/package.json +1 -1
  154. package/utils/package.json +1 -1
@@ -8,6 +8,9 @@ import { __values } from 'tslib';
8
8
  * @fileoverview added by tsickle
9
9
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
10
10
  */
11
+ /**
12
+ * @template T
13
+ */
11
14
  var BsModalRef = /** @class */ (function () {
12
15
  function BsModalRef() {
13
16
  /**
@@ -77,6 +80,9 @@ if (false) {
77
80
  * @fileoverview added by tsickle
78
81
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
79
82
  */
83
+ /**
84
+ * @template T
85
+ */
80
86
  var ModalOptions = /** @class */ (function () {
81
87
  function ModalOptions() {
82
88
  }
@@ -147,7 +153,6 @@ if (false) {
147
153
  }
148
154
  /** @type {?} */
149
155
  var modalConfigDefaults = {
150
- id: (new Date()).getUTCMilliseconds(),
151
156
  backdrop: true,
152
157
  keyboard: true,
153
158
  focus: true,
@@ -184,7 +189,8 @@ var TRANSITION_DURATIONS = {
184
189
  /** @type {?} */
185
190
  var DISMISS_REASONS = {
186
191
  BACKRDOP: 'backdrop-click',
187
- ESC: 'esc'
192
+ ESC: 'esc',
193
+ BACK: 'browser-back-navigation-clicked'
188
194
  };
189
195
 
190
196
  /**
@@ -268,6 +274,7 @@ var ModalContainerComponent = /** @class */ (function () {
268
274
  * @return {?}
269
275
  */
270
276
  function () {
277
+ this.bsModalService.setDismissReason(DISMISS_REASONS.BACK);
271
278
  this.hide();
272
279
  };
273
280
  /**
@@ -540,7 +547,7 @@ var ModalDirective = /** @class */ (function () {
540
547
  this.isNested = false;
541
548
  this.clickStartedInContent = false;
542
549
  this._backdrop = clf.createLoader(_element, _viewContainerRef, _renderer);
543
- this._config = modalConfigDefaults || modalConfigDefaults;
550
+ this._config = modalDefaultOption || modalConfigDefaults;
544
551
  }
545
552
  Object.defineProperty(ModalDirective.prototype, "config", {
546
553
  get: /**
@@ -1251,27 +1258,31 @@ var BsModalService = /** @class */ (function () {
1251
1258
  modalConfigDefaults;
1252
1259
  }
1253
1260
  /** Shows a modal */
1254
- // tslint:disable-next-line:no-any
1255
1261
  /**
1256
1262
  * Shows a modal
1263
+ * @template T
1257
1264
  * @param {?} content
1258
1265
  * @param {?=} config
1259
1266
  * @return {?}
1260
1267
  */
1261
- // tslint:disable-next-line:no-any
1262
1268
  BsModalService.prototype.show = /**
1263
1269
  * Shows a modal
1270
+ * @template T
1264
1271
  * @param {?} content
1265
1272
  * @param {?=} config
1266
1273
  * @return {?}
1267
1274
  */
1275
+ function (
1268
1276
  // tslint:disable-next-line:no-any
1269
- function (content, config) {
1277
+ content, config) {
1270
1278
  this.modalsCount++;
1271
1279
  this._createLoaders();
1280
+ /** @type {?} */
1281
+ var id = (config === null || config === void 0 ? void 0 : config.id) || (new Date()).getUTCMilliseconds();
1272
1282
  this.config = this.modalDefaultOption ?
1273
1283
  Object.assign({}, modalConfigDefaults, this.modalDefaultOption, config) :
1274
1284
  Object.assign({}, modalConfigDefaults, config);
1285
+ this.config.id = id;
1275
1286
  this._showBackdrop();
1276
1287
  this.lastDismissReason = null;
1277
1288
  return this._showModal(content);
@@ -1750,5 +1761,5 @@ var ModalModule = /** @class */ (function () {
1750
1761
  * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
1751
1762
  */
1752
1763
 
1753
- export { BsModalRef, BsModalService, ModalBackdropComponent, ModalBackdropOptions, ModalContainerComponent, ModalDirective, ModalModule, ModalOptions, MODAL_CONFIG_DEFAULT_OVERRIDE as ɵa, CLASS_NAME as ɵb };
1764
+ export { BsModalRef, BsModalService, MODAL_CONFIG_DEFAULT_OVERRIDE, ModalBackdropComponent, ModalBackdropOptions, ModalContainerComponent, ModalDirective, ModalModule, ModalOptions, CLASS_NAME as ɵa };
1754
1765
  //# sourceMappingURL=ngx-bootstrap-modal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ngx-bootstrap-modal.js","sources":["ng://ngx-bootstrap/modal/bs-modal-ref.service.ts","ng://ngx-bootstrap/modal/modal-backdrop.options.ts","ng://ngx-bootstrap/modal/modal-options.class.ts","ng://ngx-bootstrap/modal/modal-container.component.ts","ng://ngx-bootstrap/modal/modal-backdrop.component.ts","ng://ngx-bootstrap/modal/modal.directive.ts","ng://ngx-bootstrap/modal/bs-modal.service.ts","ng://ngx-bootstrap/modal/modal.module.ts"],"sourcesContent":["import { Injectable, EventEmitter } from '@angular/core';\n\n@Injectable()\nexport class BsModalRef {\n /**\n * Allow user to ID for the modal. Otherwise, a unique number will be given\n */\n id: number;\n\n /**\n * Reference to a component inside the modal. Null if modal's been created with TemplateRef\n */\n // tslint:disable-next-line:no-any\n content?: any | null;\n\n /**\n * Hides the modal\n */\n hide: () => void = Function;\n /**\n * Sets new class to modal window\n */\n setClass: (newClass: string) => void = Function;\n /**\n * Event that is fired when the modal behind the ref starts hiding\n */\n // tslint:disable-next-line:no-any\n onHide: EventEmitter<any>;\n /**\n * Event that is fired when the modal behind the ref finishes hiding\n */\n // tslint:disable-next-line:no-any\n onHidden: EventEmitter<any>;\n}\n","export class ModalBackdropOptions {\n animate = true;\n\n constructor(options: ModalBackdropOptions) {\n Object.assign(this, options);\n }\n}\n","import { Injectable, StaticProvider, InjectionToken } from '@angular/core';\nimport { ClassName, DismissReasons, Selector, TransitionDurations } from './models';\n\n@Injectable()\nexport class ModalOptions {\n /**\n * Allow user to ID for the modal. Otherwise, a unique number will be given\n */\n id?: number;\n /**\n * Includes a modal-backdrop element. Alternatively,\n * specify static for a backdrop which doesn't close the modal on click.\n */\n backdrop?: boolean | 'static';\n /**\n * Closes the modal when escape key is pressed.\n */\n keyboard?: boolean;\n\n focus?: boolean;\n /**\n * Shows the modal when initialized.\n */\n show?: boolean;\n /**\n * Ignore the backdrop click\n */\n ignoreBackdropClick?: boolean;\n /**\n * Css class for opened modal\n */\n class?: string;\n /**\n * Toggle animation\n */\n animated?: boolean;\n /**\n * Modal data\n */\n initialState?: Object;\n /**\n * Modal providers\n */\n providers?: StaticProvider[];\n /**\n * aria-labelledby attribute value to set on the modal window\n */\n ariaLabelledBy?: string;\n /**\n * aria-describedby attribute value to set on the modal window\n */\n ariaDescribedby?: string;\n}\n\nexport const modalConfigDefaults: ModalOptions = {\n id: (new Date()).getUTCMilliseconds(),\n backdrop: true,\n keyboard: true,\n focus: true,\n show: false,\n ignoreBackdropClick: false,\n class: '',\n animated: true,\n initialState: {}\n};\n\nexport const MODAL_CONFIG_DEFAULT_OVERRIDE: InjectionToken<ModalOptions> =\n new InjectionToken<ModalOptions>('override-default-config');\n\nexport const CLASS_NAME: ClassName = {\n SCROLLBAR_MEASURER: 'modal-scrollbar-measure',\n BACKDROP: 'modal-backdrop',\n OPEN: 'modal-open',\n FADE: 'fade',\n IN: 'in', // bs3\n SHOW: 'show' // bs4\n};\n\nexport const SELECTOR: Selector = {\n DIALOG: '.modal-dialog',\n DATA_TOGGLE: '[data-toggle=\"modal\"]',\n DATA_DISMISS: '[data-dismiss=\"modal\"]',\n FIXED_CONTENT: '.navbar-fixed-top, .navbar-fixed-bottom, .is-fixed'\n};\n\nexport const TRANSITION_DURATIONS: TransitionDurations = {\n MODAL: 300,\n BACKDROP: 150\n};\n\nexport const DISMISS_REASONS: DismissReasons = {\n BACKRDOP: 'backdrop-click',\n ESC: 'esc'\n};\n","import {\n Component,\n ElementRef,\n HostListener,\n OnDestroy,\n OnInit,\n Renderer2\n} from '@angular/core';\nimport {\n CLASS_NAME,\n DISMISS_REASONS,\n ModalOptions,\n TRANSITION_DURATIONS\n} from './modal-options.class';\nimport { BsModalService } from './bs-modal.service';\nimport { isBs3 } from 'ngx-bootstrap/utils';\n\n@Component({\n selector: 'modal-container',\n template: `\n <div [class]=\"'modal-dialog' + (config.class ? ' ' + config.class : '')\" role=\"document\">\n <div class=\"modal-content\">\n <ng-content></ng-content>\n </div>\n </div>\n `,\n host: {\n class: 'modal',\n role: 'dialog',\n tabindex: '-1',\n '[attr.aria-modal]': 'true',\n '[attr.aria-labelledby]': 'config.ariaLabelledBy',\n '[attr.aria-describedby]': 'config.ariaDescribedby'\n }\n})\nexport class ModalContainerComponent implements OnInit, OnDestroy {\n config: ModalOptions;\n isShown = false;\n level: number;\n isAnimated: boolean;\n bsModalService: BsModalService;\n private isModalHiding = false;\n private clickStartedInContent = false;\n\n constructor(options: ModalOptions,\n protected _element: ElementRef,\n private _renderer: Renderer2) {\n this.config = Object.assign({}, options);\n }\n\n ngOnInit(): void {\n if (this.isAnimated) {\n this._renderer.addClass(\n this._element.nativeElement,\n CLASS_NAME.FADE\n );\n }\n this._renderer.setStyle(\n this._element.nativeElement,\n 'display',\n 'block'\n );\n setTimeout(() => {\n this.isShown = true;\n this._renderer.addClass(\n this._element.nativeElement,\n isBs3() ? CLASS_NAME.IN : CLASS_NAME.SHOW\n );\n }, this.isAnimated ? TRANSITION_DURATIONS.BACKDROP : 0);\n if (document && document.body) {\n if (this.bsModalService.getModalsCount() === 1) {\n this.bsModalService.checkScrollbar();\n this.bsModalService.setScrollbar();\n }\n this._renderer.addClass(document.body, CLASS_NAME.OPEN);\n }\n if (this._element.nativeElement) {\n this._element.nativeElement.focus();\n }\n }\n\n @HostListener('mousedown', ['$event'])\n onClickStarted(event: MouseEvent): void {\n this.clickStartedInContent = event.target !== this._element.nativeElement;\n }\n\n @HostListener('mouseup', ['$event'])\n onClickStop(event: MouseEvent): void {\n const clickedInBackdrop = event.target === this._element.nativeElement && !this.clickStartedInContent;\n if (\n this.config.ignoreBackdropClick ||\n this.config.backdrop === 'static' ||\n !clickedInBackdrop\n ) {\n this.clickStartedInContent = false;\n\n return;\n }\n this.bsModalService.setDismissReason(DISMISS_REASONS.BACKRDOP);\n this.hide();\n }\n\n @HostListener('window:popstate')\n onPopState(): void {\n this.hide();\n }\n\n @HostListener('window:keydown.esc', ['$event'])\n onEsc(event: KeyboardEvent): void {\n if (!this.isShown) {\n return;\n }\n\n // tslint:disable-next-line:deprecation\n if (event.keyCode === 27 || event.key === 'Escape') {\n event.preventDefault();\n }\n\n if (\n this.config.keyboard &&\n this.level === this.bsModalService.getModalsCount()\n ) {\n this.bsModalService.setDismissReason(DISMISS_REASONS.ESC);\n this.hide();\n }\n }\n\n ngOnDestroy(): void {\n if (this.isShown) {\n this.hide();\n }\n }\n\n hide(): void {\n if (this.isModalHiding || !this.isShown) {\n return;\n }\n this.isModalHiding = true;\n this._renderer.removeClass(\n this._element.nativeElement,\n isBs3() ? CLASS_NAME.IN : CLASS_NAME.SHOW\n );\n setTimeout(() => {\n this.isShown = false;\n if (\n document &&\n document.body &&\n this.bsModalService.getModalsCount() === 1\n ) {\n this._renderer.removeClass(document.body, CLASS_NAME.OPEN);\n }\n this.bsModalService.hide(this.config.id);\n this.isModalHiding = false;\n }, this.isAnimated ? TRANSITION_DURATIONS.MODAL : 0);\n }\n}\n","import { Component, ElementRef, OnInit, Renderer2 } from '@angular/core';\n\nimport { CLASS_NAME } from './modal-options.class';\nimport { isBs3, Utils } from 'ngx-bootstrap/utils';\n\n\n/** This component will be added as background layout for modals if enabled */\n@Component({\n selector: 'bs-modal-backdrop',\n template: ' ',\n host: { class: CLASS_NAME.BACKDROP }\n})\nexport class ModalBackdropComponent implements OnInit {\n get isAnimated(): boolean {\n return this._isAnimated;\n }\n\n set isAnimated(value: boolean) {\n this._isAnimated = value;\n // this.renderer.setElementClass(this.element.nativeElement, `${ClassName.FADE}`, value);\n }\n\n get isShown(): boolean {\n return this._isShown;\n }\n\n set isShown(value: boolean) {\n this._isShown = value;\n if (value) {\n this.renderer.addClass(\n this.element.nativeElement,\n `${CLASS_NAME.IN}`\n );\n } else {\n this.renderer.removeClass(\n this.element.nativeElement,\n `${CLASS_NAME.IN}`\n );\n }\n if (!isBs3()) {\n if (value) {\n this.renderer.addClass(\n this.element.nativeElement,\n `${CLASS_NAME.SHOW}`\n );\n } else {\n this.renderer.removeClass(\n this.element.nativeElement,\n `${CLASS_NAME.SHOW}`\n );\n }\n }\n }\n\n element: ElementRef;\n renderer: Renderer2;\n\n protected _isAnimated: boolean;\n protected _isShown = false;\n\n constructor(element: ElementRef, renderer: Renderer2) {\n this.element = element;\n this.renderer = renderer;\n }\n\n ngOnInit(): void {\n if (this.isAnimated) {\n this.renderer.addClass(\n this.element.nativeElement,\n `${CLASS_NAME.FADE}`\n );\n Utils.reflow(this.element.nativeElement);\n }\n this.isShown = true;\n }\n}\n","/* tslint:disable:max-file-line-count */\n// todo: should we support enforce focus in?\n// todo: in original bs there are was a way to prevent modal from showing\n// todo: original modal had resize events\n\nimport {\n ComponentRef, Directive, ElementRef, EventEmitter, HostListener, Input,\n OnDestroy, OnInit, Output, Renderer2, ViewContainerRef, Optional, Inject\n} from '@angular/core';\n\nimport { document, window, isBs3, Utils } from 'ngx-bootstrap/utils';\nimport { ModalBackdropComponent } from './modal-backdrop.component';\nimport {\n CLASS_NAME, DISMISS_REASONS, modalConfigDefaults, ModalOptions, MODAL_CONFIG_DEFAULT_OVERRIDE\n} from './modal-options.class';\nimport { ComponentLoader, ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\n\nconst TRANSITION_DURATION = 300;\nconst BACKDROP_TRANSITION_DURATION = 150;\n\n/** Mark any code with directive to show it's content in modal */\n@Directive({\n selector: '[bsModal]',\n exportAs: 'bs-modal'\n})\nexport class ModalDirective implements OnDestroy, OnInit {\n /** allows to set modal configuration via element property */\n @Input()\n set config(conf: ModalOptions) {\n this._config = this.getConfig(conf);\n }\n\n get config(): ModalOptions {\n return this._config;\n }\n\n /** This event fires immediately when the `show` instance method is called. */\n @Output()\n onShow: EventEmitter<ModalDirective> = new EventEmitter<ModalDirective>();\n /** This event is fired when the modal has been made visible to the user\n * (will wait for CSS transitions to complete)\n */\n @Output()\n onShown: EventEmitter<ModalDirective> = new EventEmitter<ModalDirective>();\n /** This event is fired immediately when\n * the hide instance method has been called.\n */\n @Output()\n onHide: EventEmitter<ModalDirective> = new EventEmitter<ModalDirective>();\n /** This event is fired when the modal has finished being\n * hidden from the user (will wait for CSS transitions to complete).\n */\n @Output()\n onHidden: EventEmitter<ModalDirective> = new EventEmitter<ModalDirective>();\n\n /** This field contains last dismiss reason.\n * Possible values: `backdrop-click`, `esc` and `id: number`\n * (if modal was closed by direct call of `.hide()`).\n */\n dismissReason: string;\n\n get isShown(): boolean {\n return this._isShown;\n }\n\n protected _config: ModalOptions;\n protected _isShown = false;\n\n protected isBodyOverflowing = false;\n protected originalBodyPadding = 0;\n protected scrollbarWidth = 0;\n\n protected timerHideModal = 0;\n protected timerRmBackDrop = 0;\n\n // reference to backdrop component\n protected backdrop: ComponentRef<ModalBackdropComponent>;\n private _backdrop: ComponentLoader<ModalBackdropComponent>;\n\n private isNested = false;\n private clickStartedInContent = false;\n\n constructor(\n private _element: ElementRef,\n _viewContainerRef: ViewContainerRef,\n private _renderer: Renderer2,\n clf: ComponentLoaderFactory,\n @Optional() @Inject(MODAL_CONFIG_DEFAULT_OVERRIDE) modalDefaultOption: ModalOptions) {\n this._backdrop = clf.createLoader<ModalBackdropComponent>(\n _element,\n _viewContainerRef,\n _renderer\n );\n this._config = modalConfigDefaults || modalConfigDefaults;\n }\n\n @HostListener('mousedown', ['$event'])\n onClickStarted(event: MouseEvent): void {\n this.clickStartedInContent = event.target !== this._element.nativeElement;\n }\n\n @HostListener('mouseup', ['$event'])\n onClickStop(event: MouseEvent): void {\n const clickedInBackdrop = event.target === this._element.nativeElement && !this.clickStartedInContent;\n if (\n this.config.ignoreBackdropClick ||\n this.config.backdrop === 'static' ||\n !clickedInBackdrop\n ) {\n this.clickStartedInContent = false;\n\n return;\n }\n this.dismissReason = DISMISS_REASONS.BACKRDOP;\n this.hide(event);\n }\n\n // todo: consider preventing default and stopping propagation\n @HostListener('keydown.esc', ['$event'])\n onEsc(event: KeyboardEvent): void {\n if (!this._isShown) {\n return;\n }\n // tslint:disable-next-line:deprecation\n if (event.keyCode === 27 || event.key === 'Escape') {\n event.preventDefault();\n }\n\n if (this.config.keyboard) {\n this.dismissReason = DISMISS_REASONS.ESC;\n this.hide();\n }\n }\n\n ngOnDestroy() {\n this.config = void 0;\n if (this._isShown) {\n this._isShown = false;\n this.hideModal();\n this._backdrop.dispose();\n }\n }\n\n ngOnInit(): void {\n this._config = this._config || this.getConfig();\n setTimeout(() => {\n if (this._config.show) {\n this.show();\n }\n }, 0);\n }\n\n /* Public methods */\n\n /** Allows to manually toggle modal visibility */\n toggle(): void {\n return this._isShown ? this.hide() : this.show();\n }\n\n /** Allows to manually open modal */\n show(): void {\n this.dismissReason = null;\n this.onShow.emit(this);\n if (this._isShown) {\n return;\n }\n clearTimeout(this.timerHideModal);\n clearTimeout(this.timerRmBackDrop);\n\n this._isShown = true;\n\n this.checkScrollbar();\n this.setScrollbar();\n\n if (document && document.body) {\n if (document.body.classList.contains(CLASS_NAME.OPEN)) {\n this.isNested = true;\n } else {\n this._renderer.addClass(document.body, CLASS_NAME.OPEN);\n }\n }\n\n this.showBackdrop(() => {\n this.showElement();\n });\n }\n\n /** Allows to manually close modal */\n hide(event?: Event): void {\n if (event) {\n event.preventDefault();\n }\n\n this.onHide.emit(this);\n\n // todo: add an option to prevent hiding\n if (!this._isShown) {\n return;\n }\n\n window.clearTimeout(this.timerHideModal);\n window.clearTimeout(this.timerRmBackDrop);\n\n this._isShown = false;\n this._renderer.removeClass(this._element.nativeElement, CLASS_NAME.IN);\n if (!isBs3()) {\n this._renderer.removeClass(this._element.nativeElement, CLASS_NAME.SHOW);\n }\n // this._addClassIn = false;\n\n if (this._config.animated) {\n this.timerHideModal = window.setTimeout(\n () => this.hideModal(),\n TRANSITION_DURATION\n );\n } else {\n this.hideModal();\n }\n }\n\n /** Private methods @internal */\n protected getConfig(config?: ModalOptions): ModalOptions {\n return Object.assign({}, this._config, config);\n }\n\n /**\n * Show dialog\n * @internal\n */\n protected showElement(): void {\n // todo: replace this with component loader usage\n if (\n !this._element.nativeElement.parentNode ||\n this._element.nativeElement.parentNode.nodeType !== Node.ELEMENT_NODE\n ) {\n // don't move modals dom position\n if (document && document.body) {\n document.body.appendChild(this._element.nativeElement);\n }\n }\n\n this._renderer.setAttribute(\n this._element.nativeElement,\n 'aria-hidden',\n 'false'\n );\n this._renderer.setAttribute(\n this._element.nativeElement,\n 'aria-modal',\n 'true'\n );\n this._renderer.setStyle(\n this._element.nativeElement,\n 'display',\n 'block'\n );\n this._renderer.setProperty(\n this._element.nativeElement,\n 'scrollTop',\n 0\n );\n\n if (this._config.animated) {\n Utils.reflow(this._element.nativeElement);\n }\n\n // this._addClassIn = true;\n this._renderer.addClass(this._element.nativeElement, CLASS_NAME.IN);\n if (!isBs3()) {\n this._renderer.addClass(this._element.nativeElement, CLASS_NAME.SHOW);\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.nativeElement.focus();\n }\n this.onShown.emit(this);\n };\n\n if (this._config.animated) {\n setTimeout(transitionComplete, TRANSITION_DURATION);\n } else {\n transitionComplete();\n }\n }\n\n /** @internal */\n protected hideModal(): void {\n this._renderer.setAttribute(\n this._element.nativeElement,\n 'aria-hidden',\n 'true'\n );\n this._renderer.setStyle(\n this._element.nativeElement,\n 'display',\n 'none'\n );\n this.showBackdrop(() => {\n if (!this.isNested) {\n if (document && document.body) {\n this._renderer.removeClass(document.body, CLASS_NAME.OPEN);\n }\n this.resetScrollbar();\n }\n this.resetAdjustments();\n this.focusOtherModal();\n this.onHidden.emit(this);\n });\n }\n\n // todo: original show was calling a callback when done, but we can use\n // promise\n /** @internal */\n protected showBackdrop(callback?: Function): void {\n if (\n this._isShown &&\n this.config.backdrop &&\n (!this.backdrop || !this.backdrop.instance.isShown)\n ) {\n this.removeBackdrop();\n this._backdrop\n .attach(ModalBackdropComponent)\n .to('body')\n .show({ isAnimated: this._config.animated });\n this.backdrop = this._backdrop._componentRef;\n\n if (!callback) {\n return;\n }\n\n if (!this._config.animated) {\n callback();\n\n return;\n }\n\n setTimeout(callback, BACKDROP_TRANSITION_DURATION);\n } else if (!this._isShown && this.backdrop) {\n this.backdrop.instance.isShown = false;\n\n const callbackRemove = () => {\n this.removeBackdrop();\n if (callback) {\n callback();\n }\n };\n\n if (this.backdrop.instance.isAnimated) {\n this.timerRmBackDrop = window.setTimeout(\n callbackRemove,\n BACKDROP_TRANSITION_DURATION\n );\n } else {\n callbackRemove();\n }\n } else if (callback) {\n callback();\n }\n }\n\n /** @internal */\n protected removeBackdrop(): void {\n this._backdrop.hide();\n }\n\n /** Events tricks */\n\n // no need for it\n // protected setEscapeEvent():void {\n // if (this._isShown && this._config.keyboard) {\n // $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n // if (event.which === 27) {\n // this.hide()\n // }\n // })\n //\n // } else if (!this._isShown) {\n // $(this._element).off(Event.KEYDOWN_DISMISS)\n // }\n // }\n\n // protected setResizeEvent():void {\n // console.log(this.renderer.listenGlobal('', Event.RESIZE));\n // if (this._isShown) {\n // $(window).on(Event.RESIZE, $.proxy(this._handleUpdate, this))\n // } else {\n // $(window).off(Event.RESIZE)\n // }\n // }\n\n protected focusOtherModal() {\n if (this._element.nativeElement.parentElement == null) {\n return;\n }\n const otherOpenedModals = this._element.nativeElement.parentElement.querySelectorAll('.in[bsModal]');\n if (!otherOpenedModals.length) {\n return;\n }\n otherOpenedModals[otherOpenedModals.length - 1].focus();\n }\n\n /** @internal */\n protected resetAdjustments(): void {\n this._renderer.setStyle(\n this._element.nativeElement,\n 'paddingLeft',\n ''\n );\n this._renderer.setStyle(\n this._element.nativeElement,\n 'paddingRight',\n ''\n );\n }\n\n /** Scroll bar tricks */\n /** @internal */\n protected checkScrollbar(): void {\n this.isBodyOverflowing = document.body.clientWidth < window.innerWidth;\n this.scrollbarWidth = this.getScrollbarWidth();\n }\n\n protected setScrollbar(): void {\n if (!document) {\n return;\n }\n\n this.originalBodyPadding = parseInt(\n window\n .getComputedStyle(document.body)\n .getPropertyValue('padding-right') || 0,\n 10\n );\n\n if (this.isBodyOverflowing) {\n document.body.style.paddingRight = `${this.originalBodyPadding +\n this.scrollbarWidth}px`;\n }\n }\n\n protected resetScrollbar(): void {\n document.body.style.paddingRight = `${this.originalBodyPadding}px`;\n }\n\n // thx d.walsh\n protected getScrollbarWidth(): number {\n const scrollDiv = this._renderer.createElement('div');\n this._renderer.addClass(scrollDiv, CLASS_NAME.SCROLLBAR_MEASURER);\n this._renderer.appendChild(document.body, scrollDiv);\n const scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n this._renderer.removeChild(document.body, scrollDiv);\n\n return scrollbarWidth;\n }\n}\n","import {\n ComponentRef,\n Injectable,\n TemplateRef,\n EventEmitter,\n Renderer2,\n RendererFactory2,\n Inject,\n Optional\n} from '@angular/core';\n\nimport { ComponentLoader, ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\nimport { ModalBackdropComponent } from './modal-backdrop.component';\nimport { ModalContainerComponent } from './modal-container.component';\nimport {\n CLASS_NAME,\n modalConfigDefaults,\n ModalOptions,\n TRANSITION_DURATIONS,\n MODAL_CONFIG_DEFAULT_OVERRIDE\n} from './modal-options.class';\nimport { BsModalRef } from './bs-modal-ref.service';\n\n@Injectable()\nexport class BsModalService {\n // constructor props\n config: ModalOptions;\n\n // tslint:disable-next-line:no-any\n onShow: EventEmitter<any> = new EventEmitter();\n // tslint:disable-next-line:no-any\n onShown: EventEmitter<any> = new EventEmitter();\n // tslint:disable-next-line:no-any\n onHide: EventEmitter<any> = new EventEmitter();\n // tslint:disable-next-line:no-any\n onHidden: EventEmitter<any> = new EventEmitter();\n\n protected isBodyOverflowing = false;\n protected originalBodyPadding = 0;\n\n protected scrollbarWidth = 0;\n\n protected backdropRef: ComponentRef<ModalBackdropComponent>;\n private _backdropLoader: ComponentLoader<ModalBackdropComponent>;\n private modalsCount = 0;\n private lastDismissReason: any = null;\n\n private loaders: ComponentLoader<ModalContainerComponent>[] = [];\n\n private _renderer: Renderer2;\n\n constructor(\n rendererFactory: RendererFactory2,\n private clf: ComponentLoaderFactory,\n @Optional() @Inject(MODAL_CONFIG_DEFAULT_OVERRIDE) private modalDefaultOption: ModalOptions) {\n this._backdropLoader = this.clf.createLoader<ModalBackdropComponent>(\n null,\n null,\n null\n );\n this._renderer = rendererFactory.createRenderer(null, null);\n this.config = modalDefaultOption ?\n (Object.assign({}, modalConfigDefaults, modalDefaultOption)) :\n modalConfigDefaults;\n }\n\n /** Shows a modal */\n // tslint:disable-next-line:no-any\n show(content: string | TemplateRef<any> | any, config?: ModalOptions): BsModalRef {\n this.modalsCount++;\n this._createLoaders();\n this.config = this.modalDefaultOption ?\n Object.assign({}, modalConfigDefaults, this.modalDefaultOption, config) :\n Object.assign({}, modalConfigDefaults, config);\n\n this._showBackdrop();\n this.lastDismissReason = null;\n\n return this._showModal(content);\n }\n\n hide(id?: number) {\n if (this.modalsCount === 1 || id == null) {\n this._hideBackdrop();\n this.resetScrollbar();\n }\n this.modalsCount = this.modalsCount >= 1 && id != null ? this.modalsCount - 1 : 0;\n setTimeout(() => {\n this._hideModal(id);\n this.removeLoaders(id);\n }, this.config.animated ? TRANSITION_DURATIONS.BACKDROP : 0);\n }\n\n _showBackdrop(): void {\n const isBackdropEnabled =\n this.config.backdrop || this.config.backdrop === 'static';\n const isBackdropInDOM =\n !this.backdropRef || !this.backdropRef.instance.isShown;\n\n if (this.modalsCount === 1) {\n this.removeBackdrop();\n\n if (isBackdropEnabled && isBackdropInDOM) {\n this._backdropLoader\n .attach(ModalBackdropComponent)\n .to('body')\n .show({ isAnimated: this.config.animated });\n this.backdropRef = this._backdropLoader._componentRef;\n }\n }\n }\n\n _hideBackdrop(): void {\n if (!this.backdropRef) {\n return;\n }\n this.backdropRef.instance.isShown = false;\n const duration = this.config.animated ? TRANSITION_DURATIONS.BACKDROP : 0;\n setTimeout(() => this.removeBackdrop(), duration);\n }\n // tslint:disable-next-line:no-any\n _showModal(content: any): BsModalRef {\n const modalLoader = this.loaders[this.loaders.length - 1];\n if (this.config && this.config.providers) {\n for (const provider of this.config.providers) {\n modalLoader.provide(provider);\n }\n }\n\n const bsModalRef = new BsModalRef();\n const modalContainerRef = modalLoader\n .provide({ provide: ModalOptions, useValue: this.config })\n .provide({ provide: BsModalRef, useValue: bsModalRef })\n .attach(ModalContainerComponent)\n .to('body');\n bsModalRef.hide = () => modalContainerRef.instance.hide();\n bsModalRef.setClass = (newClass: string) => {\n modalContainerRef.instance.config.class = newClass;\n };\n\n bsModalRef.onHidden = new EventEmitter<any>();\n bsModalRef.onHide = new EventEmitter<any>();\n\n this.copyEvent(modalLoader.onBeforeHide, bsModalRef.onHide);\n this.copyEvent(modalLoader.onHidden, bsModalRef.onHidden);\n // call 'show' method after assign setClass in bsModalRef.\n // it makes modal component's bsModalRef available to call setClass method\n modalContainerRef.show({\n content,\n isAnimated: this.config.animated,\n initialState: this.config.initialState,\n bsModalService: this,\n id: this.config.id\n });\n modalContainerRef.instance.level = this.getModalsCount();\n\n bsModalRef.content = modalLoader.getInnerComponent() || null;\n bsModalRef.id = modalContainerRef.instance.config?.id;\n\n return bsModalRef;\n }\n\n _hideModal(id?: number): void {\n if (id != null) {\n const indexToRemove = this.loaders.findIndex(loader => loader.instance.config.id === id);\n const modalLoader = this.loaders[indexToRemove];\n if (modalLoader) {\n modalLoader.hide(id);\n }\n } else {\n this.loaders.forEach(\n (loader: ComponentLoader<ModalContainerComponent>) => {\n loader.hide(loader.instance.config.id);\n }\n );\n }\n }\n\n getModalsCount(): number {\n return this.modalsCount;\n }\n\n setDismissReason(reason: string) {\n this.lastDismissReason = reason;\n }\n\n removeBackdrop(): void {\n this._renderer.removeClass(document.body, CLASS_NAME.OPEN);\n this._backdropLoader.hide();\n this.backdropRef = null;\n }\n\n /** Checks if the body is overflowing and sets scrollbar width */\n /** @internal */\n checkScrollbar(): void {\n this.isBodyOverflowing = document.body.clientWidth < window.innerWidth;\n this.scrollbarWidth = this.getScrollbarWidth();\n }\n\n setScrollbar(): void {\n if (!document) {\n return;\n }\n\n this.originalBodyPadding = parseInt(\n window\n .getComputedStyle(document.body)\n .getPropertyValue('padding-right') || '0',\n 10\n );\n\n if (this.isBodyOverflowing) {\n document.body.style.paddingRight = `${this.originalBodyPadding +\n this.scrollbarWidth}px`;\n }\n }\n\n private resetScrollbar(): void {\n document.body.style.paddingRight = `${this.originalBodyPadding}px`;\n }\n\n // thx d.walsh\n private getScrollbarWidth(): number {\n const scrollDiv = this._renderer.createElement('div');\n this._renderer.addClass(scrollDiv, CLASS_NAME.SCROLLBAR_MEASURER);\n this._renderer.appendChild(document.body, scrollDiv);\n const scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n this._renderer.removeChild(document.body, scrollDiv);\n\n return scrollbarWidth;\n }\n\n private _createLoaders(): void {\n const loader = this.clf.createLoader<ModalContainerComponent>(\n null,\n null,\n null\n );\n this.copyEvent(loader.onBeforeShow, this.onShow);\n this.copyEvent(loader.onShown, this.onShown);\n this.copyEvent(loader.onBeforeHide, this.onHide);\n this.copyEvent(loader.onHidden, this.onHidden);\n this.loaders.push(loader);\n }\n\n private removeLoaders(id?: number): void {\n if (id != null) {\n const indexToRemove = this.loaders.findIndex(loader => loader.instance.config.id === id);\n if (indexToRemove >= 0) {\n this.loaders.splice(indexToRemove, 1);\n this.loaders.forEach(\n (loader: ComponentLoader<ModalContainerComponent>, i: number) => {\n loader.instance.level = i + 1;\n }\n );\n }\n } else {\n this.loaders.splice(0, this.loaders.length);\n }\n }\n\n // tslint:disable-next-line:no-any\n private copyEvent(from: EventEmitter<any>, to: EventEmitter<any>) {\n from.subscribe((data: any) => {\n to.emit(this.lastDismissReason || data);\n });\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\n\nimport { ModalBackdropComponent } from './modal-backdrop.component';\nimport { ModalDirective } from './modal.directive';\nimport { PositioningService } from 'ngx-bootstrap/positioning';\nimport { ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\nimport { ModalContainerComponent } from './modal-container.component';\nimport { BsModalService } from './bs-modal.service';\n\n@NgModule({\n declarations: [\n ModalBackdropComponent,\n ModalDirective,\n ModalContainerComponent\n ],\n exports: [ModalBackdropComponent, ModalDirective],\n entryComponents: [ModalBackdropComponent, ModalContainerComponent]\n})\nexport class ModalModule {\n static forRoot(): ModuleWithProviders<ModalModule> {\n return {\n ngModule: ModalModule,\n providers: [BsModalService, ComponentLoaderFactory, PositioningService]\n };\n }\n static forChild(): ModuleWithProviders<ModalModule> {\n return {\n ngModule: ModalModule,\n providers: [BsModalService, ComponentLoaderFactory, PositioningService]\n };\n }\n}\n"],"names":["document","window"],"mappings":"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"}
1
+ {"version":3,"file":"ngx-bootstrap-modal.js","sources":["ng://ngx-bootstrap/modal/bs-modal-ref.service.ts","ng://ngx-bootstrap/modal/modal-backdrop.options.ts","ng://ngx-bootstrap/modal/modal-options.class.ts","ng://ngx-bootstrap/modal/modal-container.component.ts","ng://ngx-bootstrap/modal/modal-backdrop.component.ts","ng://ngx-bootstrap/modal/modal.directive.ts","ng://ngx-bootstrap/modal/bs-modal.service.ts","ng://ngx-bootstrap/modal/modal.module.ts"],"sourcesContent":["import { Injectable, EventEmitter } from '@angular/core';\n\n@Injectable()\n// tslint:disable-next-line:no-any\nexport class BsModalRef<T = any> {\n /**\n * Allow user to ID for the modal. Otherwise, a unique number will be given\n */\n id: number;\n\n /**\n * Reference to a component inside the modal. Null if modal's been created with TemplateRef\n */\n content?: T | null;\n\n /**\n * Hides the modal\n */\n hide: () => void = Function;\n /**\n * Sets new class to modal window\n */\n setClass: (newClass: string) => void = Function;\n /**\n * Event that is fired when the modal behind the ref starts hiding\n */\n // tslint:disable-next-line:no-any\n onHide: EventEmitter<any>;\n /**\n * Event that is fired when the modal behind the ref finishes hiding\n */\n // tslint:disable-next-line:no-any\n onHidden: EventEmitter<any>;\n}\n","export class ModalBackdropOptions {\n animate = true;\n\n constructor(options: ModalBackdropOptions) {\n Object.assign(this, options);\n }\n}\n","import { Injectable, StaticProvider, InjectionToken } from '@angular/core';\nimport { ClassName, DismissReasons, Selector, TransitionDurations } from './models';\n\n@Injectable()\nexport class ModalOptions<T = Object> {\n /**\n * Allow user to ID for the modal. Otherwise, a unique number will be given\n */\n id?: number;\n /**\n * Includes a modal-backdrop element. Alternatively,\n * specify static for a backdrop which doesn't close the modal on click.\n */\n backdrop?: boolean | 'static';\n /**\n * Closes the modal when escape key is pressed.\n */\n keyboard?: boolean;\n\n focus?: boolean;\n /**\n * Shows the modal when initialized.\n */\n show?: boolean;\n /**\n * Ignore the backdrop click\n */\n ignoreBackdropClick?: boolean;\n /**\n * Css class for opened modal\n */\n class?: string;\n /**\n * Toggle animation\n */\n animated?: boolean;\n /**\n * Modal data\n */\n initialState?: Partial<T>;\n /**\n * Modal providers\n */\n providers?: StaticProvider[];\n /**\n * aria-labelledby attribute value to set on the modal window\n */\n ariaLabelledBy?: string;\n /**\n * aria-describedby attribute value to set on the modal window\n */\n ariaDescribedby?: string;\n}\n\nexport const modalConfigDefaults: ModalOptions = {\n backdrop: true,\n keyboard: true,\n focus: true,\n show: false,\n ignoreBackdropClick: false,\n class: '',\n animated: true,\n initialState: {}\n};\n\nexport const MODAL_CONFIG_DEFAULT_OVERRIDE: InjectionToken<ModalOptions> =\n new InjectionToken<ModalOptions>('override-default-config');\n\nexport const CLASS_NAME: ClassName = {\n SCROLLBAR_MEASURER: 'modal-scrollbar-measure',\n BACKDROP: 'modal-backdrop',\n OPEN: 'modal-open',\n FADE: 'fade',\n IN: 'in', // bs3\n SHOW: 'show' // bs4\n};\n\nexport const SELECTOR: Selector = {\n DIALOG: '.modal-dialog',\n DATA_TOGGLE: '[data-toggle=\"modal\"]',\n DATA_DISMISS: '[data-dismiss=\"modal\"]',\n FIXED_CONTENT: '.navbar-fixed-top, .navbar-fixed-bottom, .is-fixed'\n};\n\nexport const TRANSITION_DURATIONS: TransitionDurations = {\n MODAL: 300,\n BACKDROP: 150\n};\n\nexport const DISMISS_REASONS: DismissReasons = {\n BACKRDOP: 'backdrop-click',\n ESC: 'esc',\n BACK: 'browser-back-navigation-clicked'\n};\n","import {\n Component,\n ElementRef,\n HostListener,\n OnDestroy,\n OnInit,\n Renderer2\n} from '@angular/core';\nimport {\n CLASS_NAME,\n DISMISS_REASONS,\n ModalOptions,\n TRANSITION_DURATIONS\n} from './modal-options.class';\nimport { BsModalService } from './bs-modal.service';\nimport { isBs3 } from 'ngx-bootstrap/utils';\n\n@Component({\n selector: 'modal-container',\n template: `\n <div [class]=\"'modal-dialog' + (config.class ? ' ' + config.class : '')\" role=\"document\">\n <div class=\"modal-content\">\n <ng-content></ng-content>\n </div>\n </div>\n `,\n host: {\n class: 'modal',\n role: 'dialog',\n tabindex: '-1',\n '[attr.aria-modal]': 'true',\n '[attr.aria-labelledby]': 'config.ariaLabelledBy',\n '[attr.aria-describedby]': 'config.ariaDescribedby'\n }\n})\nexport class ModalContainerComponent implements OnInit, OnDestroy {\n config: ModalOptions;\n isShown = false;\n level: number;\n isAnimated: boolean;\n bsModalService: BsModalService;\n private isModalHiding = false;\n private clickStartedInContent = false;\n\n constructor(options: ModalOptions,\n protected _element: ElementRef,\n private _renderer: Renderer2) {\n this.config = Object.assign({}, options);\n }\n\n ngOnInit(): void {\n if (this.isAnimated) {\n this._renderer.addClass(\n this._element.nativeElement,\n CLASS_NAME.FADE\n );\n }\n this._renderer.setStyle(\n this._element.nativeElement,\n 'display',\n 'block'\n );\n setTimeout(() => {\n this.isShown = true;\n this._renderer.addClass(\n this._element.nativeElement,\n isBs3() ? CLASS_NAME.IN : CLASS_NAME.SHOW\n );\n }, this.isAnimated ? TRANSITION_DURATIONS.BACKDROP : 0);\n if (document && document.body) {\n if (this.bsModalService.getModalsCount() === 1) {\n this.bsModalService.checkScrollbar();\n this.bsModalService.setScrollbar();\n }\n this._renderer.addClass(document.body, CLASS_NAME.OPEN);\n }\n if (this._element.nativeElement) {\n this._element.nativeElement.focus();\n }\n }\n\n @HostListener('mousedown', ['$event'])\n onClickStarted(event: MouseEvent): void {\n this.clickStartedInContent = event.target !== this._element.nativeElement;\n }\n\n @HostListener('mouseup', ['$event'])\n onClickStop(event: MouseEvent): void {\n const clickedInBackdrop = event.target === this._element.nativeElement && !this.clickStartedInContent;\n if (\n this.config.ignoreBackdropClick ||\n this.config.backdrop === 'static' ||\n !clickedInBackdrop\n ) {\n this.clickStartedInContent = false;\n\n return;\n }\n this.bsModalService.setDismissReason(DISMISS_REASONS.BACKRDOP);\n this.hide();\n }\n\n @HostListener('window:popstate')\n onPopState(): void {\n this.bsModalService.setDismissReason(DISMISS_REASONS.BACK);\n this.hide();\n }\n\n @HostListener('window:keydown.esc', ['$event'])\n onEsc(event: KeyboardEvent): void {\n if (!this.isShown) {\n return;\n }\n\n // tslint:disable-next-line:deprecation\n if (event.keyCode === 27 || event.key === 'Escape') {\n event.preventDefault();\n }\n\n if (\n this.config.keyboard &&\n this.level === this.bsModalService.getModalsCount()\n ) {\n this.bsModalService.setDismissReason(DISMISS_REASONS.ESC);\n this.hide();\n }\n }\n\n ngOnDestroy(): void {\n if (this.isShown) {\n this.hide();\n }\n }\n\n hide(): void {\n if (this.isModalHiding || !this.isShown) {\n return;\n }\n this.isModalHiding = true;\n this._renderer.removeClass(\n this._element.nativeElement,\n isBs3() ? CLASS_NAME.IN : CLASS_NAME.SHOW\n );\n setTimeout(() => {\n this.isShown = false;\n if (\n document &&\n document.body &&\n this.bsModalService.getModalsCount() === 1\n ) {\n this._renderer.removeClass(document.body, CLASS_NAME.OPEN);\n }\n this.bsModalService.hide(this.config.id);\n this.isModalHiding = false;\n }, this.isAnimated ? TRANSITION_DURATIONS.MODAL : 0);\n }\n}\n","import { Component, ElementRef, OnInit, Renderer2 } from '@angular/core';\n\nimport { CLASS_NAME } from './modal-options.class';\nimport { isBs3, Utils } from 'ngx-bootstrap/utils';\n\n\n/** This component will be added as background layout for modals if enabled */\n@Component({\n selector: 'bs-modal-backdrop',\n template: ' ',\n host: { class: CLASS_NAME.BACKDROP }\n})\nexport class ModalBackdropComponent implements OnInit {\n get isAnimated(): boolean {\n return this._isAnimated;\n }\n\n set isAnimated(value: boolean) {\n this._isAnimated = value;\n // this.renderer.setElementClass(this.element.nativeElement, `${ClassName.FADE}`, value);\n }\n\n get isShown(): boolean {\n return this._isShown;\n }\n\n set isShown(value: boolean) {\n this._isShown = value;\n if (value) {\n this.renderer.addClass(\n this.element.nativeElement,\n `${CLASS_NAME.IN}`\n );\n } else {\n this.renderer.removeClass(\n this.element.nativeElement,\n `${CLASS_NAME.IN}`\n );\n }\n if (!isBs3()) {\n if (value) {\n this.renderer.addClass(\n this.element.nativeElement,\n `${CLASS_NAME.SHOW}`\n );\n } else {\n this.renderer.removeClass(\n this.element.nativeElement,\n `${CLASS_NAME.SHOW}`\n );\n }\n }\n }\n\n element: ElementRef;\n renderer: Renderer2;\n\n protected _isAnimated: boolean;\n protected _isShown = false;\n\n constructor(element: ElementRef, renderer: Renderer2) {\n this.element = element;\n this.renderer = renderer;\n }\n\n ngOnInit(): void {\n if (this.isAnimated) {\n this.renderer.addClass(\n this.element.nativeElement,\n `${CLASS_NAME.FADE}`\n );\n Utils.reflow(this.element.nativeElement);\n }\n this.isShown = true;\n }\n}\n","/* tslint:disable:max-file-line-count */\n// todo: should we support enforce focus in?\n// todo: in original bs there are was a way to prevent modal from showing\n// todo: original modal had resize events\n\nimport {\n ComponentRef, Directive, ElementRef, EventEmitter, HostListener, Input,\n OnDestroy, OnInit, Output, Renderer2, ViewContainerRef, Optional, Inject\n} from '@angular/core';\n\nimport { document, window, isBs3, Utils } from 'ngx-bootstrap/utils';\nimport { ModalBackdropComponent } from './modal-backdrop.component';\nimport {\n CLASS_NAME, DISMISS_REASONS, modalConfigDefaults, ModalOptions, MODAL_CONFIG_DEFAULT_OVERRIDE\n} from './modal-options.class';\nimport { ComponentLoader, ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\n\nconst TRANSITION_DURATION = 300;\nconst BACKDROP_TRANSITION_DURATION = 150;\n\n/** Mark any code with directive to show it's content in modal */\n@Directive({\n selector: '[bsModal]',\n exportAs: 'bs-modal'\n})\nexport class ModalDirective implements OnDestroy, OnInit {\n /** allows to set modal configuration via element property */\n @Input()\n set config(conf: ModalOptions) {\n this._config = this.getConfig(conf);\n }\n\n get config(): ModalOptions {\n return this._config;\n }\n\n /** This event fires immediately when the `show` instance method is called. */\n @Output()\n onShow: EventEmitter<ModalDirective> = new EventEmitter<ModalDirective>();\n /** This event is fired when the modal has been made visible to the user\n * (will wait for CSS transitions to complete)\n */\n @Output()\n onShown: EventEmitter<ModalDirective> = new EventEmitter<ModalDirective>();\n /** This event is fired immediately when\n * the hide instance method has been called.\n */\n @Output()\n onHide: EventEmitter<ModalDirective> = new EventEmitter<ModalDirective>();\n /** This event is fired when the modal has finished being\n * hidden from the user (will wait for CSS transitions to complete).\n */\n @Output()\n onHidden: EventEmitter<ModalDirective> = new EventEmitter<ModalDirective>();\n\n /** This field contains last dismiss reason.\n * Possible values: `backdrop-click`, `esc` and `id: number`\n * (if modal was closed by direct call of `.hide()`).\n */\n dismissReason: string;\n\n get isShown(): boolean {\n return this._isShown;\n }\n\n protected _config: ModalOptions;\n protected _isShown = false;\n\n protected isBodyOverflowing = false;\n protected originalBodyPadding = 0;\n protected scrollbarWidth = 0;\n\n protected timerHideModal = 0;\n protected timerRmBackDrop = 0;\n\n // reference to backdrop component\n protected backdrop: ComponentRef<ModalBackdropComponent>;\n private _backdrop: ComponentLoader<ModalBackdropComponent>;\n\n private isNested = false;\n private clickStartedInContent = false;\n\n constructor(\n private _element: ElementRef,\n _viewContainerRef: ViewContainerRef,\n private _renderer: Renderer2,\n clf: ComponentLoaderFactory,\n @Optional() @Inject(MODAL_CONFIG_DEFAULT_OVERRIDE) modalDefaultOption: ModalOptions) {\n this._backdrop = clf.createLoader<ModalBackdropComponent>(\n _element,\n _viewContainerRef,\n _renderer\n );\n this._config = modalDefaultOption || modalConfigDefaults;\n }\n\n @HostListener('mousedown', ['$event'])\n onClickStarted(event: MouseEvent): void {\n this.clickStartedInContent = event.target !== this._element.nativeElement;\n }\n\n @HostListener('mouseup', ['$event'])\n onClickStop(event: MouseEvent): void {\n const clickedInBackdrop = event.target === this._element.nativeElement && !this.clickStartedInContent;\n if (\n this.config.ignoreBackdropClick ||\n this.config.backdrop === 'static' ||\n !clickedInBackdrop\n ) {\n this.clickStartedInContent = false;\n\n return;\n }\n this.dismissReason = DISMISS_REASONS.BACKRDOP;\n this.hide(event);\n }\n\n // todo: consider preventing default and stopping propagation\n @HostListener('keydown.esc', ['$event'])\n onEsc(event: KeyboardEvent): void {\n if (!this._isShown) {\n return;\n }\n // tslint:disable-next-line:deprecation\n if (event.keyCode === 27 || event.key === 'Escape') {\n event.preventDefault();\n }\n\n if (this.config.keyboard) {\n this.dismissReason = DISMISS_REASONS.ESC;\n this.hide();\n }\n }\n\n ngOnDestroy() {\n this.config = void 0;\n if (this._isShown) {\n this._isShown = false;\n this.hideModal();\n this._backdrop.dispose();\n }\n }\n\n ngOnInit(): void {\n this._config = this._config || this.getConfig();\n setTimeout(() => {\n if (this._config.show) {\n this.show();\n }\n }, 0);\n }\n\n /* Public methods */\n\n /** Allows to manually toggle modal visibility */\n toggle(): void {\n return this._isShown ? this.hide() : this.show();\n }\n\n /** Allows to manually open modal */\n show(): void {\n this.dismissReason = null;\n this.onShow.emit(this);\n if (this._isShown) {\n return;\n }\n clearTimeout(this.timerHideModal);\n clearTimeout(this.timerRmBackDrop);\n\n this._isShown = true;\n\n this.checkScrollbar();\n this.setScrollbar();\n\n if (document && document.body) {\n if (document.body.classList.contains(CLASS_NAME.OPEN)) {\n this.isNested = true;\n } else {\n this._renderer.addClass(document.body, CLASS_NAME.OPEN);\n }\n }\n\n this.showBackdrop(() => {\n this.showElement();\n });\n }\n\n /** Allows to manually close modal */\n hide(event?: Event): void {\n if (event) {\n event.preventDefault();\n }\n\n this.onHide.emit(this);\n\n // todo: add an option to prevent hiding\n if (!this._isShown) {\n return;\n }\n\n window.clearTimeout(this.timerHideModal);\n window.clearTimeout(this.timerRmBackDrop);\n\n this._isShown = false;\n this._renderer.removeClass(this._element.nativeElement, CLASS_NAME.IN);\n if (!isBs3()) {\n this._renderer.removeClass(this._element.nativeElement, CLASS_NAME.SHOW);\n }\n // this._addClassIn = false;\n\n if (this._config.animated) {\n this.timerHideModal = window.setTimeout(\n () => this.hideModal(),\n TRANSITION_DURATION\n );\n } else {\n this.hideModal();\n }\n }\n\n /** Private methods @internal */\n protected getConfig(config?: ModalOptions): ModalOptions {\n return Object.assign({}, this._config, config);\n }\n\n /**\n * Show dialog\n * @internal\n */\n protected showElement(): void {\n // todo: replace this with component loader usage\n if (\n !this._element.nativeElement.parentNode ||\n this._element.nativeElement.parentNode.nodeType !== Node.ELEMENT_NODE\n ) {\n // don't move modals dom position\n if (document && document.body) {\n document.body.appendChild(this._element.nativeElement);\n }\n }\n\n this._renderer.setAttribute(\n this._element.nativeElement,\n 'aria-hidden',\n 'false'\n );\n this._renderer.setAttribute(\n this._element.nativeElement,\n 'aria-modal',\n 'true'\n );\n this._renderer.setStyle(\n this._element.nativeElement,\n 'display',\n 'block'\n );\n this._renderer.setProperty(\n this._element.nativeElement,\n 'scrollTop',\n 0\n );\n\n if (this._config.animated) {\n Utils.reflow(this._element.nativeElement);\n }\n\n // this._addClassIn = true;\n this._renderer.addClass(this._element.nativeElement, CLASS_NAME.IN);\n if (!isBs3()) {\n this._renderer.addClass(this._element.nativeElement, CLASS_NAME.SHOW);\n }\n\n const transitionComplete = () => {\n if (this._config.focus) {\n this._element.nativeElement.focus();\n }\n this.onShown.emit(this);\n };\n\n if (this._config.animated) {\n setTimeout(transitionComplete, TRANSITION_DURATION);\n } else {\n transitionComplete();\n }\n }\n\n /** @internal */\n protected hideModal(): void {\n this._renderer.setAttribute(\n this._element.nativeElement,\n 'aria-hidden',\n 'true'\n );\n this._renderer.setStyle(\n this._element.nativeElement,\n 'display',\n 'none'\n );\n this.showBackdrop(() => {\n if (!this.isNested) {\n if (document && document.body) {\n this._renderer.removeClass(document.body, CLASS_NAME.OPEN);\n }\n this.resetScrollbar();\n }\n this.resetAdjustments();\n this.focusOtherModal();\n this.onHidden.emit(this);\n });\n }\n\n // todo: original show was calling a callback when done, but we can use\n // promise\n /** @internal */\n protected showBackdrop(callback?: Function): void {\n if (\n this._isShown &&\n this.config.backdrop &&\n (!this.backdrop || !this.backdrop.instance.isShown)\n ) {\n this.removeBackdrop();\n this._backdrop\n .attach(ModalBackdropComponent)\n .to('body')\n .show({ isAnimated: this._config.animated });\n this.backdrop = this._backdrop._componentRef;\n\n if (!callback) {\n return;\n }\n\n if (!this._config.animated) {\n callback();\n\n return;\n }\n\n setTimeout(callback, BACKDROP_TRANSITION_DURATION);\n } else if (!this._isShown && this.backdrop) {\n this.backdrop.instance.isShown = false;\n\n const callbackRemove = () => {\n this.removeBackdrop();\n if (callback) {\n callback();\n }\n };\n\n if (this.backdrop.instance.isAnimated) {\n this.timerRmBackDrop = window.setTimeout(\n callbackRemove,\n BACKDROP_TRANSITION_DURATION\n );\n } else {\n callbackRemove();\n }\n } else if (callback) {\n callback();\n }\n }\n\n /** @internal */\n protected removeBackdrop(): void {\n this._backdrop.hide();\n }\n\n /** Events tricks */\n\n // no need for it\n // protected setEscapeEvent():void {\n // if (this._isShown && this._config.keyboard) {\n // $(this._element).on(Event.KEYDOWN_DISMISS, (event) => {\n // if (event.which === 27) {\n // this.hide()\n // }\n // })\n //\n // } else if (!this._isShown) {\n // $(this._element).off(Event.KEYDOWN_DISMISS)\n // }\n // }\n\n // protected setResizeEvent():void {\n // console.log(this.renderer.listenGlobal('', Event.RESIZE));\n // if (this._isShown) {\n // $(window).on(Event.RESIZE, $.proxy(this._handleUpdate, this))\n // } else {\n // $(window).off(Event.RESIZE)\n // }\n // }\n\n protected focusOtherModal() {\n if (this._element.nativeElement.parentElement == null) {\n return;\n }\n const otherOpenedModals = this._element.nativeElement.parentElement.querySelectorAll('.in[bsModal]');\n if (!otherOpenedModals.length) {\n return;\n }\n otherOpenedModals[otherOpenedModals.length - 1].focus();\n }\n\n /** @internal */\n protected resetAdjustments(): void {\n this._renderer.setStyle(\n this._element.nativeElement,\n 'paddingLeft',\n ''\n );\n this._renderer.setStyle(\n this._element.nativeElement,\n 'paddingRight',\n ''\n );\n }\n\n /** Scroll bar tricks */\n /** @internal */\n protected checkScrollbar(): void {\n this.isBodyOverflowing = document.body.clientWidth < window.innerWidth;\n this.scrollbarWidth = this.getScrollbarWidth();\n }\n\n protected setScrollbar(): void {\n if (!document) {\n return;\n }\n\n this.originalBodyPadding = parseInt(\n window\n .getComputedStyle(document.body)\n .getPropertyValue('padding-right') || 0,\n 10\n );\n\n if (this.isBodyOverflowing) {\n document.body.style.paddingRight = `${this.originalBodyPadding +\n this.scrollbarWidth}px`;\n }\n }\n\n protected resetScrollbar(): void {\n document.body.style.paddingRight = `${this.originalBodyPadding}px`;\n }\n\n // thx d.walsh\n protected getScrollbarWidth(): number {\n const scrollDiv = this._renderer.createElement('div');\n this._renderer.addClass(scrollDiv, CLASS_NAME.SCROLLBAR_MEASURER);\n this._renderer.appendChild(document.body, scrollDiv);\n const scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n this._renderer.removeChild(document.body, scrollDiv);\n\n return scrollbarWidth;\n }\n}\n","import {\n ComponentRef,\n Injectable,\n TemplateRef,\n EventEmitter,\n Renderer2,\n RendererFactory2,\n Inject,\n Optional\n} from '@angular/core';\n\nimport { ComponentLoader, ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\nimport { ModalBackdropComponent } from './modal-backdrop.component';\nimport { ModalContainerComponent } from './modal-container.component';\nimport {\n CLASS_NAME,\n modalConfigDefaults,\n ModalOptions,\n TRANSITION_DURATIONS,\n MODAL_CONFIG_DEFAULT_OVERRIDE\n} from './modal-options.class';\nimport { BsModalRef } from './bs-modal-ref.service';\n\n@Injectable()\nexport class BsModalService {\n // constructor props\n config: ModalOptions;\n\n // tslint:disable-next-line:no-any\n onShow: EventEmitter<any> = new EventEmitter();\n // tslint:disable-next-line:no-any\n onShown: EventEmitter<any> = new EventEmitter();\n // tslint:disable-next-line:no-any\n onHide: EventEmitter<any> = new EventEmitter();\n // tslint:disable-next-line:no-any\n onHidden: EventEmitter<any> = new EventEmitter();\n\n protected isBodyOverflowing = false;\n protected originalBodyPadding = 0;\n\n protected scrollbarWidth = 0;\n\n protected backdropRef: ComponentRef<ModalBackdropComponent>;\n private _backdropLoader: ComponentLoader<ModalBackdropComponent>;\n private modalsCount = 0;\n private lastDismissReason: any = null;\n\n private loaders: ComponentLoader<ModalContainerComponent>[] = [];\n\n private _renderer: Renderer2;\n\n constructor(\n rendererFactory: RendererFactory2,\n private clf: ComponentLoaderFactory,\n @Optional() @Inject(MODAL_CONFIG_DEFAULT_OVERRIDE) private modalDefaultOption: ModalOptions) {\n this._backdropLoader = this.clf.createLoader<ModalBackdropComponent>(\n null,\n null,\n null\n );\n this._renderer = rendererFactory.createRenderer(null, null);\n this.config = modalDefaultOption ?\n (Object.assign({}, modalConfigDefaults, modalDefaultOption)) :\n modalConfigDefaults;\n }\n\n /** Shows a modal */\n show<T = Object>(\n // tslint:disable-next-line:no-any\n content: string | TemplateRef<any> | { new(...args: any[]): T },\n config?: ModalOptions<T>\n ): BsModalRef<T> {\n this.modalsCount++;\n this._createLoaders();\n\n const id = config?.id || (new Date()).getUTCMilliseconds(); // must be different per every show() call\n this.config = this.modalDefaultOption ?\n Object.assign({}, modalConfigDefaults, this.modalDefaultOption, config) :\n Object.assign({}, modalConfigDefaults, config);\n this.config.id = id;\n\n this._showBackdrop();\n this.lastDismissReason = null;\n\n return this._showModal(content);\n }\n\n hide(id?: number) {\n if (this.modalsCount === 1 || id == null) {\n this._hideBackdrop();\n this.resetScrollbar();\n }\n this.modalsCount = this.modalsCount >= 1 && id != null ? this.modalsCount - 1 : 0;\n setTimeout(() => {\n this._hideModal(id);\n this.removeLoaders(id);\n }, this.config.animated ? TRANSITION_DURATIONS.BACKDROP : 0);\n }\n\n _showBackdrop(): void {\n const isBackdropEnabled =\n this.config.backdrop || this.config.backdrop === 'static';\n const isBackdropInDOM =\n !this.backdropRef || !this.backdropRef.instance.isShown;\n\n if (this.modalsCount === 1) {\n this.removeBackdrop();\n\n if (isBackdropEnabled && isBackdropInDOM) {\n this._backdropLoader\n .attach(ModalBackdropComponent)\n .to('body')\n .show({ isAnimated: this.config.animated });\n this.backdropRef = this._backdropLoader._componentRef;\n }\n }\n }\n\n _hideBackdrop(): void {\n if (!this.backdropRef) {\n return;\n }\n this.backdropRef.instance.isShown = false;\n const duration = this.config.animated ? TRANSITION_DURATIONS.BACKDROP : 0;\n setTimeout(() => this.removeBackdrop(), duration);\n }\n // tslint:disable-next-line:no-any\n _showModal(content: any): BsModalRef {\n const modalLoader = this.loaders[this.loaders.length - 1];\n if (this.config && this.config.providers) {\n for (const provider of this.config.providers) {\n modalLoader.provide(provider);\n }\n }\n\n const bsModalRef = new BsModalRef();\n const modalContainerRef = modalLoader\n .provide({ provide: ModalOptions, useValue: this.config })\n .provide({ provide: BsModalRef, useValue: bsModalRef })\n .attach(ModalContainerComponent)\n .to('body');\n bsModalRef.hide = () => modalContainerRef.instance.hide();\n bsModalRef.setClass = (newClass: string) => {\n modalContainerRef.instance.config.class = newClass;\n };\n\n bsModalRef.onHidden = new EventEmitter<any>();\n bsModalRef.onHide = new EventEmitter<any>();\n\n this.copyEvent(modalLoader.onBeforeHide, bsModalRef.onHide);\n this.copyEvent(modalLoader.onHidden, bsModalRef.onHidden);\n // call 'show' method after assign setClass in bsModalRef.\n // it makes modal component's bsModalRef available to call setClass method\n modalContainerRef.show({\n content,\n isAnimated: this.config.animated,\n initialState: this.config.initialState,\n bsModalService: this,\n id: this.config.id\n });\n modalContainerRef.instance.level = this.getModalsCount();\n\n bsModalRef.content = modalLoader.getInnerComponent() || null;\n bsModalRef.id = modalContainerRef.instance.config?.id;\n\n return bsModalRef;\n }\n\n _hideModal(id?: number): void {\n if (id != null) {\n const indexToRemove = this.loaders.findIndex(loader => loader.instance.config.id === id);\n const modalLoader = this.loaders[indexToRemove];\n if (modalLoader) {\n modalLoader.hide(id);\n }\n } else {\n this.loaders.forEach(\n (loader: ComponentLoader<ModalContainerComponent>) => {\n loader.hide(loader.instance.config.id);\n }\n );\n }\n }\n\n getModalsCount(): number {\n return this.modalsCount;\n }\n\n setDismissReason(reason: string) {\n this.lastDismissReason = reason;\n }\n\n removeBackdrop(): void {\n this._renderer.removeClass(document.body, CLASS_NAME.OPEN);\n this._backdropLoader.hide();\n this.backdropRef = null;\n }\n\n /** Checks if the body is overflowing and sets scrollbar width */\n /** @internal */\n checkScrollbar(): void {\n this.isBodyOverflowing = document.body.clientWidth < window.innerWidth;\n this.scrollbarWidth = this.getScrollbarWidth();\n }\n\n setScrollbar(): void {\n if (!document) {\n return;\n }\n\n this.originalBodyPadding = parseInt(\n window\n .getComputedStyle(document.body)\n .getPropertyValue('padding-right') || '0',\n 10\n );\n\n if (this.isBodyOverflowing) {\n document.body.style.paddingRight = `${this.originalBodyPadding +\n this.scrollbarWidth}px`;\n }\n }\n\n private resetScrollbar(): void {\n document.body.style.paddingRight = `${this.originalBodyPadding}px`;\n }\n\n // thx d.walsh\n private getScrollbarWidth(): number {\n const scrollDiv = this._renderer.createElement('div');\n this._renderer.addClass(scrollDiv, CLASS_NAME.SCROLLBAR_MEASURER);\n this._renderer.appendChild(document.body, scrollDiv);\n const scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n this._renderer.removeChild(document.body, scrollDiv);\n\n return scrollbarWidth;\n }\n\n private _createLoaders(): void {\n const loader = this.clf.createLoader<ModalContainerComponent>(\n null,\n null,\n null\n );\n this.copyEvent(loader.onBeforeShow, this.onShow);\n this.copyEvent(loader.onShown, this.onShown);\n this.copyEvent(loader.onBeforeHide, this.onHide);\n this.copyEvent(loader.onHidden, this.onHidden);\n this.loaders.push(loader);\n }\n\n private removeLoaders(id?: number): void {\n if (id != null) {\n const indexToRemove = this.loaders.findIndex(loader => loader.instance.config.id === id);\n if (indexToRemove >= 0) {\n this.loaders.splice(indexToRemove, 1);\n this.loaders.forEach(\n (loader: ComponentLoader<ModalContainerComponent>, i: number) => {\n loader.instance.level = i + 1;\n }\n );\n }\n } else {\n this.loaders.splice(0, this.loaders.length);\n }\n }\n\n // tslint:disable-next-line:no-any\n private copyEvent(from: EventEmitter<any>, to: EventEmitter<any>) {\n from.subscribe((data: any) => {\n to.emit(this.lastDismissReason || data);\n });\n }\n}\n","import { NgModule, ModuleWithProviders } from '@angular/core';\n\nimport { ModalBackdropComponent } from './modal-backdrop.component';\nimport { ModalDirective } from './modal.directive';\nimport { PositioningService } from 'ngx-bootstrap/positioning';\nimport { ComponentLoaderFactory } from 'ngx-bootstrap/component-loader';\nimport { ModalContainerComponent } from './modal-container.component';\nimport { BsModalService } from './bs-modal.service';\n\n@NgModule({\n declarations: [\n ModalBackdropComponent,\n ModalDirective,\n ModalContainerComponent\n ],\n exports: [ModalBackdropComponent, ModalDirective],\n entryComponents: [ModalBackdropComponent, ModalContainerComponent]\n})\nexport class ModalModule {\n static forRoot(): ModuleWithProviders<ModalModule> {\n return {\n ngModule: ModalModule,\n providers: [BsModalService, ComponentLoaderFactory, PositioningService]\n };\n }\n static forChild(): ModuleWithProviders<ModalModule> {\n return {\n ngModule: ModalModule,\n providers: [BsModalService, ComponentLoaderFactory, PositioningService]\n };\n }\n}\n"],"names":["document","window"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { StaticProvider, InjectionToken } from '@angular/core';
2
2
  import { ClassName, DismissReasons, Selector, TransitionDurations } from './models';
3
- export declare class ModalOptions {
3
+ export declare class ModalOptions<T = Object> {
4
4
  /**
5
5
  * Allow user to ID for the modal. Otherwise, a unique number will be given
6
6
  */
@@ -34,7 +34,7 @@ export declare class ModalOptions {
34
34
  /**
35
35
  * Modal data
36
36
  */
37
- initialState?: Object;
37
+ initialState?: Partial<T>;
38
38
  /**
39
39
  * Modal providers
40
40
  */
@@ -19,4 +19,5 @@ export interface TransitionDurations {
19
19
  export interface DismissReasons {
20
20
  BACKRDOP: string;
21
21
  ESC: string;
22
+ BACK: string;
22
23
  }
@@ -2,4 +2,4 @@
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
4
  export * from './public_api';
5
- export { CLASS_NAME as ɵb, MODAL_CONFIG_DEFAULT_OVERRIDE as ɵa } from './modal-options.class';
5
+ export { CLASS_NAME as ɵa } from './modal-options.class';
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"BsModalRef":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1}}],"members":{}},"ModalBackdropOptions":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ModalBackdropOptions"}]}]}},"ModalContainerComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":17,"character":1},"arguments":[{"selector":"modal-container","template":"\n <div [class]=\"'modal-dialog' + (config.class ? ' ' + config.class : '')\" role=\"document\">\n <div class=\"modal-content\">\n <ng-content></ng-content>\n </div>\n </div>\n ","host":{"class":"modal","role":"dialog","tabindex":"-1","[attr.aria-modal]":"true","[attr.aria-labelledby]":"config.ariaLabelledBy","[attr.aria-describedby]":"config.ariaDescribedby","$quoted$":["[attr.aria-modal]","[attr.aria-labelledby]","[attr.aria-describedby]"]}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ModalOptions"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":45,"character":34},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":46,"character":33}]}],"ngOnInit":[{"__symbolic":"method"}],"onClickStarted":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":81,"character":3},"arguments":["mousedown",["$event"]]}]}],"onClickStop":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":86,"character":3},"arguments":["mouseup",["$event"]]}]}],"onPopState":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":102,"character":3},"arguments":["window:popstate"]}]}],"onEsc":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":107,"character":3},"arguments":["window:keydown.esc",["$event"]]}]}],"ngOnDestroy":[{"__symbolic":"method"}],"hide":[{"__symbolic":"method"}]}},"ModalBackdropComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"bs-modal-backdrop","template":" ","host":{"class":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵb"},"member":"BACKDROP"}}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":60,"character":23},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":60,"character":45}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵa":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":67,"character":6},"arguments":["override-default-config"]},"ɵb":{"SCROLLBAR_MEASURER":"modal-scrollbar-measure","BACKDROP":"modal-backdrop","OPEN":"modal-open","FADE":"fade","IN":"in","SHOW":"show"},"ModalOptions":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1}}],"members":{}},"ModalDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":21,"character":1},"arguments":[{"selector":"[bsModal]","exportAs":"bs-modal"}]}],"members":{"config":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"onShow":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":37,"character":3}}]}],"onShown":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":42,"character":3}}]}],"onHide":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":47,"character":3}}]}],"onHidden":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":52,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":87,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":87,"character":17},"arguments":[{"__symbolic":"reference","name":"ɵa"}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":83,"character":22},{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":84,"character":23},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":85,"character":23},{"__symbolic":"reference","module":"ngx-bootstrap/component-loader","name":"ComponentLoaderFactory","line":86,"character":9},{"__symbolic":"reference","name":"ModalOptions"}]}],"onClickStarted":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":96,"character":3},"arguments":["mousedown",["$event"]]}]}],"onClickStop":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":101,"character":3},"arguments":["mouseup",["$event"]]}]}],"onEsc":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":118,"character":3},"arguments":["keydown.esc",["$event"]]}]}],"ngOnDestroy":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"toggle":[{"__symbolic":"method"}],"show":[{"__symbolic":"method"}],"hide":[{"__symbolic":"method"}],"getConfig":[{"__symbolic":"method"}],"showElement":[{"__symbolic":"method"}],"hideModal":[{"__symbolic":"method"}],"showBackdrop":[{"__symbolic":"method"}],"removeBackdrop":[{"__symbolic":"method"}],"focusOtherModal":[{"__symbolic":"method"}],"resetAdjustments":[{"__symbolic":"method"}],"checkScrollbar":[{"__symbolic":"method"}],"setScrollbar":[{"__symbolic":"method"}],"resetScrollbar":[{"__symbolic":"method"}],"getScrollbarWidth":[{"__symbolic":"method"}]}},"ModalModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":9,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ModalBackdropComponent"},{"__symbolic":"reference","name":"ModalDirective"},{"__symbolic":"reference","name":"ModalContainerComponent"}],"exports":[{"__symbolic":"reference","name":"ModalBackdropComponent"},{"__symbolic":"reference","name":"ModalDirective"}],"entryComponents":[{"__symbolic":"reference","name":"ModalBackdropComponent"},{"__symbolic":"reference","name":"ModalContainerComponent"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"ModalModule"},"providers":[{"__symbolic":"reference","name":"BsModalService"},{"__symbolic":"reference","module":"ngx-bootstrap/component-loader","name":"ComponentLoaderFactory","line":22,"character":34},{"__symbolic":"reference","module":"ngx-bootstrap/positioning","name":"PositioningService","line":22,"character":58}]}},"forChild":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"ModalModule"},"providers":[{"__symbolic":"reference","name":"BsModalService"},{"__symbolic":"reference","module":"ngx-bootstrap/component-loader","name":"ComponentLoaderFactory","line":28,"character":34},{"__symbolic":"reference","module":"ngx-bootstrap/positioning","name":"PositioningService","line":28,"character":58}]}}}},"BsModalService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":23,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":54,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":54,"character":17},"arguments":[{"__symbolic":"reference","name":"ɵa"}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"RendererFactory2","line":52,"character":21},{"__symbolic":"reference","module":"ngx-bootstrap/component-loader","name":"ComponentLoaderFactory","line":53,"character":17},{"__symbolic":"reference","name":"ModalOptions"}]}],"show":[{"__symbolic":"method"}],"hide":[{"__symbolic":"method"}],"_showBackdrop":[{"__symbolic":"method"}],"_hideBackdrop":[{"__symbolic":"method"}],"_showModal":[{"__symbolic":"method"}],"_hideModal":[{"__symbolic":"method"}],"getModalsCount":[{"__symbolic":"method"}],"setDismissReason":[{"__symbolic":"method"}],"removeBackdrop":[{"__symbolic":"method"}],"checkScrollbar":[{"__symbolic":"method"}],"setScrollbar":[{"__symbolic":"method"}],"resetScrollbar":[{"__symbolic":"method"}],"getScrollbarWidth":[{"__symbolic":"method"}],"_createLoaders":[{"__symbolic":"method"}],"removeLoaders":[{"__symbolic":"method"}],"copyEvent":[{"__symbolic":"method"}]}}},"origins":{"BsModalRef":"./bs-modal-ref.service","ModalBackdropOptions":"./modal-backdrop.options","ModalContainerComponent":"./modal-container.component","ModalBackdropComponent":"./modal-backdrop.component","ɵa":"./modal-options.class","ɵb":"./modal-options.class","ModalOptions":"./modal-options.class","ModalDirective":"./modal.directive","ModalModule":"./modal.module","BsModalService":"./bs-modal.service"},"importAs":"ngx-bootstrap/modal"}
1
+ {"__symbolic":"module","version":4,"metadata":{"BsModalRef":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":2,"character":1}}],"members":{}},"ModalBackdropOptions":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ModalBackdropOptions"}]}]}},"ModalContainerComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":17,"character":1},"arguments":[{"selector":"modal-container","template":"\n <div [class]=\"'modal-dialog' + (config.class ? ' ' + config.class : '')\" role=\"document\">\n <div class=\"modal-content\">\n <ng-content></ng-content>\n </div>\n </div>\n ","host":{"class":"modal","role":"dialog","tabindex":"-1","[attr.aria-modal]":"true","[attr.aria-labelledby]":"config.ariaLabelledBy","[attr.aria-describedby]":"config.ariaDescribedby","$quoted$":["[attr.aria-modal]","[attr.aria-labelledby]","[attr.aria-describedby]"]}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ModalOptions"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":45,"character":34},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":46,"character":33}]}],"ngOnInit":[{"__symbolic":"method"}],"onClickStarted":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":81,"character":3},"arguments":["mousedown",["$event"]]}]}],"onClickStop":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":86,"character":3},"arguments":["mouseup",["$event"]]}]}],"onPopState":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":102,"character":3},"arguments":["window:popstate"]}]}],"onEsc":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":108,"character":3},"arguments":["window:keydown.esc",["$event"]]}]}],"ngOnDestroy":[{"__symbolic":"method"}],"hide":[{"__symbolic":"method"}]}},"ModalBackdropComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"bs-modal-backdrop","template":" ","host":{"class":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵa"},"member":"BACKDROP"}}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":60,"character":23},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":60,"character":45}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵa":{"SCROLLBAR_MEASURER":"modal-scrollbar-measure","BACKDROP":"modal-backdrop","OPEN":"modal-open","FADE":"fade","IN":"in","SHOW":"show"},"ModalOptions":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1}}],"members":{}},"MODAL_CONFIG_DEFAULT_OVERRIDE":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":66,"character":6},"arguments":["override-default-config"]},"ModalDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":21,"character":1},"arguments":[{"selector":"[bsModal]","exportAs":"bs-modal"}]}],"members":{"config":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"onShow":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":37,"character":3}}]}],"onShown":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":42,"character":3}}]}],"onHide":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":47,"character":3}}]}],"onHidden":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":52,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":87,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":87,"character":17},"arguments":[{"__symbolic":"reference","name":"MODAL_CONFIG_DEFAULT_OVERRIDE"}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":83,"character":22},{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":84,"character":23},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":85,"character":23},{"__symbolic":"reference","module":"ngx-bootstrap/component-loader","name":"ComponentLoaderFactory","line":86,"character":9},{"__symbolic":"reference","name":"ModalOptions"}]}],"onClickStarted":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":96,"character":3},"arguments":["mousedown",["$event"]]}]}],"onClickStop":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":101,"character":3},"arguments":["mouseup",["$event"]]}]}],"onEsc":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":118,"character":3},"arguments":["keydown.esc",["$event"]]}]}],"ngOnDestroy":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"toggle":[{"__symbolic":"method"}],"show":[{"__symbolic":"method"}],"hide":[{"__symbolic":"method"}],"getConfig":[{"__symbolic":"method"}],"showElement":[{"__symbolic":"method"}],"hideModal":[{"__symbolic":"method"}],"showBackdrop":[{"__symbolic":"method"}],"removeBackdrop":[{"__symbolic":"method"}],"focusOtherModal":[{"__symbolic":"method"}],"resetAdjustments":[{"__symbolic":"method"}],"checkScrollbar":[{"__symbolic":"method"}],"setScrollbar":[{"__symbolic":"method"}],"resetScrollbar":[{"__symbolic":"method"}],"getScrollbarWidth":[{"__symbolic":"method"}]}},"ModalModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":9,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ModalBackdropComponent"},{"__symbolic":"reference","name":"ModalDirective"},{"__symbolic":"reference","name":"ModalContainerComponent"}],"exports":[{"__symbolic":"reference","name":"ModalBackdropComponent"},{"__symbolic":"reference","name":"ModalDirective"}],"entryComponents":[{"__symbolic":"reference","name":"ModalBackdropComponent"},{"__symbolic":"reference","name":"ModalContainerComponent"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"ModalModule"},"providers":[{"__symbolic":"reference","name":"BsModalService"},{"__symbolic":"reference","module":"ngx-bootstrap/component-loader","name":"ComponentLoaderFactory","line":22,"character":34},{"__symbolic":"reference","module":"ngx-bootstrap/positioning","name":"PositioningService","line":22,"character":58}]}},"forChild":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"ModalModule"},"providers":[{"__symbolic":"reference","name":"BsModalService"},{"__symbolic":"reference","module":"ngx-bootstrap/component-loader","name":"ComponentLoaderFactory","line":28,"character":34},{"__symbolic":"reference","module":"ngx-bootstrap/positioning","name":"PositioningService","line":28,"character":58}]}}}},"BsModalService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":23,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":54,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":54,"character":17},"arguments":[{"__symbolic":"reference","name":"MODAL_CONFIG_DEFAULT_OVERRIDE"}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"RendererFactory2","line":52,"character":21},{"__symbolic":"reference","module":"ngx-bootstrap/component-loader","name":"ComponentLoaderFactory","line":53,"character":17},{"__symbolic":"reference","name":"ModalOptions"}]}],"show":[{"__symbolic":"method"}],"hide":[{"__symbolic":"method"}],"_showBackdrop":[{"__symbolic":"method"}],"_hideBackdrop":[{"__symbolic":"method"}],"_showModal":[{"__symbolic":"method"}],"_hideModal":[{"__symbolic":"method"}],"getModalsCount":[{"__symbolic":"method"}],"setDismissReason":[{"__symbolic":"method"}],"removeBackdrop":[{"__symbolic":"method"}],"checkScrollbar":[{"__symbolic":"method"}],"setScrollbar":[{"__symbolic":"method"}],"resetScrollbar":[{"__symbolic":"method"}],"getScrollbarWidth":[{"__symbolic":"method"}],"_createLoaders":[{"__symbolic":"method"}],"removeLoaders":[{"__symbolic":"method"}],"copyEvent":[{"__symbolic":"method"}]}}},"origins":{"BsModalRef":"./bs-modal-ref.service","ModalBackdropOptions":"./modal-backdrop.options","ModalContainerComponent":"./modal-container.component","ModalBackdropComponent":"./modal-backdrop.component","ɵa":"./modal-options.class","ModalOptions":"./modal-options.class","MODAL_CONFIG_DEFAULT_OVERRIDE":"./modal-options.class","ModalDirective":"./modal.directive","ModalModule":"./modal.module","BsModalService":"./bs-modal.service"},"importAs":"ngx-bootstrap/modal"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ngx-bootstrap/modal",
3
- "version": "6.1.0",
3
+ "version": "6.2.0",
4
4
  "description": "Native Angular Bootstrap Components",
5
5
  "private": true,
6
6
  "main": "bundles/ngx-bootstrap-modal.umd.js",
@@ -2,7 +2,7 @@ export { BsModalRef } from './bs-modal-ref.service';
2
2
  export { ModalBackdropOptions } from './modal-backdrop.options';
3
3
  export { ModalContainerComponent } from './modal-container.component';
4
4
  export { ModalBackdropComponent } from './modal-backdrop.component';
5
- export { ModalOptions } from './modal-options.class';
5
+ export { ModalOptions, MODAL_CONFIG_DEFAULT_OVERRIDE } from './modal-options.class';
6
6
  export { ModalDirective } from './modal.directive';
7
7
  export { ModalModule } from './modal.module';
8
8
  export { BsModalService } from './bs-modal.service';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "main": "bundles/ngx-bootstrap.umd.js",
3
- "version": "6.1.0",
3
+ "version": "6.2.0",
4
4
  "description": "Native Angular Bootstrap Components",
5
5
  "module": "esm5/ngx-bootstrap.js",
6
6
  "typings": "ngx-bootstrap.d.ts",
@@ -26,6 +26,6 @@
26
26
  "@angular/common": ">=7.0.0",
27
27
  "@angular/core": ">=7.0.0"
28
28
  },
29
- "_id": "ngx-bootstrap@6.1.0",
29
+ "_id": "ngx-bootstrap@6.2.0",
30
30
  "schematics": "./schematics/collection.json"
31
31
  }