ng-hub-ui-modal 22.1.2 → 22.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.
|
@@ -723,7 +723,7 @@ class HubModalWindow {
|
|
|
723
723
|
}
|
|
724
724
|
</div>
|
|
725
725
|
</div>
|
|
726
|
-
`, isInline: true, styles: ["@charset \"UTF-8\";body.hub-modal-open{overflow:hidden}.hub-modal{--hub-modal-z-index: var(--hub-sys-zindex-modal, 1055);--hub-modal-accent: var(--hub-sys-color-primary, #0d6efd);--hub-modal-accent-subtle: color-mix(in srgb, var(--hub-modal-accent) 8%, var(--hub-sys-surface-page, #ffffff));--hub-modal-accent-border: color-mix(in srgb, var(--hub-modal-accent) 35%, var(--hub-sys-surface-page, #ffffff));--hub-modal-accent-bar-width: var(--hub-ref-space-1, .25rem);--hub-modal-width: auto;--hub-modal-max-width: 500px;--hub-modal-margin-y: 1.75rem;--hub-modal-margin-x: auto;--hub-modal-margin-top: var(--hub-modal-margin-y, 1.75rem);--hub-modal-margin-right: var(--hub-modal-margin-x, auto);--hub-modal-margin-bottom: var(--hub-modal-margin-y, 1.75rem);--hub-modal-margin-left: var(--hub-modal-margin-x, auto);--hub-modal-margin-block: calc( var(--hub-modal-margin-top, 1.75rem) + var(--hub-modal-margin-bottom, 1.75rem) );--hub-modal-margin: var(--hub-modal-margin-top) var(--hub-modal-margin-right) var(--hub-modal-margin-bottom) var(--hub-modal-margin-left);--hub-modal-placement-start-margin-top: var( --hub-modal-margin-top, 1.75rem );--hub-modal-placement-start-margin-right: auto;--hub-modal-placement-start-margin-bottom: var( --hub-modal-margin-bottom, 1.75rem );--hub-modal-placement-start-margin-left: 0;--hub-modal-placement-start-margin-block: calc( var(--hub-modal-placement-start-margin-top, 1.75rem) + var(--hub-modal-placement-start-margin-bottom, 1.75rem) );--hub-modal-placement-start-margin: var( --hub-modal-placement-start-margin-top ) var(--hub-modal-placement-start-margin-right) var(--hub-modal-placement-start-margin-bottom) var(--hub-modal-placement-start-margin-left);--hub-modal-placement-end-margin-top: var(--hub-modal-margin-top, 1.75rem);--hub-modal-placement-end-margin-right: 0;--hub-modal-placement-end-margin-bottom: var( --hub-modal-margin-bottom, 1.75rem );--hub-modal-placement-end-margin-left: auto;--hub-modal-placement-end-margin-block: calc( var(--hub-modal-placement-end-margin-top, 1.75rem) + var(--hub-modal-placement-end-margin-bottom, 1.75rem) );--hub-modal-placement-end-margin: var(--hub-modal-placement-end-margin-top) var(--hub-modal-placement-end-margin-right) var(--hub-modal-placement-end-margin-bottom) var(--hub-modal-placement-end-margin-left);--hub-modal-placement-top-margin-top: 0;--hub-modal-placement-top-margin-right: auto;--hub-modal-placement-top-margin-bottom: 0;--hub-modal-placement-top-margin-left: auto;--hub-modal-placement-top-margin-block: calc( var(--hub-modal-placement-top-margin-top, 0px) + var(--hub-modal-placement-top-margin-bottom, 0px) );--hub-modal-placement-top-margin: var(--hub-modal-placement-top-margin-top) var(--hub-modal-placement-top-margin-right) var(--hub-modal-placement-top-margin-bottom) var(--hub-modal-placement-top-margin-left);--hub-modal-placement-bottom-margin-top: 0;--hub-modal-placement-bottom-margin-right: auto;--hub-modal-placement-bottom-margin-bottom: 0;--hub-modal-placement-bottom-margin-left: auto;--hub-modal-placement-bottom-margin-block: calc( var(--hub-modal-placement-bottom-margin-top, 0px) + var(--hub-modal-placement-bottom-margin-bottom, 0px) );--hub-modal-placement-bottom-margin: var( --hub-modal-placement-bottom-margin-top ) var(--hub-modal-placement-bottom-margin-right) var(--hub-modal-placement-bottom-margin-bottom) var(--hub-modal-placement-bottom-margin-left);--hub-modal-color: var(--hub-sys-text-primary, #212529);--hub-modal-bg: var(--hub-sys-surface-page, #ffffff);--hub-modal-border-color: var(--hub-sys-border-color-default, #dee2e6);--hub-modal-border-width: var(--hub-ref-border-width, 1px);--hub-modal-border-radius: var(--hub-ref-radius-lg, .5rem);--hub-modal-placement-start-border-radius: 0 var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem)) var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem)) 0;--hub-modal-placement-end-border-radius: var( --hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem) ) 0 0 var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem));--hub-modal-placement-top-border-radius: 0 0 var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem)) var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem));--hub-modal-placement-bottom-border-radius: var( --hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem) ) var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem)) 0 0;--hub-modal-inner-border-radius: calc( var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem)) - var( --hub-modal-border-width, var(--hub-ref-border-width, 1px) ) );--hub-modal-box-shadow: var(--hub-sys-shadow-lg, 0 1rem 3rem rgba(0, 0, 0, .175));--hub-modal-padding-x: var(--hub-ref-space-3, 1rem);--hub-modal-padding-y: var(--hub-ref-space-3, 1rem);--hub-modal-header-padding-x: var(--hub-modal-padding-x);--hub-modal-header-padding-y: var(--hub-modal-padding-y);--hub-modal-header-gap: var(--hub-ref-space-2, .5rem);--hub-modal-header-border-color: var(--hub-sys-border-color-default, #dee2e6);--hub-modal-header-border-width: var(--hub-ref-border-width, 1px);--hub-modal-title-font-size: var(--hub-ref-font-size-lg, 1.25rem);--hub-modal-title-font-weight: var(--hub-ref-font-weight-medium, 500);--hub-modal-title-line-height: var(--hub-ref-line-height-base, 1.5);--hub-modal-title-margin-x: 0;--hub-modal-title-margin-y: 0;--hub-modal-title-color: var(--hub-modal-color, var(--hub-sys-text-primary, #212529));--hub-modal-body-padding-x: var(--hub-modal-padding-x);--hub-modal-body-padding-y: var(--hub-modal-padding-y);--hub-modal-footer-padding-x: var(--hub-modal-padding-x);--hub-modal-footer-padding-y: var(--hub-modal-padding-y);--hub-modal-footer-gap: var(--hub-ref-space-2, .5rem);--hub-modal-footer-bg: var(--hub-modal-bg, var(--hub-sys-surface-page, #ffffff));--hub-modal-footer-border-color: var(--hub-sys-border-color-default, #dee2e6);--hub-modal-footer-border-width: var(--hub-ref-border-width, 1px);--hub-modal-close-color: var(--hub-sys-text-primary, #212529);--hub-modal-close-size: var(--hub-ref-font-size-lg, 1.25rem);--hub-modal-close-line-height: 1;--hub-modal-close-padding-x: 0;--hub-modal-close-padding-y: 0;--hub-modal-close-opacity: .5;--hub-modal-close-hover-opacity: .75;--hub-modal-backdrop-bg: var(--hub-ref-color-black, #000000);--hub-modal-backdrop-opacity: var(--hub-sys-opacity-50, .5);--hub-modal-backdrop-opacity-hidden: var(--hub-sys-opacity-0, 0);--hub-modal-backdrop-transition: opacity .15s linear;--hub-modal-fade-transform: translate(0, -50px);--hub-modal-show-transform: none;--hub-modal-transition: var(--hub-sys-transition-base, all .2s ease-in-out);--hub-modal-scale-transform: scale(1.02);--hub-modal-backdrop-z-index: calc(var(--hub-modal-z-index, var(--hub-sys-zindex-modal, 1055)) - 1);position:fixed;inset:0;display:block;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0;pointer-events:auto;z-index:var(--hub-modal-z-index, var(--hub-sys-zindex-modal, 1055));color:var(--hub-modal-color, var(--hub-sys-text-primary, #212529))}.hub-modal--placement-top,.hub-modal--placement-bottom{display:flex;justify-content:center}.hub-modal--placement-top{align-items:flex-start}.hub-modal--placement-bottom{align-items:flex-end}.hub-modal__dialog{position:relative;width:var(--hub-modal-width, auto);max-width:var(--hub-modal-max-width, 500px);margin:var(--hub-modal-margin, 1.75rem auto);pointer-events:none}.hub-modal__dialog--sm{--hub-modal-max-width: 300px}.hub-modal__dialog--lg{--hub-modal-max-width: 800px}.hub-modal__dialog--xl{--hub-modal-max-width: 1140px}.hub-modal__dialog--centered,.hub-modal__dialog--centered-vertical{display:flex;align-items:center;min-height:calc(100% - var(--hub-modal-margin-block, 3.5rem))}.hub-modal__dialog--placement-start{margin:var(--hub-modal-placement-start-margin, var(--hub-modal-margin-top, 1.75rem) auto var(--hub-modal-margin-bottom, 1.75rem) 0);--hub-modal-fade-transform: translateX(-100%)}.hub-modal__dialog--placement-end{margin:var(--hub-modal-placement-end-margin, var(--hub-modal-margin-top, 1.75rem) 0 var(--hub-modal-margin-bottom, 1.75rem) auto);--hub-modal-fade-transform: translateX(100%)}.hub-modal__dialog--placement-top{margin:var(--hub-modal-placement-top-margin, 0 auto 0 auto);--hub-modal-fade-transform: translateY(-100%)}.hub-modal__dialog--placement-bottom{margin:var(--hub-modal-placement-bottom-margin, 0 auto 0 auto);--hub-modal-fade-transform: translateY(100%)}.hub-modal__dialog--scrollable{display:flex;max-height:calc(100% - var(--hub-modal-margin-block, 3.5rem))}.hub-modal .hub-modal__dialog--placement-start.hub-modal__dialog--centered-vertical{min-height:calc(100% - var(--hub-modal-placement-start-margin-block, 3.5rem))}.hub-modal .hub-modal__dialog--placement-end.hub-modal__dialog--centered-vertical{min-height:calc(100% - var(--hub-modal-placement-end-margin-block, 3.5rem))}.hub-modal .hub-modal__dialog--placement-start.hub-modal__dialog--scrollable{max-height:calc(100% - var(--hub-modal-placement-start-margin-block, 3.5rem))}.hub-modal .hub-modal__dialog--placement-end.hub-modal__dialog--scrollable{max-height:calc(100% - var(--hub-modal-placement-end-margin-block, 3.5rem))}.hub-modal .hub-modal__dialog--placement-top.hub-modal__dialog--scrollable{max-height:calc(100% - var(--hub-modal-placement-top-margin-block, 0px))}.hub-modal .hub-modal__dialog--placement-bottom.hub-modal__dialog--scrollable{max-height:calc(100% - var(--hub-modal-placement-bottom-margin-block, 0px))}.hub-modal__content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;outline:0;color:var(--hub-modal-color, var(--hub-sys-text-primary, #212529));background-color:var(--hub-modal-bg, var(--hub-sys-surface-page, #ffffff));border:var(--hub-modal-border-width, var(--hub-ref-border-width, 1px)) solid var(--hub-modal-border-color, var(--hub-sys-border-color-default, #dee2e6));border-radius:var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem));box-shadow:var(--hub-modal-box-shadow, var(--hub-sys-shadow-lg, 0 1rem 3rem rgba(0, 0, 0, .175)))}.hub-modal__dialog--scrollable .hub-modal__content{max-height:100%;overflow:hidden}.hub-modal__dialog--placement-start .hub-modal__content{border-radius:var(--hub-modal-placement-start-border-radius)}.hub-modal__dialog--placement-end .hub-modal__content{border-radius:var(--hub-modal-placement-end-border-radius)}.hub-modal__dialog--placement-top .hub-modal__content{border-radius:var(--hub-modal-placement-top-border-radius)}.hub-modal__dialog--placement-bottom .hub-modal__content{border-radius:var(--hub-modal-placement-bottom-border-radius)}.hub-modal--primary{--hub-modal-accent: var(--hub-sys-color-primary, var(--hub-modal-accent));--hub-modal-bg: var(--hub-modal-accent-subtle);--hub-modal-border-color: var(--hub-modal-accent-border);--hub-modal-header-border-color: var(--hub-modal-accent-border);--hub-modal-footer-border-color: var(--hub-modal-accent-border);--hub-modal-title-color: var(--hub-modal-accent)}.hub-modal--primary .hub-modal__content{border-top:var(--hub-modal-accent-bar-width, .25rem) solid var(--hub-modal-accent)}.hub-modal--success{--hub-modal-accent: var(--hub-sys-color-success, var(--hub-modal-accent));--hub-modal-bg: var(--hub-modal-accent-subtle);--hub-modal-border-color: var(--hub-modal-accent-border);--hub-modal-header-border-color: var(--hub-modal-accent-border);--hub-modal-footer-border-color: var(--hub-modal-accent-border);--hub-modal-title-color: var(--hub-modal-accent)}.hub-modal--success .hub-modal__content{border-top:var(--hub-modal-accent-bar-width, .25rem) solid var(--hub-modal-accent)}.hub-modal--danger{--hub-modal-accent: var(--hub-sys-color-danger, var(--hub-modal-accent));--hub-modal-bg: var(--hub-modal-accent-subtle);--hub-modal-border-color: var(--hub-modal-accent-border);--hub-modal-header-border-color: var(--hub-modal-accent-border);--hub-modal-footer-border-color: var(--hub-modal-accent-border);--hub-modal-title-color: var(--hub-modal-accent)}.hub-modal--danger .hub-modal__content{border-top:var(--hub-modal-accent-bar-width, .25rem) solid var(--hub-modal-accent)}.hub-modal--warning{--hub-modal-accent: var(--hub-sys-color-warning, var(--hub-modal-accent));--hub-modal-bg: var(--hub-modal-accent-subtle);--hub-modal-border-color: var(--hub-modal-accent-border);--hub-modal-header-border-color: var(--hub-modal-accent-border);--hub-modal-footer-border-color: var(--hub-modal-accent-border);--hub-modal-title-color: var(--hub-modal-accent)}.hub-modal--warning .hub-modal__content{border-top:var(--hub-modal-accent-bar-width, .25rem) solid var(--hub-modal-accent)}.hub-modal--info{--hub-modal-accent: var(--hub-sys-color-info, var(--hub-modal-accent));--hub-modal-bg: var(--hub-modal-accent-subtle);--hub-modal-border-color: var(--hub-modal-accent-border);--hub-modal-header-border-color: var(--hub-modal-accent-border);--hub-modal-footer-border-color: var(--hub-modal-accent-border);--hub-modal-title-color: var(--hub-modal-accent)}.hub-modal--info .hub-modal__content{border-top:var(--hub-modal-accent-bar-width, .25rem) solid var(--hub-modal-accent)}.hub-modal__header{display:flex;align-items:center;gap:var(--hub-modal-header-gap, var(--hub-ref-space-2, .5rem));padding:var(--hub-modal-header-padding-y, var(--hub-ref-space-3, 1rem)) var(--hub-modal-header-padding-x, var(--hub-ref-space-3, 1rem));border-bottom:var(--hub-modal-header-border-width, var(--hub-ref-border-width, 1px)) solid var(--hub-modal-header-border-color, var(--hub-sys-border-color-default, #dee2e6));border-top-left-radius:var(--hub-modal-inner-border-radius, calc(var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem)) - var(--hub-modal-border-width, var(--hub-ref-border-width, 1px))));border-top-right-radius:var(--hub-modal-inner-border-radius, calc(var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem)) - var(--hub-modal-border-width, var(--hub-ref-border-width, 1px))))}.hub-modal__header .modal-title{color:var(--hub-modal-title-color, var(--hub-modal-color, var(--hub-sys-text-primary, #212529)));font-size:var(--hub-modal-title-font-size, var(--hub-ref-font-size-lg, 1.25rem));font-weight:var(--hub-modal-title-font-weight, var(--hub-ref-font-weight-medium, 500));line-height:var(--hub-modal-title-line-height, var(--hub-ref-line-height-base, 1.5));margin:var(--hub-modal-title-margin-y, 0) var(--hub-modal-title-margin-x, 0)}.hub-modal__body{position:relative;flex:1 1 auto;padding:var(--hub-modal-body-padding-y, var(--hub-ref-space-3, 1rem)) var(--hub-modal-body-padding-x, var(--hub-ref-space-3, 1rem))}.hub-modal__dialog--scrollable .hub-modal__body{overflow-y:auto}.hub-modal__footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--hub-modal-footer-gap, var(--hub-ref-space-2, .5rem));padding:var(--hub-modal-footer-padding-y, var(--hub-ref-space-3, 1rem)) var(--hub-modal-footer-padding-x, var(--hub-ref-space-3, 1rem));color:var(--hub-modal-color, var(--hub-sys-text-primary, #212529));background-color:var(--hub-modal-footer-bg, var(--hub-modal-bg, var(--hub-sys-surface-page, #ffffff)));border-top:var(--hub-modal-footer-border-width, var(--hub-ref-border-width, 1px)) solid var(--hub-modal-footer-border-color, var(--hub-sys-border-color-default, #dee2e6));border-bottom-right-radius:var(--hub-modal-inner-border-radius, calc(var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem)) - var(--hub-modal-border-width, var(--hub-ref-border-width, 1px))));border-bottom-left-radius:var(--hub-modal-inner-border-radius, calc(var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem)) - var(--hub-modal-border-width, var(--hub-ref-border-width, 1px))))}.hub-modal__close{margin-left:auto;padding:var(--hub-modal-close-padding-y, 0) var(--hub-modal-close-padding-x, 0);font-size:var(--hub-modal-close-size, var(--hub-ref-font-size-lg, 1.25rem));line-height:var(--hub-modal-close-line-height, 1);background:transparent;border:0;cursor:pointer;color:var(--hub-modal-close-color, var(--hub-sys-text-primary, #212529));opacity:var(--hub-modal-close-opacity, .5)}.hub-modal__close:before{content:\"\\d7\"}.hub-modal__close:hover,.hub-modal__close:focus{opacity:var(--hub-modal-close-hover-opacity, .75)}.hub-modal.fade .hub-modal__dialog{transform:var(--hub-modal-fade-transform, translate(0, -50px));transition:var(--hub-modal-transition, var(--hub-sys-transition-base, all .2s ease-in-out))}.hub-modal.show .hub-modal__dialog{transform:var(--hub-modal-show-transform, none)}.hub-modal.hub-modal--static .hub-modal__dialog{transform:var(--hub-modal-scale-transform, scale(1.02))}.hub-modal__dialog--fullscreen{width:100%;max-width:100%;height:100%;max-height:100%;margin:0}.hub-modal__dialog--fullscreen .hub-modal__content{height:100%;border:0;border-radius:0;display:flex;flex-direction:column}.hub-modal__dialog--fullscreen .hub-modal__body{flex:1 1 auto;min-height:0;overflow-y:auto}@media(max-width:575.98px){.hub-modal__dialog--fullscreen-sm-down{width:100%;max-width:100%;height:100%;max-height:100%;margin:0}.hub-modal__dialog--fullscreen-sm-down .hub-modal__content{height:100%;border:0;border-radius:0;display:flex;flex-direction:column}.hub-modal__dialog--fullscreen-sm-down .hub-modal__body{flex:1 1 auto;min-height:0;overflow-y:auto}}@media(max-width:767.98px){.hub-modal__dialog--fullscreen-md-down{width:100%;max-width:100%;height:100%;max-height:100%;margin:0}.hub-modal__dialog--fullscreen-md-down .hub-modal__content{height:100%;border:0;border-radius:0;display:flex;flex-direction:column}.hub-modal__dialog--fullscreen-md-down .hub-modal__body{flex:1 1 auto;min-height:0;overflow-y:auto}}@media(max-width:991.98px){.hub-modal__dialog--fullscreen-lg-down{width:100%;max-width:100%;height:100%;max-height:100%;margin:0}.hub-modal__dialog--fullscreen-lg-down .hub-modal__content{height:100%;border:0;border-radius:0;display:flex;flex-direction:column}.hub-modal__dialog--fullscreen-lg-down .hub-modal__body{flex:1 1 auto;min-height:0;overflow-y:auto}}@media(max-width:1199.98px){.hub-modal__dialog--fullscreen-xl-down{width:100%;max-width:100%;height:100%;max-height:100%;margin:0}.hub-modal__dialog--fullscreen-xl-down .hub-modal__content{height:100%;border:0;border-radius:0;display:flex;flex-direction:column}.hub-modal__dialog--fullscreen-xl-down .hub-modal__body{flex:1 1 auto;min-height:0;overflow-y:auto}}@media(max-width:1399.98px){.hub-modal__dialog--fullscreen-xxl-down{width:100%;max-width:100%;height:100%;max-height:100%;margin:0}.hub-modal__dialog--fullscreen-xxl-down .hub-modal__content{height:100%;border:0;border-radius:0;display:flex;flex-direction:column}.hub-modal__dialog--fullscreen-xxl-down .hub-modal__body{flex:1 1 auto;min-height:0;overflow-y:auto}}.hub-modal__backdrop{position:fixed;inset:0;opacity:var(--hub-modal-backdrop-opacity-hidden, var(--hub-sys-opacity-0, 0));z-index:var(--hub-modal-backdrop-z-index, 1054);background-color:var(--hub-modal-backdrop-bg, var(--hub-ref-color-black, #000000));pointer-events:none}.hub-modal__backdrop.fade{transition:var(--hub-modal-backdrop-transition, opacity .15s linear)}.hub-modal__backdrop.show{opacity:var(--hub-modal-backdrop-opacity, var(--hub-sys-opacity-50, .5))}\n"], encapsulation: i0.ViewEncapsulation.None });
|
|
726
|
+
`, isInline: true, styles: ["@charset \"UTF-8\";body.hub-modal-open{overflow:hidden}.hub-modal{--hub-modal-zindex: var(--hub-sys-zindex-modal, 1055);--hub-modal-accent: var(--hub-sys-color-primary, #0d6efd);--hub-modal-accent-emphasis: color-mix(in oklch, var(--hub-modal-accent) 80%, var(--hub-sys-color-ink, #212529));--hub-modal-accent-subtle: color-mix(in oklch, var(--hub-modal-accent) 12%, var(--hub-sys-surface-page, #ffffff));--hub-modal-accent-on: oklch(from var(--hub-modal-accent) clamp(0, (.62 - l) * 1000, 1) 0 h);--hub-modal-accent-border: color-mix(in oklch, var(--hub-modal-accent) 35%, var(--hub-sys-surface-page, #ffffff));--hub-modal-accent-bar-width: var(--hub-ref-space-1, .25rem);--hub-modal-width: auto;--hub-modal-max-width: 500px;--hub-modal-margin-y: 1.75rem;--hub-modal-margin-x: auto;--hub-modal-margin-top: var(--hub-modal-margin-y, 1.75rem);--hub-modal-margin-right: var(--hub-modal-margin-x, auto);--hub-modal-margin-bottom: var(--hub-modal-margin-y, 1.75rem);--hub-modal-margin-left: var(--hub-modal-margin-x, auto);--hub-modal-margin-block: calc( var(--hub-modal-margin-top, 1.75rem) + var(--hub-modal-margin-bottom, 1.75rem) );--hub-modal-margin: var(--hub-modal-margin-top) var(--hub-modal-margin-right) var(--hub-modal-margin-bottom) var(--hub-modal-margin-left);--hub-modal-placement-start-margin-top: var( --hub-modal-margin-top, 1.75rem );--hub-modal-placement-start-margin-right: auto;--hub-modal-placement-start-margin-bottom: var( --hub-modal-margin-bottom, 1.75rem );--hub-modal-placement-start-margin-left: 0;--hub-modal-placement-start-margin-block: calc( var(--hub-modal-placement-start-margin-top, 1.75rem) + var(--hub-modal-placement-start-margin-bottom, 1.75rem) );--hub-modal-placement-start-margin: var( --hub-modal-placement-start-margin-top ) var(--hub-modal-placement-start-margin-right) var(--hub-modal-placement-start-margin-bottom) var(--hub-modal-placement-start-margin-left);--hub-modal-placement-end-margin-top: var(--hub-modal-margin-top, 1.75rem);--hub-modal-placement-end-margin-right: 0;--hub-modal-placement-end-margin-bottom: var( --hub-modal-margin-bottom, 1.75rem );--hub-modal-placement-end-margin-left: auto;--hub-modal-placement-end-margin-block: calc( var(--hub-modal-placement-end-margin-top, 1.75rem) + var(--hub-modal-placement-end-margin-bottom, 1.75rem) );--hub-modal-placement-end-margin: var(--hub-modal-placement-end-margin-top) var(--hub-modal-placement-end-margin-right) var(--hub-modal-placement-end-margin-bottom) var(--hub-modal-placement-end-margin-left);--hub-modal-placement-top-margin-top: 0;--hub-modal-placement-top-margin-right: auto;--hub-modal-placement-top-margin-bottom: 0;--hub-modal-placement-top-margin-left: auto;--hub-modal-placement-top-margin-block: calc( var(--hub-modal-placement-top-margin-top, 0px) + var(--hub-modal-placement-top-margin-bottom, 0px) );--hub-modal-placement-top-margin: var(--hub-modal-placement-top-margin-top) var(--hub-modal-placement-top-margin-right) var(--hub-modal-placement-top-margin-bottom) var(--hub-modal-placement-top-margin-left);--hub-modal-placement-bottom-margin-top: 0;--hub-modal-placement-bottom-margin-right: auto;--hub-modal-placement-bottom-margin-bottom: 0;--hub-modal-placement-bottom-margin-left: auto;--hub-modal-placement-bottom-margin-block: calc( var(--hub-modal-placement-bottom-margin-top, 0px) + var(--hub-modal-placement-bottom-margin-bottom, 0px) );--hub-modal-placement-bottom-margin: var( --hub-modal-placement-bottom-margin-top ) var(--hub-modal-placement-bottom-margin-right) var(--hub-modal-placement-bottom-margin-bottom) var(--hub-modal-placement-bottom-margin-left);--hub-modal-color: var(--hub-sys-text-primary, #212529);--hub-modal-bg: var(--hub-sys-surface-page, #ffffff);--hub-modal-border-color: var(--hub-sys-border-color-default, #dee2e6);--hub-modal-border-width: var(--hub-ref-border-width, 1px);--hub-modal-border-radius: var(--hub-ref-radius-lg, .5rem);--hub-modal-placement-start-border-radius: 0 var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem)) var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem)) 0;--hub-modal-placement-end-border-radius: var( --hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem) ) 0 0 var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem));--hub-modal-placement-top-border-radius: 0 0 var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem)) var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem));--hub-modal-placement-bottom-border-radius: var( --hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem) ) var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem)) 0 0;--hub-modal-inner-border-radius: calc( var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem)) - var( --hub-modal-border-width, var(--hub-ref-border-width, 1px) ) );--hub-modal-box-shadow: var(--hub-sys-shadow-lg, 0 1rem 3rem rgba(0, 0, 0, .175));--hub-modal-padding-x: var(--hub-ref-space-3, 1rem);--hub-modal-padding-y: var(--hub-ref-space-3, 1rem);--hub-modal-header-padding-x: var(--hub-modal-padding-x);--hub-modal-header-padding-y: var(--hub-modal-padding-y);--hub-modal-header-gap: var(--hub-ref-space-2, .5rem);--hub-modal-header-border-color: var(--hub-sys-border-color-default, #dee2e6);--hub-modal-header-border-width: var(--hub-ref-border-width, 1px);--hub-modal-title-font-size: var(--hub-ref-font-size-lg, 1.25rem);--hub-modal-title-font-weight: var(--hub-ref-font-weight-medium, 500);--hub-modal-title-line-height: var(--hub-ref-line-height-base, 1.5);--hub-modal-title-margin-x: 0;--hub-modal-title-margin-y: 0;--hub-modal-title-color: var(--hub-modal-color, var(--hub-sys-text-primary, #212529));--hub-modal-body-padding-x: var(--hub-modal-padding-x);--hub-modal-body-padding-y: var(--hub-modal-padding-y);--hub-modal-footer-padding-x: var(--hub-modal-padding-x);--hub-modal-footer-padding-y: var(--hub-modal-padding-y);--hub-modal-footer-gap: var(--hub-ref-space-2, .5rem);--hub-modal-footer-bg: var(--hub-modal-bg, var(--hub-sys-surface-page, #ffffff));--hub-modal-footer-border-color: var(--hub-sys-border-color-default, #dee2e6);--hub-modal-footer-border-width: var(--hub-ref-border-width, 1px);--hub-modal-close-color: var(--hub-sys-text-primary, #212529);--hub-modal-close-size: var(--hub-ref-font-size-lg, 1.25rem);--hub-modal-close-line-height: 1;--hub-modal-close-padding-x: 0;--hub-modal-close-padding-y: 0;--hub-modal-close-opacity: .5;--hub-modal-close-hover-opacity: .75;--hub-modal-backdrop-bg: var(--hub-ref-color-black, #000000);--hub-modal-backdrop-opacity: var(--hub-sys-opacity-50, .5);--hub-modal-backdrop-opacity-hidden: var(--hub-sys-opacity-0, 0);--hub-modal-backdrop-transition: opacity .15s linear;--hub-modal-fade-transform: translate(0, -50px);--hub-modal-show-transform: none;--hub-modal-transition: var(--hub-sys-transition-base, all .2s ease-in-out);--hub-modal-scale-transform: scale(1.02);--hub-modal-backdrop-zindex: calc(var(--hub-modal-zindex, var(--hub-sys-zindex-modal, 1055)) - 1);position:fixed;inset:0;display:block;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0;pointer-events:auto;z-index:var(--hub-modal-zindex, var(--hub-sys-zindex-modal, 1055));color:var(--hub-modal-color, var(--hub-sys-text-primary, #212529))}.hub-modal--placement-top,.hub-modal--placement-bottom{display:flex;justify-content:center}.hub-modal--placement-top{align-items:flex-start}.hub-modal--placement-bottom{align-items:flex-end}.hub-modal__dialog{position:relative;width:var(--hub-modal-width, auto);max-width:var(--hub-modal-max-width, 500px);margin:var(--hub-modal-margin, 1.75rem auto);pointer-events:none}.hub-modal__dialog--sm{--hub-modal-max-width: 300px}.hub-modal__dialog--lg{--hub-modal-max-width: 800px}.hub-modal__dialog--xl{--hub-modal-max-width: 1140px}.hub-modal__dialog--centered,.hub-modal__dialog--centered-vertical{display:flex;align-items:center;min-height:calc(100% - var(--hub-modal-margin-block, 3.5rem))}.hub-modal__dialog--placement-start{margin:var(--hub-modal-placement-start-margin, var(--hub-modal-margin-top, 1.75rem) auto var(--hub-modal-margin-bottom, 1.75rem) 0);--hub-modal-fade-transform: translateX(-100%)}.hub-modal__dialog--placement-end{margin:var(--hub-modal-placement-end-margin, var(--hub-modal-margin-top, 1.75rem) 0 var(--hub-modal-margin-bottom, 1.75rem) auto);--hub-modal-fade-transform: translateX(100%)}.hub-modal__dialog--placement-top{margin:var(--hub-modal-placement-top-margin, 0 auto 0 auto);--hub-modal-fade-transform: translateY(-100%)}.hub-modal__dialog--placement-bottom{margin:var(--hub-modal-placement-bottom-margin, 0 auto 0 auto);--hub-modal-fade-transform: translateY(100%)}.hub-modal__dialog--scrollable{display:flex;max-height:calc(100% - var(--hub-modal-margin-block, 3.5rem))}.hub-modal .hub-modal__dialog--placement-start.hub-modal__dialog--centered-vertical{min-height:calc(100% - var(--hub-modal-placement-start-margin-block, 3.5rem))}.hub-modal .hub-modal__dialog--placement-end.hub-modal__dialog--centered-vertical{min-height:calc(100% - var(--hub-modal-placement-end-margin-block, 3.5rem))}.hub-modal .hub-modal__dialog--placement-start.hub-modal__dialog--scrollable{max-height:calc(100% - var(--hub-modal-placement-start-margin-block, 3.5rem))}.hub-modal .hub-modal__dialog--placement-end.hub-modal__dialog--scrollable{max-height:calc(100% - var(--hub-modal-placement-end-margin-block, 3.5rem))}.hub-modal .hub-modal__dialog--placement-top.hub-modal__dialog--scrollable{max-height:calc(100% - var(--hub-modal-placement-top-margin-block, 0px))}.hub-modal .hub-modal__dialog--placement-bottom.hub-modal__dialog--scrollable{max-height:calc(100% - var(--hub-modal-placement-bottom-margin-block, 0px))}.hub-modal__content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;outline:0;color:var(--hub-modal-color, var(--hub-sys-text-primary, #212529));background-color:var(--hub-modal-bg, var(--hub-sys-surface-page, #ffffff));border:var(--hub-modal-border-width, var(--hub-ref-border-width, 1px)) solid var(--hub-modal-border-color, var(--hub-sys-border-color-default, #dee2e6));border-radius:var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem));box-shadow:var(--hub-modal-box-shadow, var(--hub-sys-shadow-lg, 0 1rem 3rem rgba(0, 0, 0, .175)))}.hub-modal__dialog--scrollable .hub-modal__content{max-height:100%;overflow:hidden}.hub-modal__dialog--placement-start .hub-modal__content{border-radius:var(--hub-modal-placement-start-border-radius)}.hub-modal__dialog--placement-end .hub-modal__content{border-radius:var(--hub-modal-placement-end-border-radius)}.hub-modal__dialog--placement-top .hub-modal__content{border-radius:var(--hub-modal-placement-top-border-radius)}.hub-modal__dialog--placement-bottom .hub-modal__content{border-radius:var(--hub-modal-placement-bottom-border-radius)}.hub-modal--primary{--hub-modal-accent: var(--hub-sys-color-primary, var(--hub-modal-accent));--hub-modal-bg: var(--hub-modal-accent-subtle);--hub-modal-border-color: var(--hub-modal-accent-border);--hub-modal-header-border-color: var(--hub-modal-accent-border);--hub-modal-footer-border-color: var(--hub-modal-accent-border);--hub-modal-title-color: var(--hub-modal-accent)}.hub-modal--primary .hub-modal__content{border-top:var(--hub-modal-accent-bar-width, .25rem) solid var(--hub-modal-accent)}.hub-modal--secondary{--hub-modal-accent: var(--hub-sys-color-secondary, var(--hub-modal-accent));--hub-modal-bg: var(--hub-modal-accent-subtle);--hub-modal-border-color: var(--hub-modal-accent-border);--hub-modal-header-border-color: var(--hub-modal-accent-border);--hub-modal-footer-border-color: var(--hub-modal-accent-border);--hub-modal-title-color: var(--hub-modal-accent)}.hub-modal--secondary .hub-modal__content{border-top:var(--hub-modal-accent-bar-width, .25rem) solid var(--hub-modal-accent)}.hub-modal--success{--hub-modal-accent: var(--hub-sys-color-success, var(--hub-modal-accent));--hub-modal-bg: var(--hub-modal-accent-subtle);--hub-modal-border-color: var(--hub-modal-accent-border);--hub-modal-header-border-color: var(--hub-modal-accent-border);--hub-modal-footer-border-color: var(--hub-modal-accent-border);--hub-modal-title-color: var(--hub-modal-accent)}.hub-modal--success .hub-modal__content{border-top:var(--hub-modal-accent-bar-width, .25rem) solid var(--hub-modal-accent)}.hub-modal--danger{--hub-modal-accent: var(--hub-sys-color-danger, var(--hub-modal-accent));--hub-modal-bg: var(--hub-modal-accent-subtle);--hub-modal-border-color: var(--hub-modal-accent-border);--hub-modal-header-border-color: var(--hub-modal-accent-border);--hub-modal-footer-border-color: var(--hub-modal-accent-border);--hub-modal-title-color: var(--hub-modal-accent)}.hub-modal--danger .hub-modal__content{border-top:var(--hub-modal-accent-bar-width, .25rem) solid var(--hub-modal-accent)}.hub-modal--warning{--hub-modal-accent: var(--hub-sys-color-warning, var(--hub-modal-accent));--hub-modal-bg: var(--hub-modal-accent-subtle);--hub-modal-border-color: var(--hub-modal-accent-border);--hub-modal-header-border-color: var(--hub-modal-accent-border);--hub-modal-footer-border-color: var(--hub-modal-accent-border);--hub-modal-title-color: var(--hub-modal-accent)}.hub-modal--warning .hub-modal__content{border-top:var(--hub-modal-accent-bar-width, .25rem) solid var(--hub-modal-accent)}.hub-modal--info{--hub-modal-accent: var(--hub-sys-color-info, var(--hub-modal-accent));--hub-modal-bg: var(--hub-modal-accent-subtle);--hub-modal-border-color: var(--hub-modal-accent-border);--hub-modal-header-border-color: var(--hub-modal-accent-border);--hub-modal-footer-border-color: var(--hub-modal-accent-border);--hub-modal-title-color: var(--hub-modal-accent)}.hub-modal--info .hub-modal__content{border-top:var(--hub-modal-accent-bar-width, .25rem) solid var(--hub-modal-accent)}.hub-modal--neutral{--hub-modal-accent: var(--hub-sys-color-neutral, var(--hub-modal-accent));--hub-modal-bg: var(--hub-modal-accent-subtle);--hub-modal-border-color: var(--hub-modal-accent-border);--hub-modal-header-border-color: var(--hub-modal-accent-border);--hub-modal-footer-border-color: var(--hub-modal-accent-border);--hub-modal-title-color: var(--hub-modal-accent)}.hub-modal--neutral .hub-modal__content{border-top:var(--hub-modal-accent-bar-width, .25rem) solid var(--hub-modal-accent)}.hub-modal--light{--hub-modal-accent: var(--hub-sys-color-light, var(--hub-modal-accent));--hub-modal-bg: var(--hub-modal-accent-subtle);--hub-modal-border-color: var(--hub-modal-accent-border);--hub-modal-header-border-color: var(--hub-modal-accent-border);--hub-modal-footer-border-color: var(--hub-modal-accent-border);--hub-modal-title-color: var(--hub-modal-accent)}.hub-modal--light .hub-modal__content{border-top:var(--hub-modal-accent-bar-width, .25rem) solid var(--hub-modal-accent)}.hub-modal--dark{--hub-modal-accent: var(--hub-sys-color-dark, var(--hub-modal-accent));--hub-modal-bg: var(--hub-modal-accent-subtle);--hub-modal-border-color: var(--hub-modal-accent-border);--hub-modal-header-border-color: var(--hub-modal-accent-border);--hub-modal-footer-border-color: var(--hub-modal-accent-border);--hub-modal-title-color: var(--hub-modal-accent)}.hub-modal--dark .hub-modal__content{border-top:var(--hub-modal-accent-bar-width, .25rem) solid var(--hub-modal-accent)}.hub-modal__header{display:flex;align-items:center;gap:var(--hub-modal-header-gap, var(--hub-ref-space-2, .5rem));padding:var(--hub-modal-header-padding-y, var(--hub-ref-space-3, 1rem)) var(--hub-modal-header-padding-x, var(--hub-ref-space-3, 1rem));border-bottom:var(--hub-modal-header-border-width, var(--hub-ref-border-width, 1px)) solid var(--hub-modal-header-border-color, var(--hub-sys-border-color-default, #dee2e6));border-top-left-radius:var(--hub-modal-inner-border-radius, calc(var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem)) - var(--hub-modal-border-width, var(--hub-ref-border-width, 1px))));border-top-right-radius:var(--hub-modal-inner-border-radius, calc(var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem)) - var(--hub-modal-border-width, var(--hub-ref-border-width, 1px))))}.hub-modal__header .modal-title{color:var(--hub-modal-title-color, var(--hub-modal-color, var(--hub-sys-text-primary, #212529)));font-size:var(--hub-modal-title-font-size, var(--hub-ref-font-size-lg, 1.25rem));font-weight:var(--hub-modal-title-font-weight, var(--hub-ref-font-weight-medium, 500));line-height:var(--hub-modal-title-line-height, var(--hub-ref-line-height-base, 1.5));margin:var(--hub-modal-title-margin-y, 0) var(--hub-modal-title-margin-x, 0)}.hub-modal__body{position:relative;flex:1 1 auto;padding:var(--hub-modal-body-padding-y, var(--hub-ref-space-3, 1rem)) var(--hub-modal-body-padding-x, var(--hub-ref-space-3, 1rem))}.hub-modal__dialog--scrollable .hub-modal__body{overflow-y:auto}.hub-modal__footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--hub-modal-footer-gap, var(--hub-ref-space-2, .5rem));padding:var(--hub-modal-footer-padding-y, var(--hub-ref-space-3, 1rem)) var(--hub-modal-footer-padding-x, var(--hub-ref-space-3, 1rem));color:var(--hub-modal-color, var(--hub-sys-text-primary, #212529));background-color:var(--hub-modal-footer-bg, var(--hub-modal-bg, var(--hub-sys-surface-page, #ffffff)));border-top:var(--hub-modal-footer-border-width, var(--hub-ref-border-width, 1px)) solid var(--hub-modal-footer-border-color, var(--hub-sys-border-color-default, #dee2e6));border-bottom-right-radius:var(--hub-modal-inner-border-radius, calc(var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem)) - var(--hub-modal-border-width, var(--hub-ref-border-width, 1px))));border-bottom-left-radius:var(--hub-modal-inner-border-radius, calc(var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem)) - var(--hub-modal-border-width, var(--hub-ref-border-width, 1px))))}.hub-modal__close{margin-left:auto;padding:var(--hub-modal-close-padding-y, 0) var(--hub-modal-close-padding-x, 0);font-size:var(--hub-modal-close-size, var(--hub-ref-font-size-lg, 1.25rem));line-height:var(--hub-modal-close-line-height, 1);background:transparent;border:0;cursor:pointer;color:var(--hub-modal-close-color, var(--hub-sys-text-primary, #212529));opacity:var(--hub-modal-close-opacity, .5)}.hub-modal__close:before{content:\"\\d7\"}.hub-modal__close:hover,.hub-modal__close:focus{opacity:var(--hub-modal-close-hover-opacity, .75)}.hub-modal.fade .hub-modal__dialog{transform:var(--hub-modal-fade-transform, translate(0, -50px));transition:var(--hub-modal-transition, var(--hub-sys-transition-base, all .2s ease-in-out))}.hub-modal.show .hub-modal__dialog{transform:var(--hub-modal-show-transform, none)}.hub-modal.hub-modal--static .hub-modal__dialog{transform:var(--hub-modal-scale-transform, scale(1.02))}.hub-modal__dialog--fullscreen{width:100%;max-width:100%;height:100%;max-height:100%;margin:0}.hub-modal__dialog--fullscreen .hub-modal__content{height:100%;border:0;border-radius:0;display:flex;flex-direction:column}.hub-modal__dialog--fullscreen .hub-modal__body{flex:1 1 auto;min-height:0;overflow-y:auto}@media(max-width:575.98px){.hub-modal__dialog--fullscreen-sm-down{width:100%;max-width:100%;height:100%;max-height:100%;margin:0}.hub-modal__dialog--fullscreen-sm-down .hub-modal__content{height:100%;border:0;border-radius:0;display:flex;flex-direction:column}.hub-modal__dialog--fullscreen-sm-down .hub-modal__body{flex:1 1 auto;min-height:0;overflow-y:auto}}@media(max-width:767.98px){.hub-modal__dialog--fullscreen-md-down{width:100%;max-width:100%;height:100%;max-height:100%;margin:0}.hub-modal__dialog--fullscreen-md-down .hub-modal__content{height:100%;border:0;border-radius:0;display:flex;flex-direction:column}.hub-modal__dialog--fullscreen-md-down .hub-modal__body{flex:1 1 auto;min-height:0;overflow-y:auto}}@media(max-width:991.98px){.hub-modal__dialog--fullscreen-lg-down{width:100%;max-width:100%;height:100%;max-height:100%;margin:0}.hub-modal__dialog--fullscreen-lg-down .hub-modal__content{height:100%;border:0;border-radius:0;display:flex;flex-direction:column}.hub-modal__dialog--fullscreen-lg-down .hub-modal__body{flex:1 1 auto;min-height:0;overflow-y:auto}}@media(max-width:1199.98px){.hub-modal__dialog--fullscreen-xl-down{width:100%;max-width:100%;height:100%;max-height:100%;margin:0}.hub-modal__dialog--fullscreen-xl-down .hub-modal__content{height:100%;border:0;border-radius:0;display:flex;flex-direction:column}.hub-modal__dialog--fullscreen-xl-down .hub-modal__body{flex:1 1 auto;min-height:0;overflow-y:auto}}@media(max-width:1399.98px){.hub-modal__dialog--fullscreen-xxl-down{width:100%;max-width:100%;height:100%;max-height:100%;margin:0}.hub-modal__dialog--fullscreen-xxl-down .hub-modal__content{height:100%;border:0;border-radius:0;display:flex;flex-direction:column}.hub-modal__dialog--fullscreen-xxl-down .hub-modal__body{flex:1 1 auto;min-height:0;overflow-y:auto}}.hub-modal__backdrop{position:fixed;inset:0;opacity:var(--hub-modal-backdrop-opacity-hidden, var(--hub-sys-opacity-0, 0));z-index:var(--hub-modal-backdrop-zindex, 1054);background-color:var(--hub-modal-backdrop-bg, var(--hub-ref-color-black, #000000));pointer-events:none}.hub-modal__backdrop.fade{transition:var(--hub-modal-backdrop-transition, opacity .15s linear)}.hub-modal__backdrop.show{opacity:var(--hub-modal-backdrop-opacity, var(--hub-sys-opacity-50, .5))}\n"], encapsulation: i0.ViewEncapsulation.None });
|
|
727
727
|
}
|
|
728
728
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImport: i0, type: HubModalWindow, decorators: [{
|
|
729
729
|
type: Component,
|
|
@@ -767,7 +767,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImpor
|
|
|
767
767
|
}
|
|
768
768
|
</div>
|
|
769
769
|
</div>
|
|
770
|
-
`, encapsulation: ViewEncapsulation.None, styles: ["@charset \"UTF-8\";body.hub-modal-open{overflow:hidden}.hub-modal{--hub-modal-z-index: var(--hub-sys-zindex-modal, 1055);--hub-modal-accent: var(--hub-sys-color-primary, #0d6efd);--hub-modal-accent-subtle: color-mix(in srgb, var(--hub-modal-accent) 8%, var(--hub-sys-surface-page, #ffffff));--hub-modal-accent-border: color-mix(in srgb, var(--hub-modal-accent) 35%, var(--hub-sys-surface-page, #ffffff));--hub-modal-accent-bar-width: var(--hub-ref-space-1, .25rem);--hub-modal-width: auto;--hub-modal-max-width: 500px;--hub-modal-margin-y: 1.75rem;--hub-modal-margin-x: auto;--hub-modal-margin-top: var(--hub-modal-margin-y, 1.75rem);--hub-modal-margin-right: var(--hub-modal-margin-x, auto);--hub-modal-margin-bottom: var(--hub-modal-margin-y, 1.75rem);--hub-modal-margin-left: var(--hub-modal-margin-x, auto);--hub-modal-margin-block: calc( var(--hub-modal-margin-top, 1.75rem) + var(--hub-modal-margin-bottom, 1.75rem) );--hub-modal-margin: var(--hub-modal-margin-top) var(--hub-modal-margin-right) var(--hub-modal-margin-bottom) var(--hub-modal-margin-left);--hub-modal-placement-start-margin-top: var( --hub-modal-margin-top, 1.75rem );--hub-modal-placement-start-margin-right: auto;--hub-modal-placement-start-margin-bottom: var( --hub-modal-margin-bottom, 1.75rem );--hub-modal-placement-start-margin-left: 0;--hub-modal-placement-start-margin-block: calc( var(--hub-modal-placement-start-margin-top, 1.75rem) + var(--hub-modal-placement-start-margin-bottom, 1.75rem) );--hub-modal-placement-start-margin: var( --hub-modal-placement-start-margin-top ) var(--hub-modal-placement-start-margin-right) var(--hub-modal-placement-start-margin-bottom) var(--hub-modal-placement-start-margin-left);--hub-modal-placement-end-margin-top: var(--hub-modal-margin-top, 1.75rem);--hub-modal-placement-end-margin-right: 0;--hub-modal-placement-end-margin-bottom: var( --hub-modal-margin-bottom, 1.75rem );--hub-modal-placement-end-margin-left: auto;--hub-modal-placement-end-margin-block: calc( var(--hub-modal-placement-end-margin-top, 1.75rem) + var(--hub-modal-placement-end-margin-bottom, 1.75rem) );--hub-modal-placement-end-margin: var(--hub-modal-placement-end-margin-top) var(--hub-modal-placement-end-margin-right) var(--hub-modal-placement-end-margin-bottom) var(--hub-modal-placement-end-margin-left);--hub-modal-placement-top-margin-top: 0;--hub-modal-placement-top-margin-right: auto;--hub-modal-placement-top-margin-bottom: 0;--hub-modal-placement-top-margin-left: auto;--hub-modal-placement-top-margin-block: calc( var(--hub-modal-placement-top-margin-top, 0px) + var(--hub-modal-placement-top-margin-bottom, 0px) );--hub-modal-placement-top-margin: var(--hub-modal-placement-top-margin-top) var(--hub-modal-placement-top-margin-right) var(--hub-modal-placement-top-margin-bottom) var(--hub-modal-placement-top-margin-left);--hub-modal-placement-bottom-margin-top: 0;--hub-modal-placement-bottom-margin-right: auto;--hub-modal-placement-bottom-margin-bottom: 0;--hub-modal-placement-bottom-margin-left: auto;--hub-modal-placement-bottom-margin-block: calc( var(--hub-modal-placement-bottom-margin-top, 0px) + var(--hub-modal-placement-bottom-margin-bottom, 0px) );--hub-modal-placement-bottom-margin: var( --hub-modal-placement-bottom-margin-top ) var(--hub-modal-placement-bottom-margin-right) var(--hub-modal-placement-bottom-margin-bottom) var(--hub-modal-placement-bottom-margin-left);--hub-modal-color: var(--hub-sys-text-primary, #212529);--hub-modal-bg: var(--hub-sys-surface-page, #ffffff);--hub-modal-border-color: var(--hub-sys-border-color-default, #dee2e6);--hub-modal-border-width: var(--hub-ref-border-width, 1px);--hub-modal-border-radius: var(--hub-ref-radius-lg, .5rem);--hub-modal-placement-start-border-radius: 0 var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem)) var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem)) 0;--hub-modal-placement-end-border-radius: var( --hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem) ) 0 0 var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem));--hub-modal-placement-top-border-radius: 0 0 var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem)) var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem));--hub-modal-placement-bottom-border-radius: var( --hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem) ) var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem)) 0 0;--hub-modal-inner-border-radius: calc( var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem)) - var( --hub-modal-border-width, var(--hub-ref-border-width, 1px) ) );--hub-modal-box-shadow: var(--hub-sys-shadow-lg, 0 1rem 3rem rgba(0, 0, 0, .175));--hub-modal-padding-x: var(--hub-ref-space-3, 1rem);--hub-modal-padding-y: var(--hub-ref-space-3, 1rem);--hub-modal-header-padding-x: var(--hub-modal-padding-x);--hub-modal-header-padding-y: var(--hub-modal-padding-y);--hub-modal-header-gap: var(--hub-ref-space-2, .5rem);--hub-modal-header-border-color: var(--hub-sys-border-color-default, #dee2e6);--hub-modal-header-border-width: var(--hub-ref-border-width, 1px);--hub-modal-title-font-size: var(--hub-ref-font-size-lg, 1.25rem);--hub-modal-title-font-weight: var(--hub-ref-font-weight-medium, 500);--hub-modal-title-line-height: var(--hub-ref-line-height-base, 1.5);--hub-modal-title-margin-x: 0;--hub-modal-title-margin-y: 0;--hub-modal-title-color: var(--hub-modal-color, var(--hub-sys-text-primary, #212529));--hub-modal-body-padding-x: var(--hub-modal-padding-x);--hub-modal-body-padding-y: var(--hub-modal-padding-y);--hub-modal-footer-padding-x: var(--hub-modal-padding-x);--hub-modal-footer-padding-y: var(--hub-modal-padding-y);--hub-modal-footer-gap: var(--hub-ref-space-2, .5rem);--hub-modal-footer-bg: var(--hub-modal-bg, var(--hub-sys-surface-page, #ffffff));--hub-modal-footer-border-color: var(--hub-sys-border-color-default, #dee2e6);--hub-modal-footer-border-width: var(--hub-ref-border-width, 1px);--hub-modal-close-color: var(--hub-sys-text-primary, #212529);--hub-modal-close-size: var(--hub-ref-font-size-lg, 1.25rem);--hub-modal-close-line-height: 1;--hub-modal-close-padding-x: 0;--hub-modal-close-padding-y: 0;--hub-modal-close-opacity: .5;--hub-modal-close-hover-opacity: .75;--hub-modal-backdrop-bg: var(--hub-ref-color-black, #000000);--hub-modal-backdrop-opacity: var(--hub-sys-opacity-50, .5);--hub-modal-backdrop-opacity-hidden: var(--hub-sys-opacity-0, 0);--hub-modal-backdrop-transition: opacity .15s linear;--hub-modal-fade-transform: translate(0, -50px);--hub-modal-show-transform: none;--hub-modal-transition: var(--hub-sys-transition-base, all .2s ease-in-out);--hub-modal-scale-transform: scale(1.02);--hub-modal-backdrop-z-index: calc(var(--hub-modal-z-index, var(--hub-sys-zindex-modal, 1055)) - 1);position:fixed;inset:0;display:block;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0;pointer-events:auto;z-index:var(--hub-modal-z-index, var(--hub-sys-zindex-modal, 1055));color:var(--hub-modal-color, var(--hub-sys-text-primary, #212529))}.hub-modal--placement-top,.hub-modal--placement-bottom{display:flex;justify-content:center}.hub-modal--placement-top{align-items:flex-start}.hub-modal--placement-bottom{align-items:flex-end}.hub-modal__dialog{position:relative;width:var(--hub-modal-width, auto);max-width:var(--hub-modal-max-width, 500px);margin:var(--hub-modal-margin, 1.75rem auto);pointer-events:none}.hub-modal__dialog--sm{--hub-modal-max-width: 300px}.hub-modal__dialog--lg{--hub-modal-max-width: 800px}.hub-modal__dialog--xl{--hub-modal-max-width: 1140px}.hub-modal__dialog--centered,.hub-modal__dialog--centered-vertical{display:flex;align-items:center;min-height:calc(100% - var(--hub-modal-margin-block, 3.5rem))}.hub-modal__dialog--placement-start{margin:var(--hub-modal-placement-start-margin, var(--hub-modal-margin-top, 1.75rem) auto var(--hub-modal-margin-bottom, 1.75rem) 0);--hub-modal-fade-transform: translateX(-100%)}.hub-modal__dialog--placement-end{margin:var(--hub-modal-placement-end-margin, var(--hub-modal-margin-top, 1.75rem) 0 var(--hub-modal-margin-bottom, 1.75rem) auto);--hub-modal-fade-transform: translateX(100%)}.hub-modal__dialog--placement-top{margin:var(--hub-modal-placement-top-margin, 0 auto 0 auto);--hub-modal-fade-transform: translateY(-100%)}.hub-modal__dialog--placement-bottom{margin:var(--hub-modal-placement-bottom-margin, 0 auto 0 auto);--hub-modal-fade-transform: translateY(100%)}.hub-modal__dialog--scrollable{display:flex;max-height:calc(100% - var(--hub-modal-margin-block, 3.5rem))}.hub-modal .hub-modal__dialog--placement-start.hub-modal__dialog--centered-vertical{min-height:calc(100% - var(--hub-modal-placement-start-margin-block, 3.5rem))}.hub-modal .hub-modal__dialog--placement-end.hub-modal__dialog--centered-vertical{min-height:calc(100% - var(--hub-modal-placement-end-margin-block, 3.5rem))}.hub-modal .hub-modal__dialog--placement-start.hub-modal__dialog--scrollable{max-height:calc(100% - var(--hub-modal-placement-start-margin-block, 3.5rem))}.hub-modal .hub-modal__dialog--placement-end.hub-modal__dialog--scrollable{max-height:calc(100% - var(--hub-modal-placement-end-margin-block, 3.5rem))}.hub-modal .hub-modal__dialog--placement-top.hub-modal__dialog--scrollable{max-height:calc(100% - var(--hub-modal-placement-top-margin-block, 0px))}.hub-modal .hub-modal__dialog--placement-bottom.hub-modal__dialog--scrollable{max-height:calc(100% - var(--hub-modal-placement-bottom-margin-block, 0px))}.hub-modal__content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;outline:0;color:var(--hub-modal-color, var(--hub-sys-text-primary, #212529));background-color:var(--hub-modal-bg, var(--hub-sys-surface-page, #ffffff));border:var(--hub-modal-border-width, var(--hub-ref-border-width, 1px)) solid var(--hub-modal-border-color, var(--hub-sys-border-color-default, #dee2e6));border-radius:var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem));box-shadow:var(--hub-modal-box-shadow, var(--hub-sys-shadow-lg, 0 1rem 3rem rgba(0, 0, 0, .175)))}.hub-modal__dialog--scrollable .hub-modal__content{max-height:100%;overflow:hidden}.hub-modal__dialog--placement-start .hub-modal__content{border-radius:var(--hub-modal-placement-start-border-radius)}.hub-modal__dialog--placement-end .hub-modal__content{border-radius:var(--hub-modal-placement-end-border-radius)}.hub-modal__dialog--placement-top .hub-modal__content{border-radius:var(--hub-modal-placement-top-border-radius)}.hub-modal__dialog--placement-bottom .hub-modal__content{border-radius:var(--hub-modal-placement-bottom-border-radius)}.hub-modal--primary{--hub-modal-accent: var(--hub-sys-color-primary, var(--hub-modal-accent));--hub-modal-bg: var(--hub-modal-accent-subtle);--hub-modal-border-color: var(--hub-modal-accent-border);--hub-modal-header-border-color: var(--hub-modal-accent-border);--hub-modal-footer-border-color: var(--hub-modal-accent-border);--hub-modal-title-color: var(--hub-modal-accent)}.hub-modal--primary .hub-modal__content{border-top:var(--hub-modal-accent-bar-width, .25rem) solid var(--hub-modal-accent)}.hub-modal--success{--hub-modal-accent: var(--hub-sys-color-success, var(--hub-modal-accent));--hub-modal-bg: var(--hub-modal-accent-subtle);--hub-modal-border-color: var(--hub-modal-accent-border);--hub-modal-header-border-color: var(--hub-modal-accent-border);--hub-modal-footer-border-color: var(--hub-modal-accent-border);--hub-modal-title-color: var(--hub-modal-accent)}.hub-modal--success .hub-modal__content{border-top:var(--hub-modal-accent-bar-width, .25rem) solid var(--hub-modal-accent)}.hub-modal--danger{--hub-modal-accent: var(--hub-sys-color-danger, var(--hub-modal-accent));--hub-modal-bg: var(--hub-modal-accent-subtle);--hub-modal-border-color: var(--hub-modal-accent-border);--hub-modal-header-border-color: var(--hub-modal-accent-border);--hub-modal-footer-border-color: var(--hub-modal-accent-border);--hub-modal-title-color: var(--hub-modal-accent)}.hub-modal--danger .hub-modal__content{border-top:var(--hub-modal-accent-bar-width, .25rem) solid var(--hub-modal-accent)}.hub-modal--warning{--hub-modal-accent: var(--hub-sys-color-warning, var(--hub-modal-accent));--hub-modal-bg: var(--hub-modal-accent-subtle);--hub-modal-border-color: var(--hub-modal-accent-border);--hub-modal-header-border-color: var(--hub-modal-accent-border);--hub-modal-footer-border-color: var(--hub-modal-accent-border);--hub-modal-title-color: var(--hub-modal-accent)}.hub-modal--warning .hub-modal__content{border-top:var(--hub-modal-accent-bar-width, .25rem) solid var(--hub-modal-accent)}.hub-modal--info{--hub-modal-accent: var(--hub-sys-color-info, var(--hub-modal-accent));--hub-modal-bg: var(--hub-modal-accent-subtle);--hub-modal-border-color: var(--hub-modal-accent-border);--hub-modal-header-border-color: var(--hub-modal-accent-border);--hub-modal-footer-border-color: var(--hub-modal-accent-border);--hub-modal-title-color: var(--hub-modal-accent)}.hub-modal--info .hub-modal__content{border-top:var(--hub-modal-accent-bar-width, .25rem) solid var(--hub-modal-accent)}.hub-modal__header{display:flex;align-items:center;gap:var(--hub-modal-header-gap, var(--hub-ref-space-2, .5rem));padding:var(--hub-modal-header-padding-y, var(--hub-ref-space-3, 1rem)) var(--hub-modal-header-padding-x, var(--hub-ref-space-3, 1rem));border-bottom:var(--hub-modal-header-border-width, var(--hub-ref-border-width, 1px)) solid var(--hub-modal-header-border-color, var(--hub-sys-border-color-default, #dee2e6));border-top-left-radius:var(--hub-modal-inner-border-radius, calc(var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem)) - var(--hub-modal-border-width, var(--hub-ref-border-width, 1px))));border-top-right-radius:var(--hub-modal-inner-border-radius, calc(var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem)) - var(--hub-modal-border-width, var(--hub-ref-border-width, 1px))))}.hub-modal__header .modal-title{color:var(--hub-modal-title-color, var(--hub-modal-color, var(--hub-sys-text-primary, #212529)));font-size:var(--hub-modal-title-font-size, var(--hub-ref-font-size-lg, 1.25rem));font-weight:var(--hub-modal-title-font-weight, var(--hub-ref-font-weight-medium, 500));line-height:var(--hub-modal-title-line-height, var(--hub-ref-line-height-base, 1.5));margin:var(--hub-modal-title-margin-y, 0) var(--hub-modal-title-margin-x, 0)}.hub-modal__body{position:relative;flex:1 1 auto;padding:var(--hub-modal-body-padding-y, var(--hub-ref-space-3, 1rem)) var(--hub-modal-body-padding-x, var(--hub-ref-space-3, 1rem))}.hub-modal__dialog--scrollable .hub-modal__body{overflow-y:auto}.hub-modal__footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--hub-modal-footer-gap, var(--hub-ref-space-2, .5rem));padding:var(--hub-modal-footer-padding-y, var(--hub-ref-space-3, 1rem)) var(--hub-modal-footer-padding-x, var(--hub-ref-space-3, 1rem));color:var(--hub-modal-color, var(--hub-sys-text-primary, #212529));background-color:var(--hub-modal-footer-bg, var(--hub-modal-bg, var(--hub-sys-surface-page, #ffffff)));border-top:var(--hub-modal-footer-border-width, var(--hub-ref-border-width, 1px)) solid var(--hub-modal-footer-border-color, var(--hub-sys-border-color-default, #dee2e6));border-bottom-right-radius:var(--hub-modal-inner-border-radius, calc(var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem)) - var(--hub-modal-border-width, var(--hub-ref-border-width, 1px))));border-bottom-left-radius:var(--hub-modal-inner-border-radius, calc(var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem)) - var(--hub-modal-border-width, var(--hub-ref-border-width, 1px))))}.hub-modal__close{margin-left:auto;padding:var(--hub-modal-close-padding-y, 0) var(--hub-modal-close-padding-x, 0);font-size:var(--hub-modal-close-size, var(--hub-ref-font-size-lg, 1.25rem));line-height:var(--hub-modal-close-line-height, 1);background:transparent;border:0;cursor:pointer;color:var(--hub-modal-close-color, var(--hub-sys-text-primary, #212529));opacity:var(--hub-modal-close-opacity, .5)}.hub-modal__close:before{content:\"\\d7\"}.hub-modal__close:hover,.hub-modal__close:focus{opacity:var(--hub-modal-close-hover-opacity, .75)}.hub-modal.fade .hub-modal__dialog{transform:var(--hub-modal-fade-transform, translate(0, -50px));transition:var(--hub-modal-transition, var(--hub-sys-transition-base, all .2s ease-in-out))}.hub-modal.show .hub-modal__dialog{transform:var(--hub-modal-show-transform, none)}.hub-modal.hub-modal--static .hub-modal__dialog{transform:var(--hub-modal-scale-transform, scale(1.02))}.hub-modal__dialog--fullscreen{width:100%;max-width:100%;height:100%;max-height:100%;margin:0}.hub-modal__dialog--fullscreen .hub-modal__content{height:100%;border:0;border-radius:0;display:flex;flex-direction:column}.hub-modal__dialog--fullscreen .hub-modal__body{flex:1 1 auto;min-height:0;overflow-y:auto}@media(max-width:575.98px){.hub-modal__dialog--fullscreen-sm-down{width:100%;max-width:100%;height:100%;max-height:100%;margin:0}.hub-modal__dialog--fullscreen-sm-down .hub-modal__content{height:100%;border:0;border-radius:0;display:flex;flex-direction:column}.hub-modal__dialog--fullscreen-sm-down .hub-modal__body{flex:1 1 auto;min-height:0;overflow-y:auto}}@media(max-width:767.98px){.hub-modal__dialog--fullscreen-md-down{width:100%;max-width:100%;height:100%;max-height:100%;margin:0}.hub-modal__dialog--fullscreen-md-down .hub-modal__content{height:100%;border:0;border-radius:0;display:flex;flex-direction:column}.hub-modal__dialog--fullscreen-md-down .hub-modal__body{flex:1 1 auto;min-height:0;overflow-y:auto}}@media(max-width:991.98px){.hub-modal__dialog--fullscreen-lg-down{width:100%;max-width:100%;height:100%;max-height:100%;margin:0}.hub-modal__dialog--fullscreen-lg-down .hub-modal__content{height:100%;border:0;border-radius:0;display:flex;flex-direction:column}.hub-modal__dialog--fullscreen-lg-down .hub-modal__body{flex:1 1 auto;min-height:0;overflow-y:auto}}@media(max-width:1199.98px){.hub-modal__dialog--fullscreen-xl-down{width:100%;max-width:100%;height:100%;max-height:100%;margin:0}.hub-modal__dialog--fullscreen-xl-down .hub-modal__content{height:100%;border:0;border-radius:0;display:flex;flex-direction:column}.hub-modal__dialog--fullscreen-xl-down .hub-modal__body{flex:1 1 auto;min-height:0;overflow-y:auto}}@media(max-width:1399.98px){.hub-modal__dialog--fullscreen-xxl-down{width:100%;max-width:100%;height:100%;max-height:100%;margin:0}.hub-modal__dialog--fullscreen-xxl-down .hub-modal__content{height:100%;border:0;border-radius:0;display:flex;flex-direction:column}.hub-modal__dialog--fullscreen-xxl-down .hub-modal__body{flex:1 1 auto;min-height:0;overflow-y:auto}}.hub-modal__backdrop{position:fixed;inset:0;opacity:var(--hub-modal-backdrop-opacity-hidden, var(--hub-sys-opacity-0, 0));z-index:var(--hub-modal-backdrop-z-index, 1054);background-color:var(--hub-modal-backdrop-bg, var(--hub-ref-color-black, #000000));pointer-events:none}.hub-modal__backdrop.fade{transition:var(--hub-modal-backdrop-transition, opacity .15s linear)}.hub-modal__backdrop.show{opacity:var(--hub-modal-backdrop-opacity, var(--hub-sys-opacity-50, .5))}\n"] }]
|
|
770
|
+
`, encapsulation: ViewEncapsulation.None, styles: ["@charset \"UTF-8\";body.hub-modal-open{overflow:hidden}.hub-modal{--hub-modal-zindex: var(--hub-sys-zindex-modal, 1055);--hub-modal-accent: var(--hub-sys-color-primary, #0d6efd);--hub-modal-accent-emphasis: color-mix(in oklch, var(--hub-modal-accent) 80%, var(--hub-sys-color-ink, #212529));--hub-modal-accent-subtle: color-mix(in oklch, var(--hub-modal-accent) 12%, var(--hub-sys-surface-page, #ffffff));--hub-modal-accent-on: oklch(from var(--hub-modal-accent) clamp(0, (.62 - l) * 1000, 1) 0 h);--hub-modal-accent-border: color-mix(in oklch, var(--hub-modal-accent) 35%, var(--hub-sys-surface-page, #ffffff));--hub-modal-accent-bar-width: var(--hub-ref-space-1, .25rem);--hub-modal-width: auto;--hub-modal-max-width: 500px;--hub-modal-margin-y: 1.75rem;--hub-modal-margin-x: auto;--hub-modal-margin-top: var(--hub-modal-margin-y, 1.75rem);--hub-modal-margin-right: var(--hub-modal-margin-x, auto);--hub-modal-margin-bottom: var(--hub-modal-margin-y, 1.75rem);--hub-modal-margin-left: var(--hub-modal-margin-x, auto);--hub-modal-margin-block: calc( var(--hub-modal-margin-top, 1.75rem) + var(--hub-modal-margin-bottom, 1.75rem) );--hub-modal-margin: var(--hub-modal-margin-top) var(--hub-modal-margin-right) var(--hub-modal-margin-bottom) var(--hub-modal-margin-left);--hub-modal-placement-start-margin-top: var( --hub-modal-margin-top, 1.75rem );--hub-modal-placement-start-margin-right: auto;--hub-modal-placement-start-margin-bottom: var( --hub-modal-margin-bottom, 1.75rem );--hub-modal-placement-start-margin-left: 0;--hub-modal-placement-start-margin-block: calc( var(--hub-modal-placement-start-margin-top, 1.75rem) + var(--hub-modal-placement-start-margin-bottom, 1.75rem) );--hub-modal-placement-start-margin: var( --hub-modal-placement-start-margin-top ) var(--hub-modal-placement-start-margin-right) var(--hub-modal-placement-start-margin-bottom) var(--hub-modal-placement-start-margin-left);--hub-modal-placement-end-margin-top: var(--hub-modal-margin-top, 1.75rem);--hub-modal-placement-end-margin-right: 0;--hub-modal-placement-end-margin-bottom: var( --hub-modal-margin-bottom, 1.75rem );--hub-modal-placement-end-margin-left: auto;--hub-modal-placement-end-margin-block: calc( var(--hub-modal-placement-end-margin-top, 1.75rem) + var(--hub-modal-placement-end-margin-bottom, 1.75rem) );--hub-modal-placement-end-margin: var(--hub-modal-placement-end-margin-top) var(--hub-modal-placement-end-margin-right) var(--hub-modal-placement-end-margin-bottom) var(--hub-modal-placement-end-margin-left);--hub-modal-placement-top-margin-top: 0;--hub-modal-placement-top-margin-right: auto;--hub-modal-placement-top-margin-bottom: 0;--hub-modal-placement-top-margin-left: auto;--hub-modal-placement-top-margin-block: calc( var(--hub-modal-placement-top-margin-top, 0px) + var(--hub-modal-placement-top-margin-bottom, 0px) );--hub-modal-placement-top-margin: var(--hub-modal-placement-top-margin-top) var(--hub-modal-placement-top-margin-right) var(--hub-modal-placement-top-margin-bottom) var(--hub-modal-placement-top-margin-left);--hub-modal-placement-bottom-margin-top: 0;--hub-modal-placement-bottom-margin-right: auto;--hub-modal-placement-bottom-margin-bottom: 0;--hub-modal-placement-bottom-margin-left: auto;--hub-modal-placement-bottom-margin-block: calc( var(--hub-modal-placement-bottom-margin-top, 0px) + var(--hub-modal-placement-bottom-margin-bottom, 0px) );--hub-modal-placement-bottom-margin: var( --hub-modal-placement-bottom-margin-top ) var(--hub-modal-placement-bottom-margin-right) var(--hub-modal-placement-bottom-margin-bottom) var(--hub-modal-placement-bottom-margin-left);--hub-modal-color: var(--hub-sys-text-primary, #212529);--hub-modal-bg: var(--hub-sys-surface-page, #ffffff);--hub-modal-border-color: var(--hub-sys-border-color-default, #dee2e6);--hub-modal-border-width: var(--hub-ref-border-width, 1px);--hub-modal-border-radius: var(--hub-ref-radius-lg, .5rem);--hub-modal-placement-start-border-radius: 0 var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem)) var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem)) 0;--hub-modal-placement-end-border-radius: var( --hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem) ) 0 0 var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem));--hub-modal-placement-top-border-radius: 0 0 var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem)) var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem));--hub-modal-placement-bottom-border-radius: var( --hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem) ) var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem)) 0 0;--hub-modal-inner-border-radius: calc( var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem)) - var( --hub-modal-border-width, var(--hub-ref-border-width, 1px) ) );--hub-modal-box-shadow: var(--hub-sys-shadow-lg, 0 1rem 3rem rgba(0, 0, 0, .175));--hub-modal-padding-x: var(--hub-ref-space-3, 1rem);--hub-modal-padding-y: var(--hub-ref-space-3, 1rem);--hub-modal-header-padding-x: var(--hub-modal-padding-x);--hub-modal-header-padding-y: var(--hub-modal-padding-y);--hub-modal-header-gap: var(--hub-ref-space-2, .5rem);--hub-modal-header-border-color: var(--hub-sys-border-color-default, #dee2e6);--hub-modal-header-border-width: var(--hub-ref-border-width, 1px);--hub-modal-title-font-size: var(--hub-ref-font-size-lg, 1.25rem);--hub-modal-title-font-weight: var(--hub-ref-font-weight-medium, 500);--hub-modal-title-line-height: var(--hub-ref-line-height-base, 1.5);--hub-modal-title-margin-x: 0;--hub-modal-title-margin-y: 0;--hub-modal-title-color: var(--hub-modal-color, var(--hub-sys-text-primary, #212529));--hub-modal-body-padding-x: var(--hub-modal-padding-x);--hub-modal-body-padding-y: var(--hub-modal-padding-y);--hub-modal-footer-padding-x: var(--hub-modal-padding-x);--hub-modal-footer-padding-y: var(--hub-modal-padding-y);--hub-modal-footer-gap: var(--hub-ref-space-2, .5rem);--hub-modal-footer-bg: var(--hub-modal-bg, var(--hub-sys-surface-page, #ffffff));--hub-modal-footer-border-color: var(--hub-sys-border-color-default, #dee2e6);--hub-modal-footer-border-width: var(--hub-ref-border-width, 1px);--hub-modal-close-color: var(--hub-sys-text-primary, #212529);--hub-modal-close-size: var(--hub-ref-font-size-lg, 1.25rem);--hub-modal-close-line-height: 1;--hub-modal-close-padding-x: 0;--hub-modal-close-padding-y: 0;--hub-modal-close-opacity: .5;--hub-modal-close-hover-opacity: .75;--hub-modal-backdrop-bg: var(--hub-ref-color-black, #000000);--hub-modal-backdrop-opacity: var(--hub-sys-opacity-50, .5);--hub-modal-backdrop-opacity-hidden: var(--hub-sys-opacity-0, 0);--hub-modal-backdrop-transition: opacity .15s linear;--hub-modal-fade-transform: translate(0, -50px);--hub-modal-show-transform: none;--hub-modal-transition: var(--hub-sys-transition-base, all .2s ease-in-out);--hub-modal-scale-transform: scale(1.02);--hub-modal-backdrop-zindex: calc(var(--hub-modal-zindex, var(--hub-sys-zindex-modal, 1055)) - 1);position:fixed;inset:0;display:block;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0;pointer-events:auto;z-index:var(--hub-modal-zindex, var(--hub-sys-zindex-modal, 1055));color:var(--hub-modal-color, var(--hub-sys-text-primary, #212529))}.hub-modal--placement-top,.hub-modal--placement-bottom{display:flex;justify-content:center}.hub-modal--placement-top{align-items:flex-start}.hub-modal--placement-bottom{align-items:flex-end}.hub-modal__dialog{position:relative;width:var(--hub-modal-width, auto);max-width:var(--hub-modal-max-width, 500px);margin:var(--hub-modal-margin, 1.75rem auto);pointer-events:none}.hub-modal__dialog--sm{--hub-modal-max-width: 300px}.hub-modal__dialog--lg{--hub-modal-max-width: 800px}.hub-modal__dialog--xl{--hub-modal-max-width: 1140px}.hub-modal__dialog--centered,.hub-modal__dialog--centered-vertical{display:flex;align-items:center;min-height:calc(100% - var(--hub-modal-margin-block, 3.5rem))}.hub-modal__dialog--placement-start{margin:var(--hub-modal-placement-start-margin, var(--hub-modal-margin-top, 1.75rem) auto var(--hub-modal-margin-bottom, 1.75rem) 0);--hub-modal-fade-transform: translateX(-100%)}.hub-modal__dialog--placement-end{margin:var(--hub-modal-placement-end-margin, var(--hub-modal-margin-top, 1.75rem) 0 var(--hub-modal-margin-bottom, 1.75rem) auto);--hub-modal-fade-transform: translateX(100%)}.hub-modal__dialog--placement-top{margin:var(--hub-modal-placement-top-margin, 0 auto 0 auto);--hub-modal-fade-transform: translateY(-100%)}.hub-modal__dialog--placement-bottom{margin:var(--hub-modal-placement-bottom-margin, 0 auto 0 auto);--hub-modal-fade-transform: translateY(100%)}.hub-modal__dialog--scrollable{display:flex;max-height:calc(100% - var(--hub-modal-margin-block, 3.5rem))}.hub-modal .hub-modal__dialog--placement-start.hub-modal__dialog--centered-vertical{min-height:calc(100% - var(--hub-modal-placement-start-margin-block, 3.5rem))}.hub-modal .hub-modal__dialog--placement-end.hub-modal__dialog--centered-vertical{min-height:calc(100% - var(--hub-modal-placement-end-margin-block, 3.5rem))}.hub-modal .hub-modal__dialog--placement-start.hub-modal__dialog--scrollable{max-height:calc(100% - var(--hub-modal-placement-start-margin-block, 3.5rem))}.hub-modal .hub-modal__dialog--placement-end.hub-modal__dialog--scrollable{max-height:calc(100% - var(--hub-modal-placement-end-margin-block, 3.5rem))}.hub-modal .hub-modal__dialog--placement-top.hub-modal__dialog--scrollable{max-height:calc(100% - var(--hub-modal-placement-top-margin-block, 0px))}.hub-modal .hub-modal__dialog--placement-bottom.hub-modal__dialog--scrollable{max-height:calc(100% - var(--hub-modal-placement-bottom-margin-block, 0px))}.hub-modal__content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;outline:0;color:var(--hub-modal-color, var(--hub-sys-text-primary, #212529));background-color:var(--hub-modal-bg, var(--hub-sys-surface-page, #ffffff));border:var(--hub-modal-border-width, var(--hub-ref-border-width, 1px)) solid var(--hub-modal-border-color, var(--hub-sys-border-color-default, #dee2e6));border-radius:var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem));box-shadow:var(--hub-modal-box-shadow, var(--hub-sys-shadow-lg, 0 1rem 3rem rgba(0, 0, 0, .175)))}.hub-modal__dialog--scrollable .hub-modal__content{max-height:100%;overflow:hidden}.hub-modal__dialog--placement-start .hub-modal__content{border-radius:var(--hub-modal-placement-start-border-radius)}.hub-modal__dialog--placement-end .hub-modal__content{border-radius:var(--hub-modal-placement-end-border-radius)}.hub-modal__dialog--placement-top .hub-modal__content{border-radius:var(--hub-modal-placement-top-border-radius)}.hub-modal__dialog--placement-bottom .hub-modal__content{border-radius:var(--hub-modal-placement-bottom-border-radius)}.hub-modal--primary{--hub-modal-accent: var(--hub-sys-color-primary, var(--hub-modal-accent));--hub-modal-bg: var(--hub-modal-accent-subtle);--hub-modal-border-color: var(--hub-modal-accent-border);--hub-modal-header-border-color: var(--hub-modal-accent-border);--hub-modal-footer-border-color: var(--hub-modal-accent-border);--hub-modal-title-color: var(--hub-modal-accent)}.hub-modal--primary .hub-modal__content{border-top:var(--hub-modal-accent-bar-width, .25rem) solid var(--hub-modal-accent)}.hub-modal--secondary{--hub-modal-accent: var(--hub-sys-color-secondary, var(--hub-modal-accent));--hub-modal-bg: var(--hub-modal-accent-subtle);--hub-modal-border-color: var(--hub-modal-accent-border);--hub-modal-header-border-color: var(--hub-modal-accent-border);--hub-modal-footer-border-color: var(--hub-modal-accent-border);--hub-modal-title-color: var(--hub-modal-accent)}.hub-modal--secondary .hub-modal__content{border-top:var(--hub-modal-accent-bar-width, .25rem) solid var(--hub-modal-accent)}.hub-modal--success{--hub-modal-accent: var(--hub-sys-color-success, var(--hub-modal-accent));--hub-modal-bg: var(--hub-modal-accent-subtle);--hub-modal-border-color: var(--hub-modal-accent-border);--hub-modal-header-border-color: var(--hub-modal-accent-border);--hub-modal-footer-border-color: var(--hub-modal-accent-border);--hub-modal-title-color: var(--hub-modal-accent)}.hub-modal--success .hub-modal__content{border-top:var(--hub-modal-accent-bar-width, .25rem) solid var(--hub-modal-accent)}.hub-modal--danger{--hub-modal-accent: var(--hub-sys-color-danger, var(--hub-modal-accent));--hub-modal-bg: var(--hub-modal-accent-subtle);--hub-modal-border-color: var(--hub-modal-accent-border);--hub-modal-header-border-color: var(--hub-modal-accent-border);--hub-modal-footer-border-color: var(--hub-modal-accent-border);--hub-modal-title-color: var(--hub-modal-accent)}.hub-modal--danger .hub-modal__content{border-top:var(--hub-modal-accent-bar-width, .25rem) solid var(--hub-modal-accent)}.hub-modal--warning{--hub-modal-accent: var(--hub-sys-color-warning, var(--hub-modal-accent));--hub-modal-bg: var(--hub-modal-accent-subtle);--hub-modal-border-color: var(--hub-modal-accent-border);--hub-modal-header-border-color: var(--hub-modal-accent-border);--hub-modal-footer-border-color: var(--hub-modal-accent-border);--hub-modal-title-color: var(--hub-modal-accent)}.hub-modal--warning .hub-modal__content{border-top:var(--hub-modal-accent-bar-width, .25rem) solid var(--hub-modal-accent)}.hub-modal--info{--hub-modal-accent: var(--hub-sys-color-info, var(--hub-modal-accent));--hub-modal-bg: var(--hub-modal-accent-subtle);--hub-modal-border-color: var(--hub-modal-accent-border);--hub-modal-header-border-color: var(--hub-modal-accent-border);--hub-modal-footer-border-color: var(--hub-modal-accent-border);--hub-modal-title-color: var(--hub-modal-accent)}.hub-modal--info .hub-modal__content{border-top:var(--hub-modal-accent-bar-width, .25rem) solid var(--hub-modal-accent)}.hub-modal--neutral{--hub-modal-accent: var(--hub-sys-color-neutral, var(--hub-modal-accent));--hub-modal-bg: var(--hub-modal-accent-subtle);--hub-modal-border-color: var(--hub-modal-accent-border);--hub-modal-header-border-color: var(--hub-modal-accent-border);--hub-modal-footer-border-color: var(--hub-modal-accent-border);--hub-modal-title-color: var(--hub-modal-accent)}.hub-modal--neutral .hub-modal__content{border-top:var(--hub-modal-accent-bar-width, .25rem) solid var(--hub-modal-accent)}.hub-modal--light{--hub-modal-accent: var(--hub-sys-color-light, var(--hub-modal-accent));--hub-modal-bg: var(--hub-modal-accent-subtle);--hub-modal-border-color: var(--hub-modal-accent-border);--hub-modal-header-border-color: var(--hub-modal-accent-border);--hub-modal-footer-border-color: var(--hub-modal-accent-border);--hub-modal-title-color: var(--hub-modal-accent)}.hub-modal--light .hub-modal__content{border-top:var(--hub-modal-accent-bar-width, .25rem) solid var(--hub-modal-accent)}.hub-modal--dark{--hub-modal-accent: var(--hub-sys-color-dark, var(--hub-modal-accent));--hub-modal-bg: var(--hub-modal-accent-subtle);--hub-modal-border-color: var(--hub-modal-accent-border);--hub-modal-header-border-color: var(--hub-modal-accent-border);--hub-modal-footer-border-color: var(--hub-modal-accent-border);--hub-modal-title-color: var(--hub-modal-accent)}.hub-modal--dark .hub-modal__content{border-top:var(--hub-modal-accent-bar-width, .25rem) solid var(--hub-modal-accent)}.hub-modal__header{display:flex;align-items:center;gap:var(--hub-modal-header-gap, var(--hub-ref-space-2, .5rem));padding:var(--hub-modal-header-padding-y, var(--hub-ref-space-3, 1rem)) var(--hub-modal-header-padding-x, var(--hub-ref-space-3, 1rem));border-bottom:var(--hub-modal-header-border-width, var(--hub-ref-border-width, 1px)) solid var(--hub-modal-header-border-color, var(--hub-sys-border-color-default, #dee2e6));border-top-left-radius:var(--hub-modal-inner-border-radius, calc(var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem)) - var(--hub-modal-border-width, var(--hub-ref-border-width, 1px))));border-top-right-radius:var(--hub-modal-inner-border-radius, calc(var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem)) - var(--hub-modal-border-width, var(--hub-ref-border-width, 1px))))}.hub-modal__header .modal-title{color:var(--hub-modal-title-color, var(--hub-modal-color, var(--hub-sys-text-primary, #212529)));font-size:var(--hub-modal-title-font-size, var(--hub-ref-font-size-lg, 1.25rem));font-weight:var(--hub-modal-title-font-weight, var(--hub-ref-font-weight-medium, 500));line-height:var(--hub-modal-title-line-height, var(--hub-ref-line-height-base, 1.5));margin:var(--hub-modal-title-margin-y, 0) var(--hub-modal-title-margin-x, 0)}.hub-modal__body{position:relative;flex:1 1 auto;padding:var(--hub-modal-body-padding-y, var(--hub-ref-space-3, 1rem)) var(--hub-modal-body-padding-x, var(--hub-ref-space-3, 1rem))}.hub-modal__dialog--scrollable .hub-modal__body{overflow-y:auto}.hub-modal__footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--hub-modal-footer-gap, var(--hub-ref-space-2, .5rem));padding:var(--hub-modal-footer-padding-y, var(--hub-ref-space-3, 1rem)) var(--hub-modal-footer-padding-x, var(--hub-ref-space-3, 1rem));color:var(--hub-modal-color, var(--hub-sys-text-primary, #212529));background-color:var(--hub-modal-footer-bg, var(--hub-modal-bg, var(--hub-sys-surface-page, #ffffff)));border-top:var(--hub-modal-footer-border-width, var(--hub-ref-border-width, 1px)) solid var(--hub-modal-footer-border-color, var(--hub-sys-border-color-default, #dee2e6));border-bottom-right-radius:var(--hub-modal-inner-border-radius, calc(var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem)) - var(--hub-modal-border-width, var(--hub-ref-border-width, 1px))));border-bottom-left-radius:var(--hub-modal-inner-border-radius, calc(var(--hub-modal-border-radius, var(--hub-ref-radius-lg, .5rem)) - var(--hub-modal-border-width, var(--hub-ref-border-width, 1px))))}.hub-modal__close{margin-left:auto;padding:var(--hub-modal-close-padding-y, 0) var(--hub-modal-close-padding-x, 0);font-size:var(--hub-modal-close-size, var(--hub-ref-font-size-lg, 1.25rem));line-height:var(--hub-modal-close-line-height, 1);background:transparent;border:0;cursor:pointer;color:var(--hub-modal-close-color, var(--hub-sys-text-primary, #212529));opacity:var(--hub-modal-close-opacity, .5)}.hub-modal__close:before{content:\"\\d7\"}.hub-modal__close:hover,.hub-modal__close:focus{opacity:var(--hub-modal-close-hover-opacity, .75)}.hub-modal.fade .hub-modal__dialog{transform:var(--hub-modal-fade-transform, translate(0, -50px));transition:var(--hub-modal-transition, var(--hub-sys-transition-base, all .2s ease-in-out))}.hub-modal.show .hub-modal__dialog{transform:var(--hub-modal-show-transform, none)}.hub-modal.hub-modal--static .hub-modal__dialog{transform:var(--hub-modal-scale-transform, scale(1.02))}.hub-modal__dialog--fullscreen{width:100%;max-width:100%;height:100%;max-height:100%;margin:0}.hub-modal__dialog--fullscreen .hub-modal__content{height:100%;border:0;border-radius:0;display:flex;flex-direction:column}.hub-modal__dialog--fullscreen .hub-modal__body{flex:1 1 auto;min-height:0;overflow-y:auto}@media(max-width:575.98px){.hub-modal__dialog--fullscreen-sm-down{width:100%;max-width:100%;height:100%;max-height:100%;margin:0}.hub-modal__dialog--fullscreen-sm-down .hub-modal__content{height:100%;border:0;border-radius:0;display:flex;flex-direction:column}.hub-modal__dialog--fullscreen-sm-down .hub-modal__body{flex:1 1 auto;min-height:0;overflow-y:auto}}@media(max-width:767.98px){.hub-modal__dialog--fullscreen-md-down{width:100%;max-width:100%;height:100%;max-height:100%;margin:0}.hub-modal__dialog--fullscreen-md-down .hub-modal__content{height:100%;border:0;border-radius:0;display:flex;flex-direction:column}.hub-modal__dialog--fullscreen-md-down .hub-modal__body{flex:1 1 auto;min-height:0;overflow-y:auto}}@media(max-width:991.98px){.hub-modal__dialog--fullscreen-lg-down{width:100%;max-width:100%;height:100%;max-height:100%;margin:0}.hub-modal__dialog--fullscreen-lg-down .hub-modal__content{height:100%;border:0;border-radius:0;display:flex;flex-direction:column}.hub-modal__dialog--fullscreen-lg-down .hub-modal__body{flex:1 1 auto;min-height:0;overflow-y:auto}}@media(max-width:1199.98px){.hub-modal__dialog--fullscreen-xl-down{width:100%;max-width:100%;height:100%;max-height:100%;margin:0}.hub-modal__dialog--fullscreen-xl-down .hub-modal__content{height:100%;border:0;border-radius:0;display:flex;flex-direction:column}.hub-modal__dialog--fullscreen-xl-down .hub-modal__body{flex:1 1 auto;min-height:0;overflow-y:auto}}@media(max-width:1399.98px){.hub-modal__dialog--fullscreen-xxl-down{width:100%;max-width:100%;height:100%;max-height:100%;margin:0}.hub-modal__dialog--fullscreen-xxl-down .hub-modal__content{height:100%;border:0;border-radius:0;display:flex;flex-direction:column}.hub-modal__dialog--fullscreen-xxl-down .hub-modal__body{flex:1 1 auto;min-height:0;overflow-y:auto}}.hub-modal__backdrop{position:fixed;inset:0;opacity:var(--hub-modal-backdrop-opacity-hidden, var(--hub-sys-opacity-0, 0));z-index:var(--hub-modal-backdrop-zindex, 1054);background-color:var(--hub-modal-backdrop-bg, var(--hub-ref-color-black, #000000));pointer-events:none}.hub-modal__backdrop.fade{transition:var(--hub-modal-backdrop-transition, opacity .15s linear)}.hub-modal__backdrop.show{opacity:var(--hub-modal-backdrop-opacity, var(--hub-sys-opacity-50, .5))}\n"] }]
|
|
771
771
|
}], propDecorators: { _dialogEl: [{ type: i0.ViewChild, args: ['dialog', { isSignal: true }] }], _headerContainerEl: [{ type: i0.ViewChild, args: ['headerContainer', { isSignal: true }] }], _bodyContainerEl: [{ type: i0.ViewChild, args: ['bodyContainer', { isSignal: true }] }], _footerContainerEl: [{ type: i0.ViewChild, args: ['footerContainer', { isSignal: true }] }], _closeButtonEl: [{ type: i0.ViewChild, args: ['closeButton', { isSignal: true }] }], animation: [{ type: i0.Input, args: [{ isSignal: true, alias: "animation", required: false }] }], ariaLabelledBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaLabelledBy", required: false }] }], ariaDescribedBy: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaDescribedBy", required: false }] }], backdrop: [{ type: i0.Input, args: [{ isSignal: true, alias: "backdrop", required: false }] }], centered: [{ type: i0.Input, args: [{ isSignal: true, alias: "centered", required: false }] }], placement: [{ type: i0.Input, args: [{ isSignal: true, alias: "placement", required: false }] }], fullscreen: [{ type: i0.Input, args: [{ isSignal: true, alias: "fullscreen", required: false }] }], keyboard: [{ type: i0.Input, args: [{ isSignal: true, alias: "keyboard", required: false }] }], scrollable: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollable", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], windowClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "windowClass", required: false }] }], modalDialogClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "modalDialogClass", required: false }] }], dismissEvent: [{ type: i0.Output, args: ["dismiss"] }] } });
|
|
772
772
|
|
|
773
773
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-hub-ui-modal.mjs","sources":["../../../projects/modal/src/lib/modal-placement.ts","../../../projects/modal/src/lib/modal-config.ts","../../../projects/modal/src/lib/modal-backdrop.ts","../../../projects/modal/src/lib/modal-ref.ts","../../../projects/modal/src/lib/modal-dismiss-reasons.ts","../../../projects/modal/src/lib/modal-window.ts","../../../projects/modal/src/lib/modal-stack.ts","../../../projects/modal/src/lib/modal.ts","../../../projects/modal/src/lib/modal.module.ts","../../../projects/modal/src/public-api.ts","../../../projects/modal/src/ng-hub-ui-modal.ts"],"sourcesContent":["/**\n * Supported modal placements within the viewport.\n */\nexport enum HubModalPlacement {\n\t/**\n\t * Places the modal in the center of the viewport.\n\t */\n\tCenter = 'center',\n\n\t/**\n\t * Anchors the modal to the start edge of the viewport.\n\t */\n\tStart = 'start',\n\n\t/**\n\t * Anchors the modal to the end edge of the viewport.\n\t */\n\tEnd = 'end',\n\n\t/**\n\t * Anchors the modal to the top edge of the viewport.\n\t */\n\tTop = 'top',\n\n\t/**\n\t * Anchors the modal to the bottom edge of the viewport.\n\t */\n\tBottom = 'bottom'\n}\n","import { Injectable, Injector } from '@angular/core';\nimport { HubModalPlacement } from './modal-placement';\n// import { HubConfig } from '../hub-config';\n\n/**\n * Options available when opening new modal windows with `HubModal.open()` method.\n */\nexport interface HubModalOptions {\n\t/**\n\t * If `true`, modal opening and closing will be animated.\n\t *\n\t * @since 8.0.0\n\t */\n\tanimation?: boolean;\n\n\t/**\n\t * `aria-labelledby` attribute value to set on the modal window.\n\t *\n\t * @since 2.2.0\n\t */\n\tariaLabelledBy?: string;\n\n\t/**\n\t * `aria-describedby` attribute value to set on the modal window.\n\t *\n\t * @since 6.1.0\n\t */\n\tariaDescribedBy?: string;\n\n\t/**\n\t * If `true`, the backdrop element will be created for a given modal.\n\t *\n\t * Alternatively, specify `'static'` for a backdrop which doesn't close the modal on click.\n\t *\n\t * Default value is `true`.\n\t */\n\tbackdrop?: boolean | 'static';\n\n\t/**\n\t * Callback right before the modal will be dismissed.\n\t *\n\t * If this function returns:\n\t * * `false`\n\t * * a promise resolved with `false`\n\t * * a promise that is rejected\n\t *\n\t * then the modal won't be dismissed.\n\t */\n\tbeforeDismiss?: () => boolean | Promise<boolean>;\n\n\t/**\n\t * If `true`, the modal will be centered vertically.\n\t *\n\t * Default value is `false`.\n\t *\n\t * @since 1.1.0\n\t */\n\tcentered?: boolean;\n\n\t/**\n\t * Controls where the modal is placed within the viewport.\n\t *\n\t * Default value is `'center'`.\n\t */\n\tplacement?: HubModalPlacement;\n\n\t/**\n\t * A selector specifying the element all new modal windows should be appended to.\n\t * Since v5.3.0 it is also possible to pass the reference to an `HTMLElement`.\n\t *\n\t * If not specified, will be `body`.\n\t */\n\tcontainer?: string | HTMLElement;\n\n\t/**\n\t * If `true` modal will always be displayed in fullscreen mode.\n\t *\n\t * For values like `'md'` it means that modal will be displayed in fullscreen mode\n\t * only if the viewport width is below `'md'`. For custom strings (ex. when passing `'mysize'`)\n\t * it will add a `'modal-fullscreen-mysize-down'` class.\n\t *\n\t * If not specified will be `false`.\n\t *\n\t * @since 12.1.0\n\t */\n\tfullscreen?: 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | boolean | string;\n\n\t/**\n\t * The `Injector` to use for modal content.\n\t */\n\tinjector?: Injector;\n\n\t/**\n\t * If `true`, the modal will be closed when `Escape` key is pressed\n\t *\n\t * Default value is `true`.\n\t */\n\tkeyboard?: boolean;\n\n\t/**\n\t * Scrollable modal content (false by default).\n\t *\n\t * @since 5.0.0\n\t */\n\tscrollable?: boolean;\n\n\t/**\n\t * Size of a new modal window.\n\t */\n\tsize?: 'sm' | 'lg' | 'xl' | string;\n\n\t/**\n\t * Semantic accent of the modal, for meaningful dialogs (a destructive\n\t * confirmation, a success notice…). Adds a coloured top bar to the dialog by\n\t * applying the `hub-modal--<variant>` class to the window.\n\t *\n\t * The built-in values (`'primary'` · `'success'` · `'danger'` · `'warning'`\n\t * · `'info'`) map to the design-system colours, but **any string is accepted**\n\t * — the modal reads `--hub-sys-color-<variant>` from the host application.\n\t *\n\t * If not specified, the modal is rendered neutral (no accent bar).\n\t */\n\tvariant?: 'primary' | 'success' | 'danger' | 'warning' | 'info' | (string & {});\n\n\t/**\n\t * A custom class to append to the modal window.\n\t */\n\twindowClass?: string;\n\n\t/**\n\t * A custom class to append to the modal dialog.\n\t *\n\t * @since 9.1.0\n\t */\n\tmodalDialogClass?: string;\n\n\t/**\n\t * A custom class to append to the modal backdrop.\n\t *\n\t * @since 1.1.0\n\t */\n\tbackdropClass?: string;\n\n\t/**\n\t * Allows to specify a custom selector for the header element of the modal window. This can be useful if you want to target\n\t * a specific element within the modal to act as the header, for example, to apply custom styling or functionality to it. By\n\t * providing a CSS selector string, you can target the desired\theader element within the modal content.\n\t */\n\theaderSelector?: string;\n\n\t/**\n\t * Allows to specify a custom selector for the footer element of the modal window. This can be useful if you want to target\n\t * a specific element within the modal to act as the footer, for example, to apply custom styling or functionality to it. By\n\t * providing a CSS selector string, you can target the desired footer element within the modal content.\n\t */\n\tfooterSelector?: string;\n\n\t/** Used to specify a custom selector for elements that can trigger the dismissal of the modal window. By providing a CSS selector\n\t * string for `dismissSelector`, you can target specific elements within the modal content that, when interacted with (e.g., clicked),\n\t * will close or dismiss the modal window.\n\t */\n\tdismissSelector?: string;\n\n\t/**\n\t * Used to specify a custom selector for elements that can trigger the closing of the modal window. By providing a CSS selector\n\t * string for `closeSelector`, you can target specific elements within the modal content that, when interacted with (e.g., clicked),\n\t * will close the modal window. This allows for customization of the elements that can act as close buttons for the modal.\n\t */\n\tcloseSelector?: string;\n\n\t/** Used to store any additional data that needs to be passed to the modal window when it is opened. This property allows you\n\t * to provide custom data to the modal component, which can then be accessed and utilized within the modal content or logic.\n\t * It provides flexibility for passing dynamic information to the modal window based on the specific use case or requirements.\n\t */\n\tdata?: any;\n}\n\n/**\n * Options that can be changed on an opened modal with `HubModalRef.update()` and `HubActiveModal.update()` methods.\n *\n * @since 14.2.0\n */\nexport type HubModalUpdatableOptions = Pick<\n\tHubModalOptions,\n\t| 'ariaLabelledBy'\n\t| 'ariaDescribedBy'\n\t| 'centered'\n\t| 'placement'\n\t| 'fullscreen'\n\t| 'backdropClass'\n\t| 'size'\n\t| 'variant'\n\t| 'windowClass'\n\t| 'modalDialogClass'\n>;\n\n/**\n * A configuration service for the [`HubModal`](#/components/modal/api#HubModal) service.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all modals used in the application.\n *\n * @since 3.1.0\n */\n@Injectable({ providedIn: 'root' })\nexport class HubModalConfig implements Required<HubModalOptions> {\n\t// private _hubConfig = inject(HubConfig);\n\tprivate _animation?: boolean;\n\n\tariaLabelledBy!: string;\n\tariaDescribedBy!: string;\n\tbackdrop: boolean | 'static' = true;\n\tbeforeDismiss!: () => boolean | Promise<boolean>;\n\tcentered!: boolean;\n\tplacement: HubModalPlacement = HubModalPlacement.Center;\n\tcontainer!: string | HTMLElement;\n\tfullscreen: 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | boolean | string = false;\n\tinjector!: Injector;\n\tkeyboard = true;\n\tscrollable!: boolean;\n\tsize!: 'sm' | 'lg' | 'xl' | string;\n\tvariant!: 'primary' | 'success' | 'danger' | 'warning' | 'info' | (string & {});\n\twindowClass!: string;\n\tmodalDialogClass!: string;\n\tbackdropClass!: string;\n\theaderSelector!: string;\n\tfooterSelector!: string;\n\tdismissSelector: string = '[data-dismiss=\"modal\"]';\n\tcloseSelector: string = '[data-close=\"modal\"]';\n\tdata: any;\n\n\tget animation(): boolean {\n\t\treturn this._animation ?? true /* this._hubConfig.animation */;\n\t}\n\tset animation(animation: boolean) {\n\t\tthis._animation = animation;\n\t}\n}\n","import { Component, ElementRef, inject, input, NgZone, OnInit, ViewEncapsulation } from '@angular/core';\nimport { hubRunTransition, reflow } from 'ng-hub-ui-utils';\nimport { Observable } from 'rxjs';\nimport { take } from 'rxjs/operators';\n\n/**\n * Represents the backdrop element associated with an active modal window.\n * It is responsible for displaying a dark overlay and handling entry/exit animations.\n */\n@Component({\n\tselector: 'hub-modal-backdrop',\n\tstandalone: true,\n\tencapsulation: ViewEncapsulation.None,\n\ttemplate: '',\n\thost: {\n\t\t'[class]': '\"hub-modal__backdrop\" + (backdropClass() ? \" \" + backdropClass() : \"\")',\n\t\t'[class.show]': '!animation()',\n\t\t'[class.fade]': 'animation()'\n\t}\n})\nexport class HubModalBackdrop implements OnInit {\n\tprivate _nativeElement = inject(ElementRef).nativeElement as HTMLElement;\n\tprivate _zone = inject(NgZone);\n\n\t/**\n\t * Determines whether the backdrop should use CSS transitions during its initialization and destruction.\n\t */\n\treadonly animation = input<boolean>(true);\n\n\t/**\n\t * Allows applying a custom CSS class to the backdrop element.\n\t */\n\treadonly backdropClass = input<string>();\n\n\tngOnInit() {\n\t\tthis._zone.onStable\n\t\t\t.asObservable()\n\t\t\t.pipe(take(1))\n\t\t\t.subscribe(() => {\n\t\t\t\thubRunTransition(\n\t\t\t\t\tthis._zone,\n\t\t\t\t\tthis._nativeElement,\n\t\t\t\t\t(element: HTMLElement, animation: boolean) => {\n\t\t\t\t\t\tif (animation) {\n\t\t\t\t\t\t\treflow(element);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telement.classList.add('show');\n\t\t\t\t\t},\n\t\t\t\t\t{ animation: this.animation(), runningTransition: 'continue' }\n\t\t\t\t);\n\t\t\t});\n\t}\n\n\t/**\n\t * Triggers the hide transition for the backdrop element and removes the `show` CSS class.\n\t *\n\t * @returns An observable that completes once the exit transition has ended.\n\t */\n\thide(): Observable<void> {\n\t\treturn hubRunTransition(this._zone, this._nativeElement, ({ classList }) => classList.remove('show'), {\n\t\t\tanimation: this.animation(),\n\t\t\trunningTransition: 'stop'\n\t\t});\n\t}\n}\n","import { ComponentRef } from '@angular/core';\nimport { ContentRef, isDefined, isPromise } from 'ng-hub-ui-utils';\nimport { Observable, of, Subject, zip } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { HubModalBackdrop } from './modal-backdrop';\nimport { HubModalOptions, HubModalUpdatableOptions } from './modal-config';\nimport { HubModalWindow } from './modal-window';\n\n/**\n * A reference to the currently opened (active) modal.\n *\n * Instances of this class can be injected into your component passed as modal content.\n * So you can `.update()`, `.close()` or `.dismiss()` the modal window from your component.\n */\nexport class HubActiveModal {\n\t/**\n\t * Updates options of an opened modal.\n\t *\n\t * @since 14.2.0\n\t */\n\tupdate(options: HubModalUpdatableOptions): void {}\n\t/**\n\t * Closes the modal with an optional `result` value.\n\t *\n\t * The `HubModalRef.result` promise will be resolved with the provided value.\n\t */\n\tclose(result?: any): void {}\n\n\t/**\n\t * Dismisses the modal with an optional `reason` value.\n\t *\n\t * The `HubModalRef.result` promise will be rejected with the provided value.\n\t */\n\tdismiss(reason?: any): void {}\n}\n\nconst WINDOW_ATTRIBUTES: string[] = [\n\t'animation',\n\t'ariaLabelledBy',\n\t'ariaDescribedBy',\n\t'backdrop',\n\t'centered',\n\t'placement',\n\t'fullscreen',\n\t'keyboard',\n\t'scrollable',\n\t'size',\n\t'variant',\n\t'windowClass',\n\t'modalDialogClass'\n];\nconst BACKDROP_ATTRIBUTES: string[] = ['animation', 'backdropClass'];\n\n/**\n * A reference to the newly opened modal returned by the `HubModal.open()` method.\n */\nexport class HubModalRef<T = any> {\n\tprivate _closed = new Subject<any>();\n\tprivate _dismissed = new Subject<any>();\n\tprivate _hidden = new Subject<void>();\n\tprivate _resolve!: (result?: any) => void;\n\tprivate _reject!: (reason?: any) => void;\n\n\tprivate _applyWindowOptions(windowComponentRef: ComponentRef<HubModalWindow>, options: HubModalOptions): void {\n\t\tWINDOW_ATTRIBUTES.forEach((optionName: string) => {\n\t\t\tconst opts: any = options as any;\n\t\t\tif (isDefined(opts[optionName])) {\n\t\t\t\twindowComponentRef.setInput(optionName, opts[optionName]);\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _applyBackdropOptions(backdropComponentRef: ComponentRef<HubModalBackdrop>, options: HubModalOptions): void {\n\t\tBACKDROP_ATTRIBUTES.forEach((optionName: string) => {\n\t\t\tconst opts: any = options as any;\n\t\t\tif (isDefined(opts[optionName])) {\n\t\t\t\tbackdropComponentRef.setInput(optionName, opts[optionName]);\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Updates options of an opened modal.\n\t *\n\t * @since 14.2.0\n\t */\n\tupdate(options: HubModalUpdatableOptions): void {\n\t\tthis._applyWindowOptions(this._windowCmptRef, options);\n\t\tif (this._backdropCmptRef && this._backdropCmptRef.instance) {\n\t\t\tthis._applyBackdropOptions(this._backdropCmptRef, options);\n\t\t}\n\t}\n\n\t/**\n\t * The instance of a component used for the modal content.\n\t *\n\t * When a `TemplateRef` is used as the content or when the modal is closed, will return `undefined`.\n\t */\n\tget componentInstance(): T | void {\n\t\tif (this._contentRef && this._contentRef.componentRef) {\n\t\t\treturn this._contentRef.componentRef.instance;\n\t\t}\n\t}\n\n\t/**\n\t * The promise that is resolved when the modal is closed and rejected when the modal is dismissed.\n\t */\n\tresult: Promise<any>;\n\n\t/**\n\t * The observable that emits when the modal is closed via the `.close()` method.\n\t *\n\t * It will emit the result passed to the `.close()` method.\n\t *\n\t * @since 8.0.0\n\t */\n\tget closed(): Observable<any> {\n\t\treturn this._closed.asObservable().pipe(takeUntil(this._hidden));\n\t}\n\n\t/**\n\t * The observable that emits when the modal is dismissed via the `.dismiss()` method.\n\t *\n\t * It will emit the reason passed to the `.dismissed()` method by the user, or one of the internal\n\t * reasons like backdrop click or ESC key press.\n\t *\n\t * @since 8.0.0\n\t */\n\tget dismissed(): Observable<any> {\n\t\treturn this._dismissed.asObservable().pipe(takeUntil(this._hidden));\n\t}\n\n\t/**\n\t * The observable that emits when both modal window and backdrop are closed and animations were finished.\n\t * At this point modal and backdrop elements will be removed from the DOM tree.\n\t *\n\t * This observable will be completed after emitting.\n\t *\n\t * @since 8.0.0\n\t */\n\tget hidden(): Observable<void> {\n\t\treturn this._hidden.asObservable();\n\t}\n\n\t/**\n\t * The observable that emits when modal is fully visible and animation was finished.\n\t * Modal DOM element is always available synchronously after calling 'modal.open()' service.\n\t *\n\t * This observable will be completed after emitting.\n\t * It will not emit, if modal is closed before open animation is finished.\n\t *\n\t * @since 8.0.0\n\t */\n\tget shown(): Observable<void> {\n\t\treturn this._windowCmptRef.instance.shown.asObservable();\n\t}\n\n\tconstructor(\n\t\tprivate _windowCmptRef: ComponentRef<HubModalWindow>,\n\t\tprivate _contentRef: ContentRef,\n\t\tprivate _backdropCmptRef?: ComponentRef<HubModalBackdrop>,\n\t\tprivate _beforeDismiss?: () => boolean | Promise<boolean>\n\t) {\n\t\t_windowCmptRef.instance.dismissEvent.subscribe((reason: any) => {\n\t\t\tthis.dismiss(reason);\n\t\t});\n\n\t\tthis.result = new Promise((resolve, reject) => {\n\t\t\tthis._resolve = resolve;\n\t\t\tthis._reject = reject;\n\t\t});\n\t\tthis.result.then(null, () => {});\n\t}\n\n\t/**\n\t * Closes the modal with an optional `result` value.\n\t *\n\t * The `HubMobalRef.result` promise will be resolved with the provided value.\n\t */\n\tclose(result?: any): void {\n\t\tif (this._windowCmptRef) {\n\t\t\tthis._closed.next(result);\n\t\t\tthis._resolve(result);\n\t\t\tthis._removeModalElements();\n\t\t}\n\t}\n\n\tprivate _dismiss(reason?: any) {\n\t\tthis._dismissed.next(reason);\n\t\tthis._reject(reason);\n\t\tthis._removeModalElements();\n\t}\n\n\t/**\n\t * Dismisses the modal with an optional `reason` value.\n\t *\n\t * The `HubModalRef.result` promise will be rejected with the provided value.\n\t */\n\tdismiss(reason?: any): void {\n\t\tif (this._windowCmptRef) {\n\t\t\tif (!this._beforeDismiss) {\n\t\t\t\tthis._dismiss(reason);\n\t\t\t} else {\n\t\t\t\tconst dismiss = this._beforeDismiss();\n\t\t\t\tif (isPromise(dismiss as any)) {\n\t\t\t\t\t(dismiss as Promise<boolean>).then(\n\t\t\t\t\t\t(result) => {\n\t\t\t\t\t\t\tif (result !== false) {\n\t\t\t\t\t\t\t\tthis._dismiss(reason);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t() => {}\n\t\t\t\t\t);\n\t\t\t\t} else if (dismiss !== false) {\n\t\t\t\t\tthis._dismiss(reason);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate _removeModalElements() {\n\t\tconst windowTransition$ = this._windowCmptRef.instance.hide();\n\t\tconst backdropTransition$ = this._backdropCmptRef ? this._backdropCmptRef.instance.hide() : of(undefined);\n\n\t\t// hiding window\n\t\twindowTransition$.subscribe(() => {\n\t\t\tconst { nativeElement } = this._windowCmptRef.location;\n\t\t\tnativeElement.parentNode?.removeChild(nativeElement);\n\t\t\tthis._windowCmptRef.destroy();\n\t\t\tthis._contentRef?.viewRef?.destroy();\n\n\t\t\tthis._windowCmptRef = <any>null;\n\t\t\tthis._contentRef = <any>null;\n\t\t});\n\n\t\t// hiding backdrop\n\t\tbackdropTransition$.subscribe(() => {\n\t\t\tif (this._backdropCmptRef) {\n\t\t\t\tconst { nativeElement } = this._backdropCmptRef.location;\n\t\t\t\tnativeElement.parentNode?.removeChild(nativeElement);\n\t\t\t\tthis._backdropCmptRef.destroy();\n\t\t\t\tthis._backdropCmptRef = <any>null;\n\t\t\t}\n\t\t});\n\n\t\t// all done\n\t\tzip(windowTransition$, backdropTransition$).subscribe(() => {\n\t\t\tthis._hidden.next();\n\t\t\tthis._hidden.complete();\n\t\t});\n\t}\n}\n","export enum ModalDismissReasons {\n\tBACKDROP_CLICK,\n\tESC,\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n\tComponent,\n\tElementRef,\n\tinject,\n\tinput,\n\tNgZone,\n\tOnDestroy,\n\tOnInit,\n\toutput,\n\tviewChild,\n\tViewEncapsulation\n} from '@angular/core';\nimport { getFocusableBoundaryElements, hubRunTransition, isString, reflow, TransitionOptions } from 'ng-hub-ui-utils';\nimport { fromEvent, Observable, Subject, zip } from 'rxjs';\nimport { filter, switchMap, take, takeUntil, tap } from 'rxjs/operators';\nimport { ModalDismissReasons } from './modal-dismiss-reasons';\nimport { HubModalPlacement } from './modal-placement';\n\n/**\n * The internal component representing the modal window.\n * It renders the modal dialog structure, handles ARIA attributes, encapsulates the projected content,\n * and manages interactions like keyboard dismissals and backdrop clicks.\n */\n@Component({\n\tselector: 'hub-modal-window',\n\timports: [],\n\thost: {\n\t\t'[class]':\n\t\t\t'\"hub-modal\" + hostPlacementClass + (variant() ? \" hub-modal--\" + variant() : \"\") + (windowClass() ? \" \" + windowClass() : \"\")',\n\t\t'[class.fade]': 'animation()',\n\t\trole: 'dialog',\n\t\ttabindex: '-1',\n\t\t'[attr.aria-modal]': 'true',\n\t\t'[attr.aria-labelledby]': 'ariaLabelledBy()',\n\t\t'[attr.aria-describedby]': 'ariaDescribedBy()'\n\t},\n\ttemplate: `\n\t\t<div\n\t\t\t#dialog\n\t\t\t[class]=\"\n\t\t\t\t'hub-modal__dialog' +\n\t\t\t\t(size() ? ' hub-modal__dialog--' + size() : '') +\n\t\t\t\tplacementClass +\n\t\t\t\tcenteredClass +\n\t\t\t\tfullscreenClass +\n\t\t\t\t(scrollable() ? ' hub-modal__dialog--scrollable' : '') +\n\t\t\t\t(modalDialogClass() ? ' ' + modalDialogClass() : '')\n\t\t\t\"\n\t\t\trole=\"document\"\n\t\t>\n\t\t\t<div class=\"hub-modal__content\">\n\t\t\t\t@if (singleContent) {\n\t\t\t\t\t<div #bodyContainer class=\"hub-modal__body\"></div>\n\t\t\t\t} @else {\n\t\t\t\t\t<div #headerContainer class=\"hub-modal__header\">\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t#closeButton\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tclass=\"hub-modal__close\"\n\t\t\t\t\t\t\taria-label=\"Close\"\n\t\t\t\t\t\t\t(click)=\"dismiss(null)\"\n\t\t\t\t\t\t></button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div #bodyContainer class=\"hub-modal__body\"></div>\n\t\t\t\t\t<div #footerContainer class=\"hub-modal__footer\"></div>\n\t\t\t\t}\n\t\t\t</div>\n\t\t</div>\n\t`,\n\tencapsulation: ViewEncapsulation.None,\n\tstyleUrl: './modal.scss'\n})\nexport class HubModalWindow implements OnInit, OnDestroy {\n\tprivate _document = inject(DOCUMENT);\n\tprivate _elRef = inject(ElementRef<HTMLElement>);\n\tprivate _zone = inject(NgZone);\n\n\tprivate _closed$ = new Subject<void>();\n\tprivate _elWithFocus: Element | null = null; // element that is focused prior to modal opening\n\n\tprivate readonly _dialogEl = viewChild.required<ElementRef<HTMLElement>>('dialog');\n\tprivate readonly _headerContainerEl = viewChild<ElementRef<HTMLElement>>('headerContainer');\n\tprivate readonly _bodyContainerEl = viewChild<ElementRef<HTMLElement>>('bodyContainer');\n\tprivate readonly _footerContainerEl = viewChild<ElementRef<HTMLElement>>('footerContainer');\n\tprivate readonly _closeButtonEl = viewChild<ElementRef<HTMLButtonElement>>('closeButton');\n\n\t/**\n\t * Determines whether the modal window should animate its entry and exit.\n\t */\n\treadonly animation = input<boolean>(true);\n\n\t/**\n\t * Identifier to apply to the `aria-labelledby` attribute of the modal.\n\t */\n\treadonly ariaLabelledBy = input<string>();\n\n\t/**\n\t * Identifier to apply to the `aria-describedby` attribute of the modal.\n\t */\n\treadonly ariaDescribedBy = input<string>();\n\n\t/**\n\t * Configures the presence and behavior of the modal backdrop (`true`, `false`, or `'static'`).\n\t */\n\treadonly backdrop = input<boolean | string>(true);\n\n\t/**\n\t * If `true`, the modal dialog will be centered vertically.\n\t */\n\treadonly centered = input<boolean>();\n\n\t/**\n\t * Specifies the modal placement inside the viewport.\n\t */\n\treadonly placement = input<HubModalPlacement>(HubModalPlacement.Center);\n\n\t/**\n\t * Enables fullscreen mode for the modal, either always (`true`) or below specific breakpoints.\n\t */\n\treadonly fullscreen = input<string | boolean>();\n\n\t/**\n\t * If `true`, pressing the ESC key will close the modal.\n\t */\n\treadonly keyboard = input(true);\n\n\t/**\n\t * If `true`, the modal content will be scrollable when it exceeds the viewport height.\n\t */\n\treadonly scrollable = input<boolean>();\n\n\t/**\n\t * Specifies the size of the modal (`'sm'`, `'lg'`, `'xl'`, etc.).\n\t */\n\treadonly size = input<string>();\n\n\t/**\n\t * Semantic accent of the modal (`'primary'`, `'success'`, `'danger'`,\n\t * `'warning'`, `'info'`, or any custom token name). Applies the\n\t * `hub-modal--<variant>` class, which paints an accent top bar on the dialog.\n\t */\n\treadonly variant = input<string>();\n\n\t/**\n\t * A custom CSS class to append to the modal window wrapper.\n\t */\n\treadonly windowClass = input<string>();\n\n\t/**\n\t * A custom CSS class to append to the inner modal dialog element.\n\t */\n\treadonly modalDialogClass = input<string>();\n\n\tsingleContent!: boolean;\n\n\t/**\n\t * Emits when the user dismisses the modal (e.g. via ESC, backdrop click, or custom close buttons).\n\t */\n\treadonly dismissEvent = output({ alias: 'dismiss' });\n\n\t/**\n\t * Emits and completes once the modal window is fully visible and its transition has ended.\n\t */\n\tshown = new Subject<void>();\n\n\t/**\n\t * Emits and completes once the modal is fully hidden and its DOM elements are ready to be destroyed.\n\t */\n\thidden = new Subject<void>();\n\n\t/**\n\t * Computes the CSS class for fullscreen behavior based on the `fullscreen` input.\n\t */\n\tget fullscreenClass(): string {\n\t\tconst fullscreen = this.fullscreen();\n\t\treturn fullscreen === true\n\t\t\t? ' hub-modal__dialog--fullscreen'\n\t\t\t: isString(fullscreen)\n\t\t\t\t? ` hub-modal__dialog--fullscreen-${fullscreen}-down`\n\t\t\t\t: '';\n\t}\n\n\t/**\n\t * Computes the CSS class corresponding to the requested modal placement.\n\t */\n\tget placementClass(): string {\n\t\tconst placement = this.placement();\n\t\treturn placement && placement !== HubModalPlacement.Center ? ` hub-modal__dialog--placement-${placement}` : '';\n\t}\n\n\t/**\n\t * Computes the CSS class applied to the modal host to control viewport anchoring.\n\t */\n\tget hostPlacementClass(): string {\n\t\tconst placement = this.placement();\n\t\treturn placement && placement !== HubModalPlacement.Center ? ` hub-modal--placement-${placement}` : '';\n\t}\n\n\t/**\n\t * Computes the CSS class used to center the modal on the secondary axis, depending on its placement.\n\t */\n\tget centeredClass(): string {\n\t\tif (!this.centered()) {\n\t\t\treturn '';\n\t\t}\n\n\t\tswitch (this.placement()) {\n\t\t\tcase HubModalPlacement.Start:\n\t\t\tcase HubModalPlacement.End:\n\t\t\t\treturn ' hub-modal__dialog--centered-vertical';\n\t\t\tcase HubModalPlacement.Top:\n\t\t\tcase HubModalPlacement.Bottom:\n\t\t\t\treturn '';\n\t\t\tcase HubModalPlacement.Center:\n\t\t\tdefault:\n\t\t\t\treturn ' hub-modal__dialog--centered';\n\t\t}\n\t}\n\n\t/**\n\t * Dismisses the modal by emitting the `dismissEvent` with the provided reason.\n\t *\n\t * @param reason The reason the modal was dismissed (e.g. 'ESC', 'BACKDROP_CLICK', or custom data).\n\t */\n\tdismiss(reason: any): void {\n\t\tthis.dismissEvent.emit(reason);\n\t}\n\n\t/**\n\t * Attaches the projected content nodes into their respective structural containers\n\t * (header, body, and footer) within the modal dialog.\n\t *\n\t * @param contentNodes A nested array containing nodes segmented into header, body, and footer parts.\n\t */\n\tattachContent([headerNodes, bodyNodes, footerNodes]: Node[][]): void {\n\t\tconst bodyContainer = this._bodyContainerEl()?.nativeElement;\n\t\tif (!bodyContainer) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.singleContent) {\n\t\t\tthis._appendNodes(bodyContainer, bodyNodes);\n\t\t\treturn;\n\t\t}\n\n\t\tconst headerContainer = this._headerContainerEl()?.nativeElement;\n\t\tconst footerContainer = this._footerContainerEl()?.nativeElement;\n\t\tconst closeButton = this._closeButtonEl()?.nativeElement ?? null;\n\n\t\tif (headerContainer) {\n\t\t\tthis._appendNodes(headerContainer, headerNodes, closeButton);\n\t\t}\n\t\tthis._appendNodes(bodyContainer, bodyNodes);\n\t\tif (footerContainer) {\n\t\t\tthis._appendNodes(footerContainer, footerNodes);\n\t\t}\n\t}\n\n\tngOnInit() {\n\t\tthis._elWithFocus = this._document.activeElement;\n\t\tthis._zone.onStable\n\t\t\t.asObservable()\n\t\t\t.pipe(take(1))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis._show();\n\t\t\t});\n\t}\n\n\tngOnDestroy() {\n\t\tthis._disableEventHandling();\n\t}\n\n\t/**\n\t * Determines the focus element, blocks further interactions, configures the exit transition context,\n\t * removes 'show' CSS classes from the modal, and restores focus back to the previously focused element.\n\t *\n\t * @returns An observable that emits when the exit transition completely finishes.\n\t */\n\thide(): Observable<any> {\n\t\tconst { nativeElement } = this._elRef;\n\t\tconst context: TransitionOptions<any> = {\n\t\t\tanimation: this.animation(),\n\t\t\trunningTransition: 'stop'\n\t\t};\n\n\t\tconst windowTransition$ = hubRunTransition(\n\t\t\tthis._zone,\n\t\t\tnativeElement,\n\t\t\t() => nativeElement.classList.remove('show'),\n\t\t\tcontext\n\t\t);\n\t\tconst dialogTransition$ = hubRunTransition(this._zone, this._dialogEl().nativeElement, () => {}, context);\n\n\t\tconst transitions$ = zip(windowTransition$, dialogTransition$);\n\t\ttransitions$.subscribe(() => {\n\t\t\tthis.hidden.next();\n\t\t\tthis.hidden.complete();\n\t\t});\n\n\t\tthis._disableEventHandling();\n\t\tthis._restoreFocus();\n\n\t\treturn transitions$;\n\t}\n\n\tprivate _show() {\n\t\tconst context: TransitionOptions<any> = {\n\t\t\tanimation: this.animation(),\n\t\t\trunningTransition: 'continue'\n\t\t};\n\n\t\tconst windowTransition$ = hubRunTransition(\n\t\t\tthis._zone,\n\t\t\tthis._elRef.nativeElement,\n\t\t\t(element: HTMLElement, animation: boolean) => {\n\t\t\t\tif (animation) {\n\t\t\t\t\treflow(element);\n\t\t\t\t}\n\t\t\t\telement.classList.add('show');\n\t\t\t},\n\t\t\tcontext\n\t\t);\n\t\tconst dialogTransition$ = hubRunTransition(this._zone, this._dialogEl().nativeElement, () => {}, context);\n\n\t\tzip(windowTransition$, dialogTransition$).subscribe(() => {\n\t\t\tthis.shown.next();\n\t\t\tthis.shown.complete();\n\t\t});\n\n\t\tthis._enableEventHandling();\n\t\tthis._setFocus();\n\t}\n\n\tprivate _enableEventHandling() {\n\t\tconst { nativeElement } = this._elRef;\n\t\tthis._zone.runOutsideAngular(() => {\n\t\t\tfromEvent<KeyboardEvent>(nativeElement, 'keydown')\n\t\t\t\t.pipe(\n\t\t\t\t\ttakeUntil(this._closed$),\n\t\t\t\t\tfilter((e) => e.key === 'Escape')\n\t\t\t\t)\n\t\t\t\t.subscribe((event) => {\n\t\t\t\t\tif (this.keyboard()) {\n\t\t\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\t\t\tif (!event.defaultPrevented) {\n\t\t\t\t\t\t\t\tthis._zone.run(() => this.dismiss(ModalDismissReasons.ESC));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t} else if (this.backdrop() === 'static') {\n\t\t\t\t\t\tthis._bumpBackdrop();\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t// We're listening to 'mousedown' and 'mouseup' to prevent modal from closing when pressing the mouse\n\t\t\t// inside the modal dialog and releasing it outside\n\t\t\tlet preventClose = false;\n\t\t\tfromEvent<MouseEvent>(this._dialogEl().nativeElement, 'mousedown')\n\t\t\t\t.pipe(\n\t\t\t\t\ttakeUntil(this._closed$),\n\t\t\t\t\ttap(() => (preventClose = false)),\n\t\t\t\t\tswitchMap(() => fromEvent<MouseEvent>(nativeElement, 'mouseup').pipe(takeUntil(this._closed$), take(1))),\n\t\t\t\t\tfilter(({ target }) => nativeElement === target)\n\t\t\t\t)\n\t\t\t\t.subscribe(() => {\n\t\t\t\t\tpreventClose = true;\n\t\t\t\t});\n\n\t\t\t// We're listening to 'click' to dismiss modal on modal window click, except when:\n\t\t\t// 1. clicking on modal dialog itself\n\t\t\t// 2. closing was prevented by mousedown/up handlers\n\t\t\t// 3. clicking on scrollbar when the viewport is too small and modal doesn't fit (click is not triggered at all)\n\t\t\tfromEvent<MouseEvent>(nativeElement, 'click')\n\t\t\t\t.pipe(takeUntil(this._closed$))\n\t\t\t\t.subscribe(({ target }) => {\n\t\t\t\t\tif (nativeElement === target) {\n\t\t\t\t\t\tconst backdrop = this.backdrop();\n\t\t\t\t\t\tif (backdrop === 'static') {\n\t\t\t\t\t\t\tthis._bumpBackdrop();\n\t\t\t\t\t\t} else if (backdrop === true && !preventClose) {\n\t\t\t\t\t\t\tthis._zone.run(() => this.dismiss(ModalDismissReasons.BACKDROP_CLICK));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tpreventClose = false;\n\t\t\t\t});\n\t\t});\n\t}\n\n\tprivate _disableEventHandling() {\n\t\tthis._closed$.next();\n\t}\n\n\tprivate _setFocus() {\n\t\tconst { nativeElement } = this._elRef;\n\t\tif (!nativeElement.contains(document.activeElement)) {\n\t\t\tconst autoFocusable = nativeElement.querySelector(`[hubAutofocus]`) as HTMLElement;\n\t\t\tconst firstFocusable = getFocusableBoundaryElements(nativeElement)[0];\n\n\t\t\tconst elementToFocus = autoFocusable || firstFocusable || nativeElement;\n\t\t\telementToFocus.focus();\n\t\t}\n\t}\n\n\tprivate _restoreFocus() {\n\t\tconst body = this._document.body;\n\t\tconst elWithFocus = this._elWithFocus;\n\n\t\tlet elementToFocus: HTMLElement;\n\t\tif (elWithFocus instanceof HTMLElement && body.contains(elWithFocus)) {\n\t\t\telementToFocus = elWithFocus;\n\t\t} else {\n\t\t\telementToFocus = body as unknown as HTMLElement;\n\t\t}\n\t\tthis._zone.runOutsideAngular(() => {\n\t\t\tsetTimeout(() => elementToFocus.focus());\n\t\t\tthis._elWithFocus = null;\n\t\t});\n\t}\n\n\tprivate _bumpBackdrop() {\n\t\tif (this.backdrop() === 'static') {\n\t\t\thubRunTransition(\n\t\t\t\tthis._zone,\n\t\t\t\tthis._elRef.nativeElement,\n\t\t\t\t({ classList }) => {\n\t\t\t\t\tclassList.add('hub-modal--static');\n\t\t\t\t\treturn () => classList.remove('hub-modal--static');\n\t\t\t\t},\n\t\t\t\t{ animation: this.animation(), runningTransition: 'continue' }\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate _appendNodes(container: HTMLElement, nodes: Node[], beforeNode?: Node | null) {\n\t\tnodes.forEach((node) => {\n\t\t\tif (beforeNode) {\n\t\t\t\tcontainer.insertBefore(node, beforeNode);\n\t\t\t} else {\n\t\t\t\tcontainer.appendChild(node);\n\t\t\t}\n\t\t});\n\t}\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n\tApplicationRef,\n\tComponentRef,\n\tcreateComponent,\n\tEnvironmentInjector,\n\tEventEmitter,\n\tinject,\n\tInjectable,\n\tInjector,\n\tNgZone,\n\tTemplateRef,\n\tType\n} from '@angular/core';\nimport { ContentRef, hubFocusTrap, isDefined, isString, ScrollBar } from 'ng-hub-ui-utils';\nimport { Subject } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { HubModalBackdrop } from './modal-backdrop';\nimport { HubModalOptions, HubModalUpdatableOptions } from './modal-config';\nimport { HubActiveModal, HubModalRef } from './modal-ref';\nimport { HubModalWindow } from './modal-window';\n\n/**\n * A service that manages the stack of currently active modal windows.\n * It is responsible for creating, attaching, and orchestrating the rendering\n * of the modal dialogue, its backdrop, and its content.\n */\n@Injectable({ providedIn: 'root' })\nexport class HubModalStack {\n\tprivate _applicationRef = inject(ApplicationRef);\n\tprivate _injector = inject(Injector);\n\tprivate _environmentInjector = inject(EnvironmentInjector);\n\tprivate _document = inject(DOCUMENT);\n\tprivate _scrollBar = inject(ScrollBar);\n\n\tprivate _activeWindowCmptHasChanged = new Subject<void>();\n\tprivate _ariaHiddenValues: Map<Element, string | null> = new Map();\n\tprivate _scrollBarRestoreFn: null | (() => void) = null;\n\tprivate _modalRefs: HubModalRef[] = [];\n\tprivate _windowCmpts: ComponentRef<HubModalWindow>[] = [];\n\tprivate _activeInstances: EventEmitter<HubModalRef[]> = new EventEmitter();\n\n\tconstructor() {\n\t\tconst ngZone = inject(NgZone);\n\n\t\t// Trap focus on active WindowCmpt\n\t\tthis._activeWindowCmptHasChanged.subscribe(() => {\n\t\t\tif (this._windowCmpts.length) {\n\t\t\t\tconst activeWindowCmpt = this._windowCmpts[this._windowCmpts.length - 1];\n\t\t\t\thubFocusTrap(ngZone, activeWindowCmpt.location.nativeElement, this._activeWindowCmptHasChanged);\n\t\t\t\tthis._revertAriaHidden();\n\t\t\t\tthis._setAriaHidden(activeWindowCmpt.location.nativeElement);\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _restoreScrollBar() {\n\t\tconst scrollBarRestoreFn = this._scrollBarRestoreFn;\n\t\tif (scrollBarRestoreFn) {\n\t\t\tthis._scrollBarRestoreFn = null;\n\t\t\tscrollBarRestoreFn();\n\t\t}\n\t}\n\n\tprivate _hideScrollBar() {\n\t\tif (!this._scrollBarRestoreFn) {\n\t\t\tthis._scrollBarRestoreFn = this._scrollBar.hide();\n\t\t}\n\t}\n\n\t/**\n\t * Opens a new modal window configured with the provided options.\n\t *\n\t * @param contentInjector The dependency injector to be used for the modal content component.\n\t * @param content The content to display inside the modal. Can be a component class, a template reference, or a string.\n\t * @param options Configuration options that dictate how the modal is rendered and behaves.\n\t * @returns An instance of `HubModalRef` which can be used to control the modal or subscribe to its events.\n\t * @throws Error if the specified container element is not found in the DOM.\n\t */\n\topen(contentInjector: Injector, content: any, options: HubModalOptions): HubModalRef {\n\t\tconst containerEl =\n\t\t\toptions.container instanceof HTMLElement\n\t\t\t\t? options.container\n\t\t\t\t: isDefined(options.container)\n\t\t\t\t\t? this._document.querySelector(options.container!)\n\t\t\t\t\t: this._document.body;\n\n\t\tif (!containerEl) {\n\t\t\tthrow new Error(`The specified modal container \"${options.container || 'body'}\" was not found in the DOM.`);\n\t\t}\n\n\t\tthis._hideScrollBar();\n\n\t\tconst activeModal = new HubActiveModal();\n\n\t\tcontentInjector = options.injector || contentInjector;\n\t\tconst environmentInjector = contentInjector.get(EnvironmentInjector, null) || this._environmentInjector;\n\t\tconst contentRef = this._getContentRef(contentInjector, environmentInjector, content, activeModal, options);\n\n\t\tconst backdropCmptRef: ComponentRef<HubModalBackdrop> | undefined =\n\t\t\toptions.backdrop !== false ? this._attachBackdrop(containerEl) : undefined;\n\t\tconst windowCmptRef: ComponentRef<HubModalWindow> = this._attachWindowComponent(containerEl, contentRef.nodes, options);\n\t\tconst hubModalRef: HubModalRef = new HubModalRef(windowCmptRef, contentRef, backdropCmptRef, options.beforeDismiss);\n\n\t\tthis._registerModalRef(hubModalRef);\n\t\tthis._registerWindowCmpt(windowCmptRef);\n\n\t\t// We have to cleanup DOM after the last modal when BOTH 'hidden' was emitted and 'result' promise was resolved:\n\t\t// - with animations OFF, 'hidden' emits synchronously, then 'result' is resolved asynchronously\n\t\t// - with animations ON, 'result' is resolved asynchronously, then 'hidden' emits asynchronously\n\t\thubModalRef.hidden.pipe(take(1)).subscribe(() =>\n\t\t\tPromise.resolve(true).then(() => {\n\t\t\t\tif (!this._modalRefs.length) {\n\t\t\t\t\tthis._document.body.classList.remove('hub-modal-open');\n\t\t\t\t\tthis._restoreScrollBar();\n\t\t\t\t\tthis._revertAriaHidden();\n\t\t\t\t}\n\t\t\t})\n\t\t);\n\n\t\tactiveModal.close = (result: any) => {\n\t\t\thubModalRef.close(result);\n\t\t};\n\t\tactiveModal.dismiss = (reason: any) => {\n\t\t\thubModalRef.dismiss(reason);\n\t\t};\n\n\t\tactiveModal.update = (options: HubModalUpdatableOptions) => {\n\t\t\thubModalRef.update(options);\n\t\t};\n\n\t\thubModalRef.update(options);\n\t\tif (this._modalRefs.length === 1) {\n\t\t\tthis._document.body.classList.add('hub-modal-open');\n\t\t}\n\n\t\tif (backdropCmptRef && backdropCmptRef.instance) {\n\t\t\tbackdropCmptRef.changeDetectorRef.detectChanges();\n\t\t}\n\t\twindowCmptRef.changeDetectorRef.detectChanges();\n\t\treturn hubModalRef;\n\t}\n\n\t/**\n\t * Allows observing the array of active modal instances.\n\t *\n\t * @returns An event emitter that streams changes to the active modal references.\n\t */\n\tget activeInstances() {\n\t\treturn this._activeInstances;\n\t}\n\n\t/**\n\t * Dismisses all currently open modal windows.\n\t *\n\t * @param reason Optional reason to pass to the dismissal routines of the active modals.\n\t */\n\tdismissAll(reason?: any) {\n\t\tthis._modalRefs.forEach((hubModalRef) => hubModalRef.dismiss(reason));\n\t}\n\n\t/**\n\t * Checks whether there are any currently open modal windows.\n\t *\n\t * @returns `true` if at least one modal is active, `false` otherwise.\n\t */\n\thasOpenModals(): boolean {\n\t\treturn this._modalRefs.length > 0;\n\t}\n\n\tprivate _attachBackdrop(containerEl: Element): ComponentRef<HubModalBackdrop> {\n\t\tlet backdropCmptRef = createComponent(HubModalBackdrop, {\n\t\t\tenvironmentInjector: this._applicationRef.injector,\n\t\t\telementInjector: this._injector\n\t\t});\n\t\tthis._applicationRef.attachView(backdropCmptRef.hostView);\n\t\tcontainerEl.appendChild(backdropCmptRef.location.nativeElement);\n\t\treturn backdropCmptRef;\n\t}\n\n\tprivate _attachWindowComponent(\n\t\tcontainerEl: Element,\n\t\tcontentNodes: Node[][],\n\t\toptions: HubModalOptions\n\t): ComponentRef<HubModalWindow> {\n\t\tconst singleContent = !options.headerSelector && !options.footerSelector;\n\t\tlet windowCmptRef = createComponent(HubModalWindow, {\n\t\t\tenvironmentInjector: this._applicationRef.injector,\n\t\t\telementInjector: this._injector\n\t\t});\n\n\t\tObject.assign(windowCmptRef.instance, { singleContent });\n\n\t\tthis._applicationRef.attachView(windowCmptRef.hostView);\n\t\tcontainerEl.appendChild(windowCmptRef.location.nativeElement);\n\t\twindowCmptRef.changeDetectorRef.detectChanges();\n\t\twindowCmptRef.instance.attachContent(contentNodes);\n\t\treturn windowCmptRef;\n\t}\n\n\tprivate _getContentRef(\n\t\tcontentInjector: Injector,\n\t\tenvironmentInjector: EnvironmentInjector,\n\t\tcontent: Type<any> | TemplateRef<any> | string,\n\t\tactiveModal: HubActiveModal,\n\t\toptions: HubModalOptions\n\t): ContentRef {\n\t\tif (!content) {\n\t\t\treturn new ContentRef([]);\n\t\t} else if (content instanceof TemplateRef) {\n\t\t\treturn this._createFromTemplateRef(content, activeModal, options);\n\t\t} else if (isString(content)) {\n\t\t\treturn this._createFromString(content);\n\t\t} else {\n\t\t\treturn this._createFromComponent(contentInjector, environmentInjector, content, activeModal, options);\n\t\t}\n\t}\n\n\tprivate _createFromTemplateRef(\n\t\ttemplateRef: TemplateRef<any>,\n\t\tactiveModal: HubActiveModal,\n\t\toptions: HubModalOptions\n\t): ContentRef {\n\t\tconst context = {\n\t\t\t$implicit: activeModal,\n\t\t\tclose(result: any) {\n\t\t\t\tactiveModal.close(result);\n\t\t\t},\n\t\t\tdismiss(reason: any) {\n\t\t\t\tactiveModal.dismiss(reason);\n\t\t\t}\n\t\t};\n\t\tconst viewRef = templateRef.createEmbeddedView(context);\n\t\tthis._applicationRef.attachView(viewRef);\n\n\t\tconst containerNode = document.createElement('ng-container');\n\t\tcontainerNode.append(...viewRef.rootNodes);\n\n\t\tthis._addDismissEventListener(containerNode, context as any, options);\n\t\tthis._addCloseEventListener(containerNode, context as any, options);\n\n\t\treturn new ContentRef(\n\t\t\t[\n\t\t\t\toptions.headerSelector ? extractAndRemoveNodesBySelector(containerNode, options.headerSelector) : [],\n\t\t\t\tArray.from(containerNode.childNodes),\n\t\t\t\toptions.footerSelector ? extractAndRemoveNodesBySelector(containerNode, options.footerSelector) : []\n\t\t\t],\n\t\t\tviewRef\n\t\t);\n\t}\n\n\tprivate _createFromString(content: string): ContentRef {\n\t\tconst component = this._document.createTextNode(`${content}`);\n\t\treturn new ContentRef([[component]]);\n\t}\n\n\tprivate _createFromComponent(\n\t\tcontentInjector: Injector,\n\t\tenvironmentInjector: EnvironmentInjector,\n\t\tcomponentType: Type<any>,\n\t\tcontext: HubActiveModal,\n\t\toptions: HubModalOptions\n\t): ContentRef {\n\t\tconst elementInjector = Injector.create({\n\t\t\tproviders: [{ provide: HubActiveModal, useValue: context }],\n\t\t\tparent: contentInjector\n\t\t});\n\t\tconst componentRef = createComponent(componentType, {\n\t\t\tenvironmentInjector,\n\t\t\telementInjector\n\t\t});\n\n\t\tif (options.data) {\n\t\t\tObject.assign(componentRef.instance, {\n\t\t\t\tdata: options.data\n\t\t\t});\n\t\t}\n\n\t\tconst componentNativeEl: HTMLElement = componentRef.location.nativeElement;\n\t\tif (options.scrollable) {\n\t\t\tcomponentNativeEl.classList.add('component-host-scrollable');\n\t\t}\n\t\tthis._applicationRef.attachView(componentRef.hostView);\n\n\t\tthis._addDismissEventListener(componentNativeEl, context, options);\n\t\tthis._addCloseEventListener(componentNativeEl, context as any, options);\n\n\t\t// FIXME: we should here get rid of the component nativeElement\n\t\t// and use `[Array.from(componentNativeEl.childNodes)]` instead and remove the above CSS class.\n\t\treturn new ContentRef(\n\t\t\t[\n\t\t\t\toptions.headerSelector ? extractAndRemoveNodesBySelector(componentNativeEl, options.headerSelector) : [],\n\t\t\t\tArray.from(componentNativeEl.childNodes),\n\t\t\t\toptions.footerSelector ? extractAndRemoveNodesBySelector(componentNativeEl, options.footerSelector) : []\n\t\t\t],\n\t\t\tcomponentRef.hostView,\n\t\t\tcomponentRef\n\t\t);\n\t}\n\n\tprivate _setAriaHidden(element: Element) {\n\t\tconst parent = element.parentElement;\n\t\tif (parent && element !== this._document.body) {\n\t\t\tArray.from(parent.children).forEach((sibling) => {\n\t\t\t\tif (sibling !== element && sibling.nodeName !== 'SCRIPT') {\n\t\t\t\t\tthis._ariaHiddenValues.set(sibling, sibling.getAttribute('aria-hidden'));\n\t\t\t\t\tsibling.setAttribute('aria-hidden', 'true');\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tthis._setAriaHidden(parent);\n\t\t}\n\t}\n\n\tprivate _revertAriaHidden() {\n\t\tthis._ariaHiddenValues.forEach((value, element) => {\n\t\t\tif (value) {\n\t\t\t\telement.setAttribute('aria-hidden', value);\n\t\t\t} else {\n\t\t\t\telement.removeAttribute('aria-hidden');\n\t\t\t}\n\t\t});\n\t\tthis._ariaHiddenValues.clear();\n\t}\n\n\tprivate _registerModalRef(hubModalRef: HubModalRef) {\n\t\tconst unregisterModalRef = () => {\n\t\t\tconst index = this._modalRefs.indexOf(hubModalRef);\n\t\t\tif (index > -1) {\n\t\t\t\tthis._modalRefs.splice(index, 1);\n\t\t\t\tthis._activeInstances.emit(this._modalRefs);\n\t\t\t}\n\t\t};\n\t\tthis._modalRefs.push(hubModalRef);\n\t\tthis._activeInstances.emit(this._modalRefs);\n\t\thubModalRef.result.then(unregisterModalRef, unregisterModalRef);\n\t}\n\n\tprivate _registerWindowCmpt(hubWindowCmpt: ComponentRef<HubModalWindow>) {\n\t\tthis._windowCmpts.push(hubWindowCmpt);\n\t\tthis._activeWindowCmptHasChanged.next();\n\n\t\thubWindowCmpt.onDestroy(() => {\n\t\t\tconst index = this._windowCmpts.indexOf(hubWindowCmpt);\n\t\t\tif (index > -1) {\n\t\t\t\tthis._windowCmpts.splice(index, 1);\n\t\t\t\tthis._activeWindowCmptHasChanged.next();\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Attaches click event listeners to elements within a container based on a specified dismiss selector to dismiss a modal.\n\t *\n\t * @param {HTMLElement} container - The `container` parameter is an HTMLElement that represents the DOM element which contains the\n\t * modal content.\n\t * @param {HubActiveModal} context - The `context` parameter in the `_addDismissEventListener` function refers to the active modal\n\t * instance that is being displayed. It is used to call the `dismiss` method on the modal instance when a dismissible element is\n\t * clicked.\n\t * @param {HubModalOptions} options - The `options` parameter is an object that contains configuration options for the modal. It\n\t * may include properties such as `dismissSelector`, which is used to specify a CSS selector for elements that, when clicked, will\n\t * dismiss the modal by calling the `dismiss` method on the `context` object.\n\t */\n\tprivate _addDismissEventListener(container: HTMLElement, context: HubActiveModal, options: HubModalOptions) {\n\t\tif (options.dismissSelector) {\n\t\t\tconst dismissaable: NodeListOf<Element> = container.querySelectorAll(options.dismissSelector);\n\t\t\tfor (const item of Array.from(dismissaable)) {\n\t\t\t\titem.addEventListener('click', () => context.dismiss());\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Attaches click event listeners to elements matching a specified selector to close a modal window.\n\t *\n\t * @param {HTMLElement} container - The `container` parameter is an HTMLElement that represents the DOM element which contains the\n\t * modal content.\n\t * @param {HubActiveModal} context - The `context` parameter in the `_addCloseEventListener` function is of type `HubActiveModal`.\n\t * It is used to reference the active modal instance within the function and call the `close()` method on it when a close event is\n\t * triggered.\n\t * @param {HubModalOptions} options - The `options` parameter is an object that contains configuration options for the modal. It\n\t * may include properties such as `closeSelector`, which is used to specify the selector for elements that can trigger the modal\n\t * to close when clicked.\n\t */\n\tprivate _addCloseEventListener(container: HTMLElement, context: HubActiveModal, options: HubModalOptions) {\n\t\tif (options.closeSelector) {\n\t\t\tconst dismissaable: NodeListOf<Element> = container.querySelectorAll(options.closeSelector);\n\t\t\tfor (const item of Array.from(dismissaable)) {\n\t\t\t\tconst clickEventListeners = item.addEventListener('click', () => context.close());\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * Extracts child nodes matching a selector from a container element, removes those nodes from the DOM, and returns them as an array.\n *\n * @param {HTMLElement} container - The `container` parameter in the `extractAndRemoveNodesBySelector` function is an HTMLElement\n * that represents the parent element within which we want to search for nodes matching a specific selector and remove them.\n * @param {string} selector - The `selector` parameter in the `extractAndRemoveNodesBySelector` function is a string that\n * represents a CSS selector. This selector is used to query and select specific elements within the `container` HTMLElement.\n *\n * @returns An array of nodes that were extracted from the container element based on the provided selector, and then removes those\n * nodes from the DOM.\n */\nfunction extractAndRemoveNodesBySelector(container: HTMLElement, selector: string): Array<Node> {\n\tlet containerNodes = container.querySelectorAll(selector);\n\n\tconst nodes = Array.from(containerNodes).reduce((acc, c) => {\n\t\treturn [...acc, ...Array.from(c.childNodes)];\n\t}, [] as Array<Node>);\n\n\t// Selecciona los nodos dentro del contenedor que coincidan con el selector\n\tconst nodesToRemove = container.querySelectorAll<HTMLElement>(selector);\n\n\t// Convertir NodeList a array y eliminar cada nodo del DOM\n\tArray.from(nodesToRemove).forEach((node) => node.remove());\n\treturn nodes;\n}\n","import { inject, Injectable, Injector } from '@angular/core';\n\nimport { HubModalConfig, HubModalOptions } from './modal-config';\nimport { HubModalRef } from './modal-ref';\nimport { HubModalStack } from './modal-stack';\n\n/**\n * A service for opening modal windows.\n *\n * Creating a modal is straightforward: create a component or a template and pass it as an argument to\n * the `.open()` method.\n */\n@Injectable({ providedIn: 'root' })\nexport class HubModal {\n\tprivate _injector = inject(Injector);\n\tprivate _modalStack = inject(HubModalStack);\n\tprivate _config = inject(HubModalConfig);\n\n\t/**\n\t * Opens a new modal window with the specified content and supplied options.\n\t *\n\t * Content can be provided as a `TemplateRef` or a component type. If you pass a component type as content,\n\t * then instances of those components can be injected with an instance of the `HubActiveModal` class. You can then\n\t * use `HubActiveModal` methods to close / dismiss modals from \"inside\" of your component.\n\t *\n\t * Also see the [`HubModalOptions`](#/components/modal/api#HubModalOptions) for the list of supported options.\n\t */\n\topen<T = any>(content: T, options: HubModalOptions = {}): HubModalRef<T> {\n\t\tconst combinedOptions = {\n\t\t\t...this._config,\n\t\t\tanimation: this._config.animation,\n\t\t\t...options\n\t\t};\n\t\treturn this._modalStack.open(this._injector, content, combinedOptions);\n\t}\n\n\t/**\n\t * Returns an observable that holds the active modal instances.\n\t */\n\tget activeInstances() {\n\t\treturn this._modalStack.activeInstances;\n\t}\n\n\t/**\n\t * Dismisses all currently displayed modal windows with the supplied reason.\n\t *\n\t * @since 3.1.0\n\t */\n\tdismissAll(reason?: any) {\n\t\tthis._modalStack.dismissAll(reason);\n\t}\n\n\t/**\n\t * Indicates if there are currently any open modal windows in the application.\n\t *\n\t * @since 3.3.0\n\t */\n\thasOpenModals(): boolean {\n\t\treturn this._modalStack.hasOpenModals();\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { HubModal } from './modal';\nexport { HubModal } from './modal';\nexport { HubModalConfig } from './modal-config';\nexport type { HubModalOptions, HubModalUpdatableOptions } from './modal-config';\nexport { ModalDismissReasons } from './modal-dismiss-reasons';\nexport { HubModalPlacement } from './modal-placement';\nexport { HubActiveModal, HubModalRef } from './modal-ref';\n\n@NgModule({ providers: [HubModal] })\nexport class HubModalModule {}\n","/*\n * Public API Surface of modal\n */\nexport {\n\tModalDismissReasons,\n\tHubActiveModal,\n\tHubModal,\n\tHubModalConfig,\n\tHubModalModule,\n\tHubModalPlacement,\n\tHubModalRef\n} from './lib/modal.module';\nexport type { HubModalOptions, HubModalUpdatableOptions } from './lib/modal.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ng-hub-ui-modal.mjs","sources":["../../../projects/modal/src/lib/modal-placement.ts","../../../projects/modal/src/lib/modal-config.ts","../../../projects/modal/src/lib/modal-backdrop.ts","../../../projects/modal/src/lib/modal-ref.ts","../../../projects/modal/src/lib/modal-dismiss-reasons.ts","../../../projects/modal/src/lib/modal-window.ts","../../../projects/modal/src/lib/modal-stack.ts","../../../projects/modal/src/lib/modal.ts","../../../projects/modal/src/lib/modal.module.ts","../../../projects/modal/src/public-api.ts","../../../projects/modal/src/ng-hub-ui-modal.ts"],"sourcesContent":["/**\n * Supported modal placements within the viewport.\n */\nexport enum HubModalPlacement {\n\t/**\n\t * Places the modal in the center of the viewport.\n\t */\n\tCenter = 'center',\n\n\t/**\n\t * Anchors the modal to the start edge of the viewport.\n\t */\n\tStart = 'start',\n\n\t/**\n\t * Anchors the modal to the end edge of the viewport.\n\t */\n\tEnd = 'end',\n\n\t/**\n\t * Anchors the modal to the top edge of the viewport.\n\t */\n\tTop = 'top',\n\n\t/**\n\t * Anchors the modal to the bottom edge of the viewport.\n\t */\n\tBottom = 'bottom'\n}\n","import { Injectable, Injector } from '@angular/core';\nimport { HubModalPlacement } from './modal-placement';\n// import { HubConfig } from '../hub-config';\n\n/**\n * Options available when opening new modal windows with `HubModal.open()` method.\n */\nexport interface HubModalOptions {\n\t/**\n\t * If `true`, modal opening and closing will be animated.\n\t *\n\t * @since 8.0.0\n\t */\n\tanimation?: boolean;\n\n\t/**\n\t * `aria-labelledby` attribute value to set on the modal window.\n\t *\n\t * @since 2.2.0\n\t */\n\tariaLabelledBy?: string;\n\n\t/**\n\t * `aria-describedby` attribute value to set on the modal window.\n\t *\n\t * @since 6.1.0\n\t */\n\tariaDescribedBy?: string;\n\n\t/**\n\t * If `true`, the backdrop element will be created for a given modal.\n\t *\n\t * Alternatively, specify `'static'` for a backdrop which doesn't close the modal on click.\n\t *\n\t * Default value is `true`.\n\t */\n\tbackdrop?: boolean | 'static';\n\n\t/**\n\t * Callback right before the modal will be dismissed.\n\t *\n\t * If this function returns:\n\t * * `false`\n\t * * a promise resolved with `false`\n\t * * a promise that is rejected\n\t *\n\t * then the modal won't be dismissed.\n\t */\n\tbeforeDismiss?: () => boolean | Promise<boolean>;\n\n\t/**\n\t * If `true`, the modal will be centered vertically.\n\t *\n\t * Default value is `false`.\n\t *\n\t * @since 1.1.0\n\t */\n\tcentered?: boolean;\n\n\t/**\n\t * Controls where the modal is placed within the viewport.\n\t *\n\t * Default value is `'center'`.\n\t */\n\tplacement?: HubModalPlacement;\n\n\t/**\n\t * A selector specifying the element all new modal windows should be appended to.\n\t * Since v5.3.0 it is also possible to pass the reference to an `HTMLElement`.\n\t *\n\t * If not specified, will be `body`.\n\t */\n\tcontainer?: string | HTMLElement;\n\n\t/**\n\t * If `true` modal will always be displayed in fullscreen mode.\n\t *\n\t * For values like `'md'` it means that modal will be displayed in fullscreen mode\n\t * only if the viewport width is below `'md'`. For custom strings (ex. when passing `'mysize'`)\n\t * it will add a `'modal-fullscreen-mysize-down'` class.\n\t *\n\t * If not specified will be `false`.\n\t *\n\t * @since 12.1.0\n\t */\n\tfullscreen?: 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | boolean | string;\n\n\t/**\n\t * The `Injector` to use for modal content.\n\t */\n\tinjector?: Injector;\n\n\t/**\n\t * If `true`, the modal will be closed when `Escape` key is pressed\n\t *\n\t * Default value is `true`.\n\t */\n\tkeyboard?: boolean;\n\n\t/**\n\t * Scrollable modal content (false by default).\n\t *\n\t * @since 5.0.0\n\t */\n\tscrollable?: boolean;\n\n\t/**\n\t * Size of a new modal window.\n\t */\n\tsize?: 'sm' | 'lg' | 'xl' | string;\n\n\t/**\n\t * Semantic accent of the modal, for meaningful dialogs (a destructive\n\t * confirmation, a success notice…). Adds a coloured top bar to the dialog by\n\t * applying the `hub-modal--<variant>` class to the window.\n\t *\n\t * The built-in values (`'primary'` · `'success'` · `'danger'` · `'warning'`\n\t * · `'info'`) map to the design-system colours, but **any string is accepted**\n\t * — the modal reads `--hub-sys-color-<variant>` from the host application.\n\t *\n\t * If not specified, the modal is rendered neutral (no accent bar).\n\t */\n\tvariant?: 'primary' | 'success' | 'danger' | 'warning' | 'info' | (string & {});\n\n\t/**\n\t * A custom class to append to the modal window.\n\t */\n\twindowClass?: string;\n\n\t/**\n\t * A custom class to append to the modal dialog.\n\t *\n\t * @since 9.1.0\n\t */\n\tmodalDialogClass?: string;\n\n\t/**\n\t * A custom class to append to the modal backdrop.\n\t *\n\t * @since 1.1.0\n\t */\n\tbackdropClass?: string;\n\n\t/**\n\t * Allows to specify a custom selector for the header element of the modal window. This can be useful if you want to target\n\t * a specific element within the modal to act as the header, for example, to apply custom styling or functionality to it. By\n\t * providing a CSS selector string, you can target the desired\theader element within the modal content.\n\t */\n\theaderSelector?: string;\n\n\t/**\n\t * Allows to specify a custom selector for the footer element of the modal window. This can be useful if you want to target\n\t * a specific element within the modal to act as the footer, for example, to apply custom styling or functionality to it. By\n\t * providing a CSS selector string, you can target the desired footer element within the modal content.\n\t */\n\tfooterSelector?: string;\n\n\t/** Used to specify a custom selector for elements that can trigger the dismissal of the modal window. By providing a CSS selector\n\t * string for `dismissSelector`, you can target specific elements within the modal content that, when interacted with (e.g., clicked),\n\t * will close or dismiss the modal window.\n\t */\n\tdismissSelector?: string;\n\n\t/**\n\t * Used to specify a custom selector for elements that can trigger the closing of the modal window. By providing a CSS selector\n\t * string for `closeSelector`, you can target specific elements within the modal content that, when interacted with (e.g., clicked),\n\t * will close the modal window. This allows for customization of the elements that can act as close buttons for the modal.\n\t */\n\tcloseSelector?: string;\n\n\t/** Used to store any additional data that needs to be passed to the modal window when it is opened. This property allows you\n\t * to provide custom data to the modal component, which can then be accessed and utilized within the modal content or logic.\n\t * It provides flexibility for passing dynamic information to the modal window based on the specific use case or requirements.\n\t */\n\tdata?: any;\n}\n\n/**\n * Options that can be changed on an opened modal with `HubModalRef.update()` and `HubActiveModal.update()` methods.\n *\n * @since 14.2.0\n */\nexport type HubModalUpdatableOptions = Pick<\n\tHubModalOptions,\n\t| 'ariaLabelledBy'\n\t| 'ariaDescribedBy'\n\t| 'centered'\n\t| 'placement'\n\t| 'fullscreen'\n\t| 'backdropClass'\n\t| 'size'\n\t| 'variant'\n\t| 'windowClass'\n\t| 'modalDialogClass'\n>;\n\n/**\n * A configuration service for the [`HubModal`](#/components/modal/api#HubModal) service.\n *\n * You can inject this service, typically in your root component, and customize the values of its properties in\n * order to provide default values for all modals used in the application.\n *\n * @since 3.1.0\n */\n@Injectable({ providedIn: 'root' })\nexport class HubModalConfig implements Required<HubModalOptions> {\n\t// private _hubConfig = inject(HubConfig);\n\tprivate _animation?: boolean;\n\n\tariaLabelledBy!: string;\n\tariaDescribedBy!: string;\n\tbackdrop: boolean | 'static' = true;\n\tbeforeDismiss!: () => boolean | Promise<boolean>;\n\tcentered!: boolean;\n\tplacement: HubModalPlacement = HubModalPlacement.Center;\n\tcontainer!: string | HTMLElement;\n\tfullscreen: 'sm' | 'md' | 'lg' | 'xl' | 'xxl' | boolean | string = false;\n\tinjector!: Injector;\n\tkeyboard = true;\n\tscrollable!: boolean;\n\tsize!: 'sm' | 'lg' | 'xl' | string;\n\tvariant!: 'primary' | 'success' | 'danger' | 'warning' | 'info' | (string & {});\n\twindowClass!: string;\n\tmodalDialogClass!: string;\n\tbackdropClass!: string;\n\theaderSelector!: string;\n\tfooterSelector!: string;\n\tdismissSelector: string = '[data-dismiss=\"modal\"]';\n\tcloseSelector: string = '[data-close=\"modal\"]';\n\tdata: any;\n\n\tget animation(): boolean {\n\t\treturn this._animation ?? true /* this._hubConfig.animation */;\n\t}\n\tset animation(animation: boolean) {\n\t\tthis._animation = animation;\n\t}\n}\n","import { Component, ElementRef, inject, input, NgZone, OnInit, ViewEncapsulation } from '@angular/core';\nimport { hubRunTransition, reflow } from 'ng-hub-ui-utils';\nimport { Observable } from 'rxjs';\nimport { take } from 'rxjs/operators';\n\n/**\n * Represents the backdrop element associated with an active modal window.\n * It is responsible for displaying a dark overlay and handling entry/exit animations.\n */\n@Component({\n\tselector: 'hub-modal-backdrop',\n\tstandalone: true,\n\tencapsulation: ViewEncapsulation.None,\n\ttemplate: '',\n\thost: {\n\t\t'[class]': '\"hub-modal__backdrop\" + (backdropClass() ? \" \" + backdropClass() : \"\")',\n\t\t'[class.show]': '!animation()',\n\t\t'[class.fade]': 'animation()'\n\t}\n})\nexport class HubModalBackdrop implements OnInit {\n\tprivate _nativeElement = inject(ElementRef).nativeElement as HTMLElement;\n\tprivate _zone = inject(NgZone);\n\n\t/**\n\t * Determines whether the backdrop should use CSS transitions during its initialization and destruction.\n\t */\n\treadonly animation = input<boolean>(true);\n\n\t/**\n\t * Allows applying a custom CSS class to the backdrop element.\n\t */\n\treadonly backdropClass = input<string>();\n\n\tngOnInit() {\n\t\tthis._zone.onStable\n\t\t\t.asObservable()\n\t\t\t.pipe(take(1))\n\t\t\t.subscribe(() => {\n\t\t\t\thubRunTransition(\n\t\t\t\t\tthis._zone,\n\t\t\t\t\tthis._nativeElement,\n\t\t\t\t\t(element: HTMLElement, animation: boolean) => {\n\t\t\t\t\t\tif (animation) {\n\t\t\t\t\t\t\treflow(element);\n\t\t\t\t\t\t}\n\t\t\t\t\t\telement.classList.add('show');\n\t\t\t\t\t},\n\t\t\t\t\t{ animation: this.animation(), runningTransition: 'continue' }\n\t\t\t\t);\n\t\t\t});\n\t}\n\n\t/**\n\t * Triggers the hide transition for the backdrop element and removes the `show` CSS class.\n\t *\n\t * @returns An observable that completes once the exit transition has ended.\n\t */\n\thide(): Observable<void> {\n\t\treturn hubRunTransition(this._zone, this._nativeElement, ({ classList }) => classList.remove('show'), {\n\t\t\tanimation: this.animation(),\n\t\t\trunningTransition: 'stop'\n\t\t});\n\t}\n}\n","import { ComponentRef } from '@angular/core';\nimport { ContentRef, isDefined, isPromise } from 'ng-hub-ui-utils';\nimport { Observable, of, Subject, zip } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { HubModalBackdrop } from './modal-backdrop';\nimport { HubModalOptions, HubModalUpdatableOptions } from './modal-config';\nimport { HubModalWindow } from './modal-window';\n\n/**\n * A reference to the currently opened (active) modal.\n *\n * Instances of this class can be injected into your component passed as modal content.\n * So you can `.update()`, `.close()` or `.dismiss()` the modal window from your component.\n */\nexport class HubActiveModal {\n\t/**\n\t * Updates options of an opened modal.\n\t *\n\t * @since 14.2.0\n\t */\n\tupdate(options: HubModalUpdatableOptions): void {}\n\t/**\n\t * Closes the modal with an optional `result` value.\n\t *\n\t * The `HubModalRef.result` promise will be resolved with the provided value.\n\t */\n\tclose(result?: any): void {}\n\n\t/**\n\t * Dismisses the modal with an optional `reason` value.\n\t *\n\t * The `HubModalRef.result` promise will be rejected with the provided value.\n\t */\n\tdismiss(reason?: any): void {}\n}\n\nconst WINDOW_ATTRIBUTES: string[] = [\n\t'animation',\n\t'ariaLabelledBy',\n\t'ariaDescribedBy',\n\t'backdrop',\n\t'centered',\n\t'placement',\n\t'fullscreen',\n\t'keyboard',\n\t'scrollable',\n\t'size',\n\t'variant',\n\t'windowClass',\n\t'modalDialogClass'\n];\nconst BACKDROP_ATTRIBUTES: string[] = ['animation', 'backdropClass'];\n\n/**\n * A reference to the newly opened modal returned by the `HubModal.open()` method.\n */\nexport class HubModalRef<T = any> {\n\tprivate _closed = new Subject<any>();\n\tprivate _dismissed = new Subject<any>();\n\tprivate _hidden = new Subject<void>();\n\tprivate _resolve!: (result?: any) => void;\n\tprivate _reject!: (reason?: any) => void;\n\n\tprivate _applyWindowOptions(windowComponentRef: ComponentRef<HubModalWindow>, options: HubModalOptions): void {\n\t\tWINDOW_ATTRIBUTES.forEach((optionName: string) => {\n\t\t\tconst opts: any = options as any;\n\t\t\tif (isDefined(opts[optionName])) {\n\t\t\t\twindowComponentRef.setInput(optionName, opts[optionName]);\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _applyBackdropOptions(backdropComponentRef: ComponentRef<HubModalBackdrop>, options: HubModalOptions): void {\n\t\tBACKDROP_ATTRIBUTES.forEach((optionName: string) => {\n\t\t\tconst opts: any = options as any;\n\t\t\tif (isDefined(opts[optionName])) {\n\t\t\t\tbackdropComponentRef.setInput(optionName, opts[optionName]);\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Updates options of an opened modal.\n\t *\n\t * @since 14.2.0\n\t */\n\tupdate(options: HubModalUpdatableOptions): void {\n\t\tthis._applyWindowOptions(this._windowCmptRef, options);\n\t\tif (this._backdropCmptRef && this._backdropCmptRef.instance) {\n\t\t\tthis._applyBackdropOptions(this._backdropCmptRef, options);\n\t\t}\n\t}\n\n\t/**\n\t * The instance of a component used for the modal content.\n\t *\n\t * When a `TemplateRef` is used as the content or when the modal is closed, will return `undefined`.\n\t */\n\tget componentInstance(): T | void {\n\t\tif (this._contentRef && this._contentRef.componentRef) {\n\t\t\treturn this._contentRef.componentRef.instance;\n\t\t}\n\t}\n\n\t/**\n\t * The promise that is resolved when the modal is closed and rejected when the modal is dismissed.\n\t */\n\tresult: Promise<any>;\n\n\t/**\n\t * The observable that emits when the modal is closed via the `.close()` method.\n\t *\n\t * It will emit the result passed to the `.close()` method.\n\t *\n\t * @since 8.0.0\n\t */\n\tget closed(): Observable<any> {\n\t\treturn this._closed.asObservable().pipe(takeUntil(this._hidden));\n\t}\n\n\t/**\n\t * The observable that emits when the modal is dismissed via the `.dismiss()` method.\n\t *\n\t * It will emit the reason passed to the `.dismissed()` method by the user, or one of the internal\n\t * reasons like backdrop click or ESC key press.\n\t *\n\t * @since 8.0.0\n\t */\n\tget dismissed(): Observable<any> {\n\t\treturn this._dismissed.asObservable().pipe(takeUntil(this._hidden));\n\t}\n\n\t/**\n\t * The observable that emits when both modal window and backdrop are closed and animations were finished.\n\t * At this point modal and backdrop elements will be removed from the DOM tree.\n\t *\n\t * This observable will be completed after emitting.\n\t *\n\t * @since 8.0.0\n\t */\n\tget hidden(): Observable<void> {\n\t\treturn this._hidden.asObservable();\n\t}\n\n\t/**\n\t * The observable that emits when modal is fully visible and animation was finished.\n\t * Modal DOM element is always available synchronously after calling 'modal.open()' service.\n\t *\n\t * This observable will be completed after emitting.\n\t * It will not emit, if modal is closed before open animation is finished.\n\t *\n\t * @since 8.0.0\n\t */\n\tget shown(): Observable<void> {\n\t\treturn this._windowCmptRef.instance.shown.asObservable();\n\t}\n\n\tconstructor(\n\t\tprivate _windowCmptRef: ComponentRef<HubModalWindow>,\n\t\tprivate _contentRef: ContentRef,\n\t\tprivate _backdropCmptRef?: ComponentRef<HubModalBackdrop>,\n\t\tprivate _beforeDismiss?: () => boolean | Promise<boolean>\n\t) {\n\t\t_windowCmptRef.instance.dismissEvent.subscribe((reason: any) => {\n\t\t\tthis.dismiss(reason);\n\t\t});\n\n\t\tthis.result = new Promise((resolve, reject) => {\n\t\t\tthis._resolve = resolve;\n\t\t\tthis._reject = reject;\n\t\t});\n\t\tthis.result.then(null, () => {});\n\t}\n\n\t/**\n\t * Closes the modal with an optional `result` value.\n\t *\n\t * The `HubMobalRef.result` promise will be resolved with the provided value.\n\t */\n\tclose(result?: any): void {\n\t\tif (this._windowCmptRef) {\n\t\t\tthis._closed.next(result);\n\t\t\tthis._resolve(result);\n\t\t\tthis._removeModalElements();\n\t\t}\n\t}\n\n\tprivate _dismiss(reason?: any) {\n\t\tthis._dismissed.next(reason);\n\t\tthis._reject(reason);\n\t\tthis._removeModalElements();\n\t}\n\n\t/**\n\t * Dismisses the modal with an optional `reason` value.\n\t *\n\t * The `HubModalRef.result` promise will be rejected with the provided value.\n\t */\n\tdismiss(reason?: any): void {\n\t\tif (this._windowCmptRef) {\n\t\t\tif (!this._beforeDismiss) {\n\t\t\t\tthis._dismiss(reason);\n\t\t\t} else {\n\t\t\t\tconst dismiss = this._beforeDismiss();\n\t\t\t\tif (isPromise(dismiss as any)) {\n\t\t\t\t\t(dismiss as Promise<boolean>).then(\n\t\t\t\t\t\t(result) => {\n\t\t\t\t\t\t\tif (result !== false) {\n\t\t\t\t\t\t\t\tthis._dismiss(reason);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\t() => {}\n\t\t\t\t\t);\n\t\t\t\t} else if (dismiss !== false) {\n\t\t\t\t\tthis._dismiss(reason);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate _removeModalElements() {\n\t\tconst windowTransition$ = this._windowCmptRef.instance.hide();\n\t\tconst backdropTransition$ = this._backdropCmptRef ? this._backdropCmptRef.instance.hide() : of(undefined);\n\n\t\t// hiding window\n\t\twindowTransition$.subscribe(() => {\n\t\t\tconst { nativeElement } = this._windowCmptRef.location;\n\t\t\tnativeElement.parentNode?.removeChild(nativeElement);\n\t\t\tthis._windowCmptRef.destroy();\n\t\t\tthis._contentRef?.viewRef?.destroy();\n\n\t\t\tthis._windowCmptRef = <any>null;\n\t\t\tthis._contentRef = <any>null;\n\t\t});\n\n\t\t// hiding backdrop\n\t\tbackdropTransition$.subscribe(() => {\n\t\t\tif (this._backdropCmptRef) {\n\t\t\t\tconst { nativeElement } = this._backdropCmptRef.location;\n\t\t\t\tnativeElement.parentNode?.removeChild(nativeElement);\n\t\t\t\tthis._backdropCmptRef.destroy();\n\t\t\t\tthis._backdropCmptRef = <any>null;\n\t\t\t}\n\t\t});\n\n\t\t// all done\n\t\tzip(windowTransition$, backdropTransition$).subscribe(() => {\n\t\t\tthis._hidden.next();\n\t\t\tthis._hidden.complete();\n\t\t});\n\t}\n}\n","export enum ModalDismissReasons {\n\tBACKDROP_CLICK,\n\tESC,\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n\tComponent,\n\tElementRef,\n\tinject,\n\tinput,\n\tNgZone,\n\tOnDestroy,\n\tOnInit,\n\toutput,\n\tviewChild,\n\tViewEncapsulation\n} from '@angular/core';\nimport { getFocusableBoundaryElements, hubRunTransition, isString, reflow, TransitionOptions } from 'ng-hub-ui-utils';\nimport { fromEvent, Observable, Subject, zip } from 'rxjs';\nimport { filter, switchMap, take, takeUntil, tap } from 'rxjs/operators';\nimport { ModalDismissReasons } from './modal-dismiss-reasons';\nimport { HubModalPlacement } from './modal-placement';\n\n/**\n * The internal component representing the modal window.\n * It renders the modal dialog structure, handles ARIA attributes, encapsulates the projected content,\n * and manages interactions like keyboard dismissals and backdrop clicks.\n */\n@Component({\n\tselector: 'hub-modal-window',\n\timports: [],\n\thost: {\n\t\t'[class]':\n\t\t\t'\"hub-modal\" + hostPlacementClass + (variant() ? \" hub-modal--\" + variant() : \"\") + (windowClass() ? \" \" + windowClass() : \"\")',\n\t\t'[class.fade]': 'animation()',\n\t\trole: 'dialog',\n\t\ttabindex: '-1',\n\t\t'[attr.aria-modal]': 'true',\n\t\t'[attr.aria-labelledby]': 'ariaLabelledBy()',\n\t\t'[attr.aria-describedby]': 'ariaDescribedBy()'\n\t},\n\ttemplate: `\n\t\t<div\n\t\t\t#dialog\n\t\t\t[class]=\"\n\t\t\t\t'hub-modal__dialog' +\n\t\t\t\t(size() ? ' hub-modal__dialog--' + size() : '') +\n\t\t\t\tplacementClass +\n\t\t\t\tcenteredClass +\n\t\t\t\tfullscreenClass +\n\t\t\t\t(scrollable() ? ' hub-modal__dialog--scrollable' : '') +\n\t\t\t\t(modalDialogClass() ? ' ' + modalDialogClass() : '')\n\t\t\t\"\n\t\t\trole=\"document\"\n\t\t>\n\t\t\t<div class=\"hub-modal__content\">\n\t\t\t\t@if (singleContent) {\n\t\t\t\t\t<div #bodyContainer class=\"hub-modal__body\"></div>\n\t\t\t\t} @else {\n\t\t\t\t\t<div #headerContainer class=\"hub-modal__header\">\n\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t#closeButton\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\tclass=\"hub-modal__close\"\n\t\t\t\t\t\t\taria-label=\"Close\"\n\t\t\t\t\t\t\t(click)=\"dismiss(null)\"\n\t\t\t\t\t\t></button>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div #bodyContainer class=\"hub-modal__body\"></div>\n\t\t\t\t\t<div #footerContainer class=\"hub-modal__footer\"></div>\n\t\t\t\t}\n\t\t\t</div>\n\t\t</div>\n\t`,\n\tencapsulation: ViewEncapsulation.None,\n\tstyleUrl: './modal.scss'\n})\nexport class HubModalWindow implements OnInit, OnDestroy {\n\tprivate _document = inject(DOCUMENT);\n\tprivate _elRef = inject(ElementRef<HTMLElement>);\n\tprivate _zone = inject(NgZone);\n\n\tprivate _closed$ = new Subject<void>();\n\tprivate _elWithFocus: Element | null = null; // element that is focused prior to modal opening\n\n\tprivate readonly _dialogEl = viewChild.required<ElementRef<HTMLElement>>('dialog');\n\tprivate readonly _headerContainerEl = viewChild<ElementRef<HTMLElement>>('headerContainer');\n\tprivate readonly _bodyContainerEl = viewChild<ElementRef<HTMLElement>>('bodyContainer');\n\tprivate readonly _footerContainerEl = viewChild<ElementRef<HTMLElement>>('footerContainer');\n\tprivate readonly _closeButtonEl = viewChild<ElementRef<HTMLButtonElement>>('closeButton');\n\n\t/**\n\t * Determines whether the modal window should animate its entry and exit.\n\t */\n\treadonly animation = input<boolean>(true);\n\n\t/**\n\t * Identifier to apply to the `aria-labelledby` attribute of the modal.\n\t */\n\treadonly ariaLabelledBy = input<string>();\n\n\t/**\n\t * Identifier to apply to the `aria-describedby` attribute of the modal.\n\t */\n\treadonly ariaDescribedBy = input<string>();\n\n\t/**\n\t * Configures the presence and behavior of the modal backdrop (`true`, `false`, or `'static'`).\n\t */\n\treadonly backdrop = input<boolean | string>(true);\n\n\t/**\n\t * If `true`, the modal dialog will be centered vertically.\n\t */\n\treadonly centered = input<boolean>();\n\n\t/**\n\t * Specifies the modal placement inside the viewport.\n\t */\n\treadonly placement = input<HubModalPlacement>(HubModalPlacement.Center);\n\n\t/**\n\t * Enables fullscreen mode for the modal, either always (`true`) or below specific breakpoints.\n\t */\n\treadonly fullscreen = input<string | boolean>();\n\n\t/**\n\t * If `true`, pressing the ESC key will close the modal.\n\t */\n\treadonly keyboard = input(true);\n\n\t/**\n\t * If `true`, the modal content will be scrollable when it exceeds the viewport height.\n\t */\n\treadonly scrollable = input<boolean>();\n\n\t/**\n\t * Specifies the size of the modal (`'sm'`, `'lg'`, `'xl'`, etc.).\n\t */\n\treadonly size = input<string>();\n\n\t/**\n\t * Semantic accent of the modal (`'primary'`, `'success'`, `'danger'`,\n\t * `'warning'`, `'info'`, or any custom token name). Applies the\n\t * `hub-modal--<variant>` class, which paints an accent top bar on the dialog.\n\t */\n\treadonly variant = input<string>();\n\n\t/**\n\t * A custom CSS class to append to the modal window wrapper.\n\t */\n\treadonly windowClass = input<string>();\n\n\t/**\n\t * A custom CSS class to append to the inner modal dialog element.\n\t */\n\treadonly modalDialogClass = input<string>();\n\n\tsingleContent!: boolean;\n\n\t/**\n\t * Emits when the user dismisses the modal (e.g. via ESC, backdrop click, or custom close buttons).\n\t */\n\treadonly dismissEvent = output({ alias: 'dismiss' });\n\n\t/**\n\t * Emits and completes once the modal window is fully visible and its transition has ended.\n\t */\n\tshown = new Subject<void>();\n\n\t/**\n\t * Emits and completes once the modal is fully hidden and its DOM elements are ready to be destroyed.\n\t */\n\thidden = new Subject<void>();\n\n\t/**\n\t * Computes the CSS class for fullscreen behavior based on the `fullscreen` input.\n\t */\n\tget fullscreenClass(): string {\n\t\tconst fullscreen = this.fullscreen();\n\t\treturn fullscreen === true\n\t\t\t? ' hub-modal__dialog--fullscreen'\n\t\t\t: isString(fullscreen)\n\t\t\t\t? ` hub-modal__dialog--fullscreen-${fullscreen}-down`\n\t\t\t\t: '';\n\t}\n\n\t/**\n\t * Computes the CSS class corresponding to the requested modal placement.\n\t */\n\tget placementClass(): string {\n\t\tconst placement = this.placement();\n\t\treturn placement && placement !== HubModalPlacement.Center ? ` hub-modal__dialog--placement-${placement}` : '';\n\t}\n\n\t/**\n\t * Computes the CSS class applied to the modal host to control viewport anchoring.\n\t */\n\tget hostPlacementClass(): string {\n\t\tconst placement = this.placement();\n\t\treturn placement && placement !== HubModalPlacement.Center ? ` hub-modal--placement-${placement}` : '';\n\t}\n\n\t/**\n\t * Computes the CSS class used to center the modal on the secondary axis, depending on its placement.\n\t */\n\tget centeredClass(): string {\n\t\tif (!this.centered()) {\n\t\t\treturn '';\n\t\t}\n\n\t\tswitch (this.placement()) {\n\t\t\tcase HubModalPlacement.Start:\n\t\t\tcase HubModalPlacement.End:\n\t\t\t\treturn ' hub-modal__dialog--centered-vertical';\n\t\t\tcase HubModalPlacement.Top:\n\t\t\tcase HubModalPlacement.Bottom:\n\t\t\t\treturn '';\n\t\t\tcase HubModalPlacement.Center:\n\t\t\tdefault:\n\t\t\t\treturn ' hub-modal__dialog--centered';\n\t\t}\n\t}\n\n\t/**\n\t * Dismisses the modal by emitting the `dismissEvent` with the provided reason.\n\t *\n\t * @param reason The reason the modal was dismissed (e.g. 'ESC', 'BACKDROP_CLICK', or custom data).\n\t */\n\tdismiss(reason: any): void {\n\t\tthis.dismissEvent.emit(reason);\n\t}\n\n\t/**\n\t * Attaches the projected content nodes into their respective structural containers\n\t * (header, body, and footer) within the modal dialog.\n\t *\n\t * @param contentNodes A nested array containing nodes segmented into header, body, and footer parts.\n\t */\n\tattachContent([headerNodes, bodyNodes, footerNodes]: Node[][]): void {\n\t\tconst bodyContainer = this._bodyContainerEl()?.nativeElement;\n\t\tif (!bodyContainer) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (this.singleContent) {\n\t\t\tthis._appendNodes(bodyContainer, bodyNodes);\n\t\t\treturn;\n\t\t}\n\n\t\tconst headerContainer = this._headerContainerEl()?.nativeElement;\n\t\tconst footerContainer = this._footerContainerEl()?.nativeElement;\n\t\tconst closeButton = this._closeButtonEl()?.nativeElement ?? null;\n\n\t\tif (headerContainer) {\n\t\t\tthis._appendNodes(headerContainer, headerNodes, closeButton);\n\t\t}\n\t\tthis._appendNodes(bodyContainer, bodyNodes);\n\t\tif (footerContainer) {\n\t\t\tthis._appendNodes(footerContainer, footerNodes);\n\t\t}\n\t}\n\n\tngOnInit() {\n\t\tthis._elWithFocus = this._document.activeElement;\n\t\tthis._zone.onStable\n\t\t\t.asObservable()\n\t\t\t.pipe(take(1))\n\t\t\t.subscribe(() => {\n\t\t\t\tthis._show();\n\t\t\t});\n\t}\n\n\tngOnDestroy() {\n\t\tthis._disableEventHandling();\n\t}\n\n\t/**\n\t * Determines the focus element, blocks further interactions, configures the exit transition context,\n\t * removes 'show' CSS classes from the modal, and restores focus back to the previously focused element.\n\t *\n\t * @returns An observable that emits when the exit transition completely finishes.\n\t */\n\thide(): Observable<any> {\n\t\tconst { nativeElement } = this._elRef;\n\t\tconst context: TransitionOptions<any> = {\n\t\t\tanimation: this.animation(),\n\t\t\trunningTransition: 'stop'\n\t\t};\n\n\t\tconst windowTransition$ = hubRunTransition(\n\t\t\tthis._zone,\n\t\t\tnativeElement,\n\t\t\t() => nativeElement.classList.remove('show'),\n\t\t\tcontext\n\t\t);\n\t\tconst dialogTransition$ = hubRunTransition(this._zone, this._dialogEl().nativeElement, () => {}, context);\n\n\t\tconst transitions$ = zip(windowTransition$, dialogTransition$);\n\t\ttransitions$.subscribe(() => {\n\t\t\tthis.hidden.next();\n\t\t\tthis.hidden.complete();\n\t\t});\n\n\t\tthis._disableEventHandling();\n\t\tthis._restoreFocus();\n\n\t\treturn transitions$;\n\t}\n\n\tprivate _show() {\n\t\tconst context: TransitionOptions<any> = {\n\t\t\tanimation: this.animation(),\n\t\t\trunningTransition: 'continue'\n\t\t};\n\n\t\tconst windowTransition$ = hubRunTransition(\n\t\t\tthis._zone,\n\t\t\tthis._elRef.nativeElement,\n\t\t\t(element: HTMLElement, animation: boolean) => {\n\t\t\t\tif (animation) {\n\t\t\t\t\treflow(element);\n\t\t\t\t}\n\t\t\t\telement.classList.add('show');\n\t\t\t},\n\t\t\tcontext\n\t\t);\n\t\tconst dialogTransition$ = hubRunTransition(this._zone, this._dialogEl().nativeElement, () => {}, context);\n\n\t\tzip(windowTransition$, dialogTransition$).subscribe(() => {\n\t\t\tthis.shown.next();\n\t\t\tthis.shown.complete();\n\t\t});\n\n\t\tthis._enableEventHandling();\n\t\tthis._setFocus();\n\t}\n\n\tprivate _enableEventHandling() {\n\t\tconst { nativeElement } = this._elRef;\n\t\tthis._zone.runOutsideAngular(() => {\n\t\t\tfromEvent<KeyboardEvent>(nativeElement, 'keydown')\n\t\t\t\t.pipe(\n\t\t\t\t\ttakeUntil(this._closed$),\n\t\t\t\t\tfilter((e) => e.key === 'Escape')\n\t\t\t\t)\n\t\t\t\t.subscribe((event) => {\n\t\t\t\t\tif (this.keyboard()) {\n\t\t\t\t\t\trequestAnimationFrame(() => {\n\t\t\t\t\t\t\tif (!event.defaultPrevented) {\n\t\t\t\t\t\t\t\tthis._zone.run(() => this.dismiss(ModalDismissReasons.ESC));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t} else if (this.backdrop() === 'static') {\n\t\t\t\t\t\tthis._bumpBackdrop();\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t// We're listening to 'mousedown' and 'mouseup' to prevent modal from closing when pressing the mouse\n\t\t\t// inside the modal dialog and releasing it outside\n\t\t\tlet preventClose = false;\n\t\t\tfromEvent<MouseEvent>(this._dialogEl().nativeElement, 'mousedown')\n\t\t\t\t.pipe(\n\t\t\t\t\ttakeUntil(this._closed$),\n\t\t\t\t\ttap(() => (preventClose = false)),\n\t\t\t\t\tswitchMap(() => fromEvent<MouseEvent>(nativeElement, 'mouseup').pipe(takeUntil(this._closed$), take(1))),\n\t\t\t\t\tfilter(({ target }) => nativeElement === target)\n\t\t\t\t)\n\t\t\t\t.subscribe(() => {\n\t\t\t\t\tpreventClose = true;\n\t\t\t\t});\n\n\t\t\t// We're listening to 'click' to dismiss modal on modal window click, except when:\n\t\t\t// 1. clicking on modal dialog itself\n\t\t\t// 2. closing was prevented by mousedown/up handlers\n\t\t\t// 3. clicking on scrollbar when the viewport is too small and modal doesn't fit (click is not triggered at all)\n\t\t\tfromEvent<MouseEvent>(nativeElement, 'click')\n\t\t\t\t.pipe(takeUntil(this._closed$))\n\t\t\t\t.subscribe(({ target }) => {\n\t\t\t\t\tif (nativeElement === target) {\n\t\t\t\t\t\tconst backdrop = this.backdrop();\n\t\t\t\t\t\tif (backdrop === 'static') {\n\t\t\t\t\t\t\tthis._bumpBackdrop();\n\t\t\t\t\t\t} else if (backdrop === true && !preventClose) {\n\t\t\t\t\t\t\tthis._zone.run(() => this.dismiss(ModalDismissReasons.BACKDROP_CLICK));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tpreventClose = false;\n\t\t\t\t});\n\t\t});\n\t}\n\n\tprivate _disableEventHandling() {\n\t\tthis._closed$.next();\n\t}\n\n\tprivate _setFocus() {\n\t\tconst { nativeElement } = this._elRef;\n\t\tif (!nativeElement.contains(document.activeElement)) {\n\t\t\tconst autoFocusable = nativeElement.querySelector(`[hubAutofocus]`) as HTMLElement;\n\t\t\tconst firstFocusable = getFocusableBoundaryElements(nativeElement)[0];\n\n\t\t\tconst elementToFocus = autoFocusable || firstFocusable || nativeElement;\n\t\t\telementToFocus.focus();\n\t\t}\n\t}\n\n\tprivate _restoreFocus() {\n\t\tconst body = this._document.body;\n\t\tconst elWithFocus = this._elWithFocus;\n\n\t\tlet elementToFocus: HTMLElement;\n\t\tif (elWithFocus instanceof HTMLElement && body.contains(elWithFocus)) {\n\t\t\telementToFocus = elWithFocus;\n\t\t} else {\n\t\t\telementToFocus = body as unknown as HTMLElement;\n\t\t}\n\t\tthis._zone.runOutsideAngular(() => {\n\t\t\tsetTimeout(() => elementToFocus.focus());\n\t\t\tthis._elWithFocus = null;\n\t\t});\n\t}\n\n\tprivate _bumpBackdrop() {\n\t\tif (this.backdrop() === 'static') {\n\t\t\thubRunTransition(\n\t\t\t\tthis._zone,\n\t\t\t\tthis._elRef.nativeElement,\n\t\t\t\t({ classList }) => {\n\t\t\t\t\tclassList.add('hub-modal--static');\n\t\t\t\t\treturn () => classList.remove('hub-modal--static');\n\t\t\t\t},\n\t\t\t\t{ animation: this.animation(), runningTransition: 'continue' }\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate _appendNodes(container: HTMLElement, nodes: Node[], beforeNode?: Node | null) {\n\t\tnodes.forEach((node) => {\n\t\t\tif (beforeNode) {\n\t\t\t\tcontainer.insertBefore(node, beforeNode);\n\t\t\t} else {\n\t\t\t\tcontainer.appendChild(node);\n\t\t\t}\n\t\t});\n\t}\n}\n","import { DOCUMENT } from '@angular/common';\nimport {\n\tApplicationRef,\n\tComponentRef,\n\tcreateComponent,\n\tEnvironmentInjector,\n\tEventEmitter,\n\tinject,\n\tInjectable,\n\tInjector,\n\tNgZone,\n\tTemplateRef,\n\tType\n} from '@angular/core';\nimport { ContentRef, hubFocusTrap, isDefined, isString, ScrollBar } from 'ng-hub-ui-utils';\nimport { Subject } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { HubModalBackdrop } from './modal-backdrop';\nimport { HubModalOptions, HubModalUpdatableOptions } from './modal-config';\nimport { HubActiveModal, HubModalRef } from './modal-ref';\nimport { HubModalWindow } from './modal-window';\n\n/**\n * A service that manages the stack of currently active modal windows.\n * It is responsible for creating, attaching, and orchestrating the rendering\n * of the modal dialogue, its backdrop, and its content.\n */\n@Injectable({ providedIn: 'root' })\nexport class HubModalStack {\n\tprivate _applicationRef = inject(ApplicationRef);\n\tprivate _injector = inject(Injector);\n\tprivate _environmentInjector = inject(EnvironmentInjector);\n\tprivate _document = inject(DOCUMENT);\n\tprivate _scrollBar = inject(ScrollBar);\n\n\tprivate _activeWindowCmptHasChanged = new Subject<void>();\n\tprivate _ariaHiddenValues: Map<Element, string | null> = new Map();\n\tprivate _scrollBarRestoreFn: null | (() => void) = null;\n\tprivate _modalRefs: HubModalRef[] = [];\n\tprivate _windowCmpts: ComponentRef<HubModalWindow>[] = [];\n\tprivate _activeInstances: EventEmitter<HubModalRef[]> = new EventEmitter();\n\n\tconstructor() {\n\t\tconst ngZone = inject(NgZone);\n\n\t\t// Trap focus on active WindowCmpt\n\t\tthis._activeWindowCmptHasChanged.subscribe(() => {\n\t\t\tif (this._windowCmpts.length) {\n\t\t\t\tconst activeWindowCmpt = this._windowCmpts[this._windowCmpts.length - 1];\n\t\t\t\thubFocusTrap(ngZone, activeWindowCmpt.location.nativeElement, this._activeWindowCmptHasChanged);\n\t\t\t\tthis._revertAriaHidden();\n\t\t\t\tthis._setAriaHidden(activeWindowCmpt.location.nativeElement);\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate _restoreScrollBar() {\n\t\tconst scrollBarRestoreFn = this._scrollBarRestoreFn;\n\t\tif (scrollBarRestoreFn) {\n\t\t\tthis._scrollBarRestoreFn = null;\n\t\t\tscrollBarRestoreFn();\n\t\t}\n\t}\n\n\tprivate _hideScrollBar() {\n\t\tif (!this._scrollBarRestoreFn) {\n\t\t\tthis._scrollBarRestoreFn = this._scrollBar.hide();\n\t\t}\n\t}\n\n\t/**\n\t * Opens a new modal window configured with the provided options.\n\t *\n\t * @param contentInjector The dependency injector to be used for the modal content component.\n\t * @param content The content to display inside the modal. Can be a component class, a template reference, or a string.\n\t * @param options Configuration options that dictate how the modal is rendered and behaves.\n\t * @returns An instance of `HubModalRef` which can be used to control the modal or subscribe to its events.\n\t * @throws Error if the specified container element is not found in the DOM.\n\t */\n\topen(contentInjector: Injector, content: any, options: HubModalOptions): HubModalRef {\n\t\tconst containerEl =\n\t\t\toptions.container instanceof HTMLElement\n\t\t\t\t? options.container\n\t\t\t\t: isDefined(options.container)\n\t\t\t\t\t? this._document.querySelector(options.container!)\n\t\t\t\t\t: this._document.body;\n\n\t\tif (!containerEl) {\n\t\t\tthrow new Error(`The specified modal container \"${options.container || 'body'}\" was not found in the DOM.`);\n\t\t}\n\n\t\tthis._hideScrollBar();\n\n\t\tconst activeModal = new HubActiveModal();\n\n\t\tcontentInjector = options.injector || contentInjector;\n\t\tconst environmentInjector = contentInjector.get(EnvironmentInjector, null) || this._environmentInjector;\n\t\tconst contentRef = this._getContentRef(contentInjector, environmentInjector, content, activeModal, options);\n\n\t\tconst backdropCmptRef: ComponentRef<HubModalBackdrop> | undefined =\n\t\t\toptions.backdrop !== false ? this._attachBackdrop(containerEl) : undefined;\n\t\tconst windowCmptRef: ComponentRef<HubModalWindow> = this._attachWindowComponent(containerEl, contentRef.nodes, options);\n\t\tconst hubModalRef: HubModalRef = new HubModalRef(windowCmptRef, contentRef, backdropCmptRef, options.beforeDismiss);\n\n\t\tthis._registerModalRef(hubModalRef);\n\t\tthis._registerWindowCmpt(windowCmptRef);\n\n\t\t// We have to cleanup DOM after the last modal when BOTH 'hidden' was emitted and 'result' promise was resolved:\n\t\t// - with animations OFF, 'hidden' emits synchronously, then 'result' is resolved asynchronously\n\t\t// - with animations ON, 'result' is resolved asynchronously, then 'hidden' emits asynchronously\n\t\thubModalRef.hidden.pipe(take(1)).subscribe(() =>\n\t\t\tPromise.resolve(true).then(() => {\n\t\t\t\tif (!this._modalRefs.length) {\n\t\t\t\t\tthis._document.body.classList.remove('hub-modal-open');\n\t\t\t\t\tthis._restoreScrollBar();\n\t\t\t\t\tthis._revertAriaHidden();\n\t\t\t\t}\n\t\t\t})\n\t\t);\n\n\t\tactiveModal.close = (result: any) => {\n\t\t\thubModalRef.close(result);\n\t\t};\n\t\tactiveModal.dismiss = (reason: any) => {\n\t\t\thubModalRef.dismiss(reason);\n\t\t};\n\n\t\tactiveModal.update = (options: HubModalUpdatableOptions) => {\n\t\t\thubModalRef.update(options);\n\t\t};\n\n\t\thubModalRef.update(options);\n\t\tif (this._modalRefs.length === 1) {\n\t\t\tthis._document.body.classList.add('hub-modal-open');\n\t\t}\n\n\t\tif (backdropCmptRef && backdropCmptRef.instance) {\n\t\t\tbackdropCmptRef.changeDetectorRef.detectChanges();\n\t\t}\n\t\twindowCmptRef.changeDetectorRef.detectChanges();\n\t\treturn hubModalRef;\n\t}\n\n\t/**\n\t * Allows observing the array of active modal instances.\n\t *\n\t * @returns An event emitter that streams changes to the active modal references.\n\t */\n\tget activeInstances() {\n\t\treturn this._activeInstances;\n\t}\n\n\t/**\n\t * Dismisses all currently open modal windows.\n\t *\n\t * @param reason Optional reason to pass to the dismissal routines of the active modals.\n\t */\n\tdismissAll(reason?: any) {\n\t\tthis._modalRefs.forEach((hubModalRef) => hubModalRef.dismiss(reason));\n\t}\n\n\t/**\n\t * Checks whether there are any currently open modal windows.\n\t *\n\t * @returns `true` if at least one modal is active, `false` otherwise.\n\t */\n\thasOpenModals(): boolean {\n\t\treturn this._modalRefs.length > 0;\n\t}\n\n\tprivate _attachBackdrop(containerEl: Element): ComponentRef<HubModalBackdrop> {\n\t\tlet backdropCmptRef = createComponent(HubModalBackdrop, {\n\t\t\tenvironmentInjector: this._applicationRef.injector,\n\t\t\telementInjector: this._injector\n\t\t});\n\t\tthis._applicationRef.attachView(backdropCmptRef.hostView);\n\t\tcontainerEl.appendChild(backdropCmptRef.location.nativeElement);\n\t\treturn backdropCmptRef;\n\t}\n\n\tprivate _attachWindowComponent(\n\t\tcontainerEl: Element,\n\t\tcontentNodes: Node[][],\n\t\toptions: HubModalOptions\n\t): ComponentRef<HubModalWindow> {\n\t\tconst singleContent = !options.headerSelector && !options.footerSelector;\n\t\tlet windowCmptRef = createComponent(HubModalWindow, {\n\t\t\tenvironmentInjector: this._applicationRef.injector,\n\t\t\telementInjector: this._injector\n\t\t});\n\n\t\tObject.assign(windowCmptRef.instance, { singleContent });\n\n\t\tthis._applicationRef.attachView(windowCmptRef.hostView);\n\t\tcontainerEl.appendChild(windowCmptRef.location.nativeElement);\n\t\twindowCmptRef.changeDetectorRef.detectChanges();\n\t\twindowCmptRef.instance.attachContent(contentNodes);\n\t\treturn windowCmptRef;\n\t}\n\n\tprivate _getContentRef(\n\t\tcontentInjector: Injector,\n\t\tenvironmentInjector: EnvironmentInjector,\n\t\tcontent: Type<any> | TemplateRef<any> | string,\n\t\tactiveModal: HubActiveModal,\n\t\toptions: HubModalOptions\n\t): ContentRef {\n\t\tif (!content) {\n\t\t\treturn new ContentRef([]);\n\t\t} else if (content instanceof TemplateRef) {\n\t\t\treturn this._createFromTemplateRef(content, activeModal, options);\n\t\t} else if (isString(content)) {\n\t\t\treturn this._createFromString(content);\n\t\t} else {\n\t\t\treturn this._createFromComponent(contentInjector, environmentInjector, content, activeModal, options);\n\t\t}\n\t}\n\n\tprivate _createFromTemplateRef(\n\t\ttemplateRef: TemplateRef<any>,\n\t\tactiveModal: HubActiveModal,\n\t\toptions: HubModalOptions\n\t): ContentRef {\n\t\tconst context = {\n\t\t\t$implicit: activeModal,\n\t\t\tclose(result: any) {\n\t\t\t\tactiveModal.close(result);\n\t\t\t},\n\t\t\tdismiss(reason: any) {\n\t\t\t\tactiveModal.dismiss(reason);\n\t\t\t}\n\t\t};\n\t\tconst viewRef = templateRef.createEmbeddedView(context);\n\t\tthis._applicationRef.attachView(viewRef);\n\n\t\tconst containerNode = document.createElement('ng-container');\n\t\tcontainerNode.append(...viewRef.rootNodes);\n\n\t\tthis._addDismissEventListener(containerNode, context as any, options);\n\t\tthis._addCloseEventListener(containerNode, context as any, options);\n\n\t\treturn new ContentRef(\n\t\t\t[\n\t\t\t\toptions.headerSelector ? extractAndRemoveNodesBySelector(containerNode, options.headerSelector) : [],\n\t\t\t\tArray.from(containerNode.childNodes),\n\t\t\t\toptions.footerSelector ? extractAndRemoveNodesBySelector(containerNode, options.footerSelector) : []\n\t\t\t],\n\t\t\tviewRef\n\t\t);\n\t}\n\n\tprivate _createFromString(content: string): ContentRef {\n\t\tconst component = this._document.createTextNode(`${content}`);\n\t\treturn new ContentRef([[component]]);\n\t}\n\n\tprivate _createFromComponent(\n\t\tcontentInjector: Injector,\n\t\tenvironmentInjector: EnvironmentInjector,\n\t\tcomponentType: Type<any>,\n\t\tcontext: HubActiveModal,\n\t\toptions: HubModalOptions\n\t): ContentRef {\n\t\tconst elementInjector = Injector.create({\n\t\t\tproviders: [{ provide: HubActiveModal, useValue: context }],\n\t\t\tparent: contentInjector\n\t\t});\n\t\tconst componentRef = createComponent(componentType, {\n\t\t\tenvironmentInjector,\n\t\t\telementInjector\n\t\t});\n\n\t\tif (options.data) {\n\t\t\tObject.assign(componentRef.instance, {\n\t\t\t\tdata: options.data\n\t\t\t});\n\t\t}\n\n\t\tconst componentNativeEl: HTMLElement = componentRef.location.nativeElement;\n\t\tif (options.scrollable) {\n\t\t\tcomponentNativeEl.classList.add('component-host-scrollable');\n\t\t}\n\t\tthis._applicationRef.attachView(componentRef.hostView);\n\n\t\tthis._addDismissEventListener(componentNativeEl, context, options);\n\t\tthis._addCloseEventListener(componentNativeEl, context as any, options);\n\n\t\t// FIXME: we should here get rid of the component nativeElement\n\t\t// and use `[Array.from(componentNativeEl.childNodes)]` instead and remove the above CSS class.\n\t\treturn new ContentRef(\n\t\t\t[\n\t\t\t\toptions.headerSelector ? extractAndRemoveNodesBySelector(componentNativeEl, options.headerSelector) : [],\n\t\t\t\tArray.from(componentNativeEl.childNodes),\n\t\t\t\toptions.footerSelector ? extractAndRemoveNodesBySelector(componentNativeEl, options.footerSelector) : []\n\t\t\t],\n\t\t\tcomponentRef.hostView,\n\t\t\tcomponentRef\n\t\t);\n\t}\n\n\tprivate _setAriaHidden(element: Element) {\n\t\tconst parent = element.parentElement;\n\t\tif (parent && element !== this._document.body) {\n\t\t\tArray.from(parent.children).forEach((sibling) => {\n\t\t\t\tif (sibling !== element && sibling.nodeName !== 'SCRIPT') {\n\t\t\t\t\tthis._ariaHiddenValues.set(sibling, sibling.getAttribute('aria-hidden'));\n\t\t\t\t\tsibling.setAttribute('aria-hidden', 'true');\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tthis._setAriaHidden(parent);\n\t\t}\n\t}\n\n\tprivate _revertAriaHidden() {\n\t\tthis._ariaHiddenValues.forEach((value, element) => {\n\t\t\tif (value) {\n\t\t\t\telement.setAttribute('aria-hidden', value);\n\t\t\t} else {\n\t\t\t\telement.removeAttribute('aria-hidden');\n\t\t\t}\n\t\t});\n\t\tthis._ariaHiddenValues.clear();\n\t}\n\n\tprivate _registerModalRef(hubModalRef: HubModalRef) {\n\t\tconst unregisterModalRef = () => {\n\t\t\tconst index = this._modalRefs.indexOf(hubModalRef);\n\t\t\tif (index > -1) {\n\t\t\t\tthis._modalRefs.splice(index, 1);\n\t\t\t\tthis._activeInstances.emit(this._modalRefs);\n\t\t\t}\n\t\t};\n\t\tthis._modalRefs.push(hubModalRef);\n\t\tthis._activeInstances.emit(this._modalRefs);\n\t\thubModalRef.result.then(unregisterModalRef, unregisterModalRef);\n\t}\n\n\tprivate _registerWindowCmpt(hubWindowCmpt: ComponentRef<HubModalWindow>) {\n\t\tthis._windowCmpts.push(hubWindowCmpt);\n\t\tthis._activeWindowCmptHasChanged.next();\n\n\t\thubWindowCmpt.onDestroy(() => {\n\t\t\tconst index = this._windowCmpts.indexOf(hubWindowCmpt);\n\t\t\tif (index > -1) {\n\t\t\t\tthis._windowCmpts.splice(index, 1);\n\t\t\t\tthis._activeWindowCmptHasChanged.next();\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Attaches click event listeners to elements within a container based on a specified dismiss selector to dismiss a modal.\n\t *\n\t * @param {HTMLElement} container - The `container` parameter is an HTMLElement that represents the DOM element which contains the\n\t * modal content.\n\t * @param {HubActiveModal} context - The `context` parameter in the `_addDismissEventListener` function refers to the active modal\n\t * instance that is being displayed. It is used to call the `dismiss` method on the modal instance when a dismissible element is\n\t * clicked.\n\t * @param {HubModalOptions} options - The `options` parameter is an object that contains configuration options for the modal. It\n\t * may include properties such as `dismissSelector`, which is used to specify a CSS selector for elements that, when clicked, will\n\t * dismiss the modal by calling the `dismiss` method on the `context` object.\n\t */\n\tprivate _addDismissEventListener(container: HTMLElement, context: HubActiveModal, options: HubModalOptions) {\n\t\tif (options.dismissSelector) {\n\t\t\tconst dismissaable: NodeListOf<Element> = container.querySelectorAll(options.dismissSelector);\n\t\t\tfor (const item of Array.from(dismissaable)) {\n\t\t\t\titem.addEventListener('click', () => context.dismiss());\n\t\t\t}\n\t\t}\n\t}\n\n\t/**\n\t * Attaches click event listeners to elements matching a specified selector to close a modal window.\n\t *\n\t * @param {HTMLElement} container - The `container` parameter is an HTMLElement that represents the DOM element which contains the\n\t * modal content.\n\t * @param {HubActiveModal} context - The `context` parameter in the `_addCloseEventListener` function is of type `HubActiveModal`.\n\t * It is used to reference the active modal instance within the function and call the `close()` method on it when a close event is\n\t * triggered.\n\t * @param {HubModalOptions} options - The `options` parameter is an object that contains configuration options for the modal. It\n\t * may include properties such as `closeSelector`, which is used to specify the selector for elements that can trigger the modal\n\t * to close when clicked.\n\t */\n\tprivate _addCloseEventListener(container: HTMLElement, context: HubActiveModal, options: HubModalOptions) {\n\t\tif (options.closeSelector) {\n\t\t\tconst dismissaable: NodeListOf<Element> = container.querySelectorAll(options.closeSelector);\n\t\t\tfor (const item of Array.from(dismissaable)) {\n\t\t\t\tconst clickEventListeners = item.addEventListener('click', () => context.close());\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * Extracts child nodes matching a selector from a container element, removes those nodes from the DOM, and returns them as an array.\n *\n * @param {HTMLElement} container - The `container` parameter in the `extractAndRemoveNodesBySelector` function is an HTMLElement\n * that represents the parent element within which we want to search for nodes matching a specific selector and remove them.\n * @param {string} selector - The `selector` parameter in the `extractAndRemoveNodesBySelector` function is a string that\n * represents a CSS selector. This selector is used to query and select specific elements within the `container` HTMLElement.\n *\n * @returns An array of nodes that were extracted from the container element based on the provided selector, and then removes those\n * nodes from the DOM.\n */\nfunction extractAndRemoveNodesBySelector(container: HTMLElement, selector: string): Array<Node> {\n\tlet containerNodes = container.querySelectorAll(selector);\n\n\tconst nodes = Array.from(containerNodes).reduce((acc, c) => {\n\t\treturn [...acc, ...Array.from(c.childNodes)];\n\t}, [] as Array<Node>);\n\n\t// Selecciona los nodos dentro del contenedor que coincidan con el selector\n\tconst nodesToRemove = container.querySelectorAll<HTMLElement>(selector);\n\n\t// Convertir NodeList a array y eliminar cada nodo del DOM\n\tArray.from(nodesToRemove).forEach((node) => node.remove());\n\treturn nodes;\n}\n","import { inject, Injectable, Injector } from '@angular/core';\n\nimport { HubModalConfig, HubModalOptions } from './modal-config';\nimport { HubModalRef } from './modal-ref';\nimport { HubModalStack } from './modal-stack';\n\n/**\n * A service for opening modal windows.\n *\n * Creating a modal is straightforward: create a component or a template and pass it as an argument to\n * the `.open()` method.\n */\n@Injectable({ providedIn: 'root' })\nexport class HubModal {\n\tprivate _injector = inject(Injector);\n\tprivate _modalStack = inject(HubModalStack);\n\tprivate _config = inject(HubModalConfig);\n\n\t/**\n\t * Opens a new modal window with the specified content and supplied options.\n\t *\n\t * Content can be provided as a `TemplateRef` or a component type. If you pass a component type as content,\n\t * then instances of those components can be injected with an instance of the `HubActiveModal` class. You can then\n\t * use `HubActiveModal` methods to close / dismiss modals from \"inside\" of your component.\n\t *\n\t * Also see the [`HubModalOptions`](#/components/modal/api#HubModalOptions) for the list of supported options.\n\t */\n\topen<T = any>(content: T, options: HubModalOptions = {}): HubModalRef<T> {\n\t\tconst combinedOptions = {\n\t\t\t...this._config,\n\t\t\tanimation: this._config.animation,\n\t\t\t...options\n\t\t};\n\t\treturn this._modalStack.open(this._injector, content, combinedOptions);\n\t}\n\n\t/**\n\t * Returns an observable that holds the active modal instances.\n\t */\n\tget activeInstances() {\n\t\treturn this._modalStack.activeInstances;\n\t}\n\n\t/**\n\t * Dismisses all currently displayed modal windows with the supplied reason.\n\t *\n\t * @since 3.1.0\n\t */\n\tdismissAll(reason?: any) {\n\t\tthis._modalStack.dismissAll(reason);\n\t}\n\n\t/**\n\t * Indicates if there are currently any open modal windows in the application.\n\t *\n\t * @since 3.3.0\n\t */\n\thasOpenModals(): boolean {\n\t\treturn this._modalStack.hasOpenModals();\n\t}\n}\n","import { NgModule } from '@angular/core';\nimport { HubModal } from './modal';\nexport { HubModal } from './modal';\nexport { HubModalConfig } from './modal-config';\nexport type { HubModalOptions, HubModalUpdatableOptions } from './modal-config';\nexport { ModalDismissReasons } from './modal-dismiss-reasons';\nexport { HubModalPlacement } from './modal-placement';\nexport { HubActiveModal, HubModalRef } from './modal-ref';\n\n@NgModule({ providers: [HubModal] })\nexport class HubModalModule {}\n","/*\n * Public API Surface of modal\n */\nexport {\n\tModalDismissReasons,\n\tHubActiveModal,\n\tHubModal,\n\tHubModalConfig,\n\tHubModalModule,\n\tHubModalPlacement,\n\tHubModalRef\n} from './lib/modal.module';\nexport type { HubModalOptions, HubModalUpdatableOptions } from './lib/modal.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
Binary file
|
package/package.json
CHANGED
|
Binary file
|