@openeuropa/bcl-theme-default 0.18.0 → 0.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (265) hide show
  1. package/bcl-builder.config.js +21 -4
  2. package/css/oe-bcl-default.css +1314 -422
  3. package/css/oe-bcl-default.css.map +1 -1
  4. package/css/oe-bcl-default.min.css +1 -1
  5. package/css/oe-bcl-default.min.css.map +1 -1
  6. package/icons/bcl-default-icons.svg +1 -1
  7. package/icons/icons-flag.svg +1 -1
  8. package/js/oe-bcl-default.bundle.js +357 -146
  9. package/js/oe-bcl-default.bundle.js.map +1 -1
  10. package/js/oe-bcl-default.bundle.min.js +1 -1
  11. package/js/oe-bcl-default.bundle.min.js.map +1 -1
  12. package/js/oe-bcl-default.esm.js +236 -75
  13. package/js/oe-bcl-default.esm.js.map +1 -1
  14. package/js/oe-bcl-default.esm.min.js +1 -1
  15. package/js/oe-bcl-default.esm.min.js.map +1 -1
  16. package/js/oe-bcl-default.umd.js +357 -146
  17. package/js/oe-bcl-default.umd.js.map +1 -1
  18. package/js/oe-bcl-default.umd.min.js +1 -1
  19. package/js/oe-bcl-default.umd.min.js.map +1 -1
  20. package/logos/ec/logo-ec--mute.svg +52 -0
  21. package/logos/ec/negative/logo-ec--ar.svg +83 -0
  22. package/logos/ec/negative/logo-ec--bg.svg +59 -0
  23. package/logos/ec/negative/logo-ec--ca.svg +88 -0
  24. package/logos/ec/negative/logo-ec--cs.svg +86 -0
  25. package/logos/ec/negative/logo-ec--da.svg +91 -0
  26. package/logos/ec/negative/logo-ec--de.svg +93 -0
  27. package/logos/ec/negative/logo-ec--el.svg +89 -0
  28. package/logos/ec/negative/logo-ec--en.svg +90 -0
  29. package/logos/ec/negative/logo-ec--es.svg +87 -0
  30. package/logos/ec/negative/logo-ec--et.svg +87 -0
  31. package/logos/ec/negative/logo-ec--fi.svg +88 -0
  32. package/logos/ec/negative/logo-ec--fr.svg +92 -0
  33. package/logos/ec/negative/logo-ec--ga.svg +90 -0
  34. package/logos/ec/negative/logo-ec--hr.svg +88 -0
  35. package/logos/ec/negative/logo-ec--hu.svg +58 -0
  36. package/logos/ec/negative/logo-ec--is.svg +105 -0
  37. package/logos/ec/negative/logo-ec--it.svg +95 -0
  38. package/logos/ec/negative/logo-ec--lt.svg +87 -0
  39. package/logos/ec/negative/logo-ec--lv.svg +87 -0
  40. package/logos/ec/negative/logo-ec--mt.svg +98 -0
  41. package/logos/ec/negative/logo-ec--nl.svg +89 -0
  42. package/logos/ec/negative/logo-ec--no.svg +90 -0
  43. package/logos/ec/negative/logo-ec--pl.svg +89 -0
  44. package/logos/ec/negative/logo-ec--pt.svg +58 -0
  45. package/logos/ec/negative/logo-ec--ro.svg +94 -0
  46. package/logos/ec/negative/logo-ec--sk.svg +87 -0
  47. package/logos/ec/negative/logo-ec--sl.svg +88 -0
  48. package/logos/ec/negative/logo-ec--sv.svg +94 -0
  49. package/logos/ec/negative/logo-ec--tr.svg +87 -0
  50. package/logos/ec/positive/logo-ec--ar.svg +82 -0
  51. package/logos/ec/positive/logo-ec--bg.svg +233 -0
  52. package/logos/ec/positive/logo-ec--ca.svg +87 -0
  53. package/logos/ec/positive/logo-ec--cs.svg +207 -0
  54. package/logos/ec/positive/logo-ec--da.svg +235 -0
  55. package/logos/ec/positive/logo-ec--de.svg +243 -0
  56. package/logos/ec/positive/logo-ec--el.svg +204 -0
  57. package/logos/ec/positive/logo-ec--en.svg +233 -0
  58. package/logos/ec/positive/logo-ec--es.svg +210 -0
  59. package/logos/ec/positive/logo-ec--et.svg +207 -0
  60. package/logos/ec/positive/logo-ec--fi.svg +219 -0
  61. package/logos/ec/positive/logo-ec--fr.svg +1 -0
  62. package/logos/ec/positive/logo-ec--ga.svg +221 -0
  63. package/logos/ec/positive/logo-ec--hr.svg +216 -0
  64. package/logos/ec/positive/logo-ec--hu.svg +218 -0
  65. package/logos/ec/positive/logo-ec--is.svg +105 -0
  66. package/logos/ec/positive/logo-ec--it.svg +241 -0
  67. package/logos/ec/positive/logo-ec--lt.svg +203 -0
  68. package/logos/ec/positive/logo-ec--lv.svg +212 -0
  69. package/logos/ec/positive/logo-ec--mt.svg +239 -0
  70. package/logos/ec/positive/logo-ec--nl.svg +231 -0
  71. package/logos/ec/positive/logo-ec--no.svg +89 -0
  72. package/logos/ec/positive/logo-ec--pl.svg +225 -0
  73. package/logos/ec/positive/logo-ec--pt.svg +228 -0
  74. package/logos/ec/positive/logo-ec--ro.svg +225 -0
  75. package/logos/ec/positive/logo-ec--sk.svg +217 -0
  76. package/logos/ec/positive/logo-ec--sl.svg +216 -0
  77. package/logos/ec/positive/logo-ec--sv.svg +254 -0
  78. package/logos/ec/positive/logo-ec--tr.svg +87 -0
  79. package/logos/eu/condensed-version/negative/logo-eu--ar.svg +18 -0
  80. package/logos/eu/condensed-version/negative/logo-eu--bg.svg +7 -0
  81. package/logos/eu/condensed-version/negative/logo-eu--ca.svg +7 -0
  82. package/logos/eu/condensed-version/negative/logo-eu--cs.svg +7 -0
  83. package/logos/eu/condensed-version/negative/logo-eu--da.svg +7 -0
  84. package/logos/eu/condensed-version/negative/logo-eu--de.svg +7 -0
  85. package/logos/eu/condensed-version/negative/logo-eu--el.svg +7 -0
  86. package/logos/eu/condensed-version/negative/logo-eu--en.svg +7 -0
  87. package/logos/eu/condensed-version/negative/logo-eu--es.svg +7 -0
  88. package/logos/eu/condensed-version/negative/logo-eu--et.svg +7 -0
  89. package/logos/eu/condensed-version/negative/logo-eu--fi.svg +7 -0
  90. package/logos/eu/condensed-version/negative/logo-eu--fr.svg +7 -0
  91. package/logos/eu/condensed-version/negative/logo-eu--ga.svg +7 -0
  92. package/logos/eu/condensed-version/negative/logo-eu--hr.svg +7 -0
  93. package/logos/eu/condensed-version/negative/logo-eu--hu.svg +7 -0
  94. package/logos/eu/condensed-version/negative/logo-eu--is.svg +8 -0
  95. package/logos/eu/condensed-version/negative/logo-eu--it.svg +7 -0
  96. package/logos/eu/condensed-version/negative/logo-eu--lt.svg +7 -0
  97. package/logos/eu/condensed-version/negative/logo-eu--lv.svg +7 -0
  98. package/logos/eu/condensed-version/negative/logo-eu--mt.svg +7 -0
  99. package/logos/eu/condensed-version/negative/logo-eu--nl.svg +7 -0
  100. package/logos/eu/condensed-version/negative/logo-eu--no.svg +7 -0
  101. package/logos/eu/condensed-version/negative/logo-eu--pl.svg +7 -0
  102. package/logos/eu/condensed-version/negative/logo-eu--pt.svg +7 -0
  103. package/logos/eu/condensed-version/negative/logo-eu--ro.svg +7 -0
  104. package/logos/eu/condensed-version/negative/logo-eu--sk.svg +7 -0
  105. package/logos/eu/condensed-version/negative/logo-eu--sl.svg +7 -0
  106. package/logos/eu/condensed-version/negative/logo-eu--sv.svg +7 -0
  107. package/logos/eu/condensed-version/negative/logo-eu--tr.svg +7 -0
  108. package/logos/eu/condensed-version/positive/logo-eu--ar.svg +29 -0
  109. package/logos/eu/condensed-version/positive/logo-eu--bg.svg +20 -0
  110. package/logos/eu/condensed-version/positive/logo-eu--ca.svg +16 -0
  111. package/logos/eu/condensed-version/positive/logo-eu--cs.svg +20 -0
  112. package/logos/eu/condensed-version/positive/logo-eu--da.svg +20 -0
  113. package/logos/eu/condensed-version/positive/logo-eu--de.svg +20 -0
  114. package/logos/eu/condensed-version/positive/logo-eu--el.svg +20 -0
  115. package/logos/eu/condensed-version/positive/logo-eu--en.svg +20 -0
  116. package/logos/eu/condensed-version/positive/logo-eu--es.svg +20 -0
  117. package/logos/eu/condensed-version/positive/logo-eu--et.svg +20 -0
  118. package/logos/eu/condensed-version/positive/logo-eu--fi.svg +20 -0
  119. package/logos/eu/condensed-version/positive/logo-eu--fr.svg +20 -0
  120. package/logos/eu/condensed-version/positive/logo-eu--ga.svg +20 -0
  121. package/logos/eu/condensed-version/positive/logo-eu--hr.svg +20 -0
  122. package/logos/eu/condensed-version/positive/logo-eu--hu.svg +20 -0
  123. package/logos/eu/condensed-version/positive/logo-eu--is.svg +17 -0
  124. package/logos/eu/condensed-version/positive/logo-eu--it.svg +20 -0
  125. package/logos/eu/condensed-version/positive/logo-eu--lt.svg +20 -0
  126. package/logos/eu/condensed-version/positive/logo-eu--lv.svg +20 -0
  127. package/logos/eu/condensed-version/positive/logo-eu--mt.svg +20 -0
  128. package/logos/eu/condensed-version/positive/logo-eu--nl.svg +20 -0
  129. package/logos/eu/condensed-version/positive/logo-eu--no.svg +16 -0
  130. package/logos/eu/condensed-version/positive/logo-eu--pl.svg +20 -0
  131. package/logos/eu/condensed-version/positive/logo-eu--pt.svg +20 -0
  132. package/logos/eu/condensed-version/positive/logo-eu--ro.svg +20 -0
  133. package/logos/eu/condensed-version/positive/logo-eu--sk.svg +20 -0
  134. package/logos/eu/condensed-version/positive/logo-eu--sl.svg +20 -0
  135. package/logos/eu/condensed-version/positive/logo-eu--sv.svg +20 -0
  136. package/logos/eu/condensed-version/positive/logo-eu--tr.svg +16 -0
  137. package/logos/eu/logo-eu--mute.svg +10 -0
  138. package/logos/eu/standard-version/negative/logo-eu--ar.svg +18 -0
  139. package/logos/eu/standard-version/negative/logo-eu--bg.svg +17 -0
  140. package/logos/eu/standard-version/negative/logo-eu--ca.svg +16 -0
  141. package/logos/eu/standard-version/negative/logo-eu--cs.svg +17 -0
  142. package/logos/eu/standard-version/negative/logo-eu--da.svg +23 -0
  143. package/logos/eu/standard-version/negative/logo-eu--de.svg +21 -0
  144. package/logos/eu/standard-version/negative/logo-eu--el.svg +19 -0
  145. package/logos/eu/standard-version/negative/logo-eu--en.svg +18 -0
  146. package/logos/eu/standard-version/negative/logo-eu--es.svg +17 -0
  147. package/logos/eu/standard-version/negative/logo-eu--et.svg +16 -0
  148. package/logos/eu/standard-version/negative/logo-eu--fi.svg +19 -0
  149. package/logos/eu/standard-version/negative/logo-eu--fr.svg +20 -0
  150. package/logos/eu/standard-version/negative/logo-eu--ga.svg +21 -0
  151. package/logos/eu/standard-version/negative/logo-eu--hr.svg +18 -0
  152. package/logos/eu/standard-version/negative/logo-eu--hu.svg +16 -0
  153. package/logos/eu/standard-version/negative/logo-eu--is.svg +20 -0
  154. package/logos/eu/standard-version/negative/logo-eu--it.svg +18 -0
  155. package/logos/eu/standard-version/negative/logo-eu--lt.svg +19 -0
  156. package/logos/eu/standard-version/negative/logo-eu--lv.svg +21 -0
  157. package/logos/eu/standard-version/negative/logo-eu--mt.svg +19 -0
  158. package/logos/eu/standard-version/negative/logo-eu--nl.svg +17 -0
  159. package/logos/eu/standard-version/negative/logo-eu--no.svg +20 -0
  160. package/logos/eu/standard-version/negative/logo-eu--pl.svg +19 -0
  161. package/logos/eu/standard-version/negative/logo-eu--pt.svg +18 -0
  162. package/logos/eu/standard-version/negative/logo-eu--ro.svg +21 -0
  163. package/logos/eu/standard-version/negative/logo-eu--sk.svg +17 -0
  164. package/logos/eu/standard-version/negative/logo-eu--sl.svg +18 -0
  165. package/logos/eu/standard-version/negative/logo-eu--sv.svg +22 -0
  166. package/logos/eu/standard-version/negative/logo-eu--tr.svg +18 -0
  167. package/logos/eu/standard-version/positive/logo-eu--ar.svg +27 -0
  168. package/logos/eu/standard-version/positive/logo-eu--bg.svg +34 -0
  169. package/logos/eu/standard-version/positive/logo-eu--ca.svg +27 -0
  170. package/logos/eu/standard-version/positive/logo-eu--cs.svg +32 -0
  171. package/logos/eu/standard-version/positive/logo-eu--da.svg +38 -0
  172. package/logos/eu/standard-version/positive/logo-eu--de.svg +36 -0
  173. package/logos/eu/standard-version/positive/logo-eu--el.svg +34 -0
  174. package/logos/eu/standard-version/positive/logo-eu--en.svg +33 -0
  175. package/logos/eu/standard-version/positive/logo-eu--es.svg +32 -0
  176. package/logos/eu/standard-version/positive/logo-eu--et.svg +31 -0
  177. package/logos/eu/standard-version/positive/logo-eu--fi.svg +34 -0
  178. package/logos/eu/standard-version/positive/logo-eu--fr.svg +35 -0
  179. package/logos/eu/standard-version/positive/logo-eu--ga.svg +36 -0
  180. package/logos/eu/standard-version/positive/logo-eu--hr.svg +33 -0
  181. package/logos/eu/standard-version/positive/logo-eu--hu.svg +31 -0
  182. package/logos/eu/standard-version/positive/logo-eu--is.svg +31 -0
  183. package/logos/eu/standard-version/positive/logo-eu--it.svg +33 -0
  184. package/logos/eu/standard-version/positive/logo-eu--lt.svg +34 -0
  185. package/logos/eu/standard-version/positive/logo-eu--lv.svg +36 -0
  186. package/logos/eu/standard-version/positive/logo-eu--mt.svg +34 -0
  187. package/logos/eu/standard-version/positive/logo-eu--nl.svg +32 -0
  188. package/logos/eu/standard-version/positive/logo-eu--no.svg +31 -0
  189. package/logos/eu/standard-version/positive/logo-eu--pl.svg +34 -0
  190. package/logos/eu/standard-version/positive/logo-eu--pt.svg +33 -0
  191. package/logos/eu/standard-version/positive/logo-eu--ro.svg +36 -0
  192. package/logos/eu/standard-version/positive/logo-eu--sk.svg +32 -0
  193. package/logos/eu/standard-version/positive/logo-eu--sl.svg +33 -0
  194. package/logos/eu/standard-version/positive/logo-eu--sv.svg +37 -0
  195. package/logos/eu/standard-version/positive/logo-eu--tr.svg +29 -0
  196. package/package.json +15 -8
  197. package/src/icons/icons.js +356 -0
  198. package/src/js/gallery/gallery.js +168 -0
  199. package/src/js/index.esm.js +2 -0
  200. package/src/js/index.umd.js +2 -0
  201. package/src/scss/_badge.scss +5 -5
  202. package/src/scss/_banners.scss +4 -4
  203. package/src/scss/_bcl-offcanvas.scss +7 -0
  204. package/src/scss/_breadcrumb.scss +1 -0
  205. package/src/scss/_button.scss +6 -0
  206. package/src/scss/_carousel.scss +85 -0
  207. package/src/scss/_circular-progress-bar.scss +122 -0
  208. package/src/scss/_gallery.scss +262 -0
  209. package/src/scss/_header.scss +46 -45
  210. package/src/scss/_icon.scss +2 -5
  211. package/src/scss/_inpage-navigation.scss +10 -0
  212. package/src/scss/_language-list.scss +51 -0
  213. package/src/scss/_pagination.scss +8 -0
  214. package/src/scss/_reset.scss +9 -0
  215. package/src/scss/_search-form.scss +4 -2
  216. package/src/scss/base/_colors.scss +12 -0
  217. package/src/scss/{_utilities.scss → base/_utilities.scss} +40 -4
  218. package/src/scss/{_variables.scss → base/_variables.scss} +10 -2
  219. package/src/scss/oe-bcl-default.scss +11 -2
  220. package/templates/bcl-accordion/accordion.html.twig +7 -2
  221. package/templates/bcl-alert/alert.html.twig +5 -5
  222. package/templates/bcl-badge/badge.html.twig +5 -5
  223. package/templates/bcl-base-templates/content-type.html.twig +14 -0
  224. package/templates/bcl-base-templates/listing-page.html.twig +13 -13
  225. package/templates/bcl-blockquote/blockquote.html.twig +18 -3
  226. package/templates/bcl-breadcrumb/breadcrumb.html.twig +2 -2
  227. package/templates/bcl-card/card.html.twig +50 -20
  228. package/templates/bcl-card-layout/card-layout.html.twig +6 -1
  229. package/templates/bcl-carousel/carousel.html.twig +26 -5
  230. package/templates/bcl-contact-form/contact-form.html.twig +5 -0
  231. package/templates/bcl-content-banner/content-banner.html.twig +39 -34
  232. package/templates/bcl-date-block/date-block.html.twig +29 -10
  233. package/templates/bcl-description-list/description-list.html.twig +39 -13
  234. package/templates/bcl-event/event.html.twig +5 -22
  235. package/templates/bcl-fact-figures/fact-figures.html.twig +3 -3
  236. package/templates/bcl-featured-media/featured-media.html.twig +3 -1
  237. package/templates/bcl-file/file.html.twig +6 -5
  238. package/templates/bcl-footer/footer.html.twig +3 -1
  239. package/templates/bcl-form/form.html.twig +26 -0
  240. package/templates/bcl-gallery/gallery.html.twig +203 -0
  241. package/templates/bcl-header/header.html.twig +31 -15
  242. package/templates/bcl-language-list/language-list-grid.html.twig +68 -0
  243. package/templates/bcl-language-list/language-list-modal.html.twig +58 -0
  244. package/templates/bcl-language-list/language-list.html.twig +111 -0
  245. package/templates/bcl-language-switcher/language-switcher.html.twig +44 -0
  246. package/templates/bcl-link/link.html.twig +1 -1
  247. package/templates/bcl-links-block/links-block.html.twig +2 -2
  248. package/templates/bcl-listing/listing.html.twig +11 -4
  249. package/templates/bcl-modal/modal.html.twig +12 -1
  250. package/templates/bcl-navbar/navbar.html.twig +39 -28
  251. package/templates/bcl-page/page.html.twig +1 -1
  252. package/templates/bcl-pagination/pagination.html.twig +123 -9
  253. package/templates/bcl-person/person.html.twig +44 -0
  254. package/templates/bcl-progress/progress.html.twig +5 -1
  255. package/templates/bcl-project/project.html.twig +112 -0
  256. package/templates/bcl-project-status/project-status.html.twig +128 -0
  257. package/templates/bcl-recent-activities/recent-activities.html.twig +1 -1
  258. package/templates/bcl-select/select.html.twig +13 -3
  259. package/templates/bcl-subscription/subscription-modal.html.twig +24 -0
  260. package/templates/bcl-subscription/subscription.html.twig +10 -0
  261. package/templates/bcl-subscription-block/subscription-block.html.twig +36 -0
  262. package/templates/bcl-timeline/timeline.html.twig +3 -3
  263. package/templates/bcl-user/user-view-compact.html.twig +9 -2
  264. package/templates/bcl-user/user-view.html.twig +0 -10
  265. package/icons/bootstrap-icons.svg +0 -1
