@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 {
@@ -2392,8 +2399,8 @@
2392
2399
  var win = window;
2393
2400
  var dpr = win.devicePixelRatio || 1;
2394
2401
  return {
2395
- x: round(round(x * dpr) / dpr) || 0,
2396
- y: round(round(y * dpr) / dpr) || 0
2402
+ x: round(x * dpr) / dpr || 0,
2403
+ y: round(y * dpr) / dpr || 0
2397
2404
  };
2398
2405
  }
2399
2406
 
@@ -2408,14 +2415,23 @@
2408
2415
  position = _ref2.position,
2409
2416
  gpuAcceleration = _ref2.gpuAcceleration,
2410
2417
  adaptive = _ref2.adaptive,
2411
- roundOffsets = _ref2.roundOffsets;
2412
-
2413
- var _ref3 = roundOffsets === true ? roundOffsetsByDPR(offsets) : typeof roundOffsets === 'function' ? roundOffsets(offsets) : offsets,
2414
- _ref3$x = _ref3.x,
2415
- x = _ref3$x === void 0 ? 0 : _ref3$x,
2416
- _ref3$y = _ref3.y,
2417
- y = _ref3$y === void 0 ? 0 : _ref3$y;
2418
+ roundOffsets = _ref2.roundOffsets,
2419
+ isFixed = _ref2.isFixed;
2420
+ var _offsets$x = offsets.x,
2421
+ x = _offsets$x === void 0 ? 0 : _offsets$x,
2422
+ _offsets$y = offsets.y,
2423
+ y = _offsets$y === void 0 ? 0 : _offsets$y;
2424
+
2425
+ var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({
2426
+ x: x,
2427
+ y: y
2428
+ }) : {
2429
+ x: x,
2430
+ y: y
2431
+ };
2418
2432
 
2433
+ x = _ref3.x;
2434
+ y = _ref3.y;
2419
2435
  var hasX = offsets.hasOwnProperty('x');
2420
2436
  var hasY = offsets.hasOwnProperty('y');
2421
2437
  var sideX = left;
@@ -2440,16 +2456,18 @@
2440
2456
  offsetParent = offsetParent;
2441
2457
 
2442
2458
  if (placement === top || (placement === left || placement === right) && variation === end) {
2443
- sideY = bottom; // $FlowFixMe[prop-missing]
2444
-
2445
- y -= offsetParent[heightProp] - popperRect.height;
2459
+ sideY = bottom;
2460
+ var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]
2461
+ offsetParent[heightProp];
2462
+ y -= offsetY - popperRect.height;
2446
2463
  y *= gpuAcceleration ? 1 : -1;
2447
2464
  }
2448
2465
 
2449
2466
  if (placement === left || (placement === top || placement === bottom) && variation === end) {
2450
- sideX = right; // $FlowFixMe[prop-missing]
2451
-
2452
- x -= offsetParent[widthProp] - popperRect.width;
2467
+ sideX = right;
2468
+ var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]
2469
+ offsetParent[widthProp];
2470
+ x -= offsetX - popperRect.width;
2453
2471
  x *= gpuAcceleration ? 1 : -1;
2454
2472
  }
2455
2473
  }
@@ -2458,6 +2476,17 @@
2458
2476
  position: position
2459
2477
  }, adaptive && unsetSides);
2460
2478
 
2479
+ var _ref4 = roundOffsets === true ? roundOffsetsByDPR({
2480
+ x: x,
2481
+ y: y
2482
+ }) : {
2483
+ x: x,
2484
+ y: y
2485
+ };
2486
+
2487
+ x = _ref4.x;
2488
+ y = _ref4.y;
2489
+
2461
2490
  if (gpuAcceleration) {
2462
2491
  var _Object$assign;
2463
2492
 
@@ -2467,9 +2496,9 @@
2467
2496
  return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : '', _Object$assign2[sideX] = hasX ? x + "px" : '', _Object$assign2.transform = '', _Object$assign2));
2468
2497
  }
2469
2498
 
