@villedemontreal/angular-ui 16.2.1 → 16.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/esm2022/lib/alert/alert.component.mjs +2 -2
  2. package/esm2022/lib/alert/index.mjs +2 -2
  3. package/esm2022/lib/alert/module.mjs +2 -2
  4. package/esm2022/lib/avatar/avatar.component.mjs +2 -2
  5. package/esm2022/lib/avatar/index.mjs +2 -2
  6. package/esm2022/lib/avatar/module.mjs +2 -2
  7. package/esm2022/lib/badge/badge.component.mjs +2 -2
  8. package/esm2022/lib/badge/index.mjs +2 -2
  9. package/esm2022/lib/badge/module.mjs +2 -2
  10. package/esm2022/lib/bao.module.mjs +2 -2
  11. package/esm2022/lib/breadcrumb/breadcrumb.component.mjs +2 -2
  12. package/esm2022/lib/breadcrumb/index.mjs +2 -2
  13. package/esm2022/lib/breadcrumb/module.mjs +2 -2
  14. package/esm2022/lib/button/button.component.mjs +2 -2
  15. package/esm2022/lib/button/index.mjs +2 -2
  16. package/esm2022/lib/button/module.mjs +2 -2
  17. package/esm2022/lib/card/card.component.mjs +2 -2
  18. package/esm2022/lib/card/index.mjs +2 -2
  19. package/esm2022/lib/card/module.mjs +2 -2
  20. package/esm2022/lib/checkbox/checkbox-group.component.mjs +2 -2
  21. package/esm2022/lib/checkbox/checkbox.component.mjs +1 -1
  22. package/esm2022/lib/checkbox/index.mjs +2 -2
  23. package/esm2022/lib/checkbox/module.mjs +2 -2
  24. package/esm2022/lib/common-components/error-text/errorText.component.mjs +2 -2
  25. package/esm2022/lib/common-components/guiding-text/guidingText.component.mjs +2 -2
  26. package/esm2022/lib/common-components/index.mjs +2 -2
  27. package/esm2022/lib/common-components/label-text/labelText.component.mjs +2 -2
  28. package/esm2022/lib/common-components/module.mjs +2 -2
  29. package/esm2022/lib/common-components/title-text/titleText.component.mjs +2 -2
  30. package/esm2022/lib/core/breakpoints.mjs +2 -2
  31. package/esm2022/lib/core/colors.mjs +1 -1
  32. package/esm2022/lib/core/index.mjs +2 -2
  33. package/esm2022/lib/dropdown-menu/dropdown-menu.component.mjs +2 -2
  34. package/esm2022/lib/dropdown-menu/index.mjs +2 -2
  35. package/esm2022/lib/dropdown-menu/module.mjs +2 -2
  36. package/esm2022/lib/file/file-input.component.mjs +18 -9
  37. package/esm2022/lib/file/file-intl.mjs +2 -2
  38. package/esm2022/lib/file/file-preview.component.mjs +2 -2
  39. package/esm2022/lib/file/index.mjs +2 -2
  40. package/esm2022/lib/file/module.mjs +2 -2
  41. package/esm2022/lib/header-info/header-info.component.mjs +2 -2
  42. package/esm2022/lib/header-info/index.mjs +2 -2
  43. package/esm2022/lib/header-info/module.mjs +2 -2
  44. package/esm2022/lib/hyperlink/hyperlink.component.mjs +2 -2
  45. package/esm2022/lib/hyperlink/index.mjs +2 -2
  46. package/esm2022/lib/hyperlink/module.mjs +2 -2
  47. package/esm2022/lib/icon/bao-icon-registry.mjs +2 -2
  48. package/esm2022/lib/icon/icon.component.mjs +2 -2
  49. package/esm2022/lib/icon/icons-dictionary.mjs +2 -2
  50. package/esm2022/lib/icon/index.mjs +2 -2
  51. package/esm2022/lib/icon/module.mjs +2 -2
  52. package/esm2022/lib/list/index.mjs +2 -2
  53. package/esm2022/lib/list/list.component.mjs +2 -2
  54. package/esm2022/lib/list/module.mjs +2 -2
  55. package/esm2022/lib/message-bar/index.mjs +2 -2
  56. package/esm2022/lib/message-bar/message-bar.component.mjs +2 -2
  57. package/esm2022/lib/message-bar/module.mjs +2 -2
  58. package/esm2022/lib/modal/index.mjs +2 -2
  59. package/esm2022/lib/modal/modal-config.mjs +10 -2
  60. package/esm2022/lib/modal/modal-container.mjs +3 -3
  61. package/esm2022/lib/modal/modal-directives.mjs +2 -2
  62. package/esm2022/lib/modal/modal-ref.mjs +21 -18
  63. package/esm2022/lib/modal/modal.mjs +87 -15
  64. package/esm2022/lib/modal/module.mjs +2 -2
  65. package/esm2022/lib/pagination/index.mjs +2 -2
  66. package/esm2022/lib/pagination/module.mjs +2 -2
  67. package/esm2022/lib/pagination/pagination.component.mjs +8 -2
  68. package/esm2022/lib/radio/index.mjs +2 -2
  69. package/esm2022/lib/radio/module.mjs +2 -2
  70. package/esm2022/lib/radio/radio-group.component.mjs +2 -2
  71. package/esm2022/lib/radio/radio.component.mjs +1 -1
  72. package/esm2022/lib/shared/enum/display-mode.mjs +1 -1
  73. package/esm2022/lib/shared/index.mjs +2 -2
  74. package/esm2022/lib/snack-bar/index.mjs +2 -2
  75. package/esm2022/lib/snack-bar/module.mjs +2 -2
  76. package/esm2022/lib/snack-bar/simple-snack-bar.component.mjs +2 -2
  77. package/esm2022/lib/snack-bar/snack-bar-animations.mjs +2 -2
  78. package/esm2022/lib/snack-bar/snack-bar-config.mjs +1 -1
  79. package/esm2022/lib/snack-bar/snack-bar-container.mjs +1 -1
  80. package/esm2022/lib/snack-bar/snack-bar-ref.mjs +1 -1
  81. package/esm2022/lib/snack-bar/snack-bar.mjs +1 -1
  82. package/esm2022/lib/summary/index.mjs +2 -2
  83. package/esm2022/lib/summary/list-summary.component.mjs +2 -2
  84. package/esm2022/lib/summary/module.mjs +2 -2
  85. package/esm2022/lib/summary/summary.component.mjs +2 -2
  86. package/esm2022/lib/system-header/index.mjs +2 -2
  87. package/esm2022/lib/system-header/module.mjs +2 -2
  88. package/esm2022/lib/system-header/system-header.component.mjs +1 -1
  89. package/esm2022/lib/tabs/index.mjs +2 -2
  90. package/esm2022/lib/tabs/module.mjs +2 -2
  91. package/esm2022/lib/tabs/tabs.component.mjs +2 -2
  92. package/esm2022/lib/tag/index.mjs +2 -2
  93. package/esm2022/lib/tag/module.mjs +2 -2
  94. package/esm2022/lib/tag/tag.component.mjs +2 -2
  95. package/esm2022/public-api.mjs +2 -2
  96. package/fesm2022/villedemontreal-angular-ui.mjs +219 -122
  97. package/fesm2022/villedemontreal-angular-ui.mjs.map +1 -1
  98. package/lib/modal/modal-config.d.ts +12 -1
  99. package/lib/modal/modal.d.ts +3 -3
  100. package/package.json +1 -1