@@ -761,11 +761,11 @@
761
761
  * ------------------------------------------------------------------------
762
762
  */
763
763
 
764
- const NAME$d = 'alert';
765
- const DATA_KEY$c = 'bs.alert';
766
- const EVENT_KEY$c = `.${DATA_KEY$c}`;
767
- const EVENT_CLOSE = `close${EVENT_KEY$c}`;
768
- const EVENT_CLOSED = `closed${EVENT_KEY$c}`;
764
+ const NAME$e = 'alert';
765
+ const DATA_KEY$d = 'bs.alert';
766
+ const EVENT_KEY$d = `.${DATA_KEY$d}`;
767
+ const EVENT_CLOSE = `close${EVENT_KEY$d}`;
768
+ const EVENT_CLOSED = `closed${EVENT_KEY$d}`;
769
769
  const CLASS_NAME_FADE$5 = 'fade';
770
770
  const CLASS_NAME_SHOW$8 = 'show';
771
771
  /**
@@ -777,7 +777,7 @@
777
777
  class Alert extends BaseComponent {
778
778
  // Getters
779
779
  static get NAME() {
780
- return NAME$d;
780
+ return NAME$e;
781
781
  } // Public
782
782
 
783
783
 
@@ -850,13 +850,13 @@
850
850
  * ------------------------------------------------------------------------
851
851
  */
