@openeuropa/bcl-theme-joinup 1.9.0 → 1.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3075,6 +3075,45 @@ class AccessibleToggle {
3075
3075
  }
3076
3076
  }
3077
3077
 
3078
+ /* eslint-disable prefer-destructuring */
3079
+ class AccordionToggle {
3080
+ static isInitialized = false;
3081
+ constructor(buttonElement) {
3082
+ this.buttonElement = buttonElement;
3083
+ this.targetAccordionId = buttonElement.getAttribute("data-target");
3084
+ this.action = buttonElement.getAttribute("data-action");
3085
+ this.accordionElement = SelectorEngine.findOne(`#${this.targetAccordionId}`);
3086
+ this.accordionItems = SelectorEngine.find(".accordion-collapse", this.accordionElement);
3087
+ this.addEventListeners();
3088
+ }
3089
+ addEventListeners() {
3090
+ EventHandler.on(this.buttonElement, "click", event => this.handleAccordionAction(event));
3091
+ }
3092
+ handleAccordionAction(event) {
3093
+ const item = event.target;
3094
+ const action = item.getAttribute('data-action');
3095
+ const accordionItems = this.accordionItems;
3096
+ accordionItems.forEach(accordionItem => {
3097
+ const collapseInstance = Collapse.getOrCreateInstance(accordionItem, {
3098
+ toggle: false
3099
+ });
3100
+ if (action === 'expand') {
3101
+ collapseInstance.show();
3102
+ } else if (action === 'collapse') {
3103
+ collapseInstance.hide();
3104
+ }
3105
+ });
3106
+ }
3107
+ static init() {
3108
+ if (AccordionToggle.isInitialized) {
3109
+ return;
3110
+ }
3111
+ const toggleButtons = SelectorEngine.find('[data-action][data-target]');
3112
+ toggleButtons.forEach(buttonElement => new AccordionToggle(buttonElement));
3113
+ AccordionToggle.isInitialized = true;
3114
+ }
3115
+ }
3116
+
3078
3117
  /**
3079
3118
  * --------------------------------------------------------------------------
3080
3119
  * Bootstrap (v5.2.3): util/sanitizer.js
@@ -4874,5 +4913,5 @@ enableDismissTrigger(Toast);
4874
4913
 
4875
4914
  defineJQueryPlugin(Toast);
4876
4915
 
4877
- export { AccessibleToggle, Alert, Button, Carousel, Collapse, Dropdown, Gallery, Modal, Offcanvas, Popover, ScrollSpy, ScrollSpy$1 as ScrollSpyV2, Tab, Toast, Tooltip };
4916
+ export { AccessibleToggle, AccordionToggle, Alert, Button, Carousel, Collapse, Dropdown, Gallery, Modal, Offcanvas, Popover, ScrollSpy, ScrollSpy$1 as ScrollSpyV2, Tab, Toast, Tooltip };
4878
4917
  //# sourceMappingURL=oe-bcl-joinup.esm.js.map