@@ -9,7 +9,7 @@ import * as i3$1 from '@angular/forms';
9
9
  import { NG_VALUE_ACCESSOR, FormsModule, ReactiveFormsModule } from '@angular/forms';
10
10
  import * as i1$3 from '@angular/cdk/a11y';
11
11
  import * as i1$4 from '@angular/cdk/overlay';
12
- import { OverlayConfig, OverlayModule } from '@angular/cdk/overlay';
12
+ import { OverlayConfig, OverlayModule, GlobalPositionStrategy } from '@angular/cdk/overlay';
13
13
  import * as i3 from '@angular/cdk/portal';
14
14
  import { DomPortal, PortalModule, BasePortalOutlet, CdkPortalOutlet, ComponentPortal, TemplatePortal, PortalInjector } from '@angular/cdk/portal';
15
15
  import { Subject, filter, take, defer, startWith } from 'rxjs';
@@ -48,7 +48,7 @@ function baoColorToHex(baoColor) {
48
48
  }
49
49
 
50
50
  /*
51
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
51
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
52
52
  * Licensed under the MIT license.
53
53
  * See LICENSE file in the project root for full license information.
54
54
  */
@@ -177,7 +177,7 @@ const ICONS_DCT = {
177
177
  const ILLUSTRATIVE_ICONS = ['icon-error-octagon'];
178
178
 
179
179
  /*
180
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
180
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
181
181
  * Licensed under the MIT license.
182
182
  * See LICENSE file in the project root for full license information.
183
183
  */
@@ -219,7 +219,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
219
219
  }] }, { type: i1.DomSanitizer }]; } });
220
220
 
221
221
  /*
222
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
222
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
223
223
  * Licensed under the MIT license.
224
224
  * See LICENSE file in the project root for full license information.
225
225
  */
@@ -373,7 +373,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
373
373
  }] } });
374
374
 
375
375
  /*
376
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
376
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
377
377
  * Licensed under the MIT license.
378
378
  * See LICENSE file in the project root for full license information.
379
379
  */
@@ -393,7 +393,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
393
393
  }] });
394
394
 
395
395
  /*
396
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
396
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
397
397
  * Licensed under the MIT license.
398
398
  * See LICENSE file in the project root for full license information.
399
399
  */
@@ -489,7 +489,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
489
489
  }] } });
490
490
 
491
491
  /*
492
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
492
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
493
493
  * Licensed under the MIT license.
494
494
  * See LICENSE file in the project root for full license information.
495
495
  */
@@ -509,7 +509,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
509
509
  }] });
510
510
 
511
511
  /*
512
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
512
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
513
513
  * Licensed under the MIT license.
514
514
  * See LICENSE file in the project root for full license information.
515
515
  */
@@ -673,7 +673,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
673
673
  }] } });
674
674
 
675
675
  /*
676
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
676
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
677
677
  * Licensed under the MIT license.
678
678
  * See LICENSE file in the project root for full license information.
679
679
  */
@@ -708,13 +708,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
708
708
  }] });
709
709
 
710
710
  /*
711
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
711
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
712
712
  * Licensed under the MIT license.
713
713
  * See LICENSE file in the project root for full license information.
714
714
  */
715
715
 
716
716
  /*
717
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
717
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
718
718
  * Licensed under the MIT license.
719
719
  * See LICENSE file in the project root for full license information.
720
720
  */
@@ -814,7 +814,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
814
814
  }] } });
815
815
 
816
816
  /*
817
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
817
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
818
818
  * Licensed under the MIT license.
819
819
  * See LICENSE file in the project root for full license information.
820
820
  */
@@ -834,13 +834,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
834
834
  }] });
835
835
 
836
836
  /*
837
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
837
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
838
838
  * Licensed under the MIT license.
839
839
  * See LICENSE file in the project root for full license information.
840
840
  */
841
841
 
842
842
  /*
843
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
843
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
844
844
  * Licensed under the MIT license.
845
845
  * See LICENSE file in the project root for full license information.
846
846
  */
@@ -865,7 +865,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
865
865
  }] } });
866
866
 
867
867
  /*
868
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
868
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
869
869
  * Licensed under the MIT license.
870
870
  * See LICENSE file in the project root for full license information.
871
871
  */
@@ -885,13 +885,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
885
885
  }] });
886
886
 
887
887
  /*
888
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
888
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
889
889
  * Licensed under the MIT license.
890
890
  * See LICENSE file in the project root for full license information.
891
891
  */
892
892
 
893
893
  /*
894
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
894
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
895
895
  * Licensed under the MIT license.
896
896
  * See LICENSE file in the project root for full license information.
897
897
  */
@@ -924,7 +924,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
924
924
  }] } });
925
925
 
926
926
  /*
927
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
927
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
928
928
  * Licensed under the MIT license.
929
929
  * See LICENSE file in the project root for full license information.
930
930
  */
@@ -944,19 +944,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
944
944
  }] });
945
945
 
946
946
  /*
947
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
947
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
948
948
  * Licensed under the MIT license.
949
949
  * See LICENSE file in the project root for full license information.
950
950
  */
951
951
 
952
952
  /*
953
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
953
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
954
954
  * Licensed under the MIT license.
955
955
  * See LICENSE file in the project root for full license information.
956
956
  */
957
957
 
958
958
  /*
959
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
959
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
960
960
  * Licensed under the MIT license.
961
961
  * See LICENSE file in the project root for full license information.
962
962
  */
@@ -1048,7 +1048,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
1048
1048
  }] });