852
852
 
853
- const NAME$c = 'button';
854
- const DATA_KEY$b = 'bs.button';
855
- const EVENT_KEY$b = `.${DATA_KEY$b}`;
856
- const DATA_API_KEY$7 = '.data-api';
853
+ const NAME$d = 'button';
854
+ const DATA_KEY$c = 'bs.button';
855
+ const EVENT_KEY$c = `.${DATA_KEY$c}`;
856
+ const DATA_API_KEY$8 = '.data-api';
857
857
  const CLASS_NAME_ACTIVE$3 = 'active';
858
858
  const SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle="button"]';
859
- const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$b}${DATA_API_KEY$7}`;
859
+ const EVENT_CLICK_DATA_API$7 = `click${EVENT_KEY$c}${DATA_API_KEY$8}`;
860
860
  /**
861
861
  * ------------------------------------------------------------------------
862
862
  * Class Definition
@@ -866,7 +866,7 @@
866
866
  class Button extends BaseComponent {
867
867
  // Getters
868
868
  static get NAME() {
869
- return NAME$c;
869
+ return NAME$d;
870
870
  } // Public
871
871
 
872
872
 
@@ -894,7 +894,7 @@
894
894
  */
895
895
 
896
896
 
897
- EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, event => {
897
+ EventHandler.on(document, EVENT_CLICK_DATA_API$7, SELECTOR_DATA_TOGGLE$5, event => {
898
898
  event.preventDefault();
899
899
  const button = event.target.closest(SELECTOR_DATA_TOGGLE$5);
900
900
  const data = Button.getOrCreateInstance(button);
@@ -1065,16 +1065,16 @@
1065
1065
  * ------------------------------------------------------------------------
1066
1066
  */
1067
1067
 
1068
- const NAME$b = 'carousel';
1069
- const DATA_KEY$a = 'bs.carousel';
1070
- const EVENT_KEY$a = `.${DATA_KEY$a}`;
1071
- const DATA_API_KEY$6 = '.data-api';
1068
+ const NAME$c = 'carousel';
1069
+ const DATA_KEY$b = 'bs.carousel';
1070
+ const EVENT_KEY$b = `.${DATA_KEY$b}`;
1071
+ const DATA_API_KEY$7 = '.data-api';
1072
1072
  const ARROW_LEFT_KEY = 'ArrowLeft';
1073
1073
  const ARROW_RIGHT_KEY = 'ArrowRight';
1074
1074
  const TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
1075
1075
 
1076
1076
  const SWIPE_THRESHOLD = 40;
1077
- const Default$a = {
1077
+ const Default$b = {
1078
1078
  interval: 5000,
1079
1079
  keyboard: true,
1080
1080
  slide: false,
@@ -1082,7 +1082,7 @@
1082
1082
  wrap: true,
1083
1083
  touch: true
1084
1084
  };
1085
- const DefaultType$a = {
1085
+ const DefaultType$b = {
1086
1086
  interval: '(number|boolean)',
1087
1087
  keyboard: 'boolean',
1088
1088
  slide: '(boolean|string)',
@@ -1098,19 +1098,19 @@
1098
1098
  [ARROW_LEFT_KEY]: DIRECTION_RIGHT,
1099
1099
  [ARROW_RIGHT_KEY]: DIRECTION_LEFT
1100
1100
  };
1101
- const EVENT_SLIDE = `slide${EVENT_KEY$a}`;
1102
- const EVENT_SLID = `slid${EVENT_KEY$a}`;
1103
- const EVENT_KEYDOWN = `keydown${EVENT_KEY$a}`;
1104
- const EVENT_MOUSEENTER = `mouseenter${EVENT_KEY$a}`;
1105
- const EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY$a}`;
1106
- const EVENT_TOUCHSTART = `touchstart${EVENT_KEY$a}`;
1107
- const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$a}`;
1108
- const EVENT_TOUCHEND = `touchend${EVENT_KEY$a}`;
1109
- const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$a}`;
1110
- const EVENT_POINTERUP = `pointerup${EVENT_KEY$a}`;
1111
- const EVENT_DRAG_START = `dragstart${EVENT_KEY$a}`;
1112
- const EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$a}${DATA_API_KEY$6}`;
1113
- const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$a}${DATA_API_KEY$6}`;
1101
+ const EVENT_SLIDE = `slide${EVENT_KEY$b}`;
1102
+ const EVENT_SLID = `slid${EVENT_KEY$b}`;
1103
+ const EVENT_KEYDOWN = `keydown${EVENT_KEY$b}`;
1104
+ const EVENT_MOUSEENTER = `mouseenter${EVENT_KEY$b}`;
1105
+ const EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY$b}`;
1106
+ const EVENT_TOUCHSTART = `touchstart${EVENT_KEY$b}`;
1107
+ const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$b}`;
1108
+ const EVENT_TOUCHEND = `touchend${EVENT_KEY$b}`;
1109
+ const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$b}`;
1110
+ const EVENT_POINTERUP = `pointerup${EVENT_KEY$b}`;
1111
+ const EVENT_DRAG_START = `dragstart${EVENT_KEY$b}`;
1112
+ const EVENT_LOAD_DATA_API$2 = `load${EVENT_KEY$b}${DATA_API_KEY$7}`;
1113
+ const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$b}${DATA_API_KEY$7}`;
1114
1114
  const CLASS_NAME_CAROUSEL = 'carousel';
