@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,12 +13,10 @@ 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 { __awaiter } from 'tslib';
|
|
18
18
|
import { _getFocusedElementPierceShadowDom } from '@angular/cdk/platform';
|
|
19
|
-
import { trigger, state, style, transition, group, animate, query, animateChild } from '@angular/animations';
|
|
20
19
|
import { ESCAPE, hasModifierKey } from '@angular/cdk/keycodes';
|
|
21
|
-
import { ANIMATION_MODULE_TYPE, BrowserAnimationsModule, NoopAnimationsModule } from '@angular/platform-browser/animations';
|
|
22
20
|
|
|
23
21
|
function baoColorToHex(baoColor) {
|
|
24
22
|
switch (baoColor) {
|
|
@@ -46,7 +44,7 @@ function baoColorToHex(baoColor) {
|
|
|
46
44
|
}
|
|
47
45
|
|
|
48
46
|
/*
|
|
49
|
-
* Copyright (c)
|
|
47
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
50
48
|
* Licensed under the MIT license.
|
|
51
49
|
* See LICENSE file in the project root for full license information.
|
|
52
50
|
*/
|
|
@@ -63,6 +61,7 @@ const ICONS_DCT = {
|
|
|
63
61
|
'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'/>",
|
|
64
62
|
'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'/>",
|
|
65
63
|
'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'/>",
|
|
64
|
+
'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' />",
|
|
66
65
|
'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'/>",
|
|
67
66
|
'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'/>",
|
|
68
67
|
'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'/>",
|
|
@@ -170,7 +169,7 @@ const ICONS_DCT = {
|
|
|
170
169
|
};
|
|
171
170
|
|
|
172
171
|
/*
|
|
173
|
-
* Copyright (c)
|
|
172
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
174
173
|
* Licensed under the MIT license.
|
|
175
174
|
* See LICENSE file in the project root for full license information.
|
|
176
175
|
*/
|
|
@@ -211,7 +210,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
211
210
|
} });
|
|
212
211
|
|
|
213
212
|
/*
|
|
214
|
-
* Copyright (c)
|
|
213
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
215
214
|
* Licensed under the MIT license.
|
|
216
215
|
* See LICENSE file in the project root for full license information.
|
|
217
216
|
*/
|
|
@@ -363,7 +362,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
363
362
|
}] } });
|
|
364
363
|
|
|
365
364
|
/*
|
|
366
|
-
* Copyright (c)
|
|
365
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
367
366
|
* Licensed under the MIT license.
|
|
368
367
|
* See LICENSE file in the project root for full license information.
|
|
369
368
|
*/
|
|
@@ -383,7 +382,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
383
382
|
}] });
|
|
384
383
|
|
|
385
384
|
/*
|
|
386
|
-
* Copyright (c)
|
|
385
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
387
386
|
* Licensed under the MIT license.
|
|
388
387
|
* See LICENSE file in the project root for full license information.
|
|
389
388
|
*/
|
|
@@ -479,7 +478,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
479
478
|
}] } });
|
|
480
479
|
|
|
481
480
|
/*
|
|
482
|
-
* Copyright (c)
|
|
481
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
483
482
|
* Licensed under the MIT license.
|
|
484
483
|
* See LICENSE file in the project root for full license information.
|
|
485
484
|
*/
|
|
@@ -499,7 +498,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
499
498
|
}] });
|
|
500
499
|
|
|
501
500
|
/*
|
|
502
|
-
* Copyright (c)
|
|
501
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
503
502
|
* Licensed under the MIT license.
|
|
504
503
|
* See LICENSE file in the project root for full license information.
|
|
505
504
|
*/
|
|
@@ -656,7 +655,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
656
655
|
}] } });
|
|
657
656
|
|
|
658
657
|
/*
|
|
659
|
-
* Copyright (c)
|
|
658
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
660
659
|
* Licensed under the MIT license.
|
|
661
660
|
* See LICENSE file in the project root for full license information.
|
|
662
661
|
*/
|
|
@@ -691,13 +690,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
691
690
|
}] });
|
|
692
691
|
|
|
693
692
|
/*
|
|
694
|
-
* Copyright (c)
|
|
693
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
695
694
|
* Licensed under the MIT license.
|
|
696
695
|
* See LICENSE file in the project root for full license information.
|
|
697
696
|
*/
|
|
698
697
|
|
|
699
698
|
/*
|
|
700
|
-
* Copyright (c)
|
|
699
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
701
700
|
* Licensed under the MIT license.
|
|
702
701
|
* See LICENSE file in the project root for full license information.
|
|
703
702
|
*/
|
|
@@ -730,7 +729,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
730
729
|
}] } });
|
|
731
730
|
|
|
732
731
|
/*
|
|
733
|
-
* Copyright (c)
|
|
732
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
734
733
|
* Licensed under the MIT license.
|
|
735
734
|
* See LICENSE file in the project root for full license information.
|
|
736
735
|
*/
|
|
@@ -750,19 +749,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
750
749
|
}] });
|
|
751
750
|
|
|
752
751
|
/*
|
|
753
|
-
* Copyright (c)
|
|
752
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
754
753
|
* Licensed under the MIT license.
|
|
755
754
|
* See LICENSE file in the project root for full license information.
|
|
756
755
|
*/
|
|
757
756
|
|
|
758
757
|
/*
|
|
759
|
-
* Copyright (c)
|
|
758
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
760
759
|
* Licensed under the MIT license.
|
|
761
760
|
* See LICENSE file in the project root for full license information.
|
|
762
761
|
*/
|
|
763
762
|
|
|
764
763
|
/*
|
|
765
|
-
* Copyright (c)
|
|
764
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
766
765
|
* Licensed under the MIT license.
|
|
767
766
|
* See LICENSE file in the project root for full license information.
|
|
768
767
|
*/
|
|
@@ -854,7 +853,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
854
853
|
}] });
|
|
855
854
|
|
|
856
855
|
/*
|
|
857
|
-
* Copyright (c)
|
|
856
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
858
857
|
* Licensed under the MIT license.
|
|
859
858
|
* See LICENSE file in the project root for full license information.
|
|
860
859
|
*/
|
|
@@ -888,13 +887,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
888
887
|
}] });
|
|
889
888
|
|
|
890
889
|
/*
|
|
891
|
-
* Copyright (c)
|
|
890
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
892
891
|
* Licensed under the MIT license.
|
|
893
892
|
* See LICENSE file in the project root for full license information.
|
|
894
893
|
*/
|
|
895
894
|
|
|
896
895
|
/*
|
|
897
|
-
* Copyright (c)
|
|
896
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
898
897
|
* Licensed under the MIT license.
|
|
899
898
|
* See LICENSE file in the project root for full license information.
|
|
900
899
|
*/
|
|
@@ -908,7 +907,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
908
907
|
}] });
|
|
909
908
|
|
|
910
909
|
/*
|
|
911
|
-
* Copyright (c)
|
|
910
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
912
911
|
* Licensed under the MIT license.
|
|
913
912
|
* See LICENSE file in the project root for full license information.
|
|
914
913
|
*/
|
|
@@ -922,7 +921,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
922
921
|
}] });
|
|
923
922
|
|
|
924
923
|
/*
|
|
925
|
-
* Copyright (c)
|
|
924
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
926
925
|
* Licensed under the MIT license.
|
|
927
926
|
* See LICENSE file in the project root for full license information.
|
|
928
927
|
*/
|
|
@@ -932,16 +931,16 @@ class BaoLabelTextComponent {
|
|
|
932
931
|
}
|
|
933
932
|
}
|
|
934
933
|
BaoLabelTextComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoLabelTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
935
|
-
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: '<
|
|
934
|
+
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 });
|
|
936
935
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoLabelTextComponent, decorators: [{
|
|
937
936
|
type: Component,
|
|
938
|
-
args: [{ selector: 'bao-label, [bao-label]', encapsulation: ViewEncapsulation.None, template: '<
|
|
937
|
+
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"] }]
|
|
939
938
|
}], propDecorators: { required: [{
|
|
940
939
|
type: Input
|
|
941
940
|
}] } });
|
|
942
941
|
|
|
943
942
|
/*
|
|
944
|
-
* Copyright (c)
|
|
943
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
945
944
|
* Licensed under the MIT license.
|
|
946
945
|
* See LICENSE file in the project root for full license information.
|
|
947
946
|
*/
|
|
@@ -955,13 +954,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
955
954
|
}] });
|
|
956
955
|
|
|
957
956
|
/*
|
|
958
|
-
* Copyright (c)
|
|
959
|
-
* Licensed under the MIT license.
|
|
960
|
-
* See LICENSE file in the project root for full license information.
|
|
961
|
-
*/
|
|
962
|
-
|
|
963
|
-
/*
|
|
964
|
-
* Copyright (c) 2022 Ville de Montreal. All rights reserved.
|
|
957
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
965
958
|
* Licensed under the MIT license.
|
|
966
959
|
* See LICENSE file in the project root for full license information.
|
|
967
960
|
*/
|
|
@@ -992,7 +985,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
992
985
|
}] });
|
|
993
986
|
|
|
994
987
|
/*
|
|
995
|
-
* Copyright (c)
|
|
988
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
996
989
|
* Licensed under the MIT license.
|
|
997
990
|
* See LICENSE file in the project root for full license information.
|
|
998
991
|
*/
|
|
@@ -1347,7 +1340,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
1347
1340
|
}] });
|
|
1348
1341
|
|
|
1349
1342
|
/*
|
|
1350
|
-
* Copyright (c)
|
|
1343
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
1351
1344
|
* Licensed under the MIT license.
|
|
1352
1345
|
* See LICENSE file in the project root for full license information.
|
|
1353
1346
|
*/
|
|
@@ -1375,13 +1368,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
1375
1368
|
}] });
|
|
1376
1369
|
|
|
1377
1370
|
/*
|
|
1378
|
-
* Copyright (c)
|
|
1371
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
1372
|
+
* Licensed under the MIT license.
|
|
1373
|
+
* See LICENSE file in the project root for full license information.
|
|
1374
|
+
*/
|
|
1375
|
+
|
|
1376
|
+
/*
|
|
1377
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
1379
1378
|
* Licensed under the MIT license.
|
|
1380
1379
|
* See LICENSE file in the project root for full license information.
|
|
1381
1380
|
*/
|
|
1382
1381
|
|
|
1383
1382
|
/*
|
|
1384
|
-
* Copyright (c)
|
|
1383
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
1385
1384
|
* Licensed under the MIT license.
|
|
1386
1385
|
* See LICENSE file in the project root for full license information.
|
|
1387
1386
|
*/
|
|
@@ -1482,7 +1481,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
1482
1481
|
}] });
|
|
1483
1482
|
|
|
1484
1483
|
/*
|
|
1485
|
-
* Copyright (c)
|
|
1484
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
1486
1485
|
* Licensed under the MIT license.
|
|
1487
1486
|
* See LICENSE file in the project root for full license information.
|
|
1488
1487
|
*/
|
|
@@ -1519,19 +1518,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
1519
1518
|
}] });
|
|
1520
1519
|
|
|
1521
1520
|
/*
|
|
1522
|
-
* Copyright (c)
|
|
1521
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
1523
1522
|
* Licensed under the MIT license.
|
|
1524
1523
|
* See LICENSE file in the project root for full license information.
|
|
1525
1524
|
*/
|
|
1526
1525
|
|
|
1527
1526
|
/*
|
|
1528
|
-
* Copyright (c)
|
|
1527
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
1529
1528
|
* Licensed under the MIT license.
|
|
1530
1529
|
* See LICENSE file in the project root for full license information.
|
|
1531
1530
|
*/
|
|
1532
1531
|
|
|
1533
1532
|
/*
|
|
1534
|
-
* Copyright (c)
|
|
1533
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
1535
1534
|
* Licensed under the MIT license.
|
|
1536
1535
|
* See LICENSE file in the project root for full license information.
|
|
1537
1536
|
*/
|
|
@@ -1602,7 +1601,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
1602
1601
|
}] });
|
|
1603
1602
|
|
|
1604
1603
|
/*
|
|
1605
|
-
* Copyright (c)
|
|
1604
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
1606
1605
|
* Licensed under the MIT license.
|
|
1607
1606
|
* See LICENSE file in the project root for full license information.
|
|
1608
1607
|
*/
|
|
@@ -1636,13 +1635,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
1636
1635
|
}] });
|
|
1637
1636
|
|
|
1638
1637
|
/*
|
|
1639
|
-
* Copyright (c)
|
|
1638
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
1640
1639
|
* Licensed under the MIT license.
|
|
1641
1640
|
* See LICENSE file in the project root for full license information.
|
|
1642
1641
|
*/
|
|
1643
1642
|
|
|
1644
1643
|
/*
|
|
1645
|
-
* Copyright (c)
|
|
1644
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
1646
1645
|
* Licensed under the MIT license.
|
|
1647
1646
|
* See LICENSE file in the project root for full license information.
|
|
1648
1647
|
*/
|
|
@@ -2170,7 +2169,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
2170
2169
|
}] });
|
|
2171
2170
|
|
|
2172
2171
|
/*
|
|
2173
|
-
* Copyright (c)
|
|
2172
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
2174
2173
|
* Licensed under the MIT license.
|
|
2175
2174
|
* See LICENSE file in the project root for full license information.
|
|
2176
2175
|
*/
|
|
@@ -2215,13 +2214,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
2215
2214
|
}] });
|
|
2216
2215
|
|
|
2217
2216
|
/*
|
|
2218
|
-
* Copyright (c)
|
|
2217
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
2219
2218
|
* Licensed under the MIT license.
|
|
2220
2219
|
* See LICENSE file in the project root for full license information.
|
|
2221
2220
|
*/
|
|
2222
2221
|
|
|
2223
2222
|
/*
|
|
2224
|
-
* Copyright (c)
|
|
2223
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
2225
2224
|
* Licensed under the MIT license.
|
|
2226
2225
|
* See LICENSE file in the project root for full license information.
|
|
2227
2226
|
*/
|
|
@@ -2294,7 +2293,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
2294
2293
|
}] } });
|
|
2295
2294
|
|
|
2296
2295
|
/*
|
|
2297
|
-
* Copyright (c)
|
|
2296
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
2298
2297
|
* Licensed under the MIT license.
|
|
2299
2298
|
* See LICENSE file in the project root for full license information.
|
|
2300
2299
|
*/
|
|
@@ -2314,13 +2313,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
2314
2313
|
}] });
|
|
2315
2314
|
|
|
2316
2315
|
/*
|
|
2317
|
-
* Copyright (c)
|
|
2316
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
2318
2317
|
* Licensed under the MIT license.
|
|
2319
2318
|
* See LICENSE file in the project root for full license information.
|
|
2320
2319
|
*/
|
|
2321
2320
|
|
|
2322
2321
|
/*
|
|
2323
|
-
* Copyright (c)
|
|
2322
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
2324
2323
|
* Licensed under the MIT license.
|
|
2325
2324
|
* See LICENSE file in the project root for full license information.
|
|
2326
2325
|
*/
|
|
@@ -2411,7 +2410,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
2411
2410
|
}] });
|
|
2412
2411
|
|
|
2413
2412
|
/*
|
|
2414
|
-
* Copyright (c)
|
|
2413
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
2415
2414
|
* Licensed under the MIT license.
|
|
2416
2415
|
* See LICENSE file in the project root for full license information.
|
|
2417
2416
|
*/
|
|
@@ -2439,7 +2438,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
2439
2438
|
}] });
|
|
2440
2439
|
|
|
2441
2440
|
/*
|
|
2442
|
-
* Copyright (c)
|
|
2441
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
2443
2442
|
* Licensed under the MIT license.
|
|
2444
2443
|
* See LICENSE file in the project root for full license information.
|
|
2445
2444
|
*/
|
|
@@ -2470,13 +2469,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
2470
2469
|
}] });
|
|
2471
2470
|
|
|
2472
2471
|
/*
|
|
2473
|
-
* Copyright (c)
|
|
2472
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
2474
2473
|
* Licensed under the MIT license.
|
|
2475
2474
|
* See LICENSE file in the project root for full license information.
|
|
2476
2475
|
*/
|
|
2477
2476
|
|
|
2478
2477
|
/*
|
|
2479
|
-
* Copyright (c)
|
|
2478
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
2480
2479
|
* Licensed under the MIT license.
|
|
2481
2480
|
* See LICENSE file in the project root for full license information.
|
|
2482
2481
|
*/
|
|
@@ -2576,7 +2575,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
2576
2575
|
}] } });
|
|
2577
2576
|
|
|
2578
2577
|
/*
|
|
2579
|
-
* Copyright (c)
|
|
2578
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
2580
2579
|
* Licensed under the MIT license.
|
|
2581
2580
|
* See LICENSE file in the project root for full license information.
|
|
2582
2581
|
*/
|
|
@@ -2596,13 +2595,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
2596
2595
|
}] });
|
|
2597
2596
|
|
|
2598
2597
|
/*
|
|
2599
|
-
* Copyright (c)
|
|
2598
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
2600
2599
|
* Licensed under the MIT license.
|
|
2601
2600
|
* See LICENSE file in the project root for full license information.
|
|
2602
2601
|
*/
|
|
2603
2602
|
|
|
2604
2603
|
/*
|
|
2605
|
-
* Copyright (c)
|
|
2604
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
2606
2605
|
* Licensed under the MIT license.
|
|
2607
2606
|
* See LICENSE file in the project root for full license information.
|
|
2608
2607
|
*/
|
|
@@ -2895,7 +2894,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
2895
2894
|
}] } });
|
|
2896
2895
|
|
|
2897
2896
|
/*
|
|
2898
|
-
* Copyright (c)
|
|
2897
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
2899
2898
|
* Licensed under the MIT license.
|
|
2900
2899
|
* See LICENSE file in the project root for full license information.
|
|
2901
2900
|
*/
|
|
@@ -2926,41 +2925,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
2926
2925
|
}] });
|
|
2927
2926
|
|
|
2928
2927
|
/*
|
|
2929
|
-
* Copyright (c)
|
|
2928
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
2930
2929
|
* Licensed under the MIT license.
|
|
2931
2930
|
* See LICENSE file in the project root for full license information.
|
|
2932
2931
|
*/
|
|
2933
2932
|
|
|
2934
2933
|
/*
|
|
2935
|
-
* Copyright (c)
|
|
2936
|
-
* Licensed under the MIT license.
|
|
2937
|
-
* See LICENSE file in the project root for full license information.
|
|
2938
|
-
*/
|
|
2939
|
-
/**
|
|
2940
|
-
* Animations used by MatDialog.
|
|
2941
|
-
* @docs-private
|
|
2942
|
-
*/
|
|
2943
|
-
const baoModalAnimations = {
|
|
2944
|
-
/** Animation that is applied on the modal container by default. */
|
|
2945
|
-
modalContainer: trigger('modalContainer', [
|
|
2946
|
-
// Note: The `enter` animation transitions to `transform: none`, because for some reason
|
|
2947
|
-
// specifying the transform explicitly, causes IE both to blur the modal content and
|
|
2948
|
-
// decimate the animation performance. Leaving it as `none` solves both issues.
|
|
2949
|
-
state('void, exit', style({ opacity: 0, transform: 'scale(0.7)' })),
|
|
2950
|
-
state('enter', style({ transform: 'none' })),
|
|
2951
|
-
transition('* => enter', group([
|
|
2952
|
-
animate('150ms cubic-bezier(0, 0, 0.2, 1)', style({ transform: 'none', opacity: 1 })),
|
|
2953
|
-
query('@*', animateChild(), { optional: true })
|
|
2954
|
-
])),
|
|
2955
|
-
transition('* => void, * => exit', group([
|
|
2956
|
-
animate('75ms cubic-bezier(0.4, 0.0, 0.2, 1)', style({ opacity: 0 })),
|
|
2957
|
-
query('@*', animateChild(), { optional: true })
|
|
2958
|
-
]))
|
|
2959
|
-
])
|
|
2960
|
-
};
|
|
2961
|
-
|
|
2962
|
-
/*
|
|
2963
|
-
* Copyright (c) 2022 Ville de Montreal. All rights reserved.
|
|
2934
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
2964
2935
|
* Licensed under the MIT license.
|
|
2965
2936
|
* See LICENSE file in the project root for full license information.
|
|
2966
2937
|
*/
|
|
@@ -3228,41 +3199,29 @@ class BaoModalContainer extends _BaoModalContainerBase {
|
|
|
3228
3199
|
/** State of the modal animation. */
|
|
3229
3200
|
this._state = 'enter';
|
|
3230
3201
|
}
|
|
3231
|
-
|
|
3232
|
-
|
|
3233
|
-
|
|
3234
|
-
if (toState === 'enter') {
|
|
3235
|
-
yield this._trapFocus();
|
|
3236
|
-
this._animationStateChanged.next({ state: 'opened', totalTime });
|
|
3237
|
-
}
|
|
3238
|
-
else if (toState === 'exit') {
|
|
3239
|
-
this._restoreFocus();
|
|
3240
|
-
this._animationStateChanged.next({ state: 'closed', totalTime });
|
|
3241
|
-
}
|
|
3242
|
-
});
|
|
3243
|
-
}
|
|
3244
|
-
/** Callback, invoked when an animation on the host starts. */
|
|
3245
|
-
_onAnimationStart({ toState, totalTime }) {
|
|
3246
|
-
if (toState === 'enter') {
|
|
3247
|
-
this._animationStateChanged.next({ state: 'opening', totalTime });
|
|
3248
|
-
}
|
|
3249
|
-
else if (toState === 'exit' || toState === 'void') {
|
|
3250
|
-
this._animationStateChanged.next({ state: 'closing', totalTime });
|
|
3251
|
-
}
|
|
3202
|
+
_startOpenAnimation() {
|
|
3203
|
+
this._animationStateChanged.emit({ state: 'opening', totalTime: 20 });
|
|
3204
|
+
void Promise.resolve().then(() => this._finishDialogOpen());
|
|
3252
3205
|
}
|
|
3253
3206
|
/** Starts the modal exit animation. */
|
|
3254
3207
|
_startExitAnimation() {
|
|
3255
|
-
this.
|
|
3256
|
-
|
|
3257
|
-
|
|
3258
|
-
this.
|
|
3208
|
+
this._animationStateChanged.emit({ state: 'closed', totalTime: 20 });
|
|
3209
|
+
}
|
|
3210
|
+
_finishDialogOpen() {
|
|
3211
|
+
this._openAnimationDone(20);
|
|
3212
|
+
}
|
|
3213
|
+
_openAnimationDone(totalTime) {
|
|
3214
|
+
if (this._config.delayFocusTrap) {
|
|
3215
|
+
void this._trapFocus();
|
|
3216
|
+
}
|
|
3217
|
+
this._animationStateChanged.next({ state: 'opened', totalTime });
|
|
3259
3218
|
}
|
|
3260
3219
|
}
|
|
3261
3220
|
BaoModalContainer.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoModalContainer, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
3262
|
-
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" },
|
|
3221
|
+
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 });
|
|
3263
3222
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoModalContainer, decorators: [{
|
|
3264
3223
|
type: Component,
|
|
3265
|
-
args: [{ selector: 'bao-modal-container', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default,
|
|
3224
|
+
args: [{ selector: 'bao-modal-container', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, host: {
|
|
3266
3225
|
class: 'bao-modal-container',
|
|
3267
3226
|
tabindex: '-1',
|
|
3268
3227
|
'aria-modal': 'true',
|
|
@@ -3270,10 +3229,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
3270
3229
|
'[attr.role]': '_config.role',
|
|
3271
3230
|
'[attr.aria-labelledby]': '_config.ariaLabel ? null : _ariaLabelledBy',
|
|
3272
3231
|
'[attr.aria-label]': '_config.ariaLabel',
|
|
3273
|
-
'[attr.aria-describedby]': '_config.ariaDescribedBy || null'
|
|
3274
|
-
'[@modalContainer]': '_state',
|
|
3275
|
-
'(@modalContainer.start)': '_onAnimationStart($event)',
|
|
3276
|
-
'(@modalContainer.done)': '_onAnimationDone($event)'
|
|
3232
|
+
'[attr.aria-describedby]': '_config.ariaDescribedBy || null'
|
|
3277
3233
|
}, 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"] }]
|
|
3278
3234
|
}] });
|
|
3279
3235
|
|
|
@@ -3366,6 +3322,9 @@ class BaoModalRef {
|
|
|
3366
3322
|
this._state = 1 /* CLOSING */;
|
|
3367
3323
|
this._containerInstance._startExitAnimation();
|
|
3368
3324
|
}
|
|
3325
|
+
startOpenAnimation() {
|
|
3326
|
+
this._containerInstance._startOpenAnimation();
|
|
3327
|
+
}
|
|
3369
3328
|
/**
|
|
3370
3329
|
* Gets an observable that is notified when the modal is finished opening.
|
|
3371
3330
|
*/
|
|
@@ -3471,14 +3430,14 @@ function _closeModalVia(ref, interactionType, result) {
|
|
|
3471
3430
|
}
|
|
3472
3431
|
|
|
3473
3432
|
/*
|
|
3474
|
-
* Copyright (c)
|
|
3433
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
3475
3434
|
* Licensed under the MIT license.
|
|
3476
3435
|
* See LICENSE file in the project root for full license information.
|
|
3477
3436
|
*/
|
|
3478
3437
|
/** Injection token that can be used to access the data that was passed in to a modal. */
|
|
3479
3438
|
const BAO_MODAL_DATA = new InjectionToken('BaoModalData');
|
|
3480
3439
|
class BaoModalBase {
|
|
3481
|
-
constructor(_overlay, _injector, _parentModal, _overlayContainer, _modalRefConstructor, _modalContainerType, _modalDataToken
|
|
3440
|
+
constructor(_overlay, _injector, _parentModal, _overlayContainer, _modalRefConstructor, _modalContainerType, _modalDataToken) {
|
|
3482
3441
|
this._overlay = _overlay;
|
|
3483
3442
|
this._injector = _injector;
|
|
3484
3443
|
this._parentModal = _parentModal;
|
|
@@ -3486,7 +3445,6 @@ class BaoModalBase {
|
|
|
3486
3445
|
this._modalRefConstructor = _modalRefConstructor;
|
|
3487
3446
|
this._modalContainerType = _modalContainerType;
|
|
3488
3447
|
this._modalDataToken = _modalDataToken;
|
|
3489
|
-
this._animationMode = _animationMode;
|
|
3490
3448
|
this.afterAllClosed = defer(() => this.openModals.length
|
|
3491
3449
|
? this.getAfterAllClosed()
|
|
3492
3450
|
: this.getAfterAllClosed().pipe(startWith(undefined)));
|
|
@@ -3526,21 +3484,6 @@ class BaoModalBase {
|
|
|
3526
3484
|
}
|
|
3527
3485
|
const overlayRef = this._createOverlay(conf);
|
|
3528
3486
|
const modalContainer = this._attachModalContainer(overlayRef, conf);
|
|
3529
|
-
if (this._animationMode !== 'NoopAnimations') {
|
|
3530
|
-
const animationStateSubscription = modalContainer._animationStateChanged.subscribe(modalAnimationEvent => {
|
|
3531
|
-
if (modalAnimationEvent.state === 'opening') {
|
|
3532
|
-
this._modalAnimatingOpen = true;
|
|
3533
|
-
}
|
|
3534
|
-
if (modalAnimationEvent.state === 'opened') {
|
|
3535
|
-
this._modalAnimatingOpen = false;
|
|
3536
|
-
animationStateSubscription.unsubscribe();
|
|
3537
|
-
}
|
|
3538
|
-
});
|
|
3539
|
-
if (!this._animationStateSubscriptions) {
|
|
3540
|
-
this._animationStateSubscriptions = new Subscription();
|
|
3541
|
-
}
|
|
3542
|
-
this._animationStateSubscriptions.add(animationStateSubscription);
|
|
3543
|
-
}
|
|
3544
3487
|
const modalRef = this._attachModalContent(componentOrTemplateRef, modalContainer, overlayRef, conf);
|
|
3545
3488
|
this._lastModalRef = modalRef;
|
|
3546
3489
|
// If this is the first modal that we're opening, hide all the non-overlay content.
|
|
@@ -3611,6 +3554,7 @@ class BaoModalBase {
|
|
|
3611
3554
|
});
|
|
3612
3555
|
const containerPortal = new ComponentPortal(this._modalContainerType, config.viewContainerRef, injector);
|
|
3613
3556
|
const containerRef = overlay.attach(containerPortal);
|
|
3557
|
+
containerRef.instance._startOpenAnimation();
|
|
3614
3558
|
return containerRef.instance;
|
|
3615
3559
|
}
|
|
3616
3560
|
/**
|
|
@@ -3725,16 +3669,16 @@ BaoModalBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "1
|
|
|
3725
3669
|
BaoModalBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.1", type: BaoModalBase, ngImport: i0 });
|
|
3726
3670
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoModalBase, decorators: [{
|
|
3727
3671
|
type: Directive
|
|
3728
|
-
}], 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 }
|
|
3672
|
+
}], 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 }]; } });
|
|
3729
3673
|
/**
|
|
3730
3674
|
* Service to open modal.
|
|
3731
3675
|
*/
|
|
3732
3676
|
class BaoModal extends BaoModalBase {
|
|
3733
|
-
constructor(overlay, injector, parentModal, overlayContainer
|
|
3734
|
-
super(overlay, injector, parentModal, overlayContainer, BaoModalRef, BaoModalContainer, BAO_MODAL_DATA
|
|
3677
|
+
constructor(overlay, injector, parentModal, overlayContainer) {
|
|
3678
|
+
super(overlay, injector, parentModal, overlayContainer, BaoModalRef, BaoModalContainer, BAO_MODAL_DATA);
|
|
3735
3679
|
}
|
|
3736
3680
|
}
|
|
3737
|
-
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 }
|
|
3681
|
+
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 });
|
|
3738
3682
|
BaoModal.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoModal });
|
|
3739
3683
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoModal, decorators: [{
|
|
3740
3684
|
type: Injectable
|
|
@@ -3743,16 +3687,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
3743
3687
|
type: Optional
|
|
3744
3688
|
}, {
|
|
3745
3689
|
type: SkipSelf
|
|
3746
|
-
}] }, { type: i1$4.OverlayContainer }
|
|
3747
|
-
type: Optional
|
|
3748
|
-
}, {
|
|
3749
|
-
type: Inject,
|
|
3750
|
-
args: [ANIMATION_MODULE_TYPE]
|
|
3751
|
-
}] }];
|
|
3690
|
+
}] }, { type: i1$4.OverlayContainer }];
|
|
3752
3691
|
} });
|
|
3753
3692
|
|
|
3754
3693
|
/*
|
|
3755
|
-
* Copyright (c)
|
|
3694
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
3756
3695
|
* Licensed under the MIT license.
|
|
3757
3696
|
* See LICENSE file in the project root for full license information.
|
|
3758
3697
|
*/
|
|
@@ -3833,7 +3772,7 @@ function getClosestDialog(element, openDialogs) {
|
|
|
3833
3772
|
}
|
|
3834
3773
|
|
|
3835
3774
|
/*
|
|
3836
|
-
* Copyright (c)
|
|
3775
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
3837
3776
|
* Licensed under the MIT license.
|
|
3838
3777
|
* See LICENSE file in the project root for full license information.
|
|
3839
3778
|
*/
|
|
@@ -3841,26 +3780,12 @@ const MODAL_DIRECTIVES = [BaoModalContainer, BaoModalClose];
|
|
|
3841
3780
|
class BaoModalModule {
|
|
3842
3781
|
}
|
|
3843
3782
|
BaoModalModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
3844
|
-
BaoModalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.1", ngImport: i0, type: BaoModalModule, declarations: [BaoModalContainer, BaoModalClose], imports: [CommonModule,
|
|
3845
|
-
|
|
3846
|
-
PortalModule,
|
|
3847
|
-
BrowserAnimationsModule,
|
|
3848
|
-
NoopAnimationsModule], exports: [BaoModalContainer, BaoModalClose] });
|
|
3849
|
-
BaoModalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoModalModule, providers: [BaoModal], imports: [CommonModule,
|
|
3850
|
-
OverlayModule,
|
|
3851
|
-
PortalModule,
|
|
3852
|
-
BrowserAnimationsModule,
|
|
3853
|
-
NoopAnimationsModule] });
|
|
3783
|
+
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] });
|
|
3784
|
+
BaoModalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoModalModule, providers: [BaoModal], imports: [CommonModule, OverlayModule, PortalModule] });
|
|
3854
3785
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoModalModule, decorators: [{
|
|
3855
3786
|
type: NgModule,
|
|
3856
3787
|
args: [{
|
|
3857
|
-
imports: [
|
|
3858
|
-
CommonModule,
|
|
3859
|
-
OverlayModule,
|
|
3860
|
-
PortalModule,
|
|
3861
|
-
BrowserAnimationsModule,
|
|
3862
|
-
NoopAnimationsModule
|
|
3863
|
-
],
|
|
3788
|
+
imports: [CommonModule, OverlayModule, PortalModule],
|
|
3864
3789
|
declarations: MODAL_DIRECTIVES,
|
|
3865
3790
|
exports: MODAL_DIRECTIVES,
|
|
3866
3791
|
providers: [BaoModal]
|
|
@@ -3868,7 +3793,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
3868
3793
|
}] });
|
|
3869
3794
|
|
|
3870
3795
|
/*
|
|
3871
|
-
* Copyright (c)
|
|
3796
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
3872
3797
|
* Licensed under the MIT license.
|
|
3873
3798
|
* See LICENSE file in the project root for full license information.
|
|
3874
3799
|
*/
|
|
@@ -3941,7 +3866,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
3941
3866
|
}] } });
|
|
3942
3867
|
|
|
3943
3868
|
/*
|
|
3944
|
-
* Copyright (c)
|
|
3869
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
3945
3870
|
* Licensed under the MIT license.
|
|
3946
3871
|
* See LICENSE file in the project root for full license information.
|
|
3947
3872
|
*/
|
|
@@ -3961,13 +3886,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
3961
3886
|
}] });
|
|
3962
3887
|
|
|
3963
3888
|
/*
|
|
3964
|
-
* Copyright (c)
|
|
3889
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
3965
3890
|
* Licensed under the MIT license.
|
|
3966
3891
|
* See LICENSE file in the project root for full license information.
|
|
3967
3892
|
*/
|
|
3968
3893
|
|
|
3969
3894
|
/*
|
|
3970
|
-
* Copyright (c)
|
|
3895
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
3971
3896
|
* Licensed under the MIT license.
|
|
3972
3897
|
* See LICENSE file in the project root for full license information.
|
|
3973
3898
|
*/
|
|
@@ -4365,6 +4290,13 @@ class BaoDropdownMenuTrigger {
|
|
|
4365
4290
|
originY: 'top',
|
|
4366
4291
|
overlayX: 'start',
|
|
4367
4292
|
overlayY: 'bottom'
|
|
4293
|
+
},
|
|
4294
|
+
{
|
|
4295
|
+
// top-right of the overlay is connected to bottom-left of the origin;
|
|
4296
|
+
originX: 'start',
|
|
4297
|
+
originY: 'bottom',
|
|
4298
|
+
overlayX: 'end',
|
|
4299
|
+
overlayY: 'top'
|
|
4368
4300
|
}
|
|
4369
4301
|
]),
|
|
4370
4302
|
backdropClass: 'bao-overlay-transparent-backdrop',
|
|
@@ -4484,7 +4416,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
4484
4416
|
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; } });
|
|
4485
4417
|
|
|
4486
4418
|
/*
|
|
4487
|
-
* Copyright (c)
|
|
4419
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
4488
4420
|
* Licensed under the MIT license.
|
|
4489
4421
|
* See LICENSE file in the project root for full license information.
|
|
4490
4422
|
*/
|
|
@@ -4524,13 +4456,512 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
4524
4456
|
}] });
|
|
4525
4457
|
|
|
4526
4458
|
/*
|
|
4527
|
-
* Copyright (c)
|
|
4459
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
4528
4460
|
* Licensed under the MIT license.
|
|
4529
4461
|
* See LICENSE file in the project root for full license information.
|
|
4530
4462
|
*/
|
|
4531
4463
|
|
|
4532
4464
|
/*
|
|
4533
|
-
* Copyright (c)
|
|
4465
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
4466
|
+
* Licensed under the MIT license.
|
|
4467
|
+
* See LICENSE file in the project root for full license information.
|
|
4468
|
+
*/
|
|
4469
|
+
const KILO_THRESHOLD = 1000;
|
|
4470
|
+
const MEGA_THRESHOLD = 1000000;
|
|
4471
|
+
class BaoFilePreviewComponent {
|
|
4472
|
+
constructor(elementRef, renderer) {
|
|
4473
|
+
this.elementRef = elementRef;
|
|
4474
|
+
this.renderer = renderer;
|
|
4475
|
+
/**
|
|
4476
|
+
* Is file loading
|
|
4477
|
+
*/
|
|
4478
|
+
this.isLoading = false;
|
|
4479
|
+
/**
|
|
4480
|
+
* True if projected content has no icon and file does not have a thumbnail.
|
|
4481
|
+
*/
|
|
4482
|
+
this.insertGenericIcon = false;
|
|
4483
|
+
this.thumbnailURL = '';
|
|
4484
|
+
}
|
|
4485
|
+
get nativeElement() {
|
|
4486
|
+
return this.elementRef.nativeElement;
|
|
4487
|
+
}
|
|
4488
|
+
get fileSize() {
|
|
4489
|
+
return this.formatSize(this.file.size);
|
|
4490
|
+
}
|
|
4491
|
+
ngAfterContentInit() {
|
|
4492
|
+
this.getThumbnail();
|
|
4493
|
+
this.setIcon();
|
|
4494
|
+
}
|
|
4495
|
+
setIcon() {
|
|
4496
|
+
// If no icon is in the projected content, generic icon is added
|
|
4497
|
+
const contentIcon = Array.from(this.nativeElement.children.item(0).children).find((el) => el.localName === 'bao-icon');
|
|
4498
|
+
if (!contentIcon) {
|
|
4499
|
+
this.insertGenericIcon = true;
|
|
4500
|
+
}
|
|
4501
|
+
else {
|
|
4502
|
+
this.renderer.addClass(contentIcon, 'bao-file-media');
|
|
4503
|
+
}
|
|
4504
|
+
}
|
|
4505
|
+
getThumbnail() {
|
|
4506
|
+
if (this.file &&
|
|
4507
|
+
(this.file.type === 'image/png' || this.file.type === 'image/jpeg')) {
|
|
4508
|
+
const reader = new FileReader();
|
|
4509
|
+
reader.onload = (event) => {
|
|
4510
|
+
this.thumbnailURL = event.target.result;
|
|
4511
|
+
};
|
|
4512
|
+
reader.onerror = () => {
|
|
4513
|
+
this.thumbnailURL = '';
|
|
4514
|
+
};
|
|
4515
|
+
reader.readAsDataURL(this.file);
|
|
4516
|
+
}
|
|
4517
|
+
}
|
|
4518
|
+
formatSize(size) {
|
|
4519
|
+
if (size >= KILO_THRESHOLD && size / KILO_THRESHOLD < KILO_THRESHOLD) {
|
|
4520
|
+
return this.getSizeAndUnit(size, KILO_THRESHOLD, 'Ko');
|
|
4521
|
+
}
|
|
4522
|
+
const sizeDividedByKoMultiplicator = size / KILO_THRESHOLD;
|
|
4523
|
+
if (sizeDividedByKoMultiplicator >= KILO_THRESHOLD) {
|
|
4524
|
+
const toFixed = sizeDividedByKoMultiplicator > 10 ? 0 : 1;
|
|
4525
|
+
return this.getSizeAndUnit(size, MEGA_THRESHOLD, 'Mo', toFixed);
|
|
4526
|
+
}
|
|
4527
|
+
return `${size} octets`;
|
|
4528
|
+
}
|
|
4529
|
+
getSizeAndUnit(size, multiplicator, unit, toFixed = 0) {
|
|
4530
|
+
return `${(size / multiplicator).toFixed(toFixed)} ${unit}`;
|
|
4531
|
+
}
|
|
4532
|
+
}
|
|
4533
|
+
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 });
|
|
4534
|
+
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 });
|
|
4535
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoFilePreviewComponent, decorators: [{
|
|
4536
|
+
type: Component,
|
|
4537
|
+
args: [{ selector: 'bao-file-preview, [bao-file-preview]', encapsulation: ViewEncapsulation.None, host: {
|
|
4538
|
+
class: 'bao-file-preview'
|
|
4539
|
+
}, 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"] }]
|
|
4540
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { file: [{
|
|
4541
|
+
type: Input
|
|
4542
|
+
}], isLoading: [{
|
|
4543
|
+
type: Input
|
|
4544
|
+
}] } });
|
|
4545
|
+
|
|
4546
|
+
/*
|
|
4547
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
4548
|
+
* Licensed under the MIT license.
|
|
4549
|
+
* See LICENSE file in the project root for full license information.
|
|
4550
|
+
*/
|
|
4551
|
+
/**
|
|
4552
|
+
* To modify the labels and text displayed, create a new instance of BaoFileIntl and
|
|
4553
|
+
* include it in a custom provider
|
|
4554
|
+
*/
|
|
4555
|
+
class BaoFileIntl {
|
|
4556
|
+
constructor() {
|
|
4557
|
+
/**
|
|
4558
|
+
* Stream to emit from when labels are changed. Use this to notify components when the labels have
|
|
4559
|
+
* changed after initialization.
|
|
4560
|
+
*/
|
|
4561
|
+
this.changes = new Subject();
|
|
4562
|
+
/** The label for button in dropzone */
|
|
4563
|
+
this.dropzoneButtonLabel = 'Parcourir';
|
|
4564
|
+
/** The default dropzone instructions */
|
|
4565
|
+
this.defaultDropzoneInstructions = 'ou déposer votre fichier ici';
|
|
4566
|
+
/** Error message displayed when uploaded file is too large */
|
|
4567
|
+
this.fileTooBigErrorMessage = 'La taille de ce fichier est trop grande';
|
|
4568
|
+
/** Error message displayed when uploaded file has an invalid type */
|
|
4569
|
+
this.invalidFileTypeErrorMessage = "Ce format de fichier n'est pas autorisé";
|
|
4570
|
+
}
|
|
4571
|
+
}
|
|
4572
|
+
BaoFileIntl.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoFileIntl, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4573
|
+
BaoFileIntl.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoFileIntl, providedIn: 'root' });
|
|
4574
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoFileIntl, decorators: [{
|
|
4575
|
+
type: Injectable,
|
|
4576
|
+
args: [{ providedIn: 'root' }]
|
|
4577
|
+
}] });
|
|
4578
|
+
class BaoFileIntlEnglish extends BaoFileIntl {
|
|
4579
|
+
constructor() {
|
|
4580
|
+
super(...arguments);
|
|
4581
|
+
/** The label for button in dropzone */
|
|
4582
|
+
this.dropzoneButtonLabel = 'Browse';
|
|
4583
|
+
/** The default dropzone instructions */
|
|
4584
|
+
this.defaultDropzoneInstructions = 'or drop your file here';
|
|
4585
|
+
/** Error message displayed when uploaded file is too large */
|
|
4586
|
+
this.fileTooBigErrorMessage = 'The size of this file is too large';
|
|
4587
|
+
/** Error message displayed when uploaded file has an invalid type */
|
|
4588
|
+
this.invalidFileTypeErrorMessage = 'The format of this file is unauthorized';
|
|
4589
|
+
}
|
|
4590
|
+
}
|
|
4591
|
+
BaoFileIntlEnglish.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoFileIntlEnglish, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
4592
|
+
BaoFileIntlEnglish.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoFileIntlEnglish });
|
|
4593
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoFileIntlEnglish, decorators: [{
|
|
4594
|
+
type: Injectable
|
|
4595
|
+
}] });
|
|
4596
|
+
/** @docs-private */
|
|
4597
|
+
function BAO_FILE_INTL_PROVIDER_FACTORY(parentIntl) {
|
|
4598
|
+
return parentIntl || new BaoFileIntl();
|
|
4599
|
+
}
|
|
4600
|
+
/** @docs-private */
|
|
4601
|
+
const BAO_FILE_INTL_PROVIDER = {
|
|
4602
|
+
// If there is already an BaoFileIntl available, use that. Otherwise, provide a new one.
|
|
4603
|
+
provide: BaoFileIntl,
|
|
4604
|
+
deps: [[new Optional(), new SkipSelf(), BaoFileIntl]],
|
|
4605
|
+
useFactory: BAO_FILE_INTL_PROVIDER_FACTORY
|
|
4606
|
+
};
|
|
4607
|
+
|
|
4608
|
+
/*
|
|
4609
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
4610
|
+
* Licensed under the MIT license.
|
|
4611
|
+
* See LICENSE file in the project root for full license information.
|
|
4612
|
+
*/
|
|
4613
|
+
/**
|
|
4614
|
+
* Unique number to generate a unique ID
|
|
4615
|
+
*/
|
|
4616
|
+
let fileInputUniqueId = 0;
|
|
4617
|
+
let fileTextUniqueId = 0;
|
|
4618
|
+
class BaoFileInputComponent {
|
|
4619
|
+
constructor(intl, elementRef, renderer, cdr) {
|
|
4620
|
+
this.intl = intl;
|
|
4621
|
+
this.elementRef = elementRef;
|
|
4622
|
+
this.renderer = renderer;
|
|
4623
|
+
this.cdr = cdr;
|
|
4624
|
+
/**
|
|
4625
|
+
* Size of the file input label
|
|
4626
|
+
*/
|
|
4627
|
+
this.size = 'medium';
|
|
4628
|
+
/**
|
|
4629
|
+
* Maximum size accepted for uploaded files
|
|
4630
|
+
*/
|
|
4631
|
+
this.maximalFileSize = -1;
|
|
4632
|
+
/**
|
|
4633
|
+
* Accepted types of files
|
|
4634
|
+
*/
|
|
4635
|
+
this.acceptedMIMETypes = [];
|
|
4636
|
+
/**
|
|
4637
|
+
* Is field required
|
|
4638
|
+
*/
|
|
4639
|
+
this.required = false;
|
|
4640
|
+
/**
|
|
4641
|
+
* Is field disabled
|
|
4642
|
+
*/
|
|
4643
|
+
this.disabled = false;
|
|
4644
|
+
/**
|
|
4645
|
+
* File selected to be uploaded
|
|
4646
|
+
*/
|
|
4647
|
+
this.uploadedFile = new EventEmitter();
|
|
4648
|
+
this.insertDefaultInstructions = false;
|
|
4649
|
+
this.isFileTooBig = false;
|
|
4650
|
+
this.isFileTypeInvalid = false;
|
|
4651
|
+
/**
|
|
4652
|
+
* Saves the registerOnChange function so the component can call it whenever it wants.
|
|
4653
|
+
*/
|
|
4654
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function, @typescript-eslint/no-unused-vars
|
|
4655
|
+
this.propagateChange = (_) => { };
|
|
4656
|
+
/**
|
|
4657
|
+
* Saves the registerOnTouched function so the component can call it whenever it wants.
|
|
4658
|
+
*/
|
|
4659
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
4660
|
+
this.propagateTouched = () => { };
|
|
4661
|
+
this._intlChanges = intl.changes.subscribe(() => this.cdr.markForCheck());
|
|
4662
|
+
}
|
|
4663
|
+
get nativeElement() {
|
|
4664
|
+
return this.elementRef.nativeElement;
|
|
4665
|
+
}
|
|
4666
|
+
enterKeyEvent() {
|
|
4667
|
+
if (document.activeElement.id === this.inputId) {
|
|
4668
|
+
document.getElementById(this.inputId).click();
|
|
4669
|
+
}
|
|
4670
|
+
}
|
|
4671
|
+
tabKeyEvent() {
|
|
4672
|
+
if (document.activeElement.id === this.inputId) {
|
|
4673
|
+
this.renderer.addClass(this.dropzoneElement.nativeElement, 'dropzone-focus');
|
|
4674
|
+
}
|
|
4675
|
+
}
|
|
4676
|
+
shiftTabKeyEvent() {
|
|
4677
|
+
if (document.activeElement.id === this.inputId) {
|
|
4678
|
+
this.renderer.addClass(this.dropzoneElement.nativeElement, 'dropzone-focus');
|
|
4679
|
+
}
|
|
4680
|
+
}
|
|
4681
|
+
ngAfterContentInit() {
|
|
4682
|
+
this._errorForm.changes.subscribe(() => this.setErrorTextsAttribute());
|
|
4683
|
+
if (!this.inputId) {
|
|
4684
|
+
this.inputId = `file-input-${fileInputUniqueId++}`;
|
|
4685
|
+
}
|
|
4686
|
+
// If no content was added for dropzone instructions, add default text.
|
|
4687
|
+
const dropzoneElement = Array.from(this.nativeElement.children).find((el) => el.className === 'file-drop-zone');
|
|
4688
|
+
if (!Array.from(dropzoneElement.children).find(el => el.localName === 'bao-file-dropzone-instructions')) {
|
|
4689
|
+
this.insertDefaultInstructions = true;
|
|
4690
|
+
}
|
|
4691
|
+
this.setDescribedByAttribute();
|
|
4692
|
+
this._files.changes.subscribe((files) => {
|
|
4693
|
+
const filesList = files.map((el) => el.file);
|
|
4694
|
+
this.setValue(filesList);
|
|
4695
|
+
});
|
|
4696
|
+
}
|
|
4697
|
+
ngAfterViewInit() {
|
|
4698
|
+
this._errorTexts.changes.subscribe(() => this.setErrorTextsAttribute());
|
|
4699
|
+
}
|
|
4700
|
+
ngOnDestroy() {
|
|
4701
|
+
this._intlChanges.unsubscribe();
|
|
4702
|
+
}
|
|
4703
|
+
/**
|
|
4704
|
+
* Implements ControlValueAccessor interface
|
|
4705
|
+
*/
|
|
4706
|
+
writeValue(obj) {
|
|
4707
|
+
this._value = obj;
|
|
4708
|
+
}
|
|
4709
|
+
/**
|
|
4710
|
+
* Implements ControlValueAccessor interface
|
|
4711
|
+
*/
|
|
4712
|
+
registerOnChange(fn) {
|
|
4713
|
+
this.propagateChange = fn;
|
|
4714
|
+
}
|
|
4715
|
+
/**
|
|
4716
|
+
* Implements ControlValueAccessor interface
|
|
4717
|
+
*/
|
|
4718
|
+
registerOnTouched(fn) {
|
|
4719
|
+
this.propagateTouched = fn;
|
|
4720
|
+
}
|
|
4721
|
+
/**
|
|
4722
|
+
* Implements ControlValueAccessor interface
|
|
4723
|
+
*/
|
|
4724
|
+
setDisabledState(isDisabled) {
|
|
4725
|
+
this.disabled = isDisabled;
|
|
4726
|
+
}
|
|
4727
|
+
uploadFile(file) {
|
|
4728
|
+
if (!this.disabled) {
|
|
4729
|
+
this.isFileTypeInvalid = false;
|
|
4730
|
+
this.isFileTooBig = false;
|
|
4731
|
+
this.uploader.nativeElement.value = '';
|
|
4732
|
+
if (this.maximalFileSize > 0 && file.size > this.maximalFileSize) {
|
|
4733
|
+
this.isFileTooBig = true;
|
|
4734
|
+
}
|
|
4735
|
+
if (this.acceptedMIMETypes.length > 0 &&
|
|
4736
|
+
this.acceptedMIMETypes.indexOf(file.type) < 0) {
|
|
4737
|
+
this.isFileTypeInvalid = true;
|
|
4738
|
+
}
|
|
4739
|
+
if (!this.isFileTooBig && !this.isFileTypeInvalid) {
|
|
4740
|
+
this.uploadedFile.emit(file);
|
|
4741
|
+
}
|
|
4742
|
+
}
|
|
4743
|
+
}
|
|
4744
|
+
setValue(value) {
|
|
4745
|
+
this._value = value;
|
|
4746
|
+
this.propagateChange(this._value);
|
|
4747
|
+
this.propagateTouched();
|
|
4748
|
+
}
|
|
4749
|
+
setDescribedByAttribute() {
|
|
4750
|
+
const helperText = Array.from(this.nativeElement.children).find((el) => el.localName === 'bao-guiding-text');
|
|
4751
|
+
if (helperText) {
|
|
4752
|
+
this._helperTextId = `bao-guiding-text-${fileTextUniqueId++}`;
|
|
4753
|
+
this.renderer.setAttribute(helperText.firstElementChild, 'id', this._helperTextId);
|
|
4754
|
+
const inputElement = Array.from(this.nativeElement.children)
|
|
4755
|
+
.find((el) => el.className == 'file-drop-zone')
|
|
4756
|
+
.children.item(1);
|
|
4757
|
+
this.renderer.setAttribute(inputElement, 'aria-describedby', this._helperTextId);
|
|
4758
|
+
}
|
|
4759
|
+
}
|
|
4760
|
+
setErrorTextsAttribute() {
|
|
4761
|
+
const textsIds = [];
|
|
4762
|
+
const errors = Array.from(this.nativeElement.children).filter((el) => el.localName == 'bao-error');
|
|
4763
|
+
errors.forEach((errorText) => {
|
|
4764
|
+
const errorTextId = `bao-error-${fileTextUniqueId++}`;
|
|
4765
|
+
this.renderer.setAttribute(errorText.firstElementChild, 'id', errorTextId);
|
|
4766
|
+
textsIds.push(errorTextId);
|
|
4767
|
+
});
|
|
4768
|
+
const inputElement = Array.from(this.nativeElement.children)
|
|
4769
|
+
.find((el) => el.classList.contains('file-drop-zone'))
|
|
4770
|
+
.children.item(1);
|
|
4771
|
+
if (this._helperTextId) {
|
|
4772
|
+
textsIds.unshift(this._helperTextId);
|
|
4773
|
+
}
|
|
4774
|
+
this.renderer.setAttribute(inputElement, 'aria-describedby', textsIds.join(' '));
|
|
4775
|
+
}
|
|
4776
|
+
}
|
|
4777
|
+
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 });
|
|
4778
|
+
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: [
|
|
4779
|
+
{
|
|
4780
|
+
provide: NG_VALUE_ACCESSOR,
|
|
4781
|
+
// tslint:disable-next-line:no-forward-ref
|
|
4782
|
+
useExisting: forwardRef(() => BaoFileInputComponent),
|
|
4783
|
+
multi: true
|
|
4784
|
+
}
|
|
4785
|
+
], 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 });
|
|
4786
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoFileInputComponent, decorators: [{
|
|
4787
|
+
type: Component,
|
|
4788
|
+
args: [{ selector: 'bao-file-input, [bao-file-input]', providers: [
|
|
4789
|
+
{
|
|
4790
|
+
provide: NG_VALUE_ACCESSOR,
|
|
4791
|
+
// tslint:disable-next-line:no-forward-ref
|
|
4792
|
+
useExisting: forwardRef(() => BaoFileInputComponent),
|
|
4793
|
+
multi: true
|
|
4794
|
+
}
|
|
4795
|
+
], encapsulation: ViewEncapsulation.None, host: {
|
|
4796
|
+
class: 'bao-file-input',
|
|
4797
|
+
'[class.bao-file-label-small]': 'size === "small"',
|
|
4798
|
+
'[class.bao-file-label-medium]': 'size === "medium"',
|
|
4799
|
+
'[class.bao-file-input-disabled]': 'disabled'
|
|
4800
|
+
}, 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"] }]
|
|
4801
|
+
}], ctorParameters: function () { return [{ type: BaoFileIntl }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { inputId: [{
|
|
4802
|
+
type: Input,
|
|
4803
|
+
args: ['id']
|
|
4804
|
+
}], label: [{
|
|
4805
|
+
type: Input
|
|
4806
|
+
}], size: [{
|
|
4807
|
+
type: Input
|
|
4808
|
+
}], maximalFileSize: [{
|
|
4809
|
+
type: Input
|
|
4810
|
+
}], acceptedMIMETypes: [{
|
|
4811
|
+
type: Input
|
|
4812
|
+
}], required: [{
|
|
4813
|
+
type: Input
|
|
4814
|
+
}], disabled: [{
|
|
4815
|
+
type: Input
|
|
4816
|
+
}], uploadedFile: [{
|
|
4817
|
+
type: Output
|
|
4818
|
+
}], _files: [{
|
|
4819
|
+
type: ContentChildren,
|
|
4820
|
+
args: [BaoFilePreviewComponent, { descendants: true }]
|
|
4821
|
+
}], _errorForm: [{
|
|
4822
|
+
type: ContentChildren,
|
|
4823
|
+
args: [BaoErrorTextComponent, { descendants: true }]
|
|
4824
|
+
}], _errorTexts: [{
|
|
4825
|
+
type: ViewChildren,
|
|
4826
|
+
args: [BaoErrorTextComponent]
|
|
4827
|
+
}], uploader: [{
|
|
4828
|
+
type: ViewChild,
|
|
4829
|
+
args: ['uploader', { static: false }]
|
|
4830
|
+
}], dropzoneElement: [{
|
|
4831
|
+
type: ViewChild,
|
|
4832
|
+
args: ['dropzone', { static: false }]
|
|
4833
|
+
}], enterKeyEvent: [{
|
|
4834
|
+
type: HostListener,
|
|
4835
|
+
args: ['window:keyup.enter']
|
|
4836
|
+
}], tabKeyEvent: [{
|
|
4837
|
+
type: HostListener,
|
|
4838
|
+
args: ['window:keyup.tab']
|
|
4839
|
+
}], shiftTabKeyEvent: [{
|
|
4840
|
+
type: HostListener,
|
|
4841
|
+
args: ['window:keyup.shift.tab']
|
|
4842
|
+
}] } });
|
|
4843
|
+
class BaoFileDropDirective {
|
|
4844
|
+
constructor() {
|
|
4845
|
+
this.fileDrop = new EventEmitter();
|
|
4846
|
+
this._isDragOver = false;
|
|
4847
|
+
}
|
|
4848
|
+
onDragOver(event) {
|
|
4849
|
+
this.preventAndStop(event);
|
|
4850
|
+
this._isDragOver = true;
|
|
4851
|
+
}
|
|
4852
|
+
onDragLeave(event) {
|
|
4853
|
+
this.preventAndStop(event);
|
|
4854
|
+
this._isDragOver = false;
|
|
4855
|
+
}
|
|
4856
|
+
onDrop(event) {
|
|
4857
|
+
this.preventAndStop(event);
|
|
4858
|
+
this._isDragOver = false;
|
|
4859
|
+
const transfer = this.getDataTransfer(event);
|
|
4860
|
+
this.fileDrop.emit(transfer.files[0]);
|
|
4861
|
+
}
|
|
4862
|
+
preventAndStop(event) {
|
|
4863
|
+
event.preventDefault();
|
|
4864
|
+
event.stopPropagation();
|
|
4865
|
+
}
|
|
4866
|
+
getDataTransfer(event) {
|
|
4867
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return
|
|
4868
|
+
return event.dataTransfer
|
|
4869
|
+
? event.dataTransfer
|
|
4870
|
+
: event.originalEvent.dataTransfer;
|
|
4871
|
+
}
|
|
4872
|
+
}
|
|
4873
|
+
BaoFileDropDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoFileDropDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
4874
|
+
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 });
|
|
4875
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoFileDropDirective, decorators: [{
|
|
4876
|
+
type: Directive,
|
|
4877
|
+
args: [{
|
|
4878
|
+
selector: '[baoFileDrop]',
|
|
4879
|
+
host: { '[class.drag-over]': '_isDragOver == true' }
|
|
4880
|
+
}]
|
|
4881
|
+
}], propDecorators: { fileDrop: [{
|
|
4882
|
+
type: Output
|
|
4883
|
+
}], onDragOver: [{
|
|
4884
|
+
type: HostListener,
|
|
4885
|
+
args: ['dragover', ['$event']]
|
|
4886
|
+
}], onDragLeave: [{
|
|
4887
|
+
type: HostListener,
|
|
4888
|
+
args: ['dragleave', ['$event']]
|
|
4889
|
+
}], onDrop: [{
|
|
4890
|
+
type: HostListener,
|
|
4891
|
+
args: ['drop', ['$event']]
|
|
4892
|
+
}] } });
|
|
4893
|
+
class BaoFileDropzoneIntructions {
|
|
4894
|
+
constructor(renderer, elementRef) {
|
|
4895
|
+
this.renderer = renderer;
|
|
4896
|
+
this.elementRef = elementRef;
|
|
4897
|
+
}
|
|
4898
|
+
get nativeElement() {
|
|
4899
|
+
return this.elementRef.nativeElement;
|
|
4900
|
+
}
|
|
4901
|
+
ngAfterContentInit() {
|
|
4902
|
+
this.renderer.setAttribute(this.nativeElement, 'aria-hidden', 'true');
|
|
4903
|
+
}
|
|
4904
|
+
}
|
|
4905
|
+
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 });
|
|
4906
|
+
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 });
|
|
4907
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoFileDropzoneIntructions, decorators: [{
|
|
4908
|
+
type: Directive,
|
|
4909
|
+
args: [{
|
|
4910
|
+
selector: 'bao-file-dropzone-instructions, [bao-file-dropzone-instructions]',
|
|
4911
|
+
host: {
|
|
4912
|
+
class: 'bao-file-dropzone-instructions'
|
|
4913
|
+
}
|
|
4914
|
+
}]
|
|
4915
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; } });
|
|
4916
|
+
|
|
4917
|
+
/*
|
|
4918
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
4919
|
+
* Licensed under the MIT license.
|
|
4920
|
+
* See LICENSE file in the project root for full license information.
|
|
4921
|
+
*/
|
|
4922
|
+
const FILE_DIRECTIVES = [
|
|
4923
|
+
BaoFileInputComponent,
|
|
4924
|
+
BaoFileDropzoneIntructions,
|
|
4925
|
+
BaoFileDropDirective,
|
|
4926
|
+
BaoFilePreviewComponent
|
|
4927
|
+
];
|
|
4928
|
+
class BaoFileModule {
|
|
4929
|
+
}
|
|
4930
|
+
BaoFileModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoFileModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
4931
|
+
BaoFileModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.1", ngImport: i0, type: BaoFileModule, declarations: [BaoFileInputComponent,
|
|
4932
|
+
BaoFileDropzoneIntructions,
|
|
4933
|
+
BaoFileDropDirective,
|
|
4934
|
+
BaoFilePreviewComponent], imports: [CommonModule,
|
|
4935
|
+
BaoDropdownMenuModule,
|
|
4936
|
+
BaoCommonComponentsModule,
|
|
4937
|
+
BaoIconModule,
|
|
4938
|
+
BaoButtonModule], exports: [BaoFileInputComponent,
|
|
4939
|
+
BaoFileDropzoneIntructions,
|
|
4940
|
+
BaoFileDropDirective,
|
|
4941
|
+
BaoFilePreviewComponent] });
|
|
4942
|
+
BaoFileModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoFileModule, providers: [BAO_FILE_INTL_PROVIDER], imports: [CommonModule,
|
|
4943
|
+
BaoDropdownMenuModule,
|
|
4944
|
+
BaoCommonComponentsModule,
|
|
4945
|
+
BaoIconModule,
|
|
4946
|
+
BaoButtonModule] });
|
|
4947
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: BaoFileModule, decorators: [{
|
|
4948
|
+
type: NgModule,
|
|
4949
|
+
args: [{
|
|
4950
|
+
imports: [
|
|
4951
|
+
CommonModule,
|
|
4952
|
+
BaoDropdownMenuModule,
|
|
4953
|
+
BaoCommonComponentsModule,
|
|
4954
|
+
BaoIconModule,
|
|
4955
|
+
BaoButtonModule
|
|
4956
|
+
],
|
|
4957
|
+
declarations: [FILE_DIRECTIVES],
|
|
4958
|
+
exports: [FILE_DIRECTIVES],
|
|
4959
|
+
providers: [BAO_FILE_INTL_PROVIDER]
|
|
4960
|
+
}]
|
|
4961
|
+
}] });
|
|
4962
|
+
|
|
4963
|
+
/*
|
|
4964
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
4534
4965
|
* Licensed under the MIT license.
|
|
4535
4966
|
* See LICENSE file in the project root for full license information.
|
|
4536
4967
|
*/
|
|
@@ -4541,7 +4972,8 @@ BaoModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.
|
|
|
4541
4972
|
BaoButtonModule,
|
|
4542
4973
|
BaoAlertModule,
|
|
4543
4974
|
BaoCardModule,
|
|
4544
|
-
BaoBreadcrumbModule
|
|
4975
|
+
BaoBreadcrumbModule,
|
|
4976
|
+
BaoModalModule], exports: [BaoIconModule,
|
|
4545
4977
|
BaoButtonModule,
|
|
4546
4978
|
BaoAlertModule,
|
|
4547
4979
|
BaoBreadcrumbModule,
|
|
@@ -4557,7 +4989,8 @@ BaoModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.
|
|
|
4557
4989
|
BaoTabsModule,
|
|
4558
4990
|
BaoModalModule,
|
|
4559
4991
|
BaoHyperlinkModule,
|
|
4560
|
-
BaoDropdownMenuModule
|
|
4992
|
+
BaoDropdownMenuModule,
|
|
4993
|
+
BaoFileModule
|
|
4561
4994
|
// TODO: reactivate once component does not depend on global css BaoBadgeModule,
|
|
4562
4995
|
// TODO: reactivate once component does not depend on global css BaoSnackBarModule,
|
|
4563
4996
|
] });
|
|
@@ -4565,7 +4998,8 @@ BaoModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.
|
|
|
4565
4998
|
BaoButtonModule,
|
|
4566
4999
|
BaoAlertModule,
|
|
4567
5000
|
BaoCardModule,
|
|
4568
|
-
BaoBreadcrumbModule,
|
|
5001
|
+
BaoBreadcrumbModule,
|
|
5002
|
+
BaoModalModule, BaoIconModule,
|
|
4569
5003
|
BaoButtonModule,
|
|
4570
5004
|
BaoAlertModule,
|
|
4571
5005
|
BaoBreadcrumbModule,
|
|
@@ -4581,7 +5015,8 @@ BaoModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.
|
|
|
4581
5015
|
BaoTabsModule,
|
|
4582
5016
|
BaoModalModule,
|
|
4583
5017
|
BaoHyperlinkModule,
|
|
4584
|
-
BaoDropdownMenuModule
|
|
5018
|
+
BaoDropdownMenuModule,
|
|
5019
|
+
BaoFileModule
|
|
4585
5020
|
// TODO: reactivate once component does not depend on global css BaoBadgeModule,
|
|
4586
5021
|
// TODO: reactivate once component does not depend on global css BaoSnackBarModule,
|
|
4587
5022
|
] });
|
|
@@ -4593,7 +5028,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
4593
5028
|
BaoButtonModule,
|
|
4594
5029
|
BaoAlertModule,
|
|
4595
5030
|
BaoCardModule,
|
|
4596
|
-
BaoBreadcrumbModule
|
|
5031
|
+
BaoBreadcrumbModule,
|
|
5032
|
+
BaoModalModule
|
|
4597
5033
|
],
|
|
4598
5034
|
exports: [
|
|
4599
5035
|
BaoIconModule,
|
|
@@ -4612,7 +5048,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
4612
5048
|
BaoTabsModule,
|
|
4613
5049
|
BaoModalModule,
|
|
4614
5050
|
BaoHyperlinkModule,
|
|
4615
|
-
BaoDropdownMenuModule
|
|
5051
|
+
BaoDropdownMenuModule,
|
|
5052
|
+
BaoFileModule
|
|
4616
5053
|
// TODO: reactivate once component does not depend on global css BaoBadgeModule,
|
|
4617
5054
|
// TODO: reactivate once component does not depend on global css BaoSnackBarModule,
|
|
4618
5055
|
]
|
|
@@ -4620,7 +5057,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
4620
5057
|
}] });
|
|
4621
5058
|
|
|
4622
5059
|
/*
|
|
4623
|
-
* Copyright (c)
|
|
5060
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
4624
5061
|
* Licensed under the MIT license.
|
|
4625
5062
|
* See LICENSE file in the project root for full license information.
|
|
4626
5063
|
*/
|
|
@@ -4645,7 +5082,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
4645
5082
|
}] } });
|
|
4646
5083
|
|
|
4647
5084
|
/*
|
|
4648
|
-
* Copyright (c)
|
|
5085
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
4649
5086
|
* Licensed under the MIT license.
|
|
4650
5087
|
* See LICENSE file in the project root for full license information.
|
|
4651
5088
|
*/
|
|
@@ -4665,25 +5102,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
4665
5102
|
}] });
|
|
4666
5103
|
|
|
4667
5104
|
/*
|
|
4668
|
-
* Copyright (c)
|
|
5105
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
5106
|
+
* Licensed under the MIT license.
|
|
5107
|
+
* See LICENSE file in the project root for full license information.
|
|
5108
|
+
*/
|
|
5109
|
+
|
|
5110
|
+
/*
|
|
5111
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
4669
5112
|
* Licensed under the MIT license.
|
|
4670
5113
|
* See LICENSE file in the project root for full license information.
|
|
4671
5114
|
*/
|
|
4672
5115
|
|
|
4673
5116
|
/*
|
|
4674
|
-
* Copyright (c)
|
|
5117
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
4675
5118
|
* Licensed under the MIT license.
|
|
4676
5119
|
* See LICENSE file in the project root for full license information.
|
|
4677
5120
|
*/
|
|
4678
5121
|
|
|
4679
5122
|
/*
|
|
4680
|
-
* Copyright (c)
|
|
5123
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
4681
5124
|
* Licensed under the MIT license.
|
|
4682
5125
|
* See LICENSE file in the project root for full license information.
|
|
4683
5126
|
*/
|
|
4684
5127
|
|
|
4685
5128
|
/*
|
|
4686
|
-
* Copyright (c)
|
|
5129
|
+
* Copyright (c) 2023 Ville de Montreal. All rights reserved.
|
|
4687
5130
|
* Licensed under the MIT license.
|
|
4688
5131
|
* See LICENSE file in the project root for full license information.
|
|
4689
5132
|
*/
|
|
@@ -4692,5 +5135,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
4692
5135
|
* Generated bundle index. Do not edit.
|
|
4693
5136
|
*/
|
|
4694
5137
|
|
|
4695
|
-
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 };
|
|
5138
|
+
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 };
|
|
4696
5139
|
//# sourceMappingURL=villedemontreal-angular-ui.mjs.map
|