1049
1049
 
1050
1050
  /*
1051
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
1051
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
1052
1052
  * Licensed under the MIT license.
1053
1053
  * See LICENSE file in the project root for full license information.
1054
1054
  */
@@ -1082,13 +1082,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
1082
1082
  }] });
1083
1083
 
1084
1084
  /*
1085
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
1085
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
1086
1086
  * Licensed under the MIT license.
1087
1087
  * See LICENSE file in the project root for full license information.
1088
1088
  */
1089
1089
 
1090
1090
  /*
1091
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
1091
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
1092
1092
  * Licensed under the MIT license.
1093
1093
  * See LICENSE file in the project root for full license information.
1094
1094
  */
@@ -1102,7 +1102,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
1102
1102
  }] });
1103
1103
 
1104
1104
  /*
1105
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
1105
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
1106
1106
  * Licensed under the MIT license.
1107
1107
  * See LICENSE file in the project root for full license information.
1108
1108
  */
@@ -1116,7 +1116,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
1116
1116
  }] });
1117
1117
 
1118
1118
  /*
1119
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
1119
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
1120
1120
  * Licensed under the MIT license.
1121
1121
  * See LICENSE file in the project root for full license information.
1122
1122
  */
@@ -1135,7 +1135,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
1135
1135
  }] } });
1136
1136
 
1137
1137
  /*
1138
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
1138
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
1139
1139
  * Licensed under the MIT license.
1140
1140
  * See LICENSE file in the project root for full license information.
1141
1141
  */
@@ -1149,7 +1149,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
1149
1149
  }] });
1150
1150
 
1151
1151
  /*
1152
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
1152
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
1153
1153
  * Licensed under the MIT license.
1154
1154
  * See LICENSE file in the project root for full license information.
1155
1155
  */
@@ -1180,7 +1180,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
1180
1180
  }] });
1181
1181
 
1182
1182
  /*
1183
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
1183
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
1184
1184
  * Licensed under the MIT license.
1185
1185
  * See LICENSE file in the project root for full license information.
1186
1186
  */
@@ -1535,7 +1535,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
1535
1535
  }] });
1536
1536
 
1537
1537
  /*
1538
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
1538
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
1539
1539
  * Licensed under the MIT license.
1540
1540
  * See LICENSE file in the project root for full license information.
1541
1541
  */
@@ -1563,19 +1563,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
1563
1563
  }] });
1564
1564
 
1565
1565
  /*
1566
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
1566
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
1567
1567
  * Licensed under the MIT license.
1568
1568
  * See LICENSE file in the project root for full license information.
1569
1569
  */
1570
1570
 
1571
1571
  /*
1572
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
1572
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
1573
1573
  * Licensed under the MIT license.
1574
1574
  * See LICENSE file in the project root for full license information.
1575
1575
  */
1576
1576
 
1577
1577
  /*
1578
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
1578
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
1579
1579
  * Licensed under the MIT license.
1580
1580
  * See LICENSE file in the project root for full license information.
1581
1581
  */
@@ -2143,7 +2143,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
2143
2143
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; } });
2144
2144
 
2145
2145
  /*
2146
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
2146
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
2147
2147
  * Licensed under the MIT license.
2148
2148
  * See LICENSE file in the project root for full license information.
2149
2149
  */
@@ -2183,13 +2183,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
2183
2183
  }] });
2184
2184
 
2185
2185
  /*
2186
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
2186
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
2187
2187
  * Licensed under the MIT license.
2188
2188
  * See LICENSE file in the project root for full license information.
2189
2189
  */
2190
2190
 
2191
2191
  /*
2192
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
2192
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
2193
2193
  * Licensed under the MIT license.
2194
2194
  * See LICENSE file in the project root for full license information.
2195
2195
  */
@@ -2281,7 +2281,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
2281
2281
  }] } });
2282
2282
 
2283
2283
  /*
2284
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
2284
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
2285
2285
  * Licensed under the MIT license.
2286
2286
  * See LICENSE file in the project root for full license information.
2287
2287
  */
@@ -2343,7 +2343,7 @@ const BAO_FILE_INTL_PROVIDER = {
2343
2343
  };
2344
2344
 
2345
2345
  /*
2346
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
2346
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
2347
2347
  * Licensed under the MIT license.
2348
2348
  * See LICENSE file in the project root for full license information.
2349
2349
  */
@@ -2484,14 +2484,23 @@ class BaoFileInputComponent {
2484
2484
  this.propagateTouched();
2485
2485
  }
2486
2486
  setDescribedByAttribute() {
2487
+ this._helperTextId = `bao-guiding-text-${fileTextUniqueId++}`;
2488
+ const buttonText = `${this._helperTextId}-label`;
2489
+ const describedbyIds = [];
2487
2490
  const helperText = Array.from(this.nativeElement.children).find((el) => el.localName === 'bao-guiding-text');
2488
2491
  if (helperText) {
2489
- this._helperTextId = `bao-guiding-text-${fileTextUniqueId++}`;
2492
+ describedbyIds.push(this._helperTextId);
2490
2493
  this.renderer.setAttribute(helperText.firstElementChild, 'id', this._helperTextId);
2491
- const inputElement = Array.from(this.nativeElement.children)
2492
- .find((el) => el.className == 'file-drop-zone')
2493
- .children.item(1);
2494
- this.renderer.setAttribute(inputElement, 'aria-describedby', this._helperTextId);
2494
+ }
2495
+ const inputElement = Array.from(this.nativeElement.children)
2496
+ .find((el) => el.className == 'file-drop-zone')
2497
+ .children.item(0);
2498
+ if (inputElement) {
2499
+ describedbyIds.push(buttonText);
2500
+ this.renderer.setAttribute(inputElement.firstElementChild, 'id', buttonText);
2501
+ }
2502
+ if (describedbyIds.length) {
2503
+ this.renderer.setAttribute(inputElement, 'aria-describedby', describedbyIds.filter(String).join(' '));
2495
2504
  }
2496
2505
  }
2497
2506
  setErrorTextsAttribute() {
@@ -2518,7 +2527,7 @@ class BaoFileInputComponent {
2518
2527
  useExisting: forwardRef(() => BaoFileInputComponent),
2519
2528
  multi: true
2520
2529
  }
2521
- ], 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 }); }
2530
+ ], 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\n bao-label\n [required]=\"required\"\n [for]=\"inputId\"\n [id]=\"inputId + '-label'\"\n >{{ label }}</label\n>\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 [id]=\"inputId + '-button'\"\n [attr.aria-labelledby]=\"inputId + '-label'\"\n type=\"button\"\n displayType=\"utility\"\n level=\"secondary\"\n [disabled]=\"disabled\"\n (click)=\"uploader.click()\"\n >\n <span>{{ intl.dropzoneButtonLabel }}</span>\n </button>\n <input\n [id]=\"inputId\"\n type=\"file\"\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>input{display:none}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 }); }
2522
2531
  }