1115
1115
  const CLASS_NAME_ACTIVE$2 = 'active';
1116
1116
  const CLASS_NAME_SLIDE = 'slide';
@@ -1157,11 +1157,11 @@
1157
1157
 
1158
1158
 
1159
1159
  static get Default() {
1160
- return Default$a;
1160
+ return Default$b;
1161
1161
  }
1162
1162
 
1163
1163
  static get NAME() {
1164
- return NAME$b;
1164
+ return NAME$c;
1165
1165
  } // Public
1166
1166
 
1167
1167
 
@@ -1239,11 +1239,11 @@
1239
1239
 
1240
1240
 
1241
1241
  _getConfig(config) {
1242
- config = { ...Default$a,
1242
+ config = { ...Default$b,
1243
1243
  ...Manipulator.getDataAttributes(this._element),
1244
1244
  ...(typeof config === 'object' ? config : {})
1245
1245
  };
1246
- typeCheckConfig(NAME$b, config, DefaultType$a);
1246
+ typeCheckConfig(NAME$c, config, DefaultType$b);
1247
1247
  return config;
1248
1248
  }
1249
1249
 
@@ -1585,7 +1585,7 @@
1585
1585
  */
1586
1586
 
1587
1587
 
1588
- EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler);
1588
+ EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_SLIDE, Carousel.dataApiClickHandler);
1589
1589
  EventHandler.on(window, EVENT_LOAD_DATA_API$2, () => {
1590
1590
  const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE);
1591
1591
 
@@ -1614,23 +1614,23 @@
1614
1614
  * ------------------------------------------------------------------------
1615
1615
  */
1616
1616
 
1617
- const NAME$a = 'collapse';
1618
- const DATA_KEY$9 = 'bs.collapse';
1619
- const EVENT_KEY$9 = `.${DATA_KEY$9}`;
1620
- const DATA_API_KEY$5 = '.data-api';
1621
- const Default$9 = {
1617
+ const NAME$b = 'collapse';
1618
+ const DATA_KEY$a = 'bs.collapse';
1619
+ const EVENT_KEY$a = `.${DATA_KEY$a}`;
1620
+ const DATA_API_KEY$6 = '.data-api';
1621
+ const Default$a = {
1622
1622
  toggle: true,
1623
1623
  parent: null
1624
1624
  };
1625
- const DefaultType$9 = {
1625
+ const DefaultType$a = {
1626
1626
  toggle: 'boolean',
1627
1627
  parent: '(null|element)'
1628
1628
  };
1629
- const EVENT_SHOW$5 = `show${EVENT_KEY$9}`;
1630
- const EVENT_SHOWN$5 = `shown${EVENT_KEY$9}`;
1631
- const EVENT_HIDE$5 = `hide${EVENT_KEY$9}`;
1632
- const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$9}`;
1633
- const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$9}${DATA_API_KEY$5}`;
1629
+ const EVENT_SHOW$5 = `show${EVENT_KEY$a}`;
1630
+ const EVENT_SHOWN$5 = `shown${EVENT_KEY$a}`;
1631
+ const EVENT_HIDE$5 = `hide${EVENT_KEY$a}`;
1632
+ const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$a}`;
1633
+ const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$a}${DATA_API_KEY$6}`;
1634
1634
  const CLASS_NAME_SHOW$7 = 'show';
1635
1635
  const CLASS_NAME_COLLAPSE = 'collapse';
1636
1636
  const CLASS_NAME_COLLAPSING = 'collapsing';
@@ -1680,11 +1680,11 @@
1680
1680
 
1681
1681
 
1682
1682
  static get Default() {
1683
- return Default$9;
1683
+ return Default$a;
1684
1684
  }
1685
1685
 
1686
1686
  static get NAME() {
1687
- return NAME$a;
1687
+ return NAME$b;
1688
1688
  } // Public
1689
1689
 
1690
1690
 
@@ -1734,7 +1734,7 @@
1734
1734
  }