2470
- function computeStyles(_ref4) {
2471
- var state = _ref4.state,
2472
- options = _ref4.options;
2499
+ function computeStyles(_ref5) {
2500
+ var state = _ref5.state,
2501
+ options = _ref5.options;
2473
2502
  var _options$gpuAccelerat = options.gpuAcceleration,
2474
2503
  gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,
2475
2504
  _options$adaptive = options.adaptive,
@@ -2492,7 +2521,8 @@
2492
2521
  variation: getVariation(state.placement),
2493
2522
  popper: state.elements.popper,
2494
2523
  popperRect: state.rects.popper,
2495
- gpuAcceleration: gpuAcceleration
2524
+ gpuAcceleration: gpuAcceleration,
2525
+ isFixed: state.options.strategy === 'fixed'
2496
2526
  };
2497
2527
 
2498
2528
  if (state.modifiersData.popperOffsets != null) {
@@ -2750,7 +2780,7 @@
2750
2780
  }
2751
2781
 
2752
2782
  function getClientRectFromMixedType(element, clippingParent) {
2753
- return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isHTMLElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));
2783
+ return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element)));
2754
2784
  } // A "clipping parent" is an overflowable container with the characteristic of
2755
2785
  // clipping (or hiding) overflowing elements with a position different from
2756
2786
  // `initial`
@@ -3267,6 +3297,14 @@
3267
3297
  var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {
3268
3298
  placement: state.placement
3269
3299
  })) : tetherOffset;
3300
+ var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {
3301
+ mainAxis: tetherOffsetValue,
3302
+ altAxis: tetherOffsetValue
3303
+ } : Object.assign({
3304
+ mainAxis: 0,
3305
+ altAxis: 0
3306
+ }, tetherOffsetValue);
3307
+ var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;
3270
3308
  var data = {
3271
3309
  x: 0,
3272
3310
  y: 0
@@ -3276,13 +3314,15 @@
3276
3314
  return;
3277
3315
  }
3278
3316
 
3279
- if (checkMainAxis || checkAltAxis) {
3317
+ if (checkMainAxis) {
3318
+ var _offsetModifierState$;
3319
+
3280
3320
  var mainSide = mainAxis === 'y' ? top : left;
3281
3321
  var altSide = mainAxis === 'y' ? bottom : right;
3282
3322
  var len = mainAxis === 'y' ? 'height' : 'width';
3283
3323
  var offset = popperOffsets[mainAxis];
3284
- var min$1 = popperOffsets[mainAxis] + overflow[mainSide];
3285
- var max$1 = popperOffsets[mainAxis] - overflow[altSide];
3324
+ var min$1 = offset + overflow[mainSide];
3325
+ var max$1 = offset - overflow[altSide];
3286
3326
  var additive = tether ? -popperRect[len] / 2 : 0;
3287
3327
  var minLen = variation === start ? referenceRect[len] : popperRect[len];
3288
3328
  var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go
@@ -3302,36 +3342,45 @@
3302
3342
  // width or height)
3303
3343
 
3304
3344
  var arrowLen = within(0, referenceRect[len], arrowRect[len]);
3305
- var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - tetherOffsetValue : minLen - arrowLen - arrowPaddingMin - tetherOffsetValue;
3306
- var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + tetherOffsetValue : maxLen + arrowLen + arrowPaddingMax + tetherOffsetValue;
3345
+ var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;
3346
+ var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;
3307
3347
  var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);
3308
3348
  var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;
3309
- var offsetModifierValue = state.modifiersData.offset ? state.modifiersData.offset[state.placement][mainAxis] : 0;
3310
- var tetherMin = popperOffsets[mainAxis] + minOffset - offsetModifierValue - clientOffset;
3311
- var tetherMax = popperOffsets[mainAxis] + maxOffset - offsetModifierValue;
3349
+ var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;
3350
+ var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;
3351
+ var tetherMax = offset + maxOffset - offsetModifierValue;
3352
+ var preventedOffset = within(tether ? min(min$1, tetherMin) : min$1, offset, tether ? max(max$1, tetherMax) : max$1);
3353
+ popperOffsets[mainAxis] = preventedOffset;
3354
+ data[mainAxis] = preventedOffset - offset;
3355
+ }
3312
3356
 