2523
2532
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BaoFileInputComponent, decorators: [{
2524
2533
  type: Component,
@@ -2534,7 +2543,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
2534
2543
  '[class.bao-file-label-small]': 'size === "small"',
2535
2544
  '[class.bao-file-label-medium]': 'size === "medium"',
2536
2545
  '[class.bao-file-input-disabled]': 'disabled'
2537
- }, 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"] }]
2546
+ }, template: "<label\n bao-label\n [required]=\"required\"\n [for]=\"inputId\"\n [id]=\"inputId + '-label'\"\n >{{ label }}</label\n>\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 [id]=\"inputId + '-button'\"\n [attr.aria-labelledby]=\"inputId + '-label'\"\n type=\"button\"\n displayType=\"utility\"\n level=\"secondary\"\n [disabled]=\"disabled\"\n (click)=\"uploader.click()\"\n >\n <span>{{ intl.dropzoneButtonLabel }}</span>\n </button>\n <input\n [id]=\"inputId\"\n type=\"file\"\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>input{display:none}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"] }]
2538
2547
  }], ctorParameters: function () { return [{ type: BaoFileIntl }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { inputId: [{
2539
2548
  type: Input,
2540
2549
  args: ['id']
@@ -2652,13 +2661,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
2652
2661
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; } });
2653
2662
 
2654
2663
  /*
2655
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
2664
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
2656
2665
  * Licensed under the MIT license.
2657
2666
  * See LICENSE file in the project root for full license information.
2658
2667
  */
2659
2668
 
2660
2669
  /*
2661
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
2670
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
2662
2671
  * Licensed under the MIT license.
2663
2672
  * See LICENSE file in the project root for full license information.
2664
2673
  */
@@ -2704,7 +2713,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
2704
2713
  }] });
2705
2714
 
2706
2715
  /*
2707
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
2716
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
2708
2717
  * Licensed under the MIT license.
2709
2718
  * See LICENSE file in the project root for full license information.
2710
2719
  */
@@ -2805,7 +2814,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
2805
2814
  }] });
2806
2815
 
2807
2816
  /*
2808
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
2817
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
2809
2818
  * Licensed under the MIT license.
2810
2819
  * See LICENSE file in the project root for full license information.
2811
2820
  */
@@ -2842,13 +2851,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
2842
2851
  }] });
2843
2852
 
2844
2853
  /*
2845
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
2854
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
2846
2855
  * Licensed under the MIT license.
2847
2856
  * See LICENSE file in the project root for full license information.
2848
2857
  */
2849
2858
 
2850
2859
  /*
2851
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
2860
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
2852
2861
  * Licensed under the MIT license.
2853
2862
  * See LICENSE file in the project root for full license information.
2854
2863
  */
@@ -2930,7 +2939,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
2930
2939
  }] } });
2931
2940
 
2932
2941
  /*
2933
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
2942
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
2934
2943
  * Licensed under the MIT license.
2935
2944
  * See LICENSE file in the project root for full license information.
2936
2945
  */
@@ -2950,13 +2959,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
2950
2959
  }] });
2951
2960
 
2952
2961
  /*
2953
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
2962
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
2954
2963
  * Licensed under the MIT license.
2955
2964
  * See LICENSE file in the project root for full license information.
2956
2965
  */
2957
2966
 
2958
2967
  /*
2959
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
2968
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
2960
2969
  * Licensed under the MIT license.
2961
2970
  * See LICENSE file in the project root for full license information.
2962
2971
  */
@@ -3027,7 +3036,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
3027
3036
  }] });
3028
3037
 
3029
3038
  /*
3030
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
3039
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
3031
3040
  * Licensed under the MIT license.
3032
3041
  * See LICENSE file in the project root for full license information.
3033
3042
  */
@@ -3061,13 +3070,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
3061
3070
  }] });
3062
3071
 
3063
3072
  /*
3064
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
3073
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
3065
3074
  * Licensed under the MIT license.
3066
3075
  * See LICENSE file in the project root for full license information.
3067
3076
  */
3068
3077
 
3069
3078
  /*
3070
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
3079
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
3071
3080
  * Licensed under the MIT license.
3072
3081
  * See LICENSE file in the project root for full license information.
3073
3082
  */
@@ -3150,7 +3159,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
3150
3159
  }] } });
3151
3160
 
3152
3161
  /*
3153
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
3162
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
3154
3163
  * Licensed under the MIT license.
3155
3164
  * See LICENSE file in the project root for full license information.
3156
3165
  */
@@ -3169,22 +3178,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
3169
3178
  }] });
3170
3179
 
3171
3180
  /*
3172
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
3181
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
3173
3182
  * Licensed under the MIT license.
3174
3183
  * See LICENSE file in the project root for full license information.
3175
3184
  */
3176
3185
 
3177
3186
  /*
3178
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
3187
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
3179
3188
  * Licensed under the MIT license.
3180
3189
  * See LICENSE file in the project root for full license information.
3181
3190
  */
3191
+ const FILTER_MODAL_WIDTH = '360px';
3182
3192
  var eModalDesktopWidthSize;
3183
3193
  (function (eModalDesktopWidthSize) {
3184
3194
  eModalDesktopWidthSize["SMALL"] = "bao-modal-sm";
3185
3195
  eModalDesktopWidthSize["MEDIUM"] = "bao-modal-md";
3186
3196
  eModalDesktopWidthSize["LARGE"] = "bao-modal-lg"; // Full width minus 32px (global margin : left and rigth)
3187
3197
  })(eModalDesktopWidthSize || (eModalDesktopWidthSize = {}));
3198
+ var eModalVariant;
3199
+ (function (eModalVariant) {
3200
+ eModalVariant["GLOBAL"] = "global";
3201
+ eModalVariant["FILTER"] = "filter";
3202
+ })(eModalVariant || (eModalVariant = {}));
3188
3203
  var eModalMobileWidthSize;
