@madgex/design-system 1.62.2 → 1.63.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 (51) hide show
  1. package/coverage/cobertura-coverage.xml +59 -53
  2. package/coverage/components/accordion/accordion.js.html +30 -12
  3. package/coverage/components/accordion/index.html +15 -15
  4. package/coverage/components/inputs/combobox/combobox.js.html +1 -1
  5. package/coverage/components/inputs/combobox/index.html +1 -1
  6. package/coverage/components/inputs/combobox/vue-components/Combobox.vue.html +1 -1
  7. package/coverage/components/inputs/combobox/vue-components/ListBoxOption.vue.html +1 -1
  8. package/coverage/components/inputs/combobox/vue-components/index.html +1 -1
  9. package/coverage/components/inputs/file-upload/file-upload.js.html +1 -1
  10. package/coverage/components/inputs/file-upload/index.html +1 -1
  11. package/coverage/components/inputs/textarea/character-count.js.html +1 -1
  12. package/coverage/components/inputs/textarea/index.html +1 -1
  13. package/coverage/components/modal/index.html +1 -1
  14. package/coverage/components/modal/modal.js.html +1 -1
  15. package/coverage/components/notification/index.html +1 -1
  16. package/coverage/components/notification/notification.js.html +1 -1
  17. package/coverage/components/popover/index.html +1 -1
  18. package/coverage/components/popover/popover.js.html +1 -1
  19. package/coverage/components/switch-state/index.html +1 -1
  20. package/coverage/components/switch-state/switch-state.js.html +1 -1
  21. package/coverage/components/tabs/index.html +1 -1
  22. package/coverage/components/tabs/tabs.js.html +1 -1
  23. package/coverage/index.html +15 -15
  24. package/coverage/js/common.js.html +1 -1
  25. package/coverage/js/fractal-scripts/combobox.js.html +1 -1
  26. package/coverage/js/fractal-scripts/index.html +1 -1
  27. package/coverage/js/fractal-scripts/notification.js.html +1 -1
  28. package/coverage/js/fractal-scripts/switch-state.js.html +1 -1
  29. package/coverage/js/index-fractal.js.html +1 -1
  30. package/coverage/js/index-polyfills.js.html +1 -1
  31. package/coverage/js/index-vue.js.html +1 -1
  32. package/coverage/js/index.html +1 -1
  33. package/coverage/js/index.js.html +1 -1
  34. package/coverage/js/polyfills/arrayPrototypeFind.js.html +1 -1
  35. package/coverage/js/polyfills/closest.js.html +1 -1
  36. package/coverage/js/polyfills/index.html +1 -1
  37. package/coverage/js/polyfills/objectAssign.js.html +1 -1
  38. package/coverage/js/polyfills/remove.js.html +1 -1
  39. package/coverage/tokens/_config.js.html +1 -1
  40. package/coverage/tokens/index.html +1 -1
  41. package/dist/_tokens/css/_tokens.css +1 -1
  42. package/dist/_tokens/js/_tokens-module.js +1 -1
  43. package/dist/_tokens/scss/_tokens.scss +1 -1
  44. package/dist/assets/icons.json +1 -1
  45. package/dist/js/index.js +1 -1
  46. package/package.json +1 -1
  47. package/src/components/accordion/README.md +5 -3
  48. package/src/components/accordion/_template.njk +3 -1
  49. package/src/components/accordion/accordion.config.js +13 -0
  50. package/src/components/accordion/accordion.js +10 -4
  51. package/src/components/accordion/accordion.njk +1 -0
@@ -4,6 +4,7 @@ const accordionTriggerLabelClass = 'mds-accordion-trigger__label';
4
4
  const accordionTriggerExpandedClass = 'mds-accordion-trigger--expanded';
5
5
  const accordionContentExpandedClass = 'mds-accordion-content--expanded';
6
6
  const accordionLabelInverseData = 'data-labelinverse';
7
+ const accordionNonClosingClass = 'mds-accordion-trigger--non-closing';
7
8
 
8
9
  const accordion = {
9
10
  init: () => {
@@ -61,6 +62,7 @@ const accordion = {
61
62
  const accordionTriggerId = triggerContainer.id;
62
63
  const label = triggerContainer.querySelector('.mds-accordion-trigger__label');
63
64
  const labelText = label.innerText;
65
+ const isNonClosing = accordionTrigger.classList.contains(accordionNonClosingClass);
64
66
  const triggerButton = accordion.createButton(accordionTriggerId, triggerContainer);
65
67
  triggerContainer.classList.remove('mds-display-none');
66
68
  if (accordionContent.nodeName.toLowerCase() !== 'fieldset') {
@@ -70,11 +72,11 @@ const accordion = {
70
72
  triggerContainer.appendChild(triggerButton);
71
73
 
72
74
  if (triggerContainer.dataset.expanded) {
73
- accordion.toggleExpand(triggerButton, triggerContainer, accordionContent);
75
+ accordion.toggleExpand(triggerButton, triggerContainer, accordionContent, isNonClosing);
74
76
  }
75
77
  triggerButton.addEventListener('click', (elem) => {
76
78
  elem.preventDefault();
77
- accordion.toggleExpand(triggerButton, triggerContainer, accordionContent);
79
+ accordion.toggleExpand(triggerButton, triggerContainer, accordionContent, isNonClosing);
78
80
  });
79
81
  },
80
82
  createButton: (accordionTriggerId, element) => {
@@ -103,7 +105,7 @@ const accordion = {
103
105
  }
104
106
  return element;
105
107
  },
106
- toggleExpand: (triggerButton, triggerContainer, accordionContent) => {
108
+ toggleExpand: (triggerButton, triggerContainer, accordionContent, isNonClosing) => {
107
109
  const accordionTriggerButton = triggerButton;
108
110
  const accordionTriggerButtonLabel = triggerButton.querySelector(`.${accordionTriggerLabelClass}`);
109
111
 
@@ -111,7 +113,11 @@ const accordion = {
111
113
  accordionTriggerButton.setAttribute('aria-expanded', true);
112
114
  triggerContainer.classList.add(accordionTriggerExpandedClass);
113
115
  accordionContent.classList.add(accordionContentExpandedClass);
114
- } else {
116
+ if (isNonClosing) {
117
+ accordionTriggerButton.setAttribute('aria-disabled', true);
118
+ accordionTriggerButton.classList.add('mds-visually-hidden');
119
+ }
120
+ } else if (!isNonClosing) {
115
121
  accordionTriggerButton.setAttribute('aria-expanded', false);
116
122
  triggerContainer.classList.remove(accordionTriggerExpandedClass);
117
123
  accordionContent.classList.remove(accordionContentExpandedClass);
@@ -9,6 +9,7 @@
9
9
  triggerNoJsHidden: triggerNoJsHidden,
10
10
  triggerIsHeader: triggerIsHeader,
11
11
  triggerClasses: triggerClasses,
12
+ triggerIsNonClosing: triggerIsNonClosing,
12
13
  hideTriggerLabel: hideTriggerLabel,
13
14
  breakpoint: breakpoint,
14
15
  content: content,