3313
- if (checkMainAxis) {
3314
- var preventedOffset = within(tether ? min(min$1, tetherMin) : min$1, offset, tether ? max(max$1, tetherMax) : max$1);
3315
- popperOffsets[mainAxis] = preventedOffset;
3316
- data[mainAxis] = preventedOffset - offset;
3317
- }
3357
+ if (checkAltAxis) {
3358
+ var _offsetModifierState$2;
3318
3359
 
3319
- if (checkAltAxis) {
3320
- var _mainSide = mainAxis === 'x' ? top : left;
3360
+ var _mainSide = mainAxis === 'x' ? top : left;
3321
3361
 
3322
- var _altSide = mainAxis === 'x' ? bottom : right;
3362
+ var _altSide = mainAxis === 'x' ? bottom : right;
3323
3363
 
3324
- var _offset = popperOffsets[altAxis];
3364
+ var _offset = popperOffsets[altAxis];
3325
3365
 
3326
- var _min = _offset + overflow[_mainSide];
3366
+ var _len = altAxis === 'y' ? 'height' : 'width';
3327
3367
 
3328
- var _max = _offset - overflow[_altSide];
3368
+ var _min = _offset + overflow[_mainSide];
3329
3369
 
3330
- var _preventedOffset = within(tether ? min(_min, tetherMin) : _min, _offset, tether ? max(_max, tetherMax) : _max);
3370
+ var _max = _offset - overflow[_altSide];
3331
3371
 
3332
- popperOffsets[altAxis] = _preventedOffset;
3333
- data[altAxis] = _preventedOffset - _offset;
3334
- }
3372
+ var isOriginSide = [top, left].indexOf(basePlacement) !== -1;
3373
+
3374
+ var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;
3375
+
3376
+ var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;
3377
+
3378
+ var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;
3379
+
3380
+ var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);
3381
+
3382
+ popperOffsets[altAxis] = _preventedOffset;
3383
+ data[altAxis] = _preventedOffset - _offset;
3335
3384
  }
3336
3385
 
3337
3386
  state.modifiersData[name] = data;
@@ -3363,8 +3412,8 @@
3363
3412
 
3364
3413
  function isElementScaled(element) {
3365
3414
  var rect = element.getBoundingClientRect();
3366
- var scaleX = rect.width / element.offsetWidth || 1;
3367
- var scaleY = rect.height / element.offsetHeight || 1;
3415
+ var scaleX = round(rect.width) / element.offsetWidth || 1;
3416
+ var scaleY = round(rect.height) / element.offsetHeight || 1;
3368
3417
  return scaleX !== 1 || scaleY !== 1;
3369
3418
  } // Returns the composite rect of an element relative to its offsetParent.
3370
3419
  // Composite means it takes into account transforms as well as layout.
@@ -3376,9 +3425,9 @@
3376
3425
  }
3377
3426
 
3378
3427
  var isOffsetParentAnElement = isHTMLElement(offsetParent);
3379
- isHTMLElement(offsetParent) && isElementScaled(offsetParent);
3428
+ var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);
3380
3429
  var documentElement = getDocumentElement(offsetParent);
3381
- var rect = getBoundingClientRect(elementOrVirtualElement);
3430
+ var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled);
3382
3431
  var scroll = {
3383
3432
  scrollLeft: 0,
3384
3433
  scrollTop: 0
@@ -3395,7 +3444,7 @@
3395
3444
  }
3396
3445
 