3189
3204
  (function (eModalMobileWidthSize) {
3190
3205
  eModalMobileWidthSize["FULL"] = "bao-modal-mobil-full";
@@ -3219,6 +3234,8 @@ class BaoModalInitialConfig {
3219
3234
  this.ariaLabelledBy = null;
3220
3235
  /** Aria label to assign to the dialog element. */
3221
3236
  this.ariaLabel = null;
3237
+ /** Modal variant (default or filter). */
3238
+ this.variant = eModalVariant.GLOBAL;
3222
3239
  /**
3223
3240
  * Where the dialog should focus on open.
3224
3241
  */
@@ -3455,7 +3472,7 @@ class BaoModalContainer extends _BaoModalContainerBase {
3455
3472
  this._animationStateChanged.next({ state: 'opened', totalTime });
3456
3473
  }
3457
3474
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BaoModalContainer, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
3458
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", 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;max-height:calc(100% - 4rem)}}@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;max-height:calc(100% - 4rem)}.cdk-overlay-pane.bao-modal-sm{width:500px;height:auto;max-height:calc(100% - 4rem)}}.cdk-overlay-backdrop{position:absolute;inset: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;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 }); }
3475
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", 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;max-height:calc(100% - 4rem)}}@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;max-height:calc(100% - 4rem)}.cdk-overlay-pane.bao-modal-sm{width:500px;height:auto;max-height:calc(100% - 4rem)}}.cdk-overlay-backdrop{position:absolute;inset: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;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-filter .bao-modal-container{box-shadow:0 .5rem 2rem #00000026;overflow:auto;max-height:calc(100vh - 16px);width:inherit}.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-global .bao-modal-body{padding:2rem}}.bao-modal-global .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-global .bao-modal-footer.bao-modal-footer-order{justify-content:unset;flex-direction:column-reverse}.bao-modal-global .bao-modal-footer button{text-align:center}.bao-modal-global .bao-modal-footer .bao-button-primary,.bao-modal-global .bao-modal-footer .bao-button-secondary{width:100%;display:block}.bao-modal-global .bao-modal-footer .bao-button-secondary{margin-bottom:.5rem}.bao-modal-global .bao-modal-footer .bao-button-tertiary{display:none}@media (min-width: 768px){.bao-modal-global .bao-modal-footer{justify-content:flex-end}.bao-modal-global .bao-modal-footer.bao-modal-footer-order{flex-direction:row-reverse}.bao-modal-global .bao-modal-footer .bao-button-primary{margin-left:1rem}.bao-modal-global .bao-modal-footer .bao-button-secondary{margin-bottom:0}.bao-modal-global .bao-modal-footer .bao-button-primary,.bao-modal-global .bao-modal-footer .bao-button-secondary{width:auto}.bao-modal-global .bao-modal-footer .bao-button-tertiary{display:block}}.bao-modal-filter .bao-modal-footer{display:flex;justify-content:space-between;padding:1rem;border-top:1px solid #ced4da;border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.bao-modal-filter .bao-modal-footer>button{flex-grow:1;justify-content:center}.bao-modal-filter .bao-modal-footer>button:first-child{margin-right:1rem}\n"], dependencies: [{ kind: "directive", type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
3459
3476
  }
3460
3477
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BaoModalContainer, decorators: [{
3461
3478
  type: Component,
@@ -3468,7 +3485,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
3468
3485
  '[attr.aria-labelledby]': '_config.ariaLabel ? null : _ariaLabelledBy',
3469
3486
  '[attr.aria-label]': '_config.ariaLabel',
3470
3487
  '[attr.aria-describedby]': '_config.ariaDescribedBy || null'
3471
- }, 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;max-height:calc(100% - 4rem)}}@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;max-height:calc(100% - 4rem)}.cdk-overlay-pane.bao-modal-sm{width:500px;height:auto;max-height:calc(100% - 4rem)}}.cdk-overlay-backdrop{position:absolute;inset: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;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"] }]
3488
+ }, 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;max-height:calc(100% - 4rem)}}@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;max-height:calc(100% - 4rem)}.cdk-overlay-pane.bao-modal-sm{width:500px;height:auto;max-height:calc(100% - 4rem)}}.cdk-overlay-backdrop{position:absolute;inset: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;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-filter .bao-modal-container{box-shadow:0 .5rem 2rem #00000026;overflow:auto;max-height:calc(100vh - 16px);width:inherit}.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-global .bao-modal-body{padding:2rem}}.bao-modal-global .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-global .bao-modal-footer.bao-modal-footer-order{justify-content:unset;flex-direction:column-reverse}.bao-modal-global .bao-modal-footer button{text-align:center}.bao-modal-global .bao-modal-footer .bao-button-primary,.bao-modal-global .bao-modal-footer .bao-button-secondary{width:100%;display:block}.bao-modal-global .bao-modal-footer .bao-button-secondary{margin-bottom:.5rem}.bao-modal-global .bao-modal-footer .bao-button-tertiary{display:none}@media (min-width: 768px){.bao-modal-global .bao-modal-footer{justify-content:flex-end}.bao-modal-global .bao-modal-footer.bao-modal-footer-order{flex-direction:row-reverse}.bao-modal-global .bao-modal-footer .bao-button-primary{margin-left:1rem}.bao-modal-global .bao-modal-footer .bao-button-secondary{margin-bottom:0}.bao-modal-global .bao-modal-footer .bao-button-primary,.bao-modal-global .bao-modal-footer .bao-button-secondary{width:auto}.bao-modal-global .bao-modal-footer .bao-button-tertiary{display:block}}.bao-modal-filter .bao-modal-footer{display:flex;justify-content:space-between;padding:1rem;border-top:1px solid #ced4da;border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.bao-modal-filter .bao-modal-footer>button{flex-grow:1;justify-content:center}.bao-modal-filter .bao-modal-footer>button:first-child{margin-right:1rem}\n"] }]
3472
3489
  }] });
3473
3490
 
3474
3491
  // Counter for unique modal ids.