1735
1735
 
1736
1736
  if (!activesData) {
1737
- Data.set(elemActive, DATA_KEY$9, null);
1737
+ Data.set(elemActive, DATA_KEY$a, null);
1738
1738
  }
1739
1739
  });
1740
1740
 
@@ -1823,14 +1823,14 @@
1823
1823
 
1824
1824
 
1825
1825
  _getConfig(config) {
1826
- config = { ...Default$9,
1826
+ config = { ...Default$a,
1827
1827
  ...Manipulator.getDataAttributes(this._element),
1828
1828
  ...config
1829
1829
  };
1830
1830
  config.toggle = Boolean(config.toggle); // Coerce string values
1831
1831
 
1832
1832
  config.parent = getElement(config.parent);
1833
- typeCheckConfig(NAME$a, config, DefaultType$9);
1833
+ typeCheckConfig(NAME$b, config, DefaultType$a);
1834
1834
  return config;
1835
1835
  }
1836
1836
 
@@ -1898,7 +1898,7 @@
1898
1898
  */
1899
1899
 
1900
1900
 
1901
- EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, function (event) {
1901
+ EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_TOGGLE$4, function (event) {
1902
1902
  // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
1903
1903
  if (event.target.tagName === 'A' || event.delegateTarget && event.delegateTarget.tagName === 'A') {
1904
1904
  event.preventDefault();
@@ -2077,29 +2077,32 @@
2077
2077
  return placement.split('-')[0];
2078
2078
  }
2079
2079
 
2080
- // import { isHTMLElement } from './instanceOf';
2081
- function getBoundingClientRect(element, // eslint-disable-next-line unused-imports/no-unused-vars
2082
- includeScale) {
2080
+ var max = Math.max;
2081
+ var min = Math.min;
2082
+ var round = Math.round;
2083
+
2084
+ function getBoundingClientRect(element, includeScale) {
2085
+ if (includeScale === void 0) {
2086
+ includeScale = false;
2087
+ }
2083
2088
 
2084
2089
  var rect = element.getBoundingClientRect();
2085
2090
  var scaleX = 1;
2086
- var scaleY = 1; // FIXME:
2087
- // `offsetWidth` returns an integer while `getBoundingClientRect`
2088
- // returns a float. This results in `scaleX` or `scaleY` being
2089
- // non-1 when it should be for elements that aren't a full pixel in
2090
- // width or height.
2091
- // if (isHTMLElement(element) && includeScale) {
2092
- // const offsetHeight = element.offsetHeight;
2093
- // const offsetWidth = element.offsetWidth;
2094
- // // Do not attempt to divide by 0, otherwise we get `Infinity` as scale
2095
- // // Fallback to 1 in case both values are `0`
2096
- // if (offsetWidth > 0) {
2097
- // scaleX = rect.width / offsetWidth || 1;
2098
- // }
2099
- // if (offsetHeight > 0) {
2100
- // scaleY = rect.height / offsetHeight || 1;
2101
- // }
2102
- // }
2091
+ var scaleY = 1;
2092
+
2093
+ if (isHTMLElement(element) && includeScale) {
2094
+ var offsetHeight = element.offsetHeight;
2095
+ var offsetWidth = element.offsetWidth; // Do not attempt to divide by 0, otherwise we get `Infinity` as scale
2096
+ // Fallback to 1 in case both values are `0`
2097
+
2098
+ if (offsetWidth > 0) {
2099
+ scaleX = round(rect.width) / offsetWidth || 1;
2100
+ }
2101
+
2102
+ if (offsetHeight > 0) {
2103
+ scaleY = round(rect.height) / offsetHeight || 1;
2104
+ }
2105
+ }
2103
2106
 
2104
2107
  return {
2105
2108
  width: rect.width / scaleX,
@@ -2218,6 +2221,10 @@
2218
2221
 
2219
2222
  var currentNode = getParentNode(element);
2220
2223
 
2224
+ if (isShadowRoot(currentNode)) {
2225
+ currentNode = currentNode.host;
2226
+ }
2227
+
2221
2228
  while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {
2222
2229
  var css = getComputedStyle$1(currentNode); // This is non-exhaustive but covers the most common CSS properties that
2223
2230
  // create a containing block.
@@ -2254,13 +2261,13 @@
2254
2261
  return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';
2255
2262
  }
2256
2263
 
2257
- var max = Math.max;
2258
- var min = Math.min;
2259
- var round = Math.round;
2260
-
2261
2264
  function within(min$1, value, max$1) {
2262
2265
  return max(min$1, min(value, max$1));
2263
2266
  }
2267
+ function withinMaxClamp(min, value, max) {
2268
+ var v = within(min, value, max);
2269
+ return v > max ? max : v;
2270
+ }
2264
2271
 
2265
2272
  function getFreshSideObject() {
2266
2273
  return {
@@ -2383,8 +2390,8 @@
2383
2390
  var win = window;
2384
2391
  var dpr = win.devicePixelRatio || 1;
2385
2392
  return {
2386
- x: round(round(x * dpr) / dpr) || 0,
2387
- y: round(round(y * dpr) / dpr) || 0
2393
+ x: round(x * dpr) / dpr || 0,
2394
+ y: round(y * dpr) / dpr || 0
2388
2395
  };
2389
2396
  }
2390
2397
 
@@ -2399,14 +2406,23 @@
2399
2406
  position = _ref2.position,
2400
2407
  gpuAcceleration = _ref2.gpuAcceleration,
2401
2408
  adaptive = _ref2.adaptive,
2402
- roundOffsets = _ref2.roundOffsets;
2403
-
2404
- var _ref3 = roundOffsets === true ? roundOffsetsByDPR(offsets) : typeof roundOffsets === 'function' ? roundOffsets(offsets) : offsets,
2405
- _ref3$x = _ref3.x,
2406
- x = _ref3$x === void 0 ? 0 : _ref3$x,
2407
- _ref3$y = _ref3.y,
2408
- y = _ref3$y === void 0 ? 0 : _ref3$y;
2409
+ roundOffsets = _ref2.roundOffsets,
2410
+ isFixed = _ref2.isFixed;
2411
+ var _offsets$x = offsets.x,
2412
+ x = _offsets$x === void 0 ? 0 : _offsets$x,
2413
+ _offsets$y = offsets.y,
2414
+ y = _offsets$y === void 0 ? 0 : _offsets$y;
2415
+
2416
+ var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({
2417
+ x: x,
2418
+ y: y
2419
+ }) : {
2420
+ x: x,
2421
+ y: y
2422
+ };
2409
2423
 
2424
+ x = _ref3.x;
2425
+ y = _ref3.y;
2410
2426
  var hasX = offsets.hasOwnProperty('x');
2411
2427
  var hasY = offsets.hasOwnProperty('y');
2412
2428
  var sideX = left;
@@ -2431,16 +2447,18 @@
2431
2447
  offsetParent = offsetParent;
2432
2448
 
2433
2449
  if (placement === top || (placement === left || placement === right) && variation === end) {
2434
- sideY = bottom; // $FlowFixMe[prop-missing]
2435
-
2436
- y -= offsetParent[heightProp] - popperRect.height;
2450
+ sideY = bottom;
2451
+ var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]
2452
+ offsetParent[heightProp];
2453
+ y -= offsetY - popperRect.height;
2437
2454
  y *= gpuAcceleration ? 1 : -1;
2438
2455
  }
2439
2456
 
2440
2457
  if (placement === left || (placement === top || placement === bottom) && variation === end) {
2441
- sideX = right; // $FlowFixMe[prop-missing]
2442
-
2443
- x -= offsetParent[widthProp] - popperRect.width;
2458
+ sideX = right;
2459
+ var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]
2460
+ offsetParent[widthProp];
2461
+ x -= offsetX - popperRect.width;
2444
2462
  x *= gpuAcceleration ? 1 : -1;
2445
2463
  }
2446
2464
  }
@@ -2449,6 +2467,17 @@
2449
2467
  position: position
2450
2468
  }, adaptive && unsetSides);
2451
2469
 
2470
+ var _ref4 = roundOffsets === true ? roundOffsetsByDPR({
2471
+ x: x,
2472
+ y: y
2473
+ }) : {
2474
+ x: x,
2475
+ y: y
2476
+ };
2477
+
2478
+ x = _ref4.x;
2479
+ y = _ref4.y;
2480
+
2452
2481
  if (gpuAcceleration) {
2453
2482
  var _Object$assign;
2454
2483
 
@@ -2458,9 +2487,9 @@
2458
2487
  return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : '', _Object$assign2[sideX] = hasX ? x + "px" : '', _Object$assign2.transform = '', _Object$assign2));
2459
2488
  }