3397
3446
  if (isHTMLElement(offsetParent)) {
3398
- offsets = getBoundingClientRect(offsetParent);
3447
+ offsets = getBoundingClientRect(offsetParent, true);
3399
3448
  offsets.x += offsetParent.clientLeft;
3400
3449
  offsets.y += offsetParent.clientTop;
3401
3450
  } else if (documentElement) {
@@ -3895,10 +3944,10 @@
3895
3944
  * ------------------------------------------------------------------------
3896
3945
  */
3897
3946
 
3898
- const NAME$9 = 'dropdown';
3899
- const DATA_KEY$8 = 'bs.dropdown';
3900
- const EVENT_KEY$8 = `.${DATA_KEY$8}`;
3901
- const DATA_API_KEY$4 = '.data-api';
3947
+ const NAME$a = 'dropdown';
3948
+ const DATA_KEY$9 = 'bs.dropdown';
3949
+ const EVENT_KEY$9 = `.${DATA_KEY$9}`;
3950
+ const DATA_API_KEY$5 = '.data-api';
3902
3951
  const ESCAPE_KEY$2 = 'Escape';
3903
3952
  const SPACE_KEY = 'Space';
3904
3953
  const TAB_KEY$1 = 'Tab';
@@ -3907,13 +3956,13 @@
3907
3956
  const RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button
3908
3957
 
3909
3958
  const REGEXP_KEYDOWN = new RegExp(`${ARROW_UP_KEY}|${ARROW_DOWN_KEY}|${ESCAPE_KEY$2}`);
3910
- const EVENT_HIDE$4 = `hide${EVENT_KEY$8}`;
3911
- const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$8}`;
3912
- const EVENT_SHOW$4 = `show${EVENT_KEY$8}`;
3913
- const EVENT_SHOWN$4 = `shown${EVENT_KEY$8}`;
3914
- const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$8}${DATA_API_KEY$4}`;
3915
- const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$8}${DATA_API_KEY$4}`;
3916
- const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$8}${DATA_API_KEY$4}`;
3959
+ const EVENT_HIDE$4 = `hide${EVENT_KEY$9}`;
3960
+ const EVENT_HIDDEN$4 = `hidden${EVENT_KEY$9}`;
3961
+ const EVENT_SHOW$4 = `show${EVENT_KEY$9}`;
3962
+ const EVENT_SHOWN$4 = `shown${EVENT_KEY$9}`;
3963
+ const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$9}${DATA_API_KEY$5}`;
3964
+ const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$9}${DATA_API_KEY$5}`;
3965
+ const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$9}${DATA_API_KEY$5}`;
3917
3966
  const CLASS_NAME_SHOW$6 = 'show';
3918
3967
  const CLASS_NAME_DROPUP = 'dropup';
3919
3968
  const CLASS_NAME_DROPEND = 'dropend';
@@ -3929,7 +3978,7 @@
3929
3978
  const PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end';
3930
3979
  const PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start';
3931
3980
  const PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start';
3932
- const Default$8 = {
3981
+ const Default$9 = {
3933
3982
  offset: [0, 2],
3934
3983
  boundary: 'clippingParents',
3935
3984
  reference: 'toggle',
@@ -3937,7 +3986,7 @@
3937
3986
  popperConfig: null,
3938
3987
  autoClose: true
3939
3988
  };
3940
- const DefaultType$8 = {
3989
+ const DefaultType$9 = {
3941
3990
  offset: '(array|string|function)',
3942
3991
  boundary: '(string|element)',
3943
3992
  reference: '(string|element|object)',
@@ -3962,15 +4011,15 @@
3962
4011
 
3963
4012
 
3964
4013
  static get Default() {
3965
- return Default$8;
4014
+ return Default$9;
3966
4015
  }
3967
4016
 
3968
4017
  static get DefaultType() {
3969
- return DefaultType$8;
4018
+ return DefaultType$9;
3970
4019
  }
3971
4020
 
3972
4021
  static get NAME() {
3973
- return NAME$9;
4022
+ return NAME$a;
3974
4023
  } // Public
3975
4024
 
3976
4025
 
@@ -4080,11 +4129,11 @@
4080
4129
  ...Manipulator.getDataAttributes(this._element),
4081
4130
  ...config
4082
4131
  };
4083
- typeCheckConfig(NAME$9, config, this.constructor.DefaultType);
4132
+ typeCheckConfig(NAME$a, config, this.constructor.DefaultType);
4084
4133
 
4085
4134
  if (typeof config.reference === 'object' && !isElement$1(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') {
4086
4135
  // Popper virtual elements require a getBoundingClientRect method
4087
- throw new TypeError(`${NAME$9.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);
4136
+ throw new TypeError(`${NAME$a.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);
4088
4137
  }
4089
4138
 
4090
4139
  return config;
@@ -4330,9 +4379,9 @@
4330
4379
 
4331
4380
  EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE$3, Dropdown.dataApiKeydownHandler);
4332
4381
  EventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler);
4333
- EventHandler.on(document, EVENT_CLICK_DATA_API$3, Dropdown.clearMenus);
4382
+ EventHandler.on(document, EVENT_CLICK_DATA_API$4, Dropdown.clearMenus);
4334
4383
  EventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus);
4335
- EventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, function (event) {
4384
+ EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$3, function (event) {
4336
4385
  event.preventDefault();
4337
4386
  Dropdown.getOrCreateInstance(this).toggle();
4338
4387
  });
@@ -4345,6 +4394,167 @@
4345
4394
 
4346
4395
  defineJQueryPlugin(Dropdown);
4347
4396
 
4397
+ /**
4398
+ * --------------------------------------------------------------------------
4399
+ * Bootstrap (v5.1.3): gallery.js
4400
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
4401
+ * --------------------------------------------------------------------------
4402
+ */
4403
+ /**
4404
+ * ------------------------------------------------------------------------
4405
+ * Constants
4406
+ * ------------------------------------------------------------------------
4407
+ */
4408
+
4409
+ const Default$8 = {};
4410
+ const DefaultType$8 = {};
4411
+ const NAME$9 = 'gallery';
4412
+ const DATA_KEY$8 = 'bs.gallery';
4413
+ const EVENT_KEY$8 = `.${DATA_KEY$8}`;
4414
+ const DATA_API_KEY$4 = '.data-api';
4415
+ const CAROUSEL_SELECTOR = '.carousel';
4416
+ const CAROUSEL_PAGER_SELECTOR = '.carousel-pager span';
4417
+ const CAROUSEL_ACTIVE_SELECTOR = '.carousel-item.active';
4418
+ const CAROUSEL_ITEM_SELECTOR = '.carousel-item';
4419
+ const THUMBNAIL_SELECTOR = '.bcl-gallery__grid a';
4420
+ const MODAL_SELECTOR = '.modal';
4421
+ const EVENT_MODAL_HIDE$1 = 'hide.bs.modal';
4422
+ const CAROUSEL_EVENT = 'slide.bs.carousel';
4423
+ const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$8}${DATA_API_KEY$4}`;
4424
+ /**
4425
+ * ------------------------------------------------------------------------
4426
+ * Class Definition
4427
+ * ------------------------------------------------------------------------
4428
+ */
4429
+
4430
+ class Gallery extends BaseComponent {
4431
+ constructor(element, config) {
4432
+ super(element);
4433
+ this._carousel = SelectorEngine.findOne(CAROUSEL_SELECTOR, this._element);
4434
+ this._carouselPager = SelectorEngine.findOne(CAROUSEL_PAGER_SELECTOR, this._element);
4435
+ this._carouselStartIndex = element.getAttribute('data-gallery-start');
4436
+ this._carouselActiveItem = SelectorEngine.find(CAROUSEL_ITEM_SELECTOR, this._carousel)[this._carouselStartIndex];
4437
+ this._carouselPager.textContent = Number(this._carouselStartIndex) + 1;
4438
+ this._modal = SelectorEngine.findOne(MODAL_SELECTOR, this._element);
4439
+ this._config = this._getConfig(config);
4440
+
4441
+ this._addEventListeners();
4442
+
4443
+ this._carouselLazyLoad(this._carouselActiveItem);
4444
+ } // Getters
4445
+
4446
+
4447
+ static get NAME() {
4448
+ return NAME$9;
4449
+ } // Public
4450
+
4451
+
4452
+ setSlide(event) {
4453
+ const slideFrom = SelectorEngine.findOne(CAROUSEL_ACTIVE_SELECTOR, this._carousel);
4454
+ const slideTo = event.relatedTarget;
4455
+
4456
+ this._carouselLazyLoad(slideTo);
4457
+
4458
+ this._carouselPager.textContent = event.to + 1;
4459
+ this.stopVideo(slideFrom);
4460
+ }
4461
+
4462
+ stopSlide() {
4463
+ const currentSlide = SelectorEngine.findOne(CAROUSEL_ACTIVE_SELECTOR, this._carousel);
4464
+ this.stopVideo(currentSlide);
4465
+ }
4466
+
4467
+ stopVideo(slide) {
4468
+ const iframe = SelectorEngine.findOne('iframe', slide);
4469
+ const video = SelectorEngine.findOne('video', slide);
4470
+
4471
+ if (iframe) {
4472
+ iframe.src = iframe.dataset.src;
4473
+ } else if (video) {
4474
+ video.pause();
4475
+ }
4476
+ } // Private
4477
+
4478
+
4479
+ _carouselLazyLoad(slide) {
4480
+ const media = SelectorEngine.findOne('[data-src]', slide);
4481
+
4482
+ if (media && !media.src) {
4483
+ media.src = media.dataset.src;
4484
+ }
4485
+ }
4486
+
4487
+ _getConfig(config) {
4488
+ config = { ...Default$8,
4489
+ ...Manipulator.getDataAttributes(this._element),
4490
+ ...(typeof config === 'object' ? config : {})
4491
+ };
4492
+ typeCheckConfig(NAME$9, config, DefaultType$8);
4493
+ return config;
4494
+ }
4495
+
4496
+ _addEventListeners() {
4497
+ EventHandler.on(this._carousel, CAROUSEL_EVENT, event => this.setSlide(event));
4498
+ EventHandler.on(this._modal, EVENT_MODAL_HIDE$1, event => this.stopSlide(event));
4499
+ } // Static
4500
+
4501
+
4502
+ static get Default() {
4503
+ return Default$8;
4504
+ }
4505
+
4506
+ static galleryInterface(element, config) {
4507
+ const data = Gallery.getOrCreateInstance(element, config);
4508
+ let {
4509
+ _config
4510
+ } = data;
4511
+
4512
+ if (typeof config === 'object') {
4513
+ _config = { ..._config,
4514
+ ...config
4515
+ };
4516
+ }
4517
+ }
4518
+
4519
+ static jQueryInterface(config) {
4520
+ return this.each(function () {
4521
+ const data = Gallery.getOrCreateInstance(this);
4522
+
4523
+ if (typeof config !== 'string') {
4524
+ return;
4525
+ }
4526
+
4527
+ if (data[config] === undefined || config.startsWith('_') || config === 'constructor') {
4528
+ throw new TypeError(`No method named "${config}"`);
4529
+ }
4530
+
4531
+ data[config](this);
4532
+ });
4533
+ }
4534
+
4535
+ }
4536
+ /**
4537
+ * ------------------------------------------------------------------------
4538
+ * Data Api implementation
4539
+ * ------------------------------------------------------------------------
4540
+ */
4541
+
4542
+
4543
+ EventHandler.on(document, EVENT_CLICK_DATA_API$3, THUMBNAIL_SELECTOR, function (event) {
4544
+ const gallery = event.srcElement.closest('div.bcl-gallery');
4545
+ const firstSlide = event.srcElement.parentNode.getAttribute('data-bs-slide-to');
4546
+ gallery.dataset.galleryStart = firstSlide;
4547
+ Gallery.galleryInterface(gallery, Gallery.getInstance(gallery));
4548
+ });
4549
+ /**
4550
+ * ------------------------------------------------------------------------
4551
+ * jQuery
4552
+ * ------------------------------------------------------------------------
4553
+ * add .gallery to jQuery only if jQuery is present
4554
+ */
4555
+
4556
+ defineJQueryPlugin(Gallery);
4557
+
4348
4558
  /**
4349
4559
  * --------------------------------------------------------------------------
4350
4560
  * Bootstrap (v5.1.3): util/scrollBar.js
@@ -6968,6 +7178,7 @@
6968
7178
  Carousel,
6969
7179
  Collapse,
6970
7180
  Dropdown,
7181
+ Gallery,
6971
7182
  Modal,
6972
7183
  Offcanvas,
6973
7184
  Popover,