@@ -3598,21 +3615,24 @@ class BaoModalRef {
3598
3615
  */
3599
3616
  updatePosition(position) {
3600
3617
  const strategy = this._getPositionStrategy();
3601
- if (position && (position.left || position.right)) {
3602
- position.left
3603
- ? strategy.left(position.left)
3604
- : strategy.right(position.right);
3605
- }
3606
- else {
3607
- strategy.centerHorizontally();
3608
- }
3609
- if (position && (position.top || position.bottom)) {
3610
- position.top
3611
- ? strategy.top(position.top)
3612
- : strategy.bottom(position.bottom);
3613
- }
3614
- else {
3615
- strategy.centerVertically();
3618
+ // Only apply custom position for GlobalPositionStrategy
3619
+ if (strategy instanceof GlobalPositionStrategy) {
3620
+ if (position && (position.left || position.right)) {
3621
+ position.left
3622
+ ? strategy.left(position.left)
3623
+ : strategy.right(position.right);
3624
+ }
3625
+ else {
3626
+ strategy.centerHorizontally();
3627
+ }
3628
+ if (position && (position.top || position.bottom)) {
3629
+ position.top
3630
+ ? strategy.top(position.top)
3631
+ : strategy.bottom(position.bottom);
3632
+ }
3633
+ else {
3634
+ strategy.centerVertically();
3635
+ }
3616
3636
  }
3617
3637
  this._overlayRef.updatePosition();
3618
3638
  return this;
@@ -3649,8 +3669,7 @@ class BaoModalRef {
3649
3669
  }
3650
3670
  /** Fetches the position strategy object from the overlay ref. */
3651
3671
  _getPositionStrategy() {
3652
- return this._overlayRef.getConfig()
3653
- .positionStrategy;
3672
+ return this._overlayRef.getConfig().positionStrategy;
3654
3673
  }
3655
3674
  }
3656
3675
  /**
@@ -3668,7 +3687,7 @@ function _closeModalVia(ref, interactionType, result) {
3668
3687
  }
3669
3688
 
3670
3689
  /*
3671
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
3690
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
3672
3691
  * Licensed under the MIT license.
3673
3692
  * See LICENSE file in the project root for full license information.
3674
3693
  */
@@ -3770,15 +3789,71 @@ class BaoModalBase {
3770
3789
  * Creates an overlay config from a modal config.
3771
3790
  */
3772
3791
  _getOverlayConfig(config) {
3792
+ let positionStrategy;
3793
+ let hasBackdrop = config.hasBackdrop;
3794
+ let backdropClass = config.backdropClass;
3795
+ if (config.variant === eModalVariant.FILTER && config.triggerElement) {
3796
+ // Use connected positioning for filter variant
3797
+ positionStrategy = this._overlay
3798
+ .position()
3799
+ .flexibleConnectedTo(config.triggerElement.nativeElement)
3800
+ .withLockedPosition()
3801
+ .withGrowAfterOpen()
3802
+ .withPositions([
3803
+ {
3804
+ // top-left of the overlay is connected to bottom-left of the origin;
3805
+ originX: 'start',
3806
+ originY: 'bottom',
3807
+ overlayX: 'start',
3808
+ overlayY: 'top'
3809
+ },
3810
+ {
3811
+ // bottom-left of the overlay is connected to top-left of the origin;
3812
+ originX: 'start',
3813
+ originY: 'top',
3814
+ overlayX: 'start',
3815
+ overlayY: 'bottom'
3816
+ },
3817
+ {
3818
+ // top-right of the overlay is connected to bottom-right of the origin;
3819
+ originX: 'end',
3820
+ originY: 'bottom',
3821
+ overlayX: 'end',
3822
+ overlayY: 'top'
3823
+ },
3824
+ {
3825
+ // bottom-right of the overlay is connected to top-right of the origin;
3826
+ originX: 'end',
3827
+ originY: 'top',
3828
+ overlayX: 'end',
3829
+ overlayY: 'bottom'
3830
+ }
3831
+ ]);
3832
+ // Filter variant should have transparent backdrop
3833
+ hasBackdrop = true;
3834
+ backdropClass = 'bao-overlay-transparent-backdrop';
3835
+ }
3836
+ else {
3837
+ // Use global positioning for default variant
3838
+ positionStrategy = this._overlay.position().global();
3839
+ }
3773
3840
  const state = new OverlayConfig({
3774
- positionStrategy: this._overlay.position().global(),
3841
+ positionStrategy,
3775
3842
  scrollStrategy: this._overlay.scrollStrategies.block(),
3776
3843
  panelClass: config.panelClass,
3777
- hasBackdrop: config.hasBackdrop,
3778
- disposeOnNavigation: config.closeOnNavigation
3844
+ hasBackdrop,
3845
+ disposeOnNavigation: config.closeOnNavigation,
3846
+ // Set dimensions for filter variant in OverlayConfig instead of via updateSize()
3847
+ width: config.variant === eModalVariant.FILTER
3848
+ ? FILTER_MODAL_WIDTH
3849
+ : config.width,
3850
+ minWidth: config.minWidth,
3851
+ minHeight: config.minHeight,
3852
+ maxWidth: config.maxWidth,
3853
+ maxHeight: config.maxHeight
3779
3854
  });
3780
- if (config.backdropClass) {
3781
- state.backdropClass = config.backdropClass;
3855
+ if (backdropClass) {
3856
+ state.backdropClass = backdropClass;
3782
3857
  }
3783
3858
  return state;
3784
3859
  }
@@ -3814,9 +3889,13 @@ class BaoModalBase {
3814
3889
  const contentRef = modalContainer.attachComponentPortal(new ComponentPortal(componentOrTemplateRef, config.viewContainerRef, injector));
3815
3890
  modalRef.componentInstance = contentRef.instance;
3816
3891
  }
3817
- modalRef
3818
- .updateSize(config.width, config.height)
3819
- .updatePosition(config.position);
3892
+ // Only update size and position for global variant
3893
+ // Filter variant dimensions are set in OverlayConfig and positioning is handled by FlexibleConnectedPositionStrategy
3894
+ if (config.variant !== eModalVariant.FILTER) {
3895
+ modalRef
3896
+ .updateSize(config.width, config.height)
3897
+ .updatePosition(config.position);
3898
+ }
3820
3899
  return modalRef;
3821
3900
  }
3822
3901
  /**
@@ -3897,12 +3976,24 @@ class BaoModalBase {
3897
3976
  const mobilClass = config?.mobileSize || eModalMobileWidthSize.FULL;
3898
3977
  const data = config?.data || null;
3899
3978
  const ariaLabelledBy = config?.ariaLabelledBy || null;
3979
+ const variant = config?.variant || eModalVariant.GLOBAL;
3980
+ const triggerElement = config?.triggerElement;
3981
+ // Add variant class for styling
3982
+ const variantClass = variant === eModalVariant.FILTER
3983
+ ? 'bao-modal-filter'
3984
+ : 'bao-modal-global';
3985
+ // Filter variant does not have responsive css classes
3986
+ const panelClass = variant === eModalVariant.FILTER
3987
+ ? [variantClass]
3988
+ : [desktopClass, mobilClass, variantClass];
3900
3989
  return {
3901
3990
  ...defaultOptions,
3902
3991
  ...{
3903
- panelClass: [desktopClass, mobilClass],
3992
+ panelClass,
3904
3993
  ariaLabelledBy,
3905
- data
3994
+ data,
3995
+ variant,
3996
+ triggerElement
3906
3997
  }
3907
3998
  };
3908
3999
  }
@@ -3931,7 +4022,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
3931
4022
  }] }, { type: i1$4.OverlayContainer }]; } });
3932
4023
 
3933
4024
  /*
3934
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
4025
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
3935
4026
  * Licensed under the MIT license.
3936
4027
  * See LICENSE file in the project root for full license information.
3937
4028
  */
@@ -4010,7 +4101,7 @@ function getClosestDialog(element, openDialogs) {
4010
4101
  }
4011
4102
 
4012
4103
  /*
4013
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
4104
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
4014
4105
  * Licensed under the MIT license.
4015
4106
  * See LICENSE file in the project root for full license information.
4016
4107
  */
@@ -4031,7 +4122,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
4031
4122
  }] });