2460
2489
 
2461
- function computeStyles(_ref4) {
2462
- var state = _ref4.state,
2463
- options = _ref4.options;
2490
+ function computeStyles(_ref5) {
2491
+ var state = _ref5.state,
2492
+ options = _ref5.options;
2464
2493
  var _options$gpuAccelerat = options.gpuAcceleration,
2465
2494
  gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,
2466
2495
  _options$adaptive = options.adaptive,
@@ -2473,7 +2502,8 @@
2473
2502
  variation: getVariation(state.placement),
2474
2503
  popper: state.elements.popper,
2475
2504
  popperRect: state.rects.popper,
2476
- gpuAcceleration: gpuAcceleration
2505
+ gpuAcceleration: gpuAcceleration,
2506
+ isFixed: state.options.strategy === 'fixed'
2477
2507
  };
2478
2508
 
2479
2509
  if (state.modifiersData.popperOffsets != null) {
@@ -2731,7 +2761,7 @@
2731
2761
  }
2732
2762
 
2733
2763
  function getClientRectFromMixedType(element, clippingParent) {
2734
- return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isHTMLElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));
2764
+ return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));
2735
2765
  } // A "clipping parent" is an overflowable container with the characteristic of
2736
2766
  // clipping (or hiding) overflowing elements with a position different from
2737
2767
  // `initial`
@@ -3244,6 +3274,14 @@
3244
3274
  var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {
3245
3275
  placement: state.placement
3246
3276
  })) : tetherOffset;
3277
+ var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {
3278
+ mainAxis: tetherOffsetValue,
3279
+ altAxis: tetherOffsetValue
3280
+ } : Object.assign({
3281
+ mainAxis: 0,
3282
+ altAxis: 0
3283
+ }, tetherOffsetValue);
3284
+ var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;
3247
3285
  var data = {
3248
3286
  x: 0,
3249
3287
  y: 0
@@ -3253,13 +3291,15 @@
3253
3291
  return;
3254
3292
  }
3255
3293
 
3256
- if (checkMainAxis || checkAltAxis) {
3294
+ if (checkMainAxis) {
3295
+ var _offsetModifierState$;
3296
+
3257
3297
  var mainSide = mainAxis === 'y' ? top : left;
3258
3298
  var altSide = mainAxis === 'y' ? bottom : right;
3259
3299
  var len = mainAxis === 'y' ? 'height' : 'width';
3260
3300
  var offset = popperOffsets[mainAxis];
3261
- var min$1 = popperOffsets[mainAxis] + overflow[mainSide];
3262
- var max$1 = popperOffsets[mainAxis] - overflow[altSide];
3301
+ var min$1 = offset + overflow[mainSide];
3302
+ var max$1 = offset - overflow[altSide];
3263
3303
  var additive = tether ? -popperRect[len] / 2 : 0;
3264
3304
  var minLen = variation === start ? referenceRect[len] : popperRect[len];
3265
3305
  var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go
@@ -3279,36 +3319,45 @@
3279
3319
  // width or height)
3280
3320
 
3281
3321
  var arrowLen = within(0, referenceRect[len], arrowRect[len]);
3282
- var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - tetherOffsetValue : minLen - arrowLen - arrowPaddingMin - tetherOffsetValue;
3283
- var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + tetherOffsetValue : maxLen + arrowLen + arrowPaddingMax + tetherOffsetValue;
3322
+ var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;
3323
+ var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;
3284
3324
  var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);
3285
3325
  var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;
3286
- var offsetModifierValue = state.modifiersData.offset ? state.modifiersData.offset[state.placement][mainAxis] : 0;
3287
- var tetherMin = popperOffsets[mainAxis] + minOffset - offsetModifierValue - clientOffset;
3288
- var tetherMax = popperOffsets[mainAxis] + maxOffset - offsetModifierValue;
3326
+ var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;
3327
+ var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;
3328
+ var tetherMax = offset + maxOffset - offsetModifierValue;
3329
+ var preventedOffset = within(tether ? min(min$1, tetherMin) : min$1, offset, tether ? max(max$1, tetherMax) : max$1);
3330
+ popperOffsets[mainAxis] = preventedOffset;
3331
+ data[mainAxis] = preventedOffset - offset;
3332
+ }
3289
3333
 
