@villedemontreal/angular-ui 14.0.1 → 14.1.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.
- package/esm2020/lib/alert/alert.component.mjs +2 -2
- package/esm2020/lib/alert/index.mjs +2 -2
- package/esm2020/lib/alert/module.mjs +2 -2
- package/esm2020/lib/avatar/avatar.component.mjs +2 -2
- package/esm2020/lib/avatar/index.mjs +2 -2
- package/esm2020/lib/avatar/module.mjs +2 -2
- package/esm2020/lib/badge/badge.component.mjs +2 -2
- package/esm2020/lib/badge/index.mjs +2 -2
- package/esm2020/lib/badge/module.mjs +2 -2
- package/esm2020/lib/bao.module.mjs +15 -8
- package/esm2020/lib/breadcrumb/breadcrumb.component.mjs +2 -2
- package/esm2020/lib/breadcrumb/index.mjs +2 -2
- package/esm2020/lib/breadcrumb/module.mjs +2 -2
- package/esm2020/lib/button/button.component.mjs +2 -2
- package/esm2020/lib/button/index.mjs +2 -2
- package/esm2020/lib/button/module.mjs +2 -2
- package/esm2020/lib/card/card.component.mjs +2 -2
- package/esm2020/lib/card/index.mjs +2 -2
- package/esm2020/lib/card/module.mjs +2 -2
- package/esm2020/lib/checkbox/checkbox-group.component.mjs +2 -2
- package/esm2020/lib/checkbox/checkbox.component.mjs +1 -1
- package/esm2020/lib/checkbox/index.mjs +2 -2
- package/esm2020/lib/checkbox/module.mjs +2 -2
- package/esm2020/lib/common-components/error-text/errorText.component.mjs +2 -2
- package/esm2020/lib/common-components/guiding-text/guidingText.component.mjs +2 -2
- package/esm2020/lib/common-components/index.mjs +2 -2
- package/esm2020/lib/common-components/label-text/labelText.component.mjs +4 -4
- package/esm2020/lib/common-components/module.mjs +6 -3
- package/esm2020/lib/common-components/title-text/titleText.component.mjs +2 -2
- package/esm2020/lib/core/colors.mjs +1 -1
- package/esm2020/lib/dropdown-menu/dropdown-menu.component.mjs +9 -2
- package/esm2020/lib/dropdown-menu/index.mjs +2 -2
- package/esm2020/lib/dropdown-menu/module.mjs +2 -2
- package/esm2020/lib/file/file-input.component.mjs +319 -0
- package/esm2020/lib/file/file-intl.mjs +65 -0
- package/esm2020/lib/file/file-preview.component.mjs +86 -0
- package/esm2020/lib/file/index.mjs +10 -0
- package/esm2020/lib/file/module.mjs +56 -0
- package/esm2020/lib/header-info/header-info.component.mjs +2 -2
- package/esm2020/lib/header-info/index.mjs +2 -2
- package/esm2020/lib/header-info/module.mjs +2 -2
- package/esm2020/lib/hyperlink/hyperlink.component.mjs +2 -2
- package/esm2020/lib/hyperlink/index.mjs +2 -2
- package/esm2020/lib/hyperlink/module.mjs +2 -2
- package/esm2020/lib/icon/bao-icon-registry.mjs +2 -2
- package/esm2020/lib/icon/icon.component.mjs +2 -2
- package/esm2020/lib/icon/icons-dictionary.mjs +3 -2
- package/esm2020/lib/icon/index.mjs +2 -2
- package/esm2020/lib/icon/module.mjs +2 -2
- package/esm2020/lib/list/index.mjs +2 -2
- package/esm2020/lib/list/list.component.mjs +2 -2
- package/esm2020/lib/list/module.mjs +2 -2
- package/esm2020/lib/modal/index.mjs +2 -2
- package/esm2020/lib/modal/modal-config.mjs +2 -2
- package/esm2020/lib/modal/modal-container.mjs +17 -31
- package/esm2020/lib/modal/modal-directives.mjs +2 -2
- package/esm2020/lib/modal/modal-ref.mjs +4 -1
- package/esm2020/lib/modal/modal.mjs +11 -32
- package/esm2020/lib/modal/module.mjs +5 -20
- package/esm2020/lib/radio/index.mjs +2 -2
- package/esm2020/lib/radio/module.mjs +2 -2
- package/esm2020/lib/radio/radio-group.component.mjs +2 -2
- package/esm2020/lib/radio/radio.component.mjs +1 -1
- package/esm2020/lib/shared/enum/display-mode.mjs +1 -1
- package/esm2020/lib/shared/index.mjs +2 -2
- package/esm2020/lib/summary/index.mjs +2 -2
- package/esm2020/lib/summary/list-summary.component.mjs +2 -2
- package/esm2020/lib/summary/module.mjs +2 -2
- package/esm2020/lib/summary/summary.component.mjs +2 -2
- package/esm2020/lib/tabs/index.mjs +2 -2
- package/esm2020/lib/tabs/module.mjs +2 -2
- package/esm2020/lib/tabs/tabs.component.mjs +2 -2
- package/esm2020/lib/tag/index.mjs +2 -2
- package/esm2020/lib/tag/module.mjs +2 -2
- package/esm2020/lib/tag/tag.component.mjs +2 -2
- package/esm2020/public-api.mjs +3 -2
- package/fesm2015/villedemontreal-angular-ui.mjs +629 -186
- package/fesm2015/villedemontreal-angular-ui.mjs.map +1 -1
- package/fesm2020/villedemontreal-angular-ui.mjs +629 -184
- package/fesm2020/villedemontreal-angular-ui.mjs.map +1 -1
- package/lib/bao.module.d.ts +12 -11
- package/lib/file/file-input.component.d.ts +123 -0
- package/lib/file/file-intl.d.ts +44 -0
- package/lib/file/file-preview.component.d.ts +29 -0
- package/lib/file/index.d.ts +4 -0
- package/lib/file/module.d.ts +13 -0
- package/lib/modal/modal-container.d.ts +4 -5
- package/lib/modal/modal-ref.d.ts +1 -0
- package/lib/modal/modal.d.ts +3 -4
- package/lib/modal/module.d.ts +1 -2
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/esm2020/lib/modal/modal-animations.mjs +0 -29
- package/lib/modal/modal-animations.d.ts +0 -8
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { SecurityContext, Injectable, Inject, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, NgModule, Directive, EventEmitter, Output, CUSTOM_ELEMENTS_SCHEMA, ViewChild, forwardRef, InjectionToken, ContentChildren, Optional, HostListener, ContentChild, Injector, TemplateRef, SkipSelf } from '@angular/core';
|
|
2
|
+
import { SecurityContext, Injectable, Inject, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, NgModule, Directive, EventEmitter, Output, CUSTOM_ELEMENTS_SCHEMA, ViewChild, forwardRef, InjectionToken, ContentChildren, Optional, HostListener, ContentChild, Injector, TemplateRef, SkipSelf, ViewChildren } from '@angular/core';
|
|
3
3
|
import * as i1$1 from '@angular/common';
|
|
4
4
|
import { DOCUMENT, CommonModule } from '@angular/common';
|
|
5
5
|
import * as i1 from '@angular/platform-browser';
|
|
@@ -13,11 +13,9 @@ import * as i1$4 from '@angular/cdk/overlay';
|
|
|
13
13
|
import { OverlayConfig, OverlayModule } from '@angular/cdk/overlay';
|
|
14
14
|
import * as i3 from '@angular/cdk/portal';
|
|
15
15
|
import { BasePortalOutlet, CdkPortalOutlet, ComponentPortal, TemplatePortal, PortalModule, DomPortal } from '@angular/cdk/portal';
|
|
16
|
-
import { Subject, filter, take, defer, startWith
|
|
16
|
+
import { Subject, filter, take, defer, startWith } from 'rxjs';
|
|
17
17
|
import { _getFocusedElementPierceShadowDom } from '@angular/cdk/platform';
|
|
18
|
-
import { trigger, state, style, transition, group, animate, query, animateChild } from '@angular/animations';
|
|
19
18
|
import { ESCAPE, hasModifierKey } from '@angular/cdk/keycodes';
|
|
20
|
-
import { ANIMATION_MODULE_TYPE, BrowserAnimationsModule, NoopAnimationsModule } from '@angular/platform-browser/animations';
|
|
21
19
|
|
|
22
20
|
function baoColorToHex(baoColor) {
|
|
23
21
|
switch (baoColor) {
|
|
@@ -45,7 +43,7 @@ function baoColorToHex(baoColor) {
|
|
|
45
43
|
}
|
|
46
44
|
|
|
47
45
|
/*
|
|
48
|
-
* Copyright (c)
|
|
46
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
49
47
|
* Licensed under the MIT license.
|
|
50
48
|
* See LICENSE file in the project root for full license information.
|
|
51
49
|
*/
|
|
@@ -62,6 +60,7 @@ const ICONS_DCT = {
|
|
|
62
60
|
'icon-book': "<path fill-rule='evenodd' d='M11 7.5l-.4-.3A11 11 0 005 5.046v10.993a13 13 0 016 2.007V7.5zm2 0v10.546a13 13 0 016-2.007V5.046A11 11 0 0013.4 7.2l-.4.3zM3 7V4a1 1 0 011-1 13 13 0 017.8 2.6l.2.15.2-.15A13 13 0 0120 3a1 1 0 011 1v3h2a1 1 0 011 1v2a1 1 0 01-2 0V9h-1v8a1 1 0 01-1 1 11 11 0 00-4.583 1H22v-5a1 1 0 012 0v6a1 1 0 01-1 1H1a1 1 0 01-1-1V8a1 1 0 011-1h2zm0 2H2v10h6.583A11 11 0 004 18a1 1 0 01-1-1V9z'/>",
|
|
63
61
|
'icon-briefcase': "<path fill-rule='evenodd' clip-rule='evenodd' d='M14 2h-4a3 3 0 00-3 3v1H4a3 3 0 00-3 3v2.977a1 1 0 000 .046V19a3 3 0 003 3h16a3 3 0 003-3v-3a1 1 0 10-2 0v3a1 1 0 01-1 1H4a1 1 0 01-1-1v-5.523l8.629 3.451a1 1 0 00.742 0l9.979-3.99a1.002 1.002 0 00.65-.961V9a3 3 0 00-3-3h-3V5a3 3 0 00-3-3zm7 9.323V9a1 1 0 00-1-1H4a1 1 0 00-1 1v2.323l9 3.6 9-3.6zM15 6H9V5a1 1 0 011-1h4a1 1 0 011 1v1z'/>",
|
|
64
62
|
'icon-calendar': "<path fill-rule='evenodd' d='M20 10H4v9a1 1 0 001 1h14a1 1 0 001-1v-2a1 1 0 012 0v2a3 3 0 01-3 3H5a3 3 0 01-3-3V5a3 3 0 013-3h2V1a1 1 0 112 0v1h6V1a1 1 0 012 0v1h2a3 3 0 013 3v8a1 1 0 01-2 0v-3zm0-2V5a1 1 0 00-1-1h-2v1a1 1 0 01-2 0V4H9v1a1 1 0 11-2 0V4H5a1 1 0 00-1 1v3h16z'/>",
|
|
63
|
+
'icon-cell-phone': "<path fill-rule='evenodd' clip-rule='evenodd' d='M4 4C4 2.34315 5.34315 1 7 1H17C18.6569 1 20 2.34315 20 4V20C20 21.6569 18.6569 23 17 23H7C5.34315 23 4 21.6569 4 20V4ZM6 4C6 3.44772 6.44772 3 7 3H17C17.5523 3 18 3.44772 18 4V20C18 20.5523 17.5523 21 17 21H7C6.44771 21 6 20.5523 6 20V4ZM12 19C12.5523 19 13 18.5523 13 18C13 17.4477 12.5523 17 12 17C11.4477 17 11 17.4477 11 18C11 18.5523 11.4477 19 12 19Z' />",
|
|
65
64
|
'icon-check-circle-full': "<path fill-rule='evenodd' d='M12 23C5.925 23 1 18.075 1 12S5.925 1 12 1s11 4.925 11 11-4.925 11-11 11zm3.293-13.707L11 13.586l-1.293-1.293a1 1 0 10-1.414 1.414l2 2a1 1 0 001.414 0l5-5a1 1 0 10-1.414-1.414z'/>",
|
|
66
65
|
'icon-check-circle': "<path fill-rule='evenodd' d='M21.542 17.477a1 1 0 01-1.734-.997A8.953 8.953 0 0021 12a9 9 0 10-9 9 8.953 8.953 0 004.484-1.195 1 1 0 01.998 1.733A10.953 10.953 0 0112 23C5.925 23 1 18.075 1 12S5.925 1 12 1s11 4.925 11 11c0 1.948-.508 3.824-1.458 5.477zm-6.25-8.184a1 1 0 011.415 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L11 13.586l4.293-4.293z'/>",
|
|
67
66
|
'icon-check': "<path fill-rule='evenodd' d='M19.293 6.293a1 1 0 011.414 1.414l-7.947 7.948a1 1 0 01-1.415-1.415l7.948-7.947zm-9.586 11a1 1 0 11-1.414 1.414l-5-5a1 1 0 011.414-1.414l5 5z'/>",
|
|
@@ -169,7 +168,7 @@ const ICONS_DCT = {
|
|
|
169
168
|
};
|
|
170
169
|
|
|
171
170
|
/*
|
|
172
|
-
* Copyright (c)
|
|
171
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
173
172
|
* Licensed under the MIT license.
|
|
174
173
|
* See LICENSE file in the project root for full license information.
|
|
175
174
|
*/
|
|
@@ -208,7 +207,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
208
207
|
}] }, { type: i1.DomSanitizer }]; } });
|
|
209
208
|
|
|
210
209
|
/*
|
|
211
|
-
* Copyright (c)
|
|
210
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
212
211
|
* Licensed under the MIT license.
|
|
213
212
|
* See LICENSE file in the project root for full license information.
|
|
214
213
|
*/
|
|
@@ -360,7 +359,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
360
359
|
}] } });
|
|
361
360
|
|
|
362
361
|
/*
|
|
363
|
-
* Copyright (c)
|
|
362
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
364
363
|
* Licensed under the MIT license.
|
|
365
364
|
* See LICENSE file in the project root for full license information.
|
|
366
365
|
*/
|
|
@@ -380,7 +379,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
380
379
|
}] });
|
|
381
380
|
|
|
382
381
|
/*
|
|
383
|
-
* Copyright (c)
|
|
382
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
384
383
|
* Licensed under the MIT license.
|
|
385
384
|
* See LICENSE file in the project root for full license information.
|
|
386
385
|
*/
|
|
@@ -476,7 +475,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
476
475
|
}] } });
|
|
477
476
|
|
|
478
477
|
/*
|
|
479
|
-
* Copyright (c)
|
|
478
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
480
479
|
* Licensed under the MIT license.
|
|
481
480
|
* See LICENSE file in the project root for full license information.
|
|
482
481
|
*/
|
|
@@ -496,7 +495,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
496
495
|
}] });
|
|
497
496
|
|
|
498
497
|
/*
|
|
499
|
-
* Copyright (c)
|
|
498
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
500
499
|
* Licensed under the MIT license.
|
|
501
500
|
* See LICENSE file in the project root for full license information.
|
|
502
501
|
*/
|
|
@@ -653,7 +652,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
653
652
|
}] } });
|
|
654
653
|
|
|
655
654
|
/*
|
|
656
|
-
* Copyright (c)
|
|
655
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
657
656
|
* Licensed under the MIT license.
|
|
658
657
|
* See LICENSE file in the project root for full license information.
|
|
659
658
|
*/
|
|
@@ -688,13 +687,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
688
687
|
}] });
|
|
689
688
|
|
|
690
689
|
/*
|
|
691
|
-
* Copyright (c)
|
|
690
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
692
691
|
* Licensed under the MIT license.
|
|
693
692
|
* See LICENSE file in the project root for full license information.
|
|
694
693
|
*/
|
|
695
694
|
|
|
696
695
|
/*
|
|
697
|
-
* Copyright (c)
|
|
696
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
698
697
|
* Licensed under the MIT license.
|
|
699
698
|
* See LICENSE file in the project root for full license information.
|
|
700
699
|
*/
|
|
@@ -727,7 +726,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
727
726
|
}] } });
|
|
728
727
|
|
|
729
728
|
/*
|
|
730
|
-
* Copyright (c)
|
|
729
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
731
730
|
* Licensed under the MIT license.
|
|
732
731
|
* See LICENSE file in the project root for full license information.
|
|
733
732
|
*/
|
|
@@ -747,19 +746,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
747
746
|
}] });
|
|
748
747
|
|
|
749
748
|
/*
|
|
750
|
-
* Copyright (c)
|
|
749
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
751
750
|
* Licensed under the MIT license.
|
|
752
751
|
* See LICENSE file in the project root for full license information.
|
|
753
752
|
*/
|
|
754
753
|
|
|
755
754
|
/*
|
|
756
|
-
* Copyright (c)
|
|
755
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
757
756
|
* Licensed under the MIT license.
|
|
758
757
|
* See LICENSE file in the project root for full license information.
|
|
759
758
|
*/
|
|
760
759
|
|
|
761
760
|
/*
|
|
762
|
-
* Copyright (c)
|
|
761
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
763
762
|
* Licensed under the MIT license.
|
|
764
763
|
* See LICENSE file in the project root for full license information.
|
|
765
764
|
*/
|
|
@@ -851,7 +850,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
851
850
|
}] });
|
|
852
851
|
|
|
853
852
|
/*
|
|
854
|
-
* Copyright (c)
|
|
853
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
855
854
|
* Licensed under the MIT license.
|
|
856
855
|
* See LICENSE file in the project root for full license information.
|
|
857
856
|
*/
|
|
@@ -885,13 +884,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
885
884
|
}] });
|
|
886
885
|
|
|
887
886
|
/*
|
|
888
|
-
* Copyright (c)
|
|
887
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
889
888
|
* Licensed under the MIT license.
|
|
890
889
|
* See LICENSE file in the project root for full license information.
|
|
891
890
|
*/
|
|
892
891
|
|
|
893
892
|
/*
|
|
894
|
-
* Copyright (c)
|
|
893
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
895
894
|
* Licensed under the MIT license.
|
|
896
895
|
* See LICENSE file in the project root for full license information.
|
|
897
896
|
*/
|
|
@@ -905,7 +904,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
905
904
|
}] });
|
|
906
905
|
|
|
907
906
|
/*
|
|
908
|
-
* Copyright (c)
|
|
907
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
909
908
|
* Licensed under the MIT license.
|
|
910
909
|
* See LICENSE file in the project root for full license information.
|
|
911
910
|
*/
|
|
@@ -919,7 +918,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
919
918
|
}] });
|
|
920
919
|
|
|
921
920
|
/*
|
|
922
|
-
* Copyright (c)
|
|
921
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
923
922
|
* Licensed under the MIT license.
|
|
924
923
|
* See LICENSE file in the project root for full license information.
|
|
925
924
|
*/
|
|
@@ -929,16 +928,16 @@ class BaoLabelTextComponent {
|
|
|
929
928
|
}
|
|
930
929
|
}
|
|
931
930
|
BaoLabelTextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoLabelTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
932
|
-
BaoLabelTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.1", type: BaoLabelTextComponent, selector: "bao-label, [bao-label]", inputs: { required: "required" }, host: { classAttribute: "bao-label" }, ngImport: i0, template: '<
|
|
931
|
+
BaoLabelTextComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.1", type: BaoLabelTextComponent, selector: "bao-label, [bao-label]", inputs: { required: "required" }, host: { classAttribute: "bao-label" }, ngImport: i0, template: '<ng-content></ng-content><span *ngIf="required"> *</span>', isInline: true, styles: [".bao-label{color:#212529!important;font-weight:700;line-height:1.5em;font-size:1rem;margin-bottom:.5rem}.bao-label span{color:#d3310a;margin:0}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
933
932
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoLabelTextComponent, decorators: [{
|
|
934
933
|
type: Component,
|
|
935
|
-
args: [{ selector: 'bao-label, [bao-label]', encapsulation: ViewEncapsulation.None, template: '<
|
|
934
|
+
args: [{ selector: 'bao-label, [bao-label]', encapsulation: ViewEncapsulation.None, template: '<ng-content></ng-content><span *ngIf="required"> *</span>', host: { class: 'bao-label' }, styles: [".bao-label{color:#212529!important;font-weight:700;line-height:1.5em;font-size:1rem;margin-bottom:.5rem}.bao-label span{color:#d3310a;margin:0}\n"] }]
|
|
936
935
|
}], propDecorators: { required: [{
|
|
937
936
|
type: Input
|
|
938
937
|
}] } });
|
|
939
938
|
|
|
940
939
|
/*
|
|
941
|
-
* Copyright (c)
|
|
940
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
942
941
|
* Licensed under the MIT license.
|
|
943
942
|
* See LICENSE file in the project root for full license information.
|
|
944
943
|
*/
|
|
@@ -952,13 +951,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
952
951
|
}] });
|
|
953
952
|
|
|
954
953
|
/*
|
|
955
|
-
* Copyright (c)
|
|
956
|
-
* Licensed under the MIT license.
|
|
957
|
-
* See LICENSE file in the project root for full license information.
|
|
958
|
-
*/
|
|
959
|
-
|
|
960
|
-
/*
|
|
961
|
-
* Copyright (c) 2022 Ville de Montreal. All rights reserved.
|
|
954
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
962
955
|
* Licensed under the MIT license.
|
|
963
956
|
* See LICENSE file in the project root for full license information.
|
|
964
957
|
*/
|
|
@@ -989,7 +982,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
989
982
|
}] });
|
|
990
983
|
|
|
991
984
|
/*
|
|
992
|
-
* Copyright (c)
|
|
985
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
993
986
|
* Licensed under the MIT license.
|
|
994
987
|
* See LICENSE file in the project root for full license information.
|
|
995
988
|
*/
|
|
@@ -1344,7 +1337,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
1344
1337
|
}] });
|
|
1345
1338
|
|
|
1346
1339
|
/*
|
|
1347
|
-
* Copyright (c)
|
|
1340
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
1348
1341
|
* Licensed under the MIT license.
|
|
1349
1342
|
* See LICENSE file in the project root for full license information.
|
|
1350
1343
|
*/
|
|
@@ -1372,13 +1365,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
1372
1365
|
}] });
|
|
1373
1366
|
|
|
1374
1367
|
/*
|
|
1375
|
-
* Copyright (c)
|
|
1368
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
1369
|
+
* Licensed under the MIT license.
|
|
1370
|
+
* See LICENSE file in the project root for full license information.
|
|
1371
|
+
*/
|
|
1372
|
+
|
|
1373
|
+
/*
|
|
1374
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
1376
1375
|
* Licensed under the MIT license.
|
|
1377
1376
|
* See LICENSE file in the project root for full license information.
|
|
1378
1377
|
*/
|
|
1379
1378
|
|
|
1380
1379
|
/*
|
|
1381
|
-
* Copyright (c)
|
|
1380
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
1382
1381
|
* Licensed under the MIT license.
|
|
1383
1382
|
* See LICENSE file in the project root for full license information.
|
|
1384
1383
|
*/
|
|
@@ -1479,7 +1478,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
1479
1478
|
}] });
|
|
1480
1479
|
|
|
1481
1480
|
/*
|
|
1482
|
-
* Copyright (c)
|
|
1481
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
1483
1482
|
* Licensed under the MIT license.
|
|
1484
1483
|
* See LICENSE file in the project root for full license information.
|
|
1485
1484
|
*/
|
|
@@ -1516,19 +1515,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
1516
1515
|
}] });
|
|
1517
1516
|
|
|
1518
1517
|
/*
|
|
1519
|
-
* Copyright (c)
|
|
1518
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
1520
1519
|
* Licensed under the MIT license.
|
|
1521
1520
|
* See LICENSE file in the project root for full license information.
|
|
1522
1521
|
*/
|
|
1523
1522
|
|
|
1524
1523
|
/*
|
|
1525
|
-
* Copyright (c)
|
|
1524
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
1526
1525
|
* Licensed under the MIT license.
|
|
1527
1526
|
* See LICENSE file in the project root for full license information.
|
|
1528
1527
|
*/
|
|
1529
1528
|
|
|
1530
1529
|
/*
|
|
1531
|
-
* Copyright (c)
|
|
1530
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
1532
1531
|
* Licensed under the MIT license.
|
|
1533
1532
|
* See LICENSE file in the project root for full license information.
|
|
1534
1533
|
*/
|
|
@@ -1599,7 +1598,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
1599
1598
|
}] });
|
|
1600
1599
|
|
|
1601
1600
|
/*
|
|
1602
|
-
* Copyright (c)
|
|
1601
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
1603
1602
|
* Licensed under the MIT license.
|
|
1604
1603
|
* See LICENSE file in the project root for full license information.
|
|
1605
1604
|
*/
|
|
@@ -1633,13 +1632,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
1633
1632
|
}] });
|
|
1634
1633
|
|
|
1635
1634
|
/*
|
|
1636
|
-
* Copyright (c)
|
|
1635
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
1637
1636
|
* Licensed under the MIT license.
|
|
1638
1637
|
* See LICENSE file in the project root for full license information.
|
|
1639
1638
|
*/
|
|
1640
1639
|
|
|
1641
1640
|
/*
|
|
1642
|
-
* Copyright (c)
|
|
1641
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
1643
1642
|
* Licensed under the MIT license.
|
|
1644
1643
|
* See LICENSE file in the project root for full license information.
|
|
1645
1644
|
*/
|
|
@@ -2165,7 +2164,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
2165
2164
|
}] });
|
|
2166
2165
|
|
|
2167
2166
|
/*
|
|
2168
|
-
* Copyright (c)
|
|
2167
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
2169
2168
|
* Licensed under the MIT license.
|
|
2170
2169
|
* See LICENSE file in the project root for full license information.
|
|
2171
2170
|
*/
|
|
@@ -2210,13 +2209,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
2210
2209
|
}] });
|
|
2211
2210
|
|
|
2212
2211
|
/*
|
|
2213
|
-
* Copyright (c)
|
|
2212
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
2214
2213
|
* Licensed under the MIT license.
|
|
2215
2214
|
* See LICENSE file in the project root for full license information.
|
|
2216
2215
|
*/
|
|
2217
2216
|
|
|
2218
2217
|
/*
|
|
2219
|
-
* Copyright (c)
|
|
2218
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
2220
2219
|
* Licensed under the MIT license.
|
|
2221
2220
|
* See LICENSE file in the project root for full license information.
|
|
2222
2221
|
*/
|
|
@@ -2289,7 +2288,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
2289
2288
|
}] } });
|
|
2290
2289
|
|
|
2291
2290
|
/*
|
|
2292
|
-
* Copyright (c)
|
|
2291
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
2293
2292
|
* Licensed under the MIT license.
|
|
2294
2293
|
* See LICENSE file in the project root for full license information.
|
|
2295
2294
|
*/
|
|
@@ -2309,13 +2308,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
2309
2308
|
}] });
|
|
2310
2309
|
|
|
2311
2310
|
/*
|
|
2312
|
-
* Copyright (c)
|
|
2311
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
2313
2312
|
* Licensed under the MIT license.
|
|
2314
2313
|
* See LICENSE file in the project root for full license information.
|
|
2315
2314
|
*/
|
|
2316
2315
|
|
|
2317
2316
|
/*
|
|
2318
|
-
* Copyright (c)
|
|
2317
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
2319
2318
|
* Licensed under the MIT license.
|
|
2320
2319
|
* See LICENSE file in the project root for full license information.
|
|
2321
2320
|
*/
|
|
@@ -2406,7 +2405,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
2406
2405
|
}] });
|
|
2407
2406
|
|
|
2408
2407
|
/*
|
|
2409
|
-
* Copyright (c)
|
|
2408
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
2410
2409
|
* Licensed under the MIT license.
|
|
2411
2410
|
* See LICENSE file in the project root for full license information.
|
|
2412
2411
|
*/
|
|
@@ -2434,7 +2433,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
2434
2433
|
}] });
|
|
2435
2434
|
|
|
2436
2435
|
/*
|
|
2437
|
-
* Copyright (c)
|
|
2436
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
2438
2437
|
* Licensed under the MIT license.
|
|
2439
2438
|
* See LICENSE file in the project root for full license information.
|
|
2440
2439
|
*/
|
|
@@ -2465,13 +2464,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
2465
2464
|
}] });
|
|
2466
2465
|
|
|
2467
2466
|
/*
|
|
2468
|
-
* Copyright (c)
|
|
2467
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
2469
2468
|
* Licensed under the MIT license.
|
|
2470
2469
|
* See LICENSE file in the project root for full license information.
|
|
2471
2470
|
*/
|
|
2472
2471
|
|
|
2473
2472
|
/*
|
|
2474
|
-
* Copyright (c)
|
|
2473
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
2475
2474
|
* Licensed under the MIT license.
|
|
2476
2475
|
* See LICENSE file in the project root for full license information.
|
|
2477
2476
|
*/
|
|
@@ -2571,7 +2570,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
2571
2570
|
}] } });
|
|
2572
2571
|
|
|
2573
2572
|
/*
|
|
2574
|
-
* Copyright (c)
|
|
2573
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
2575
2574
|
* Licensed under the MIT license.
|
|
2576
2575
|
* See LICENSE file in the project root for full license information.
|
|
2577
2576
|
*/
|
|
@@ -2591,13 +2590,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
2591
2590
|
}] });
|
|
2592
2591
|
|
|
2593
2592
|
/*
|
|
2594
|
-
* Copyright (c)
|
|
2593
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
2595
2594
|
* Licensed under the MIT license.
|
|
2596
2595
|
* See LICENSE file in the project root for full license information.
|
|
2597
2596
|
*/
|
|
2598
2597
|
|
|
2599
2598
|
/*
|
|
2600
|
-
* Copyright (c)
|
|
2599
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
2601
2600
|
* Licensed under the MIT license.
|
|
2602
2601
|
* See LICENSE file in the project root for full license information.
|
|
2603
2602
|
*/
|
|
@@ -2890,7 +2889,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
2890
2889
|
}] } });
|
|
2891
2890
|
|
|
2892
2891
|
/*
|
|
2893
|
-
* Copyright (c)
|
|
2892
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
2894
2893
|
* Licensed under the MIT license.
|
|
2895
2894
|
* See LICENSE file in the project root for full license information.
|
|
2896
2895
|
*/
|
|
@@ -2921,41 +2920,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
2921
2920
|
}] });
|
|
2922
2921
|
|
|
2923
2922
|
/*
|
|
2924
|
-
* Copyright (c)
|
|
2923
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
2925
2924
|
* Licensed under the MIT license.
|
|
2926
2925
|
* See LICENSE file in the project root for full license information.
|
|
2927
2926
|
*/
|
|
2928
2927
|
|
|
2929
2928
|
/*
|
|
2930
|
-
* Copyright (c)
|
|
2931
|
-
* Licensed under the MIT license.
|
|
2932
|
-
* See LICENSE file in the project root for full license information.
|
|
2933
|
-
*/
|
|
2934
|
-
/**
|
|
2935
|
-
* Animations used by MatDialog.
|
|
2936
|
-
* @docs-private
|
|
2937
|
-
*/
|
|
2938
|
-
const baoModalAnimations = {
|
|
2939
|
-
/** Animation that is applied on the modal container by default. */
|
|
2940
|
-
modalContainer: trigger('modalContainer', [
|
|
2941
|
-
// Note: The `enter` animation transitions to `transform: none`, because for some reason
|
|
2942
|
-
// specifying the transform explicitly, causes IE both to blur the modal content and
|
|
2943
|
-
// decimate the animation performance. Leaving it as `none` solves both issues.
|
|
2944
|
-
state('void, exit', style({ opacity: 0, transform: 'scale(0.7)' })),
|
|
2945
|
-
state('enter', style({ transform: 'none' })),
|
|
2946
|
-
transition('* => enter', group([
|
|
2947
|
-
animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({ transform: 'none', opacity: 1 })),
|
|
2948
|
-
query('@*', animateChild(), { optional: true })
|
|
2949
|
-
])),
|
|
2950
|
-
transition('* => void, * => exit', group([
|
|
2951
|
-
animate('75ms cubic-bezier(0.4, 0.0, 0.2, 1)', style({ opacity: 0 })),
|
|
2952
|
-
query('@*', animateChild(), { optional: true })
|
|
2953
|
-
]))
|
|
2954
|
-
])
|
|
2955
|
-
};
|
|
2956
|
-
|
|
2957
|
-
/*
|
|
2958
|
-
* Copyright (c) 2022 Ville de Montreal. All rights reserved.
|
|
2929
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
2959
2930
|
* Licensed under the MIT license.
|
|
2960
2931
|
* See LICENSE file in the project root for full license information.
|
|
2961
2932
|
*/
|
|
@@ -3217,39 +3188,29 @@ class BaoModalContainer extends _BaoModalContainerBase {
|
|
|
3217
3188
|
/** State of the modal animation. */
|
|
3218
3189
|
this._state = 'enter';
|
|
3219
3190
|
}
|
|
3220
|
-
|
|
3221
|
-
|
|
3222
|
-
|
|
3223
|
-
await this._trapFocus();
|
|
3224
|
-
this._animationStateChanged.next({ state: 'opened', totalTime });
|
|
3225
|
-
}
|
|
3226
|
-
else if (toState === 'exit') {
|
|
3227
|
-
this._restoreFocus();
|
|
3228
|
-
this._animationStateChanged.next({ state: 'closed', totalTime });
|
|
3229
|
-
}
|
|
3230
|
-
}
|
|
3231
|
-
/** Callback, invoked when an animation on the host starts. */
|
|
3232
|
-
_onAnimationStart({ toState, totalTime }) {
|
|
3233
|
-
if (toState === 'enter') {
|
|
3234
|
-
this._animationStateChanged.next({ state: 'opening', totalTime });
|
|
3235
|
-
}
|
|
3236
|
-
else if (toState === 'exit' || toState === 'void') {
|
|
3237
|
-
this._animationStateChanged.next({ state: 'closing', totalTime });
|
|
3238
|
-
}
|
|
3191
|
+
_startOpenAnimation() {
|
|
3192
|
+
this._animationStateChanged.emit({ state: 'opening', totalTime: 20 });
|
|
3193
|
+
void Promise.resolve().then(() => this._finishDialogOpen());
|
|
3239
3194
|
}
|
|
3240
3195
|
/** Starts the modal exit animation. */
|
|
3241
3196
|
_startExitAnimation() {
|
|
3242
|
-
this.
|
|
3243
|
-
|
|
3244
|
-
|
|
3245
|
-
this.
|
|
3197
|
+
this._animationStateChanged.emit({ state: 'closed', totalTime: 20 });
|
|
3198
|
+
}
|
|
3199
|
+
_finishDialogOpen() {
|
|
3200
|
+
this._openAnimationDone(20);
|
|
3201
|
+
}
|
|
3202
|
+
_openAnimationDone(totalTime) {
|
|
3203
|
+
if (this._config.delayFocusTrap) {
|
|
3204
|
+
void this._trapFocus();
|
|
3205
|
+
}
|
|
3206
|
+
this._animationStateChanged.next({ state: 'opened', totalTime });
|
|
3246
3207
|
}
|
|
3247
3208
|
}
|
|
3248
3209
|
BaoModalContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoModalContainer, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
3249
|
-
BaoModalContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.1", type: BaoModalContainer, selector: "bao-modal-container", host: { attributes: { "tabindex": "-1", "aria-modal": "true" },
|
|
3210
|
+
BaoModalContainer.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.1", type: BaoModalContainer, selector: "bao-modal-container", host: { attributes: { "tabindex": "-1", "aria-modal": "true" }, properties: { "id": "_id", "attr.role": "_config.role", "attr.aria-labelledby": "_config.ariaLabel ? null : _ariaLabelledBy", "attr.aria-label": "_config.ariaLabel", "attr.aria-describedby": "_config.ariaDescribedBy || null" }, classAttribute: "bao-modal-container" }, usesInheritance: true, ngImport: i0, template: "<ng-template cdkPortalOutlet></ng-template>\n", styles: [".bao-container{padding-right:16px;padding-left:16px;margin-right:auto;margin-left:auto;width:100%}@media (min-width: 576px){.bao-container{max-width:576px}}@media (min-width: 768px){.bao-container{max-width:768px}}@media (min-width: 992px){.bao-container{max-width:992px}}@media (min-width: 1200px){.bao-container{max-width:1200px}}.bao-row{display:flex;flex-wrap:wrap;margin-right:-16px;margin-left:-16px}.bao-col-12,.bao-col-lg-7{position:relative;width:100%;padding-right:1rem;padding-left:1rem}@media (min-width: 992px){.bao-col-lg-7{flex:0 0 58.33333%;max-width:58.33333%}}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex}.cdk-overlay-pane.bao-modal-mobil-full{width:100%;height:100%}.cdk-overlay-pane.bao-modal-mobil-compact{width:300px;height:100%}@media (min-width: 768px){.cdk-overlay-pane{width:500px;height:auto}.cdk-overlay-pane.bao-modal-lg{width:calc(100% - 4rem);height:calc(100% - 4rem)}.cdk-overlay-pane.bao-modal-md,.cdk-overlay-pane.bao-modal-sm{width:500px;height:auto}}@media (min-width: 992px){.cdk-overlay-pane{width:500px;height:auto}.cdk-overlay-pane.bao-modal-lg{width:calc(100% - 4rem);height:calc(100% - 4rem)}.cdk-overlay-pane.bao-modal-md{width:800px;height:auto}.cdk-overlay-pane.bao-modal-sm{width:500px;height:auto}}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.5}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:black}.cdk-overlay-transparent-backdrop,.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:.5}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.bao-modal-container{display:block;overflow:auto;width:100%;height:100%;min-height:inherit;max-height:inherit;background-color:#fff;background-clip:padding-box;border:0 solid rgba(0,0,0,.2);border-radius:.5rem;outline:0}.bao-modal-content{display:flex;flex-direction:column;height:100%}.bao-modal-header{flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #ced4da;border-top-left-radius:.5rem;border-top-right-radius:.5rem}.bao-modal-header .bao-modal-title{font-size:1rem;line-height:1.5rem;margin:1rem 0 1rem 1rem}.bao-modal-header button{margin:.5rem}.bao-modal-body{display:block;padding:1rem;overflow:auto;flex-grow:1}@media (min-width: 768px){.bao-modal-body{padding:2rem}}.bao-modal-footer{display:flex;flex-wrap:wrap;padding:1rem;border-top:1px solid #ced4da;border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.bao-modal-footer.bao-modal-footer-order{justify-content:unset;flex-direction:column-reverse}.bao-modal-footer button{text-align:center}.bao-modal-footer .bao-button-primary,.bao-modal-footer .bao-button-secondary{width:100%;display:block}.bao-modal-footer .bao-button-secondary{margin-bottom:.5rem}.bao-modal-footer .bao-button-tertiary{display:none}@media (min-width: 768px){.bao-modal-footer{justify-content:flex-end}.bao-modal-footer.bao-modal-footer-order{flex-direction:row-reverse}.bao-modal-footer .bao-button-primary{margin-left:1rem}.bao-modal-footer .bao-button-secondary{margin-bottom:0}.bao-modal-footer .bao-button-primary,.bao-modal-footer .bao-button-secondary{width:auto}.bao-modal-footer .bao-button-tertiary{display:block}}\n"], dependencies: [{ kind: "directive", type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
|
|
3250
3211
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoModalContainer, decorators: [{
|
|
3251
3212
|
type: Component,
|
|
3252
|
-
args: [{ selector: 'bao-modal-container', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default,
|
|
3213
|
+
args: [{ selector: 'bao-modal-container', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, host: {
|
|
3253
3214
|
class: 'bao-modal-container',
|
|
3254
3215
|
tabindex: '-1',
|
|
3255
3216
|
'aria-modal': 'true',
|
|
@@ -3257,10 +3218,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
3257
3218
|
'[attr.role]': '_config.role',
|
|
3258
3219
|
'[attr.aria-labelledby]': '_config.ariaLabel ? null : _ariaLabelledBy',
|
|
3259
3220
|
'[attr.aria-label]': '_config.ariaLabel',
|
|
3260
|
-
'[attr.aria-describedby]': '_config.ariaDescribedBy || null'
|
|
3261
|
-
'[@modalContainer]': '_state',
|
|
3262
|
-
'(@modalContainer.start)': '_onAnimationStart($event)',
|
|
3263
|
-
'(@modalContainer.done)': '_onAnimationDone($event)'
|
|
3221
|
+
'[attr.aria-describedby]': '_config.ariaDescribedBy || null'
|
|
3264
3222
|
}, template: "<ng-template cdkPortalOutlet></ng-template>\n", styles: [".bao-container{padding-right:16px;padding-left:16px;margin-right:auto;margin-left:auto;width:100%}@media (min-width: 576px){.bao-container{max-width:576px}}@media (min-width: 768px){.bao-container{max-width:768px}}@media (min-width: 992px){.bao-container{max-width:992px}}@media (min-width: 1200px){.bao-container{max-width:1200px}}.bao-row{display:flex;flex-wrap:wrap;margin-right:-16px;margin-left:-16px}.bao-col-12,.bao-col-lg-7{position:relative;width:100%;padding-right:1rem;padding-left:1rem}@media (min-width: 992px){.bao-col-lg-7{flex:0 0 58.33333%;max-width:58.33333%}}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex}.cdk-overlay-pane.bao-modal-mobil-full{width:100%;height:100%}.cdk-overlay-pane.bao-modal-mobil-compact{width:300px;height:100%}@media (min-width: 768px){.cdk-overlay-pane{width:500px;height:auto}.cdk-overlay-pane.bao-modal-lg{width:calc(100% - 4rem);height:calc(100% - 4rem)}.cdk-overlay-pane.bao-modal-md,.cdk-overlay-pane.bao-modal-sm{width:500px;height:auto}}@media (min-width: 992px){.cdk-overlay-pane{width:500px;height:auto}.cdk-overlay-pane.bao-modal-lg{width:calc(100% - 4rem);height:calc(100% - 4rem)}.cdk-overlay-pane.bao-modal-md{width:800px;height:auto}.cdk-overlay-pane.bao-modal-sm{width:500px;height:auto}}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.5}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:black}.cdk-overlay-transparent-backdrop,.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:.5}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}.bao-modal-container{display:block;overflow:auto;width:100%;height:100%;min-height:inherit;max-height:inherit;background-color:#fff;background-clip:padding-box;border:0 solid rgba(0,0,0,.2);border-radius:.5rem;outline:0}.bao-modal-content{display:flex;flex-direction:column;height:100%}.bao-modal-header{flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #ced4da;border-top-left-radius:.5rem;border-top-right-radius:.5rem}.bao-modal-header .bao-modal-title{font-size:1rem;line-height:1.5rem;margin:1rem 0 1rem 1rem}.bao-modal-header button{margin:.5rem}.bao-modal-body{display:block;padding:1rem;overflow:auto;flex-grow:1}@media (min-width: 768px){.bao-modal-body{padding:2rem}}.bao-modal-footer{display:flex;flex-wrap:wrap;padding:1rem;border-top:1px solid #ced4da;border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.bao-modal-footer.bao-modal-footer-order{justify-content:unset;flex-direction:column-reverse}.bao-modal-footer button{text-align:center}.bao-modal-footer .bao-button-primary,.bao-modal-footer .bao-button-secondary{width:100%;display:block}.bao-modal-footer .bao-button-secondary{margin-bottom:.5rem}.bao-modal-footer .bao-button-tertiary{display:none}@media (min-width: 768px){.bao-modal-footer{justify-content:flex-end}.bao-modal-footer.bao-modal-footer-order{flex-direction:row-reverse}.bao-modal-footer .bao-button-primary{margin-left:1rem}.bao-modal-footer .bao-button-secondary{margin-bottom:0}.bao-modal-footer .bao-button-primary,.bao-modal-footer .bao-button-secondary{width:auto}.bao-modal-footer .bao-button-tertiary{display:block}}\n"] }]
|
|
3265
3223
|
}] });
|
|
3266
3224
|
|
|
@@ -3353,6 +3311,9 @@ class BaoModalRef {
|
|
|
3353
3311
|
this._state = 1 /* CLOSING */;
|
|
3354
3312
|
this._containerInstance._startExitAnimation();
|
|
3355
3313
|
}
|
|
3314
|
+
startOpenAnimation() {
|
|
3315
|
+
this._containerInstance._startOpenAnimation();
|
|
3316
|
+
}
|
|
3356
3317
|
/**
|
|
3357
3318
|
* Gets an observable that is notified when the modal is finished opening.
|
|
3358
3319
|
*/
|
|
@@ -3458,14 +3419,14 @@ function _closeModalVia(ref, interactionType, result) {
|
|
|
3458
3419
|
}
|
|
3459
3420
|
|
|
3460
3421
|
/*
|
|
3461
|
-
* Copyright (c)
|
|
3422
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
3462
3423
|
* Licensed under the MIT license.
|
|
3463
3424
|
* See LICENSE file in the project root for full license information.
|
|
3464
3425
|
*/
|
|
3465
3426
|
/** Injection token that can be used to access the data that was passed in to a modal. */
|
|
3466
3427
|
const BAO_MODAL_DATA = new InjectionToken('BaoModalData');
|
|
3467
3428
|
class BaoModalBase {
|
|
3468
|
-
constructor(_overlay, _injector, _parentModal, _overlayContainer, _modalRefConstructor, _modalContainerType, _modalDataToken
|
|
3429
|
+
constructor(_overlay, _injector, _parentModal, _overlayContainer, _modalRefConstructor, _modalContainerType, _modalDataToken) {
|
|
3469
3430
|
this._overlay = _overlay;
|
|
3470
3431
|
this._injector = _injector;
|
|
3471
3432
|
this._parentModal = _parentModal;
|
|
@@ -3473,7 +3434,6 @@ class BaoModalBase {
|
|
|
3473
3434
|
this._modalRefConstructor = _modalRefConstructor;
|
|
3474
3435
|
this._modalContainerType = _modalContainerType;
|
|
3475
3436
|
this._modalDataToken = _modalDataToken;
|
|
3476
|
-
this._animationMode = _animationMode;
|
|
3477
3437
|
this.afterAllClosed = defer(() => this.openModals.length
|
|
3478
3438
|
? this.getAfterAllClosed()
|
|
3479
3439
|
: this.getAfterAllClosed().pipe(startWith(undefined)));
|
|
@@ -3513,21 +3473,6 @@ class BaoModalBase {
|
|
|
3513
3473
|
}
|
|
3514
3474
|
const overlayRef = this._createOverlay(conf);
|
|
3515
3475
|
const modalContainer = this._attachModalContainer(overlayRef, conf);
|
|
3516
|
-
if (this._animationMode !== 'NoopAnimations') {
|
|
3517
|
-
const animationStateSubscription = modalContainer._animationStateChanged.subscribe(modalAnimationEvent => {
|
|
3518
|
-
if (modalAnimationEvent.state === 'opening') {
|
|
3519
|
-
this._modalAnimatingOpen = true;
|
|
3520
|
-
}
|
|
3521
|
-
if (modalAnimationEvent.state === 'opened') {
|
|
3522
|
-
this._modalAnimatingOpen = false;
|
|
3523
|
-
animationStateSubscription.unsubscribe();
|
|
3524
|
-
}
|
|
3525
|
-
});
|
|
3526
|
-
if (!this._animationStateSubscriptions) {
|
|
3527
|
-
this._animationStateSubscriptions = new Subscription();
|
|
3528
|
-
}
|
|
3529
|
-
this._animationStateSubscriptions.add(animationStateSubscription);
|
|
3530
|
-
}
|
|
3531
3476
|
const modalRef = this._attachModalContent(componentOrTemplateRef, modalContainer, overlayRef, conf);
|
|
3532
3477
|
this._lastModalRef = modalRef;
|
|
3533
3478
|
// If this is the first modal that we're opening, hide all the non-overlay content.
|
|
@@ -3598,6 +3543,7 @@ class BaoModalBase {
|
|
|
3598
3543
|
});
|
|
3599
3544
|
const containerPortal = new ComponentPortal(this._modalContainerType, config.viewContainerRef, injector);
|
|
3600
3545
|
const containerRef = overlay.attach(containerPortal);
|
|
3546
|
+
containerRef.instance._startOpenAnimation();
|
|
3601
3547
|
return containerRef.instance;
|
|
3602
3548
|
}
|
|
3603
3549
|
/**
|
|
@@ -3715,16 +3661,16 @@ BaoModalBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "1
|
|
|
3715
3661
|
BaoModalBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.1", type: BaoModalBase, ngImport: i0 });
|
|
3716
3662
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoModalBase, decorators: [{
|
|
3717
3663
|
type: Directive
|
|
3718
|
-
}], ctorParameters: function () { return [{ type: i1$4.Overlay }, { type: i0.Injector }, { type: undefined }, { type: i1$4.OverlayContainer }, { type: i0.Type }, { type: i0.Type }, { type: i0.InjectionToken }
|
|
3664
|
+
}], ctorParameters: function () { return [{ type: i1$4.Overlay }, { type: i0.Injector }, { type: undefined }, { type: i1$4.OverlayContainer }, { type: i0.Type }, { type: i0.Type }, { type: i0.InjectionToken }]; } });
|
|
3719
3665
|
/**
|
|
3720
3666
|
* Service to open modal.
|
|
3721
3667
|
*/
|
|
3722
3668
|
class BaoModal extends BaoModalBase {
|
|
3723
|
-
constructor(overlay, injector, parentModal, overlayContainer
|
|
3724
|
-
super(overlay, injector, parentModal, overlayContainer, BaoModalRef, BaoModalContainer, BAO_MODAL_DATA
|
|
3669
|
+
constructor(overlay, injector, parentModal, overlayContainer) {
|
|
3670
|
+
super(overlay, injector, parentModal, overlayContainer, BaoModalRef, BaoModalContainer, BAO_MODAL_DATA);
|
|
3725
3671
|
}
|
|
3726
3672
|
}
|
|
3727
|
-
BaoModal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoModal, deps: [{ token: i1$4.Overlay }, { token: i0.Injector }, { token: BaoModal, optional: true, skipSelf: true }, { token: i1$4.OverlayContainer }
|
|
3673
|
+
BaoModal.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoModal, deps: [{ token: i1$4.Overlay }, { token: i0.Injector }, { token: BaoModal, optional: true, skipSelf: true }, { token: i1$4.OverlayContainer }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3728
3674
|
BaoModal.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoModal });
|
|
3729
3675
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoModal, decorators: [{
|
|
3730
3676
|
type: Injectable
|
|
@@ -3732,15 +3678,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
3732
3678
|
type: Optional
|
|
3733
3679
|
}, {
|
|
3734
3680
|
type: SkipSelf
|
|
3735
|
-
}] }, { type: i1$4.OverlayContainer }
|
|
3736
|
-
type: Optional
|
|
3737
|
-
}, {
|
|
3738
|
-
type: Inject,
|
|
3739
|
-
args: [ANIMATION_MODULE_TYPE]
|
|
3740
|
-
}] }]; } });
|
|
3681
|
+
}] }, { type: i1$4.OverlayContainer }]; } });
|
|
3741
3682
|
|
|
3742
3683
|
/*
|
|
3743
|
-
* Copyright (c)
|
|
3684
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
3744
3685
|
* Licensed under the MIT license.
|
|
3745
3686
|
* See LICENSE file in the project root for full license information.
|
|
3746
3687
|
*/
|
|
@@ -3819,7 +3760,7 @@ function getClosestDialog(element, openDialogs) {
|
|
|
3819
3760
|
}
|
|
3820
3761
|
|
|
3821
3762
|
/*
|
|
3822
|
-
* Copyright (c)
|
|
3763
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
3823
3764
|
* Licensed under the MIT license.
|
|
3824
3765
|
* See LICENSE file in the project root for full license information.
|
|
3825
3766
|
*/
|
|
@@ -3827,26 +3768,12 @@ const MODAL_DIRECTIVES = [BaoModalContainer, BaoModalClose];
|
|
|
3827
3768
|
class BaoModalModule {
|
|
3828
3769
|
}
|
|
3829
3770
|
BaoModalModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
3830
|
-
BaoModalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.1", ngImport: i0, type: BaoModalModule, declarations: [BaoModalContainer, BaoModalClose], imports: [CommonModule,
|
|
3831
|
-
|
|
3832
|
-
PortalModule,
|
|
3833
|
-
BrowserAnimationsModule,
|
|
3834
|
-
NoopAnimationsModule], exports: [BaoModalContainer, BaoModalClose] });
|
|
3835
|
-
BaoModalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoModalModule, providers: [BaoModal], imports: [CommonModule,
|
|
3836
|
-
OverlayModule,
|
|
3837
|
-
PortalModule,
|
|
3838
|
-
BrowserAnimationsModule,
|
|
3839
|
-
NoopAnimationsModule] });
|
|
3771
|
+
BaoModalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.1", ngImport: i0, type: BaoModalModule, declarations: [BaoModalContainer, BaoModalClose], imports: [CommonModule, OverlayModule, PortalModule], exports: [BaoModalContainer, BaoModalClose] });
|
|
3772
|
+
BaoModalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoModalModule, providers: [BaoModal], imports: [CommonModule, OverlayModule, PortalModule] });
|
|
3840
3773
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoModalModule, decorators: [{
|
|
3841
3774
|
type: NgModule,
|
|
3842
3775
|
args: [{
|
|
3843
|
-
imports: [
|
|
3844
|
-
CommonModule,
|
|
3845
|
-
OverlayModule,
|
|
3846
|
-
PortalModule,
|
|
3847
|
-
BrowserAnimationsModule,
|
|
3848
|
-
NoopAnimationsModule
|
|
3849
|
-
],
|
|
3776
|
+
imports: [CommonModule, OverlayModule, PortalModule],
|
|
3850
3777
|
declarations: MODAL_DIRECTIVES,
|
|
3851
3778
|
exports: MODAL_DIRECTIVES,
|
|
3852
3779
|
providers: [BaoModal]
|
|
@@ -3854,7 +3781,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
3854
3781
|
}] });
|
|
3855
3782
|
|
|
3856
3783
|
/*
|
|
3857
|
-
* Copyright (c)
|
|
3784
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
3858
3785
|
* Licensed under the MIT license.
|
|
3859
3786
|
* See LICENSE file in the project root for full license information.
|
|
3860
3787
|
*/
|
|
@@ -3927,7 +3854,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
3927
3854
|
}] } });
|
|
3928
3855
|
|
|
3929
3856
|
/*
|
|
3930
|
-
* Copyright (c)
|
|
3857
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
3931
3858
|
* Licensed under the MIT license.
|
|
3932
3859
|
* See LICENSE file in the project root for full license information.
|
|
3933
3860
|
*/
|
|
@@ -3947,13 +3874,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
3947
3874
|
}] });
|
|
3948
3875
|
|
|
3949
3876
|
/*
|
|
3950
|
-
* Copyright (c)
|
|
3877
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
3951
3878
|
* Licensed under the MIT license.
|
|
3952
3879
|
* See LICENSE file in the project root for full license information.
|
|
3953
3880
|
*/
|
|
3954
3881
|
|
|
3955
3882
|
/*
|
|
3956
|
-
* Copyright (c)
|
|
3883
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
3957
3884
|
* Licensed under the MIT license.
|
|
3958
3885
|
* See LICENSE file in the project root for full license information.
|
|
3959
3886
|
*/
|
|
@@ -4351,6 +4278,13 @@ class BaoDropdownMenuTrigger {
|
|
|
4351
4278
|
originY: 'top',
|
|
4352
4279
|
overlayX: 'start',
|
|
4353
4280
|
overlayY: 'bottom'
|
|
4281
|
+
},
|
|
4282
|
+
{
|
|
4283
|
+
// top-right of the overlay is connected to bottom-left of the origin;
|
|
4284
|
+
originX: 'start',
|
|
4285
|
+
originY: 'bottom',
|
|
4286
|
+
overlayX: 'end',
|
|
4287
|
+
overlayY: 'top'
|
|
4354
4288
|
}
|
|
4355
4289
|
]),
|
|
4356
4290
|
backdropClass: 'bao-overlay-transparent-backdrop',
|
|
@@ -4470,7 +4404,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
4470
4404
|
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; } });
|
|
4471
4405
|
|
|
4472
4406
|
/*
|
|
4473
|
-
* Copyright (c)
|
|
4407
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
4474
4408
|
* Licensed under the MIT license.
|
|
4475
4409
|
* See LICENSE file in the project root for full license information.
|
|
4476
4410
|
*/
|
|
@@ -4510,13 +4444,512 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
4510
4444
|
}] });
|
|
4511
4445
|
|
|
4512
4446
|
/*
|
|
4513
|
-
* Copyright (c)
|
|
4447
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
4448
|
+
* Licensed under the MIT license.
|
|
4449
|
+
* See LICENSE file in the project root for full license information.
|
|
4450
|
+
*/
|
|
4451
|
+
|
|
4452
|
+
/*
|
|
4453
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
4454
|
+
* Licensed under the MIT license.
|
|
4455
|
+
* See LICENSE file in the project root for full license information.
|
|
4456
|
+
*/
|
|
4457
|
+
const KILO_THRESHOLD = 1000;
|
|
4458
|
+
const MEGA_THRESHOLD = 1000000;
|
|
4459
|
+
class BaoFilePreviewComponent {
|
|
4460
|
+
constructor(elementRef, renderer) {
|
|
4461
|
+
this.elementRef = elementRef;
|
|
4462
|
+
this.renderer = renderer;
|
|
4463
|
+
/**
|
|
4464
|
+
* Is file loading
|
|
4465
|
+
*/
|
|
4466
|
+
this.isLoading = false;
|
|
4467
|
+
/**
|
|
4468
|
+
* True if projected content has no icon and file does not have a thumbnail.
|
|
4469
|
+
*/
|
|
4470
|
+
this.insertGenericIcon = false;
|
|
4471
|
+
this.thumbnailURL = '';
|
|
4472
|
+
}
|
|
4473
|
+
get nativeElement() {
|
|
4474
|
+
return this.elementRef.nativeElement;
|
|
4475
|
+
}
|
|
4476
|
+
get fileSize() {
|
|
4477
|
+
return this.formatSize(this.file.size);
|
|
4478
|
+
}
|
|
4479
|
+
ngAfterContentInit() {
|
|
4480
|
+
this.getThumbnail();
|
|
4481
|
+
this.setIcon();
|
|
4482
|
+
}
|
|
4483
|
+
setIcon() {
|
|
4484
|
+
// If no icon is in the projected content, generic icon is added
|
|
4485
|
+
const contentIcon = Array.from(this.nativeElement.children.item(0).children).find((el) => el.localName === 'bao-icon');
|
|
4486
|
+
if (!contentIcon) {
|
|
4487
|
+
this.insertGenericIcon = true;
|
|
4488
|
+
}
|
|
4489
|
+
else {
|
|
4490
|
+
this.renderer.addClass(contentIcon, 'bao-file-media');
|
|
4491
|
+
}
|
|
4492
|
+
}
|
|
4493
|
+
getThumbnail() {
|
|
4494
|
+
if (this.file &&
|
|
4495
|
+
(this.file.type === 'image/png' || this.file.type === 'image/jpeg')) {
|
|
4496
|
+
const reader = new FileReader();
|
|
4497
|
+
reader.onload = (event) => {
|
|
4498
|
+
this.thumbnailURL = event.target.result;
|
|
4499
|
+
};
|
|
4500
|
+
reader.onerror = () => {
|
|
4501
|
+
this.thumbnailURL = '';
|
|
4502
|
+
};
|
|
4503
|
+
reader.readAsDataURL(this.file);
|
|
4504
|
+
}
|
|
4505
|
+
}
|
|
4506
|
+
formatSize(size) {
|
|
4507
|
+
if (size >= KILO_THRESHOLD && size / KILO_THRESHOLD < KILO_THRESHOLD) {
|
|
4508
|
+
return this.getSizeAndUnit(size, KILO_THRESHOLD, 'Ko');
|
|
4509
|
+
}
|
|
4510
|
+
const sizeDividedByKoMultiplicator = size / KILO_THRESHOLD;
|
|
4511
|
+
if (sizeDividedByKoMultiplicator >= KILO_THRESHOLD) {
|
|
4512
|
+
const toFixed = sizeDividedByKoMultiplicator > 10 ? 0 : 1;
|
|
4513
|
+
return this.getSizeAndUnit(size, MEGA_THRESHOLD, 'Mo', toFixed);
|
|
4514
|
+
}
|
|
4515
|
+
return `${size} octets`;
|
|
4516
|
+
}
|
|
4517
|
+
getSizeAndUnit(size, multiplicator, unit, toFixed = 0) {
|
|
4518
|
+
return `${(size / multiplicator).toFixed(toFixed)} ${unit}`;
|
|
4519
|
+
}
|
|
4520
|
+
}
|
|
4521
|
+
BaoFilePreviewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoFilePreviewComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
4522
|
+
BaoFilePreviewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.1", type: BaoFilePreviewComponent, selector: "bao-file-preview, [bao-file-preview]", inputs: { file: "file", isLoading: "isLoading" }, host: { classAttribute: "bao-file-preview" }, ngImport: i0, template: "<div class=\"bao-file-info\">\n <ng-content select=\"bao-icon\"></ng-content>\n <bao-icon\n *ngIf=\"insertGenericIcon && !thumbnailURL\"\n class=\"bao-file-media\"\n svgIcon=\"icon-file\"\n >\n </bao-icon>\n <ng-container *ngIf=\"thumbnailURL && !isLoading\">\n <img\n class=\"bao-file-media\"\n [src]=\"thumbnailURL\"\n width=\"40px\"\n height=\"40px\"\n />\n </ng-container>\n <div class=\"bao-file-text\">\n <div class=\"bao-file-name\">{{ file.name }}</div>\n <div class=\"bao-file-size\">{{ fileSize }}</div>\n </div>\n</div>\n<ng-container *ngIf=\"!isLoading\">\n <ng-content select=\"button[bao-button]\"></ng-content>\n <ng-content select=\"baoDropdownTriggerFor\"></ng-content>\n</ng-container>\n<bao-icon\n *ngIf=\"isLoading\"\n class=\"loading-spinner\"\n svgIcon=\"icon-spinner\"\n title=\"chargement\"\n></bao-icon>\n", styles: [".bao-file-preview{display:flex;align-items:center;justify-content:space-between;padding-top:.625rem;padding-bottom:.625rem;list-style-type:none}.bao-file-preview>.bao-file-info{display:flex;align-items:center}.bao-file-preview>.bao-file-info>.bao-icon{color:#adb2bd;flex-shrink:0}.bao-file-preview>.bao-file-info>.bao-file-media{margin-right:1rem}.bao-file-preview>.bao-file-info>.bao-file-text{display:inline-flex;flex-direction:column;margin-right:1rem}.bao-file-preview>.bao-file-info>.bao-file-text>.bao-file-name{overflow:hidden;font-weight:700;font-size:.875rem;line-height:1.25rem;color:#212529}.bao-file-preview>.bao-file-info>.bao-file-text>.bao-file-size{font-weight:400;font-size:.75rem;line-height:1rem;color:#637381}.bao-file-preview .loading-spinner{color:#097d6c}.bao-file-preview .bao-dropdown-menu-container{position:absolute;margin-left:auto}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: BaoIconComponent, selector: "bao-icon", inputs: ["color", "size", "svgIcon", "title"], exportAs: ["baoIcon"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
4523
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoFilePreviewComponent, decorators: [{
|
|
4524
|
+
type: Component,
|
|
4525
|
+
args: [{ selector: 'bao-file-preview, [bao-file-preview]', encapsulation: ViewEncapsulation.None, host: {
|
|
4526
|
+
class: 'bao-file-preview'
|
|
4527
|
+
}, template: "<div class=\"bao-file-info\">\n <ng-content select=\"bao-icon\"></ng-content>\n <bao-icon\n *ngIf=\"insertGenericIcon && !thumbnailURL\"\n class=\"bao-file-media\"\n svgIcon=\"icon-file\"\n >\n </bao-icon>\n <ng-container *ngIf=\"thumbnailURL && !isLoading\">\n <img\n class=\"bao-file-media\"\n [src]=\"thumbnailURL\"\n width=\"40px\"\n height=\"40px\"\n />\n </ng-container>\n <div class=\"bao-file-text\">\n <div class=\"bao-file-name\">{{ file.name }}</div>\n <div class=\"bao-file-size\">{{ fileSize }}</div>\n </div>\n</div>\n<ng-container *ngIf=\"!isLoading\">\n <ng-content select=\"button[bao-button]\"></ng-content>\n <ng-content select=\"baoDropdownTriggerFor\"></ng-content>\n</ng-container>\n<bao-icon\n *ngIf=\"isLoading\"\n class=\"loading-spinner\"\n svgIcon=\"icon-spinner\"\n title=\"chargement\"\n></bao-icon>\n", styles: [".bao-file-preview{display:flex;align-items:center;justify-content:space-between;padding-top:.625rem;padding-bottom:.625rem;list-style-type:none}.bao-file-preview>.bao-file-info{display:flex;align-items:center}.bao-file-preview>.bao-file-info>.bao-icon{color:#adb2bd;flex-shrink:0}.bao-file-preview>.bao-file-info>.bao-file-media{margin-right:1rem}.bao-file-preview>.bao-file-info>.bao-file-text{display:inline-flex;flex-direction:column;margin-right:1rem}.bao-file-preview>.bao-file-info>.bao-file-text>.bao-file-name{overflow:hidden;font-weight:700;font-size:.875rem;line-height:1.25rem;color:#212529}.bao-file-preview>.bao-file-info>.bao-file-text>.bao-file-size{font-weight:400;font-size:.75rem;line-height:1rem;color:#637381}.bao-file-preview .loading-spinner{color:#097d6c}.bao-file-preview .bao-dropdown-menu-container{position:absolute;margin-left:auto}\n"] }]
|
|
4528
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { file: [{
|
|
4529
|
+
type: Input
|
|
4530
|
+
}], isLoading: [{
|
|
4531
|
+
type: Input
|
|
4532
|
+
}] } });
|
|
4533
|
+
|
|
4534
|
+
/*
|
|
4535
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
4514
4536
|
* Licensed under the MIT license.
|
|
4515
4537
|
* See LICENSE file in the project root for full license information.
|
|
4516
4538
|
*/
|
|
4539
|
+
/**
|
|
4540
|
+
* To modify the labels and text displayed, create a new instance of BaoFileIntl and
|
|
4541
|
+
* include it in a custom provider
|
|
4542
|
+
*/
|
|
4543
|
+
class BaoFileIntl {
|
|
4544
|
+
constructor() {
|
|
4545
|
+
/**
|
|
4546
|
+
* Stream to emit from when labels are changed. Use this to notify components when the labels have
|
|
4547
|
+
* changed after initialization.
|
|
4548
|
+
*/
|
|
4549
|
+
this.changes = new Subject();
|
|
4550
|
+
/** The label for button in dropzone */
|
|
4551
|
+
this.dropzoneButtonLabel = 'Parcourir';
|
|
4552
|
+
/** The default dropzone instructions */
|
|
4553
|
+
this.defaultDropzoneInstructions = 'ou déposer votre fichier ici';
|
|
4554
|
+
/** Error message displayed when uploaded file is too large */
|
|
4555
|
+
this.fileTooBigErrorMessage = 'La taille de ce fichier est trop grande';
|
|
4556
|
+
/** Error message displayed when uploaded file has an invalid type */
|
|
4557
|
+
this.invalidFileTypeErrorMessage = "Ce format de fichier n'est pas autorisé";
|
|
4558
|
+
}
|
|
4559
|
+
}
|
|
4560
|
+
BaoFileIntl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoFileIntl, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4561
|
+
BaoFileIntl.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoFileIntl, providedIn: 'root' });
|
|
4562
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoFileIntl, decorators: [{
|
|
4563
|
+
type: Injectable,
|
|
4564
|
+
args: [{ providedIn: 'root' }]
|
|
4565
|
+
}] });
|
|
4566
|
+
class BaoFileIntlEnglish extends BaoFileIntl {
|
|
4567
|
+
constructor() {
|
|
4568
|
+
super(...arguments);
|
|
4569
|
+
/** The label for button in dropzone */
|
|
4570
|
+
this.dropzoneButtonLabel = 'Browse';
|
|
4571
|
+
/** The default dropzone instructions */
|
|
4572
|
+
this.defaultDropzoneInstructions = 'or drop your file here';
|
|
4573
|
+
/** Error message displayed when uploaded file is too large */
|
|
4574
|
+
this.fileTooBigErrorMessage = 'The size of this file is too large';
|
|
4575
|
+
/** Error message displayed when uploaded file has an invalid type */
|
|
4576
|
+
this.invalidFileTypeErrorMessage = 'The format of this file is unauthorized';
|
|
4577
|
+
}
|
|
4578
|
+
}
|
|
4579
|
+
BaoFileIntlEnglish.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoFileIntlEnglish, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
4580
|
+
BaoFileIntlEnglish.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoFileIntlEnglish });
|
|
4581
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoFileIntlEnglish, decorators: [{
|
|
4582
|
+
type: Injectable
|
|
4583
|
+
}] });
|
|
4584
|
+
/** @docs-private */
|
|
4585
|
+
function BAO_FILE_INTL_PROVIDER_FACTORY(parentIntl) {
|
|
4586
|
+
return parentIntl || new BaoFileIntl();
|
|
4587
|
+
}
|
|
4588
|
+
/** @docs-private */
|
|
4589
|
+
const BAO_FILE_INTL_PROVIDER = {
|
|
4590
|
+
// If there is already an BaoFileIntl available, use that. Otherwise, provide a new one.
|
|
4591
|
+
provide: BaoFileIntl,
|
|
4592
|
+
deps: [[new Optional(), new SkipSelf(), BaoFileIntl]],
|
|
4593
|
+
useFactory: BAO_FILE_INTL_PROVIDER_FACTORY
|
|
4594
|
+
};
|
|
4517
4595
|
|
|
4518
4596
|
/*
|
|
4519
|
-
* Copyright (c)
|
|
4597
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
4598
|
+
* Licensed under the MIT license.
|
|
4599
|
+
* See LICENSE file in the project root for full license information.
|
|
4600
|
+
*/
|
|
4601
|
+
/**
|
|
4602
|
+
* Unique number to generate a unique ID
|
|
4603
|
+
*/
|
|
4604
|
+
let fileInputUniqueId = 0;
|
|
4605
|
+
let fileTextUniqueId = 0;
|
|
4606
|
+
class BaoFileInputComponent {
|
|
4607
|
+
constructor(intl, elementRef, renderer, cdr) {
|
|
4608
|
+
this.intl = intl;
|
|
4609
|
+
this.elementRef = elementRef;
|
|
4610
|
+
this.renderer = renderer;
|
|
4611
|
+
this.cdr = cdr;
|
|
4612
|
+
/**
|
|
4613
|
+
* Size of the file input label
|
|
4614
|
+
*/
|
|
4615
|
+
this.size = 'medium';
|
|
4616
|
+
/**
|
|
4617
|
+
* Maximum size accepted for uploaded files
|
|
4618
|
+
*/
|
|
4619
|
+
this.maximalFileSize = -1;
|
|
4620
|
+
/**
|
|
4621
|
+
* Accepted types of files
|
|
4622
|
+
*/
|
|
4623
|
+
this.acceptedMIMETypes = [];
|
|
4624
|
+
/**
|
|
4625
|
+
* Is field required
|
|
4626
|
+
*/
|
|
4627
|
+
this.required = false;
|
|
4628
|
+
/**
|
|
4629
|
+
* Is field disabled
|
|
4630
|
+
*/
|
|
4631
|
+
this.disabled = false;
|
|
4632
|
+
/**
|
|
4633
|
+
* File selected to be uploaded
|
|
4634
|
+
*/
|
|
4635
|
+
this.uploadedFile = new EventEmitter();
|
|
4636
|
+
this.insertDefaultInstructions = false;
|
|
4637
|
+
this.isFileTooBig = false;
|
|
4638
|
+
this.isFileTypeInvalid = false;
|
|
4639
|
+
/**
|
|
4640
|
+
* Saves the registerOnChange function so the component can call it whenever it wants.
|
|
4641
|
+
*/
|
|
4642
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function, @typescript-eslint/no-unused-vars
|
|
4643
|
+
this.propagateChange = (_) => { };
|
|
4644
|
+
/**
|
|
4645
|
+
* Saves the registerOnTouched function so the component can call it whenever it wants.
|
|
4646
|
+
*/
|
|
4647
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
4648
|
+
this.propagateTouched = () => { };
|
|
4649
|
+
this._intlChanges = intl.changes.subscribe(() => this.cdr.markForCheck());
|
|
4650
|
+
}
|
|
4651
|
+
get nativeElement() {
|
|
4652
|
+
return this.elementRef.nativeElement;
|
|
4653
|
+
}
|
|
4654
|
+
enterKeyEvent() {
|
|
4655
|
+
if (document.activeElement.id === this.inputId) {
|
|
4656
|
+
document.getElementById(this.inputId).click();
|
|
4657
|
+
}
|
|
4658
|
+
}
|
|
4659
|
+
tabKeyEvent() {
|
|
4660
|
+
if (document.activeElement.id === this.inputId) {
|
|
4661
|
+
this.renderer.addClass(this.dropzoneElement.nativeElement, 'dropzone-focus');
|
|
4662
|
+
}
|
|
4663
|
+
}
|
|
4664
|
+
shiftTabKeyEvent() {
|
|
4665
|
+
if (document.activeElement.id === this.inputId) {
|
|
4666
|
+
this.renderer.addClass(this.dropzoneElement.nativeElement, 'dropzone-focus');
|
|
4667
|
+
}
|
|
4668
|
+
}
|
|
4669
|
+
ngAfterContentInit() {
|
|
4670
|
+
this._errorForm.changes.subscribe(() => this.setErrorTextsAttribute());
|
|
4671
|
+
if (!this.inputId) {
|
|
4672
|
+
this.inputId = `file-input-${fileInputUniqueId++}`;
|
|
4673
|
+
}
|
|
4674
|
+
// If no content was added for dropzone instructions, add default text.
|
|
4675
|
+
const dropzoneElement = Array.from(this.nativeElement.children).find((el) => el.className === 'file-drop-zone');
|
|
4676
|
+
if (!Array.from(dropzoneElement.children).find(el => el.localName === 'bao-file-dropzone-instructions')) {
|
|
4677
|
+
this.insertDefaultInstructions = true;
|
|
4678
|
+
}
|
|
4679
|
+
this.setDescribedByAttribute();
|
|
4680
|
+
this._files.changes.subscribe((files) => {
|
|
4681
|
+
const filesList = files.map((el) => el.file);
|
|
4682
|
+
this.setValue(filesList);
|
|
4683
|
+
});
|
|
4684
|
+
}
|
|
4685
|
+
ngAfterViewInit() {
|
|
4686
|
+
this._errorTexts.changes.subscribe(() => this.setErrorTextsAttribute());
|
|
4687
|
+
}
|
|
4688
|
+
ngOnDestroy() {
|
|
4689
|
+
this._intlChanges.unsubscribe();
|
|
4690
|
+
}
|
|
4691
|
+
/**
|
|
4692
|
+
* Implements ControlValueAccessor interface
|
|
4693
|
+
*/
|
|
4694
|
+
writeValue(obj) {
|
|
4695
|
+
this._value = obj;
|
|
4696
|
+
}
|
|
4697
|
+
/**
|
|
4698
|
+
* Implements ControlValueAccessor interface
|
|
4699
|
+
*/
|
|
4700
|
+
registerOnChange(fn) {
|
|
4701
|
+
this.propagateChange = fn;
|
|
4702
|
+
}
|
|
4703
|
+
/**
|
|
4704
|
+
* Implements ControlValueAccessor interface
|
|
4705
|
+
*/
|
|
4706
|
+
registerOnTouched(fn) {
|
|
4707
|
+
this.propagateTouched = fn;
|
|
4708
|
+
}
|
|
4709
|
+
/**
|
|
4710
|
+
* Implements ControlValueAccessor interface
|
|
4711
|
+
*/
|
|
4712
|
+
setDisabledState(isDisabled) {
|
|
4713
|
+
this.disabled = isDisabled;
|
|
4714
|
+
}
|
|
4715
|
+
uploadFile(file) {
|
|
4716
|
+
if (!this.disabled) {
|
|
4717
|
+
this.isFileTypeInvalid = false;
|
|
4718
|
+
this.isFileTooBig = false;
|
|
4719
|
+
this.uploader.nativeElement.value = '';
|
|
4720
|
+
if (this.maximalFileSize > 0 && file.size > this.maximalFileSize) {
|
|
4721
|
+
this.isFileTooBig = true;
|
|
4722
|
+
}
|
|
4723
|
+
if (this.acceptedMIMETypes.length > 0 &&
|
|
4724
|
+
this.acceptedMIMETypes.indexOf(file.type) < 0) {
|
|
4725
|
+
this.isFileTypeInvalid = true;
|
|
4726
|
+
}
|
|
4727
|
+
if (!this.isFileTooBig && !this.isFileTypeInvalid) {
|
|
4728
|
+
this.uploadedFile.emit(file);
|
|
4729
|
+
}
|
|
4730
|
+
}
|
|
4731
|
+
}
|
|
4732
|
+
setValue(value) {
|
|
4733
|
+
this._value = value;
|
|
4734
|
+
this.propagateChange(this._value);
|
|
4735
|
+
this.propagateTouched();
|
|
4736
|
+
}
|
|
4737
|
+
setDescribedByAttribute() {
|
|
4738
|
+
const helperText = Array.from(this.nativeElement.children).find((el) => el.localName === 'bao-guiding-text');
|
|
4739
|
+
if (helperText) {
|
|
4740
|
+
this._helperTextId = `bao-guiding-text-${fileTextUniqueId++}`;
|
|
4741
|
+
this.renderer.setAttribute(helperText.firstElementChild, 'id', this._helperTextId);
|
|
4742
|
+
const inputElement = Array.from(this.nativeElement.children)
|
|
4743
|
+
.find((el) => el.className == 'file-drop-zone')
|
|
4744
|
+
.children.item(1);
|
|
4745
|
+
this.renderer.setAttribute(inputElement, 'aria-describedby', this._helperTextId);
|
|
4746
|
+
}
|
|
4747
|
+
}
|
|
4748
|
+
setErrorTextsAttribute() {
|
|
4749
|
+
const textsIds = [];
|
|
4750
|
+
const errors = Array.from(this.nativeElement.children).filter((el) => el.localName == 'bao-error');
|
|
4751
|
+
errors.forEach((errorText) => {
|
|
4752
|
+
const errorTextId = `bao-error-${fileTextUniqueId++}`;
|
|
4753
|
+
this.renderer.setAttribute(errorText.firstElementChild, 'id', errorTextId);
|
|
4754
|
+
textsIds.push(errorTextId);
|
|
4755
|
+
});
|
|
4756
|
+
const inputElement = Array.from(this.nativeElement.children)
|
|
4757
|
+
.find((el) => el.classList.contains('file-drop-zone'))
|
|
4758
|
+
.children.item(1);
|
|
4759
|
+
if (this._helperTextId) {
|
|
4760
|
+
textsIds.unshift(this._helperTextId);
|
|
4761
|
+
}
|
|
4762
|
+
this.renderer.setAttribute(inputElement, 'aria-describedby', textsIds.join(' '));
|
|
4763
|
+
}
|
|
4764
|
+
}
|
|
4765
|
+
BaoFileInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoFileInputComponent, deps: [{ token: BaoFileIntl }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
4766
|
+
BaoFileInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.1", type: BaoFileInputComponent, selector: "bao-file-input, [bao-file-input]", inputs: { inputId: ["id", "inputId"], label: "label", size: "size", maximalFileSize: "maximalFileSize", acceptedMIMETypes: "acceptedMIMETypes", required: "required", disabled: "disabled" }, outputs: { uploadedFile: "uploadedFile" }, host: { listeners: { "window:keyup.enter": "enterKeyEvent()", "window:keyup.tab": "tabKeyEvent()", "window:keyup.shift.tab": "shiftTabKeyEvent()" }, properties: { "class.bao-file-label-small": "size === \"small\"", "class.bao-file-label-medium": "size === \"medium\"", "class.bao-file-input-disabled": "disabled" }, classAttribute: "bao-file-input" }, providers: [
|
|
4767
|
+
{
|
|
4768
|
+
provide: NG_VALUE_ACCESSOR,
|
|
4769
|
+
// tslint:disable-next-line:no-forward-ref
|
|
4770
|
+
useExisting: forwardRef(() => BaoFileInputComponent),
|
|
4771
|
+
multi: true
|
|
4772
|
+
}
|
|
4773
|
+
], queries: [{ propertyName: "_files", predicate: BaoFilePreviewComponent, descendants: true }, { propertyName: "_errorForm", predicate: BaoErrorTextComponent, descendants: true }], viewQueries: [{ propertyName: "uploader", first: true, predicate: ["uploader"], descendants: true }, { propertyName: "dropzoneElement", first: true, predicate: ["dropzone"], descendants: true }, { propertyName: "_errorTexts", predicate: BaoErrorTextComponent, descendants: true }], ngImport: i0, template: "<label bao-label [required]=\"required\" [for]=\"inputId\">{{ label }}</label>\n<ng-content select=\"bao-guiding-text\"></ng-content>\n<div\n baoFileDrop\n class=\"file-drop-zone\"\n (fileDrop)=\"uploadFile($event)\"\n #dropzone\n>\n <button\n bao-button\n type=\"button\"\n displayType=\"utility\"\n level=\"secondary\"\n [disabled]=\"disabled\"\n (click)=\"uploader.click()\"\n aria-hidden=\"true\"\n tabIndex=\"-1\"\n >\n {{ intl.dropzoneButtonLabel }}\n </button>\n <input\n [id]=\"inputId\"\n type=\"file\"\n class=\"sr-only\"\n [disabled]=\"disabled\"\n (change)=\"uploadFile($event.target.files[0])\"\n #uploader\n />\n <ng-container\n ><div #ref>\n <ng-content select=\"bao-file-dropzone-instructions\"></ng-content></div\n ></ng-container>\n <ng-container *ngIf=\"ref.childNodes.length === 0\"\n ><bao-file-dropzone-instructions>{{\n intl.defaultDropzoneInstructions\n }}</bao-file-dropzone-instructions></ng-container\n >\n</div>\n<bao-error *ngIf=\"isFileTooBig\">\n {{ intl.fileTooBigErrorMessage }}\n</bao-error>\n<bao-error *ngIf=\"isFileTypeInvalid\">\n {{ intl.invalidFileTypeErrorMessage }}\n</bao-error>\n<ng-content select=\"bao-error\"></ng-content>\n<ng-content></ng-content>\n", styles: ["bao-file-input{width:100%;display:inline-flex;flex-direction:column}bao-file-input>ul{padding:0;margin:0}bao-file-input .bao-label>span{font-size:inherit;font-weight:inherit}bao-file-input.bao-file-label-small label{font-weight:700;font-size:.875rem;line-height:1.25rem}bao-file-input.bao-file-label-medium label{font-weight:700;font-size:1rem;line-height:1.5rem}bao-file-input .bao-guiding-text{margin-bottom:.5rem}bao-file-input .file-drop-zone{padding:.5rem;background-color:#fff;border-radius:.25rem;border-style:dashed;border-color:#ced4da;border-width:1px;display:inline-flex;align-items:center}bao-file-input .file-drop-zone:focus-within.dropzone-focus{box-shadow:0 0 0 .1875rem #98bcde;background-color:#eefaf8}bao-file-input .file-drop-zone>.bao-button{margin-right:.5rem}bao-file-input .file-drop-zone.drag-over{background-color:#eefaf8;border-color:#097d6c;cursor:drag}bao-file-input .file-drop-zone.drag-over>.bao-button{background-color:#eefaf8}bao-file-input.bao-file-input-disabled .file-drop-zone{background-color:#f8f9fa;border-color:#ced4da}bao-file-input.bao-file-input-disabled .file-drop-zone .bao-button{background-color:#f8f9fa}bao-file-input.bao-file-input-disabled .file-drop-zone .bao-button:hover{background-color:#f8f9fa}bao-file-input .bao-file-preview:first-child{margin-top:1rem}bao-file-input .bao-error{margin-top:.5rem}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i1$1.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i0.forwardRef(function () { return BaoErrorTextComponent; }), selector: "bao-error, [bao-error]" }, { kind: "component", type: i0.forwardRef(function () { return BaoLabelTextComponent; }), selector: "bao-label, [bao-label]", inputs: ["required"] }, { kind: "component", type: i0.forwardRef(function () { return BaoButtonComponent; }), selector: "button[bao-button]", inputs: ["displayType", "level", "size", "loading", "reversed", "loadingSpinnerAriaLabel", "fullWidth"] }, { kind: "directive", type: i0.forwardRef(function () { return BaoFileDropzoneIntructions; }), selector: "bao-file-dropzone-instructions, [bao-file-dropzone-instructions]" }, { kind: "directive", type: i0.forwardRef(function () { return BaoFileDropDirective; }), selector: "[baoFileDrop]", outputs: ["fileDrop"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
4774
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoFileInputComponent, decorators: [{
|
|
4775
|
+
type: Component,
|
|
4776
|
+
args: [{ selector: 'bao-file-input, [bao-file-input]', providers: [
|
|
4777
|
+
{
|
|
4778
|
+
provide: NG_VALUE_ACCESSOR,
|
|
4779
|
+
// tslint:disable-next-line:no-forward-ref
|
|
4780
|
+
useExisting: forwardRef(() => BaoFileInputComponent),
|
|
4781
|
+
multi: true
|
|
4782
|
+
}
|
|
4783
|
+
], encapsulation: ViewEncapsulation.None, host: {
|
|
4784
|
+
class: 'bao-file-input',
|
|
4785
|
+
'[class.bao-file-label-small]': 'size === "small"',
|
|
4786
|
+
'[class.bao-file-label-medium]': 'size === "medium"',
|
|
4787
|
+
'[class.bao-file-input-disabled]': 'disabled'
|
|
4788
|
+
}, template: "<label bao-label [required]=\"required\" [for]=\"inputId\">{{ label }}</label>\n<ng-content select=\"bao-guiding-text\"></ng-content>\n<div\n baoFileDrop\n class=\"file-drop-zone\"\n (fileDrop)=\"uploadFile($event)\"\n #dropzone\n>\n <button\n bao-button\n type=\"button\"\n displayType=\"utility\"\n level=\"secondary\"\n [disabled]=\"disabled\"\n (click)=\"uploader.click()\"\n aria-hidden=\"true\"\n tabIndex=\"-1\"\n >\n {{ intl.dropzoneButtonLabel }}\n </button>\n <input\n [id]=\"inputId\"\n type=\"file\"\n class=\"sr-only\"\n [disabled]=\"disabled\"\n (change)=\"uploadFile($event.target.files[0])\"\n #uploader\n />\n <ng-container\n ><div #ref>\n <ng-content select=\"bao-file-dropzone-instructions\"></ng-content></div\n ></ng-container>\n <ng-container *ngIf=\"ref.childNodes.length === 0\"\n ><bao-file-dropzone-instructions>{{\n intl.defaultDropzoneInstructions\n }}</bao-file-dropzone-instructions></ng-container\n >\n</div>\n<bao-error *ngIf=\"isFileTooBig\">\n {{ intl.fileTooBigErrorMessage }}\n</bao-error>\n<bao-error *ngIf=\"isFileTypeInvalid\">\n {{ intl.invalidFileTypeErrorMessage }}\n</bao-error>\n<ng-content select=\"bao-error\"></ng-content>\n<ng-content></ng-content>\n", styles: ["bao-file-input{width:100%;display:inline-flex;flex-direction:column}bao-file-input>ul{padding:0;margin:0}bao-file-input .bao-label>span{font-size:inherit;font-weight:inherit}bao-file-input.bao-file-label-small label{font-weight:700;font-size:.875rem;line-height:1.25rem}bao-file-input.bao-file-label-medium label{font-weight:700;font-size:1rem;line-height:1.5rem}bao-file-input .bao-guiding-text{margin-bottom:.5rem}bao-file-input .file-drop-zone{padding:.5rem;background-color:#fff;border-radius:.25rem;border-style:dashed;border-color:#ced4da;border-width:1px;display:inline-flex;align-items:center}bao-file-input .file-drop-zone:focus-within.dropzone-focus{box-shadow:0 0 0 .1875rem #98bcde;background-color:#eefaf8}bao-file-input .file-drop-zone>.bao-button{margin-right:.5rem}bao-file-input .file-drop-zone.drag-over{background-color:#eefaf8;border-color:#097d6c;cursor:drag}bao-file-input .file-drop-zone.drag-over>.bao-button{background-color:#eefaf8}bao-file-input.bao-file-input-disabled .file-drop-zone{background-color:#f8f9fa;border-color:#ced4da}bao-file-input.bao-file-input-disabled .file-drop-zone .bao-button{background-color:#f8f9fa}bao-file-input.bao-file-input-disabled .file-drop-zone .bao-button:hover{background-color:#f8f9fa}bao-file-input .bao-file-preview:first-child{margin-top:1rem}bao-file-input .bao-error{margin-top:.5rem}\n"] }]
|
|
4789
|
+
}], ctorParameters: function () { return [{ type: BaoFileIntl }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { inputId: [{
|
|
4790
|
+
type: Input,
|
|
4791
|
+
args: ['id']
|
|
4792
|
+
}], label: [{
|
|
4793
|
+
type: Input
|
|
4794
|
+
}], size: [{
|
|
4795
|
+
type: Input
|
|
4796
|
+
}], maximalFileSize: [{
|
|
4797
|
+
type: Input
|
|
4798
|
+
}], acceptedMIMETypes: [{
|
|
4799
|
+
type: Input
|
|
4800
|
+
}], required: [{
|
|
4801
|
+
type: Input
|
|
4802
|
+
}], disabled: [{
|
|
4803
|
+
type: Input
|
|
4804
|
+
}], uploadedFile: [{
|
|
4805
|
+
type: Output
|
|
4806
|
+
}], _files: [{
|
|
4807
|
+
type: ContentChildren,
|
|
4808
|
+
args: [BaoFilePreviewComponent, { descendants: true }]
|
|
4809
|
+
}], _errorForm: [{
|
|
4810
|
+
type: ContentChildren,
|
|
4811
|
+
args: [BaoErrorTextComponent, { descendants: true }]
|
|
4812
|
+
}], _errorTexts: [{
|
|
4813
|
+
type: ViewChildren,
|
|
4814
|
+
args: [BaoErrorTextComponent]
|
|
4815
|
+
}], uploader: [{
|
|
4816
|
+
type: ViewChild,
|
|
4817
|
+
args: ['uploader', { static: false }]
|
|
4818
|
+
}], dropzoneElement: [{
|
|
4819
|
+
type: ViewChild,
|
|
4820
|
+
args: ['dropzone', { static: false }]
|
|
4821
|
+
}], enterKeyEvent: [{
|
|
4822
|
+
type: HostListener,
|
|
4823
|
+
args: ['window:keyup.enter']
|
|
4824
|
+
}], tabKeyEvent: [{
|
|
4825
|
+
type: HostListener,
|
|
4826
|
+
args: ['window:keyup.tab']
|
|
4827
|
+
}], shiftTabKeyEvent: [{
|
|
4828
|
+
type: HostListener,
|
|
4829
|
+
args: ['window:keyup.shift.tab']
|
|
4830
|
+
}] } });
|
|
4831
|
+
class BaoFileDropDirective {
|
|
4832
|
+
constructor() {
|
|
4833
|
+
this.fileDrop = new EventEmitter();
|
|
4834
|
+
this._isDragOver = false;
|
|
4835
|
+
}
|
|
4836
|
+
onDragOver(event) {
|
|
4837
|
+
this.preventAndStop(event);
|
|
4838
|
+
this._isDragOver = true;
|
|
4839
|
+
}
|
|
4840
|
+
onDragLeave(event) {
|
|
4841
|
+
this.preventAndStop(event);
|
|
4842
|
+
this._isDragOver = false;
|
|
4843
|
+
}
|
|
4844
|
+
onDrop(event) {
|
|
4845
|
+
this.preventAndStop(event);
|
|
4846
|
+
this._isDragOver = false;
|
|
4847
|
+
const transfer = this.getDataTransfer(event);
|
|
4848
|
+
this.fileDrop.emit(transfer.files[0]);
|
|
4849
|
+
}
|
|
4850
|
+
preventAndStop(event) {
|
|
4851
|
+
event.preventDefault();
|
|
4852
|
+
event.stopPropagation();
|
|
4853
|
+
}
|
|
4854
|
+
getDataTransfer(event) {
|
|
4855
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
4856
|
+
return event.dataTransfer
|
|
4857
|
+
? event.dataTransfer
|
|
4858
|
+
: event.originalEvent.dataTransfer;
|
|
4859
|
+
}
|
|
4860
|
+
}
|
|
4861
|
+
BaoFileDropDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoFileDropDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
4862
|
+
BaoFileDropDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.1", type: BaoFileDropDirective, selector: "[baoFileDrop]", outputs: { fileDrop: "fileDrop" }, host: { listeners: { "dragover": "onDragOver($event)", "dragleave": "onDragLeave($event)", "drop": "onDrop($event)" }, properties: { "class.drag-over": "_isDragOver == true" } }, ngImport: i0 });
|
|
4863
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoFileDropDirective, decorators: [{
|
|
4864
|
+
type: Directive,
|
|
4865
|
+
args: [{
|
|
4866
|
+
selector: '[baoFileDrop]',
|
|
4867
|
+
host: { '[class.drag-over]': '_isDragOver == true' }
|
|
4868
|
+
}]
|
|
4869
|
+
}], propDecorators: { fileDrop: [{
|
|
4870
|
+
type: Output
|
|
4871
|
+
}], onDragOver: [{
|
|
4872
|
+
type: HostListener,
|
|
4873
|
+
args: ['dragover', ['$event']]
|
|
4874
|
+
}], onDragLeave: [{
|
|
4875
|
+
type: HostListener,
|
|
4876
|
+
args: ['dragleave', ['$event']]
|
|
4877
|
+
}], onDrop: [{
|
|
4878
|
+
type: HostListener,
|
|
4879
|
+
args: ['drop', ['$event']]
|
|
4880
|
+
}] } });
|
|
4881
|
+
class BaoFileDropzoneIntructions {
|
|
4882
|
+
constructor(renderer, elementRef) {
|
|
4883
|
+
this.renderer = renderer;
|
|
4884
|
+
this.elementRef = elementRef;
|
|
4885
|
+
}
|
|
4886
|
+
get nativeElement() {
|
|
4887
|
+
return this.elementRef.nativeElement;
|
|
4888
|
+
}
|
|
4889
|
+
ngAfterContentInit() {
|
|
4890
|
+
this.renderer.setAttribute(this.nativeElement, 'aria-hidden', 'true');
|
|
4891
|
+
}
|
|
4892
|
+
}
|
|
4893
|
+
BaoFileDropzoneIntructions.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoFileDropzoneIntructions, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
4894
|
+
BaoFileDropzoneIntructions.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.1", type: BaoFileDropzoneIntructions, selector: "bao-file-dropzone-instructions, [bao-file-dropzone-instructions]", host: { classAttribute: "bao-file-dropzone-instructions" }, ngImport: i0 });
|
|
4895
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoFileDropzoneIntructions, decorators: [{
|
|
4896
|
+
type: Directive,
|
|
4897
|
+
args: [{
|
|
4898
|
+
selector: 'bao-file-dropzone-instructions, [bao-file-dropzone-instructions]',
|
|
4899
|
+
host: {
|
|
4900
|
+
class: 'bao-file-dropzone-instructions'
|
|
4901
|
+
}
|
|
4902
|
+
}]
|
|
4903
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; } });
|
|
4904
|
+
|
|
4905
|
+
/*
|
|
4906
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
4907
|
+
* Licensed under the MIT license.
|
|
4908
|
+
* See LICENSE file in the project root for full license information.
|
|
4909
|
+
*/
|
|
4910
|
+
const FILE_DIRECTIVES = [
|
|
4911
|
+
BaoFileInputComponent,
|
|
4912
|
+
BaoFileDropzoneIntructions,
|
|
4913
|
+
BaoFileDropDirective,
|
|
4914
|
+
BaoFilePreviewComponent
|
|
4915
|
+
];
|
|
4916
|
+
class BaoFileModule {
|
|
4917
|
+
}
|
|
4918
|
+
BaoFileModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoFileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
4919
|
+
BaoFileModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.1", ngImport: i0, type: BaoFileModule, declarations: [BaoFileInputComponent,
|
|
4920
|
+
BaoFileDropzoneIntructions,
|
|
4921
|
+
BaoFileDropDirective,
|
|
4922
|
+
BaoFilePreviewComponent], imports: [CommonModule,
|
|
4923
|
+
BaoDropdownMenuModule,
|
|
4924
|
+
BaoCommonComponentsModule,
|
|
4925
|
+
BaoIconModule,
|
|
4926
|
+
BaoButtonModule], exports: [BaoFileInputComponent,
|
|
4927
|
+
BaoFileDropzoneIntructions,
|
|
4928
|
+
BaoFileDropDirective,
|
|
4929
|
+
BaoFilePreviewComponent] });
|
|
4930
|
+
BaoFileModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoFileModule, providers: [BAO_FILE_INTL_PROVIDER], imports: [CommonModule,
|
|
4931
|
+
BaoDropdownMenuModule,
|
|
4932
|
+
BaoCommonComponentsModule,
|
|
4933
|
+
BaoIconModule,
|
|
4934
|
+
BaoButtonModule] });
|
|
4935
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoFileModule, decorators: [{
|
|
4936
|
+
type: NgModule,
|
|
4937
|
+
args: [{
|
|
4938
|
+
imports: [
|
|
4939
|
+
CommonModule,
|
|
4940
|
+
BaoDropdownMenuModule,
|
|
4941
|
+
BaoCommonComponentsModule,
|
|
4942
|
+
BaoIconModule,
|
|
4943
|
+
BaoButtonModule
|
|
4944
|
+
],
|
|
4945
|
+
declarations: [FILE_DIRECTIVES],
|
|
4946
|
+
exports: [FILE_DIRECTIVES],
|
|
4947
|
+
providers: [BAO_FILE_INTL_PROVIDER]
|
|
4948
|
+
}]
|
|
4949
|
+
}] });
|
|
4950
|
+
|
|
4951
|
+
/*
|
|
4952
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
4520
4953
|
* Licensed under the MIT license.
|
|
4521
4954
|
* See LICENSE file in the project root for full license information.
|
|
4522
4955
|
*/
|
|
@@ -4527,7 +4960,8 @@ BaoModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.
|
|
|
4527
4960
|
BaoButtonModule,
|
|
4528
4961
|
BaoAlertModule,
|
|
4529
4962
|
BaoCardModule,
|
|
4530
|
-
BaoBreadcrumbModule
|
|
4963
|
+
BaoBreadcrumbModule,
|
|
4964
|
+
BaoModalModule], exports: [BaoIconModule,
|
|
4531
4965
|
BaoButtonModule,
|
|
4532
4966
|
BaoAlertModule,
|
|
4533
4967
|
BaoBreadcrumbModule,
|
|
@@ -4543,7 +4977,8 @@ BaoModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.
|
|
|
4543
4977
|
BaoTabsModule,
|
|
4544
4978
|
BaoModalModule,
|
|
4545
4979
|
BaoHyperlinkModule,
|
|
4546
|
-
BaoDropdownMenuModule
|
|
4980
|
+
BaoDropdownMenuModule,
|
|
4981
|
+
BaoFileModule
|
|
4547
4982
|
// TODO: reactivate once component does not depend on global css BaoBadgeModule,
|
|
4548
4983
|
// TODO: reactivate once component does not depend on global css BaoSnackBarModule,
|
|
4549
4984
|
] });
|
|
@@ -4551,7 +4986,8 @@ BaoModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.
|
|
|
4551
4986
|
BaoButtonModule,
|
|
4552
4987
|
BaoAlertModule,
|
|
4553
4988
|
BaoCardModule,
|
|
4554
|
-
BaoBreadcrumbModule,
|
|
4989
|
+
BaoBreadcrumbModule,
|
|
4990
|
+
BaoModalModule, BaoIconModule,
|
|
4555
4991
|
BaoButtonModule,
|
|
4556
4992
|
BaoAlertModule,
|
|
4557
4993
|
BaoBreadcrumbModule,
|
|
@@ -4567,7 +5003,8 @@ BaoModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.
|
|
|
4567
5003
|
BaoTabsModule,
|
|
4568
5004
|
BaoModalModule,
|
|
4569
5005
|
BaoHyperlinkModule,
|
|
4570
|
-
BaoDropdownMenuModule
|
|
5006
|
+
BaoDropdownMenuModule,
|
|
5007
|
+
BaoFileModule
|
|
4571
5008
|
// TODO: reactivate once component does not depend on global css BaoBadgeModule,
|
|
4572
5009
|
// TODO: reactivate once component does not depend on global css BaoSnackBarModule,
|
|
4573
5010
|
] });
|
|
@@ -4579,7 +5016,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
4579
5016
|
BaoButtonModule,
|
|
4580
5017
|
BaoAlertModule,
|
|
4581
5018
|
BaoCardModule,
|
|
4582
|
-
BaoBreadcrumbModule
|
|
5019
|
+
BaoBreadcrumbModule,
|
|
5020
|
+
BaoModalModule
|
|
4583
5021
|
],
|
|
4584
5022
|
exports: [
|
|
4585
5023
|
BaoIconModule,
|
|
@@ -4598,7 +5036,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
4598
5036
|
BaoTabsModule,
|
|
4599
5037
|
BaoModalModule,
|
|
4600
5038
|
BaoHyperlinkModule,
|
|
4601
|
-
BaoDropdownMenuModule
|
|
5039
|
+
BaoDropdownMenuModule,
|
|
5040
|
+
BaoFileModule
|
|
4602
5041
|
// TODO: reactivate once component does not depend on global css BaoBadgeModule,
|
|
4603
5042
|
// TODO: reactivate once component does not depend on global css BaoSnackBarModule,
|
|
4604
5043
|
]
|
|
@@ -4606,7 +5045,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
4606
5045
|
}] });
|
|
4607
5046
|
|
|
4608
5047
|
/*
|
|
4609
|
-
* Copyright (c)
|
|
5048
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
4610
5049
|
* Licensed under the MIT license.
|
|
4611
5050
|
* See LICENSE file in the project root for full license information.
|
|
4612
5051
|
*/
|
|
@@ -4631,7 +5070,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
4631
5070
|
}] } });
|
|
4632
5071
|
|
|
4633
5072
|
/*
|
|
4634
|
-
* Copyright (c)
|
|
5073
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
4635
5074
|
* Licensed under the MIT license.
|
|
4636
5075
|
* See LICENSE file in the project root for full license information.
|
|
4637
5076
|
*/
|
|
@@ -4651,25 +5090,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
4651
5090
|
}] });
|
|
4652
5091
|
|
|
4653
5092
|
/*
|
|
4654
|
-
* Copyright (c)
|
|
5093
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
5094
|
+
* Licensed under the MIT license.
|
|
5095
|
+
* See LICENSE file in the project root for full license information.
|
|
5096
|
+
*/
|
|
5097
|
+
|
|
5098
|
+
/*
|
|
5099
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
4655
5100
|
* Licensed under the MIT license.
|
|
4656
5101
|
* See LICENSE file in the project root for full license information.
|
|
4657
5102
|
*/
|
|
4658
5103
|
|
|
4659
5104
|
/*
|
|
4660
|
-
* Copyright (c)
|
|
5105
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
4661
5106
|
* Licensed under the MIT license.
|
|
4662
5107
|
* See LICENSE file in the project root for full license information.
|
|
4663
5108
|
*/
|
|
4664
5109
|
|
|
4665
5110
|
/*
|
|
4666
|
-
* Copyright (c)
|
|
5111
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
4667
5112
|
* Licensed under the MIT license.
|
|
4668
5113
|
* See LICENSE file in the project root for full license information.
|
|
4669
5114
|
*/
|
|
4670
5115
|
|
|
4671
5116
|
/*
|
|
4672
|
-
* Copyright (c)
|
|
5117
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
4673
5118
|
* Licensed under the MIT license.
|
|
4674
5119
|
* See LICENSE file in the project root for full license information.
|
|
4675
5120
|
*/
|
|
@@ -4678,5 +5123,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
4678
5123
|
* Generated bundle index. Do not edit.
|
|
4679
5124
|
*/
|
|
4680
5125
|
|
|
4681
|
-
export { BAO_MODAL_DATA, BAO_RADIO_GROUP, BaoAlertActions, BaoAlertComponent, BaoAlertContent, BaoAlertLink, BaoAlertModule, BaoAlertTitle, BaoAvatarComponent, BaoAvatarContent, BaoAvatarModule, BaoBadgeComponent, BaoBadgeModule, BaoBreadcrumbComponent, BaoBreadcrumbModule, BaoButtonComponent, BaoButtonModule, BaoCardComponent, BaoCardContent, BaoCardHeader, BaoCardModule, BaoCardTextInterface, BaoCardTitle, BaoCheckBoxDescription, BaoCheckboxComponent, BaoCheckboxGroupComponent, BaoCheckboxModule, BaoCommonComponentsModule, BaoDropdownMenuComponent, BaoDropdownMenuDivider, BaoDropdownMenuItem, BaoDropdownMenuItemDescription, BaoDropdownMenuItemLabel, BaoDropdownMenuModule, BaoDropdownMenuSection, BaoDropdownMenuTrigger, BaoErrorTextComponent, BaoGuidingTextComponent, BaoHeaderInfoComponent, BaoHeaderInfoContent, BaoHeaderInfoModule, BaoHeaderInfoSubtitle, BaoHeaderInfoSurtitle, BaoHeaderInfoTitle, BaoHeaderInfoTitleGroupComponent, BaoHyperlinkComponent, BaoHyperlinkModule, BaoIconComponent, BaoIconModule, BaoLabelTextComponent, BaoList, BaoListItem, BaoListItemDescription, BaoListItemTitle, BaoListModule, BaoListSummary, BaoListSummaryItem, BaoModal, BaoModalBase, BaoModalClose, BaoModalContainer, BaoModalInitialConfig, BaoModalModule, BaoModalRef, BaoModule, BaoNavList, BaoRadioButtonComponent, BaoRadioButtonGroupComponent, BaoRadioDescription, BaoRadioModule, BaoSummaryComponent, BaoSummaryDescription, BaoSummaryModule, BaoTabHeader, BaoTabPanel, BaoTablistComponent, BaoTabsContainer, BaoTabsModule, BaoTagComponent, BaoTagModule, BaoTitleTextComponent, _BaoModalContainerBase, _closeModalVia, eModalDesktopWidthSize, eModalMobileWidthSize, throwBaoModalContentAlreadyAttachedError };
|
|
5126
|
+
export { BAO_FILE_INTL_PROVIDER, BAO_FILE_INTL_PROVIDER_FACTORY, BAO_MODAL_DATA, BAO_RADIO_GROUP, BaoAlertActions, BaoAlertComponent, BaoAlertContent, BaoAlertLink, BaoAlertModule, BaoAlertTitle, BaoAvatarComponent, BaoAvatarContent, BaoAvatarModule, BaoBadgeComponent, BaoBadgeModule, BaoBreadcrumbComponent, BaoBreadcrumbModule, BaoButtonComponent, BaoButtonModule, BaoCardComponent, BaoCardContent, BaoCardHeader, BaoCardModule, BaoCardTextInterface, BaoCardTitle, BaoCheckBoxDescription, BaoCheckboxComponent, BaoCheckboxGroupComponent, BaoCheckboxModule, BaoCommonComponentsModule, BaoDropdownMenuComponent, BaoDropdownMenuDivider, BaoDropdownMenuItem, BaoDropdownMenuItemDescription, BaoDropdownMenuItemLabel, BaoDropdownMenuModule, BaoDropdownMenuSection, BaoDropdownMenuTrigger, BaoErrorTextComponent, BaoFileDropDirective, BaoFileDropzoneIntructions, BaoFileInputComponent, BaoFileIntl, BaoFileIntlEnglish, BaoFileModule, BaoFilePreviewComponent, BaoGuidingTextComponent, BaoHeaderInfoComponent, BaoHeaderInfoContent, BaoHeaderInfoModule, BaoHeaderInfoSubtitle, BaoHeaderInfoSurtitle, BaoHeaderInfoTitle, BaoHeaderInfoTitleGroupComponent, BaoHyperlinkComponent, BaoHyperlinkModule, BaoIconComponent, BaoIconModule, BaoLabelTextComponent, BaoList, BaoListItem, BaoListItemDescription, BaoListItemTitle, BaoListModule, BaoListSummary, BaoListSummaryItem, BaoModal, BaoModalBase, BaoModalClose, BaoModalContainer, BaoModalInitialConfig, BaoModalModule, BaoModalRef, BaoModule, BaoNavList, BaoRadioButtonComponent, BaoRadioButtonGroupComponent, BaoRadioDescription, BaoRadioModule, BaoSummaryComponent, BaoSummaryDescription, BaoSummaryModule, BaoTabHeader, BaoTabPanel, BaoTablistComponent, BaoTabsContainer, BaoTabsModule, BaoTagComponent, BaoTagModule, BaoTitleTextComponent, _BaoModalContainerBase, _closeModalVia, eModalDesktopWidthSize, eModalMobileWidthSize, throwBaoModalContentAlreadyAttachedError };
|
|
4682
5127
|
//# sourceMappingURL=villedemontreal-angular-ui.mjs.map
|