4032
4123
 
4033
4124
  /*
4034
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
4125
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
4035
4126
  * Licensed under the MIT license.
4036
4127
  * See LICENSE file in the project root for full license information.
4037
4128
  */
@@ -4119,6 +4210,12 @@ class BaoPaginationComponent {
4119
4210
  if (changes.hasOwnProperty('currentPage')) {
4120
4211
  this.displayedPages = this.buildPageNumbers();
4121
4212
  }
4213
+ if (changes.hasOwnProperty('totalItems')) {
4214
+ this.startItem = this.updateStartItem();
4215
+ this.endItem = this.updateEndItem();
4216
+ this.totalPages = this.updateTotalPages();
4217
+ this.displayedPages = this.buildPageNumbers();
4218
+ }
4122
4219
  }
4123
4220
  /**
4124
4221
  * Navigate to specific page
@@ -4237,7 +4334,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
4237
4334
  }] } });
4238
4335
 
4239
4336
  /*
4240
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
4337
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
4241
4338
  * Licensed under the MIT license.
4242
4339
  * See LICENSE file in the project root for full license information.
4243
4340
  */
@@ -4256,13 +4353,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
4256
4353
  }] });
4257
4354
 
4258
4355
  /*
4259
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
4356
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
4260
4357
  * Licensed under the MIT license.
4261
4358
  * See LICENSE file in the project root for full license information.
4262
4359
  */
4263
4360
 
4264
4361
  /*
4265
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
4362
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
4266
4363
  * Licensed under the MIT license.
4267
4364
  * See LICENSE file in the project root for full license information.
4268
4365
  */
@@ -4788,7 +4885,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
4788
4885
  }] });
4789
4886
 
4790
4887
  /*
4791
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
4888
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
4792
4889
  * Licensed under the MIT license.
4793
4890
  * See LICENSE file in the project root for full license information.
4794
4891
  */
@@ -4833,7 +4930,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
4833
4930
  }] });
4834
4931
 
4835
4932
  /*
4836
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
4933
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
4837
4934
  * Licensed under the MIT license.
4838
4935
  * See LICENSE file in the project root for full license information.
4839
4936
  */
@@ -4949,7 +5046,7 @@ class BaoSnackBarRef {
4949
5046
  }
4950
5047
 
4951
5048
  /*
4952
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
5049
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
4953
5050
  * Licensed under the MIT license.
4954
5051
  * See LICENSE file in the project root for full license information.
4955
5052
  */
@@ -5033,7 +5130,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
5033
5130
  }] }]; } });
5034
5131
 
5035
5132
  /*
5036
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
5133
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
5037
5134
  * Licensed under the MIT license.
5038
5135
  * See LICENSE file in the project root for full license information.
5039
5136
  */
@@ -5567,7 +5664,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
5567
5664
  }] }]; } });
5568
5665
 
5569
5666
  /*
5570
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
5667
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
5571
5668
  * Licensed under the MIT license.
5572
5669
  * See LICENSE file in the project root for full license information.
5573
5670
  */
@@ -5607,7 +5704,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
5607
5704
  }] });
5608
5705
 
5609
5706
  /*
5610
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
5707
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
5611
5708
  * Licensed under the MIT license.
5612
5709
  * See LICENSE file in the project root for full license information.
5613
5710
  */
@@ -5698,7 +5795,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
5698
5795
  }] });
5699
5796
 
5700
5797
  /*
5701
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
5798
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
5702
5799
  * Licensed under the MIT license.
5703
5800
  * See LICENSE file in the project root for full license information.
5704
5801
  */
@@ -5726,7 +5823,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
5726
5823
  }] });
5727
5824
 
5728
5825
  /*
5729
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
5826
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
5730
5827
  * Licensed under the MIT license.
5731
5828
  * See LICENSE file in the project root for full license information.
5732
5829
  */
@@ -5757,13 +5854,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
5757
5854
  }] });
5758
5855
 
5759
5856
  /*
5760
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
5857
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
5761
5858
  * Licensed under the MIT license.
5762
5859
  * See LICENSE file in the project root for full license information.
5763
5860
  */
5764
5861
 
5765
5862
  /*
5766
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
5863
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
5767
5864
  * Licensed under the MIT license.
5768
5865
  * See LICENSE file in the project root for full license information.
5769
5866
  */
@@ -5776,7 +5873,7 @@ const Breakpoints = {
5776
5873
  };
5777
5874
 
5778
5875
  /*
5779
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
5876
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
5780
5877
  * Licensed under the MIT license.
5781
5878
  * See LICENSE file in the project root for full license information.
5782
5879
  */
@@ -5907,7 +6004,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
5907
6004
  }] } });
5908
6005
 
5909
6006
  /*
5910
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
6007
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
5911
6008
  * Licensed under the MIT license.
5912
6009
  * See LICENSE file in the project root for full license information.
5913
6010
  */
@@ -5935,13 +6032,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
5935
6032
  }] });
5936
6033
 
5937
6034
  /*
5938
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
6035
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
5939
6036
  * Licensed under the MIT license.
5940
6037
  * See LICENSE file in the project root for full license information.
5941
6038
  */
5942
6039
 
5943
6040
  /*
5944
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
6041
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
5945
6042
  * Licensed under the MIT license.
5946
6043
  * See LICENSE file in the project root for full license information.
5947
6044
  */