3290
- if (checkMainAxis) {
3291
- var preventedOffset = within(tether ? min(min$1, tetherMin) : min$1, offset, tether ? max(max$1, tetherMax) : max$1);
3292
- popperOffsets[mainAxis] = preventedOffset;
3293
- data[mainAxis] = preventedOffset - offset;
3294
- }
3334
+ if (checkAltAxis) {
3335
+ var _offsetModifierState$2;
3295
3336
 
3296
- if (checkAltAxis) {
3297
- var _mainSide = mainAxis === 'x' ? top : left;
3337
+ var _mainSide = mainAxis === 'x' ? top : left;
3298
3338
 
3299
- var _altSide = mainAxis === 'x' ? bottom : right;
3339
+ var _altSide = mainAxis === 'x' ? bottom : right;
3300
3340
 
3301
- var _offset = popperOffsets[altAxis];
3341
+ var _offset = popperOffsets[altAxis];
3302
3342
 
3303
- var _min = _offset + overflow[_mainSide];
3343
+ var _len = altAxis === 'y' ? 'height' : 'width';
3304
3344
 
3305
- var _max = _offset - overflow[_altSide];
3345
+ var _min = _offset + overflow[_mainSide];
3306
3346
 
3307
- var _preventedOffset = within(tether ? min(_min, tetherMin) : _min, _offset, tether ? max(_max, tetherMax) : _max);
3347
+ var _max = _offset - overflow[_altSide];
3308
3348
 
3309
- popperOffsets[altAxis] = _preventedOffset;
3310
- data[altAxis] = _preventedOffset - _offset;
3311
- }
3349
+ var isOriginSide = [top, left].indexOf(basePlacement) !== -1;
3350
+
3351
+ var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;
3352
+
3353
+ var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;
3354
+
3355
+ var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;
3356
+
3357
+ var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);
3358
+
3359
+ popperOffsets[altAxis] = _preventedOffset;
3360
+ data[altAxis] = _preventedOffset - _offset;
3312
3361
  }
3313
3362
 
3314
3363
  state.modifiersData[name] = data;
@@ -3340,8 +3389,8 @@
3340
3389
 
3341
3390
  function isElementScaled(element) {
3342
3391
  var rect = element.getBoundingClientRect();
3343
- var scaleX = rect.width / element.offsetWidth || 1;
3344
- var scaleY = rect.height / element.offsetHeight || 1;
3392
+ var scaleX = round(rect.width) / element.offsetWidth || 1;
3393
+ var scaleY = round(rect.height) / element.offsetHeight || 1;
3345
3394
  return scaleX !== 1 || scaleY !== 1;
3346
3395
  } // Returns the composite rect of an element relative to its offsetParent.
3347
3396
  // Composite means it takes into account transforms as well as layout.
@@ -3353,9 +3402,9 @@
3353
3402
  }
3354
3403
 
3355
3404
  var isOffsetParentAnElement = isHTMLElement(offsetParent);
3356
- isHTMLElement(offsetParent) && isElementScaled(offsetParent);
3405
+ var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);
3357
3406
  var documentElement = getDocumentElement(offsetParent);
3358
- var rect = getBoundingClientRect(elementOrVirtualElement);
3407
+ var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled);
3359
3408
  var scroll = {
3360
3409
  scrollLeft: 0,
3361
3410
  scrollTop: 0
@@ -3372,7 +3421,7 @@
3372
3421
  }
3373
3422
 