@@ -6234,7 +6331,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
6234
6331
  }] } });
6235
6332
 
6236
6333
  /*
6237
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
6334
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
6238
6335
  * Licensed under the MIT license.
6239
6336
  * See LICENSE file in the project root for full license information.
6240
6337
  */
@@ -6265,13 +6362,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
6265
6362
  }] });
6266
6363
 
6267
6364
  /*
6268
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
6365
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
6269
6366
  * Licensed under the MIT license.
6270
6367
  * See LICENSE file in the project root for full license information.
6271
6368
  */
6272
6369
 
6273
6370
  /*
6274
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
6371
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
6275
6372
  * Licensed under the MIT license.
6276
6373
  * See LICENSE file in the project root for full license information.
6277
6374
  */
@@ -6344,7 +6441,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
6344
6441
  }] } });
6345
6442
 
6346
6443
  /*
6347
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
6444
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
6348
6445
  * Licensed under the MIT license.
6349
6446
  * See LICENSE file in the project root for full license information.
6350
6447
  */
@@ -6364,13 +6461,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
6364
6461
  }] });
6365
6462
 
6366
6463
  /*
6367
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
6464
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
6368
6465
  * Licensed under the MIT license.
6369
6466
  * See LICENSE file in the project root for full license information.
6370
6467
  */
6371
6468
 
6372
6469
  /*
6373
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
6470
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
6374
6471
  * Licensed under the MIT license.
6375
6472
  * See LICENSE file in the project root for full license information.
6376
6473
  */
@@ -6470,31 +6567,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
6470
6567
  }] });
6471
6568
 
6472
6569
  /*
6473
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
6570
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
6474
6571
  * Licensed under the MIT license.
6475
6572
  * See LICENSE file in the project root for full license information.
6476
6573
  */
6477
6574
 
6478
6575
  /*
6479
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
6576
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
6480
6577
  * Licensed under the MIT license.
6481
6578
  * See LICENSE file in the project root for full license information.
6482
6579
  */
6483
6580
 
6484
6581
  /*
6485
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
6582
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
6486
6583
  * Licensed under the MIT license.
6487
6584
  * See LICENSE file in the project root for full license information.
6488
6585
  */
6489
6586
 
6490
6587
  /*
6491
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
6588
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
6492
6589
  * Licensed under the MIT license.
6493
6590
  * See LICENSE file in the project root for full license information.
6494
6591
  */
6495
6592
 
6496
6593
  /*
6497
- * Copyright (c) 2025 Ville de Montreal. All rights reserved.
6594
+ * Copyright (c) 2026 Ville de Montreal. All rights reserved.
6498
6595
  * Licensed under the MIT license.
6499
6596
  * See LICENSE file in the project root for full license information.
6500
6597
  */
@@ -6503,5 +6600,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
6503
6600
  * Generated bundle index. Do not edit.
6504
6601
  */
6505
6602
 
6506
- export { BAO_FILE_INTL_PROVIDER, BAO_FILE_INTL_PROVIDER_FACTORY, BAO_MODAL_DATA, BAO_RADIO_GROUP, BAO_SNACK_BAR_DATA, BAO_SNACK_BAR_DEFAULT_OPTIONS, BaoAlertActions, BaoAlertComponent, BaoAlertContent, BaoAlertLink, BaoAlertModule, BaoAlertTitle, BaoAvatarComponent, BaoAvatarContent, BaoAvatarModule, BaoBackNavigationComponent, BaoBackNavigationInsert, 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, BaoMessageBarComponent, BaoMessageBarContent, BaoMessageBarModule, BaoModal, BaoModalBase, BaoModalClose, BaoModalContainer, BaoModalInitialConfig, BaoModalModule, BaoModalRef, BaoModule, BaoNavList, BaoPaginationComponent, BaoPaginationModule, BaoRadioButtonComponent, BaoRadioButtonGroupComponent, BaoRadioDescription, BaoRadioModule, BaoSimpleSnackBarComponent, BaoSnackBarConfig, BaoSnackBarContainerComponent, BaoSnackBarModule, BaoSnackBarRef, BaoSnackBarService, BaoSummaryComponent, BaoSummaryDescription, BaoSummaryModule, BaoSystemHeaderComponent, BaoSystemHeaderModule, BaoTabHeader, BaoTabPanel, BaoTablistComponent, BaoTabsContainer, BaoTabsModule, BaoTagComponent, BaoTagModule, BaoTitleTextComponent, _BaoModalContainerBase, _closeModalVia, baoFactory, eModalDesktopWidthSize, eModalMobileWidthSize, throwBaoModalContentAlreadyAttachedError };
6603
+ export { BAO_FILE_INTL_PROVIDER, BAO_FILE_INTL_PROVIDER_FACTORY, BAO_MODAL_DATA, BAO_RADIO_GROUP, BAO_SNACK_BAR_DATA, BAO_SNACK_BAR_DEFAULT_OPTIONS, BaoAlertActions, BaoAlertComponent, BaoAlertContent, BaoAlertLink, BaoAlertModule, BaoAlertTitle, BaoAvatarComponent, BaoAvatarContent, BaoAvatarModule, BaoBackNavigationComponent, BaoBackNavigationInsert, 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, BaoMessageBarComponent, BaoMessageBarContent, BaoMessageBarModule, BaoModal, BaoModalBase, BaoModalClose, BaoModalContainer, BaoModalInitialConfig, BaoModalModule, BaoModalRef, BaoModule, BaoNavList, BaoPaginationComponent, BaoPaginationModule, BaoRadioButtonComponent, BaoRadioButtonGroupComponent, BaoRadioDescription, BaoRadioModule, BaoSimpleSnackBarComponent, BaoSnackBarConfig, BaoSnackBarContainerComponent, BaoSnackBarModule, BaoSnackBarRef, BaoSnackBarService, BaoSummaryComponent, BaoSummaryDescription, BaoSummaryModule, BaoSystemHeaderComponent, BaoSystemHeaderModule, BaoTabHeader, BaoTabPanel, BaoTablistComponent, BaoTabsContainer, BaoTabsModule, BaoTagComponent, BaoTagModule, BaoTitleTextComponent, FILTER_MODAL_WIDTH, _BaoModalContainerBase, _closeModalVia, baoFactory, eModalDesktopWidthSize, eModalMobileWidthSize, eModalVariant, throwBaoModalContentAlreadyAttachedError };
6507
6604
  //# sourceMappingURL=villedemontreal-angular-ui.mjs.map