3374
3423
  if (isHTMLElement(offsetParent)) {
3375
- offsets = getBoundingClientRect(offsetParent);
3424
+ offsets = getBoundingClientRect(offsetParent, true);
3376
3425
  offsets.x += offsetParent.clientLeft;
3377
3426
  offsets.y += offsetParent.clientTop;
3378
3427
  } else if (documentElement) {
@@ -3719,10 +3768,10 @@
3719
3768
  * ------------------------------------------------------------------------
3720
3769
  */
3721
3770
 
3722
- const NAME$9 = 'dropdown';
3723
- const DATA_KEY$8 = 'bs.dropdown';
3724
- const EVENT_KEY$8 = `.${DATA_KEY$8}`;
3725
- const DATA_API_KEY$4 = '.data-api';
3771
+ const NAME$a = 'dropdown';
3772
+ const DATA_KEY$9 = 'bs.dropdown';
3773
+ const EVENT_KEY$9 = `.${DATA_KEY$9}`;
3774
+ const DATA_API_KEY$5 = '.data-api';
3726
3775
  const ESCAPE_KEY$2 = 'Escape';
3727
3776
  const SPACE_KEY = 'Space';
3728
3777
  const TAB_KEY$1 = 'Tab';
@@ -3731,13 +3780,13 @@
3731
3780
  const RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button
3732
3781
 
3733
3782
  const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEY}|${ARROW_DOWN_KEY}|${ESCAPE_KEY$2}`);
3734
- const EVENT_HIDE$4 = `hide${EVENT_KEY$8}`;
3735
- const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$8}`;
3736
- const EVENT_SHOW$4 = `show${EVENT_KEY$8}`;
3737
- const EVENT_SHOWN$4 = `shown${EVENT_KEY$8}`;
3738
- const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$8}${DATA_API_KEY$4}`;
3739
- const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$8}${DATA_API_KEY$4}`;
3740
- const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$8}${DATA_API_KEY$4}`;
3783
+ const EVENT_HIDE$4 = `hide${EVENT_KEY$9}`;
3784
+ const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$9}`;
3785
+ const EVENT_SHOW$4 = `show${EVENT_KEY$9}`;
3786
+ const EVENT_SHOWN$4 = `shown${EVENT_KEY$9}`;
3787
+ const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$9}${DATA_API_KEY$5}`;
3788
+ const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$9}${DATA_API_KEY$5}`;
3789
+ const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$9}${DATA_API_KEY$5}`;
3741
3790
  const CLASS_NAME_SHOW$6 = 'show';
3742
3791
  const CLASS_NAME_DROPUP = 'dropup';
3743
3792
  const CLASS_NAME_DROPEND = 'dropend';
@@ -3753,7 +3802,7 @@
3753
3802
  const PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end';
3754
3803
  const PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start';
3755
3804
  const PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start';
3756
- const Default$8 = {
3805
+ const Default$9 = {
3757
3806
  offset: [0, 2],
3758
3807
  boundary: 'clippingParents',
3759
3808
  reference: 'toggle',
@@ -3761,7 +3810,7 @@
3761
3810
  popperConfig: null,
3762
3811
  autoClose: true
3763
3812
  };
3764
- const DefaultType$8 = {
3813
+ const DefaultType$9 = {
3765
3814
  offset: '(array|string|function)',
3766
3815
  boundary: '(string|element)',
3767
3816
  reference: '(string|element|object)',
@@ -3786,15 +3835,15 @@
3786
3835
 
3787
3836
 
3788
3837
  static get Default() {
3789
- return Default$8;
3838
+ return Default$9;
3790
3839
  }
3791
3840
 
3792
3841
  static get DefaultType() {
3793
- return DefaultType$8;
3842
+ return DefaultType$9;
3794
3843
  }
3795
3844
 
3796
3845
  static get NAME() {
3797
- return NAME$9;
3846
+ return NAME$a;
3798
3847
  } // Public
3799
3848
 
3800
3849
 
@@ -3904,11 +3953,11 @@
3904
3953
  ...Manipulator.getDataAttributes(this._element),
3905
3954
  ...config
3906
3955
  };
3907
- typeCheckConfig(NAME$9, config, this.constructor.DefaultType);
3956
+ typeCheckConfig(NAME$a, config, this.constructor.DefaultType);
3908
3957
 
3909
3958
  if (typeof config.reference === 'object' && !isElement$1(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') {
3910
3959
  // Popper virtual elements require a getBoundingClientRect method
3911
- throw new TypeError(`${NAME$9.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);
3960
+ throw new TypeError(`${NAME$a.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);
3912
3961
  }
3913
3962
 
3914
3963
  return config;
@@ -4154,9 +4203,9 @@
4154
4203
 
4155
4204
  EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$3, Dropdown.dataApiKeydownHandler);
4156
4205
  EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler);
4157
- EventHandler.on(document, EVENT_CLICK_DATA_API$3, Dropdown.clearMenus);
4206
+ EventHandler.on(document, EVENT_CLICK_DATA_API$4, Dropdown.clearMenus);
4158
4207
  EventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus);
4159
- EventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function (event) {
4208
+ EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$3, function (event) {
4160
4209
  event.preventDefault();
4161
4210
  Dropdown.getOrCreateInstance(this).toggle();
4162
4211
  });
@@ -4169,6 +4218,167 @@
4169
4218
 
4170
4219
  defineJQueryPlugin(Dropdown);
4171
4220
 
4221
+ /**
4222
+ * --------------------------------------------------------------------------
4223
+ * Bootstrap (v5.1.3): gallery.js
4224
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
4225
+ * --------------------------------------------------------------------------
4226
+ */
4227
+ /**
4228
+ * ------------------------------------------------------------------------
4229
+ * Constants
4230
+ * ------------------------------------------------------------------------
4231
+ */
4232
+
4233
+ const Default$8 = {};
4234
+ const DefaultType$8 = {};
4235
+ const NAME$9 = 'gallery';
4236
+ const DATA_KEY$8 = 'bs.gallery';
4237
+ const EVENT_KEY$8 = `.${DATA_KEY$8}`;
4238
+ const DATA_API_KEY$4 = '.data-api';
4239
+ const CAROUSEL_SELECTOR = '.carousel';
4240
+ const CAROUSEL_PAGER_SELECTOR = '.carousel-pager span';
4241
+ const CAROUSEL_ACTIVE_SELECTOR = '.carousel-item.active';
4242
+ const CAROUSEL_ITEM_SELECTOR = '.carousel-item';
4243
+ const THUMBNAIL_SELECTOR = '.bcl-gallery__grid a';
4244
+ const MODAL_SELECTOR = '.modal';
4245
+ const EVENT_MODAL_HIDE$1 = 'hide.bs.modal';
4246
+ const CAROUSEL_EVENT = 'slide.bs.carousel';
4247
+ const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$8}${DATA_API_KEY$4}`;
4248
+ /**
4249
+ * ------------------------------------------------------------------------
4250
+ * Class Definition
4251
+ * ------------------------------------------------------------------------
4252
+ */
4253
+
4254
+ class Gallery extends BaseComponent {
4255
+ constructor(element, config) {
4256
+ super(element);
4257
+ this._carousel = SelectorEngine.findOne(CAROUSEL_SELECTOR, this._element);
4258
+ this._carouselPager = SelectorEngine.findOne(CAROUSEL_PAGER_SELECTOR, this._element);
4259
+ this._carouselStartIndex = element.getAttribute('data-gallery-start');
4260
+ this._carouselActiveItem = SelectorEngine.find(CAROUSEL_ITEM_SELECTOR, this._carousel)[this._carouselStartIndex];
4261
+ this._carouselPager.textContent = Number(this._carouselStartIndex) + 1;
4262
+ this._modal = SelectorEngine.findOne(MODAL_SELECTOR, this._element);
4263
+ this._config = this._getConfig(config);
4264
+
4265
+ this._addEventListeners();
4266
+
4267
+ this._carouselLazyLoad(this._carouselActiveItem);
4268
+ } // Getters
4269
+
4270
+
4271
+ static get NAME() {
4272
+ return NAME$9;
4273
+ } // Public
4274
+
4275
+
4276
+ setSlide(event) {
4277
+ const slideFrom = SelectorEngine.findOne(CAROUSEL_ACTIVE_SELECTOR, this._carousel);
4278
+ const slideTo = event.relatedTarget;
4279
+
4280
+ this._carouselLazyLoad(slideTo);
4281
+
4282
+ this._carouselPager.textContent = event.to + 1;
4283
+ this.stopVideo(slideFrom);
4284
+ }
4285
+
4286
+ stopSlide() {
4287
+ const currentSlide = SelectorEngine.findOne(CAROUSEL_ACTIVE_SELECTOR, this._carousel);
4288
+ this.stopVideo(currentSlide);
4289
+ }
4290
+
4291
+ stopVideo(slide) {
4292
+ const iframe = SelectorEngine.findOne('iframe', slide);
4293
+ const video = SelectorEngine.findOne('video', slide);
4294
+
4295
+ if (iframe) {
4296
+ iframe.src = iframe.dataset.src;
4297
+ } else if (video) {
4298
+ video.pause();
4299
+ }
4300
+ } // Private
4301
+
4302
+
4303
+ _carouselLazyLoad(slide) {
4304
+ const media = SelectorEngine.findOne('[data-src]', slide);
4305
+
4306
+ if (media && !media.src) {
4307
+ media.src = media.dataset.src;
4308
+ }
4309
+ }
4310
+
4311
+ _getConfig(config) {
4312
+ config = { ...Default$8,
4313
+ ...Manipulator.getDataAttributes(this._element),
4314
+ ...(typeof config === 'object' ? config : {})
4315
+ };
4316
+ typeCheckConfig(NAME$9, config, DefaultType$8);
4317
+ return config;
4318
+ }
4319
+
4320
+ _addEventListeners() {
4321
+ EventHandler.on(this._carousel, CAROUSEL_EVENT, event => this.setSlide(event));
4322
+ EventHandler.on(this._modal, EVENT_MODAL_HIDE$1, event => this.stopSlide(event));
4323
+ } // Static
4324
+
4325
+
4326
+ static get Default() {
4327
+ return Default$8;
4328
+ }
4329
+
4330
+ static galleryInterface(element, config) {
4331
+ const data = Gallery.getOrCreateInstance(element, config);
4332
+ let {
4333
+ _config
4334
+ } = data;
4335
+
4336
+ if (typeof config === 'object') {
4337
+ _config = { ..._config,
4338
+ ...config
4339
+ };
4340
+ }
4341
+ }
4342
+
4343
+ static jQueryInterface(config) {
4344
+ return this.each(function () {
4345
+ const data = Gallery.getOrCreateInstance(this);
4346
+
4347
+ if (typeof config !== 'string') {
4348
+ return;
4349
+ }
4350
+
4351
+ if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {
4352
+ throw new TypeError(`No method named "${config}"`);
4353
+ }
4354
+
4355
+ data[config](this);
4356
+ });
4357
+ }
4358
+
4359
+ }
4360
+ /**
4361
+ * ------------------------------------------------------------------------
4362
+ * Data Api implementation
4363
+ * ------------------------------------------------------------------------
4364
+ */
4365
+
4366
+
4367
+ EventHandler.on(document, EVENT_CLICK_DATA_API$3, THUMBNAIL_SELECTOR, function (event) {
4368
+ const gallery = event.srcElement.closest('div.bcl-gallery');
4369
+ const firstSlide = event.srcElement.parentNode.getAttribute('data-bs-slide-to');
4370
+ gallery.dataset.galleryStart = firstSlide;
4371
+ Gallery.galleryInterface(gallery, Gallery.getInstance(gallery));
4372
+ });
4373
+ /**
4374
+ * ------------------------------------------------------------------------
4375
+ * jQuery
4376
+ * ------------------------------------------------------------------------
4377
+ * add .gallery to jQuery only if jQuery is present
4378
+ */
4379
+
4380
+ defineJQueryPlugin(Gallery);
4381
+
4172
4382
  /**
4173
4383
  * --------------------------------------------------------------------------
4174
4384
  * Bootstrap (v5.1.3): util/scrollBar.js
@@ -6792,6 +7002,7 @@
6792
7002
  Carousel,
6793
7003
  Collapse,
6794
7004
  Dropdown,
7005
+ Gallery,
6795
7006
  Modal,
6796
7007
  Offcanvas,
6797
7008
  Popover,