wj-elements 0.7.7 → 0.8.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.
- package/dist/animations.js +28 -51
- package/dist/animations.js.map +1 -1
- package/dist/base-path.js +19 -31
- package/dist/base-path.js.map +1 -1
- package/dist/custom-elements.json +11504 -11499
- package/dist/dark.css +1 -302
- package/dist/date.js +16 -36
- package/dist/date.js.map +1 -1
- package/dist/element-utils.js +20 -81
- package/dist/element-utils.js.map +1 -1
- package/dist/event.js +49 -165
- package/dist/event.js.map +1 -1
- package/dist/form-associated-element-BjeJn7j8.js +101 -0
- package/dist/{form-associated-element-DEQ4y-jn.js.map → form-associated-element-BjeJn7j8.js.map} +1 -1
- package/dist/icon-DmsqtDpL.js +102 -0
- package/dist/{icon-CReYMzAK.js.map → icon-DmsqtDpL.js.map} +1 -1
- package/dist/light.css +1 -731
- package/dist/localize.js +36 -111
- package/dist/localize.js.map +1 -1
- package/dist/packages/wje-accordion-item/accordion-item.element.d.ts +3 -2
- package/dist/permissions.js +14 -41
- package/dist/permissions.js.map +1 -1
- package/dist/popup.element-CbkhthPP.js +806 -0
- package/dist/{popup.element-CwXvVFK7.js.map → popup.element-CbkhthPP.js.map} +1 -1
- package/dist/router-links-CNsJ-elb.js +105 -0
- package/dist/{router-links-wjqCnncc.js.map → router-links-CNsJ-elb.js.map} +1 -1
- package/dist/skeleton.css +1 -197
- package/dist/styles.css +1 -866
- package/dist/universal-service.js +48 -109
- package/dist/universal-service.js.map +1 -1
- package/dist/utils.js +11 -18
- package/dist/utils.js.map +1 -1
- package/dist/web-types.json +760 -760
- package/dist/wje-accordion-item.js +33 -106
- package/dist/wje-accordion-item.js.map +1 -1
- package/dist/wje-accordion.js +19 -84
- package/dist/wje-accordion.js.map +1 -1
- package/dist/wje-animation.js +37 -4258
- package/dist/wje-animation.js.map +1 -1
- package/dist/wje-aside.js +9 -34
- package/dist/wje-aside.js.map +1 -1
- package/dist/wje-avatar.js +36 -126
- package/dist/wje-avatar.js.map +1 -1
- package/dist/wje-badge.js +10 -52
- package/dist/wje-badge.js.map +1 -1
- package/dist/wje-breadcrumb.js +205 -672
- package/dist/wje-breadcrumb.js.map +1 -1
- package/dist/wje-breadcrumbs.js +177 -633
- package/dist/wje-breadcrumbs.js.map +1 -1
- package/dist/wje-button-group.js +48 -153
- package/dist/wje-button-group.js.map +1 -1
- package/dist/wje-button.js +92 -413
- package/dist/wje-button.js.map +1 -1
- package/dist/wje-card-content.js +7 -30
- package/dist/wje-card-content.js.map +1 -1
- package/dist/wje-card-controls.js +7 -30
- package/dist/wje-card-controls.js.map +1 -1
- package/dist/wje-card-header.js +7 -30
- package/dist/wje-card-header.js.map +1 -1
- package/dist/wje-card-subtitle.js +7 -34
- package/dist/wje-card-subtitle.js.map +1 -1
- package/dist/wje-card-title.js +7 -34
- package/dist/wje-card-title.js.map +1 -1
- package/dist/wje-card.js +15 -71
- package/dist/wje-card.js.map +1 -1
- package/dist/wje-carousel-item.js +12 -56
- package/dist/wje-carousel-item.js.map +1 -1
- package/dist/wje-carousel.js +154 -509
- package/dist/wje-carousel.js.map +1 -1
- package/dist/wje-checkbox.js +50 -227
- package/dist/wje-checkbox.js.map +1 -1
- package/dist/wje-chip.js +43 -160
- package/dist/wje-chip.js.map +1 -1
- package/dist/wje-col.js +7 -20
- package/dist/wje-col.js.map +1 -1
- package/dist/wje-color-picker.js +445 -1464
- package/dist/wje-color-picker.js.map +1 -1
- package/dist/wje-container.js +9 -35
- package/dist/wje-container.js.map +1 -1
- package/dist/wje-copy-button.js +64 -204
- package/dist/wje-copy-button.js.map +1 -1
- package/dist/wje-dialog.js +85 -553
- package/dist/wje-dialog.js.map +1 -1
- package/dist/wje-divider.js +7 -34
- package/dist/wje-divider.js.map +1 -1
- package/dist/wje-dropdown.js +78 -305
- package/dist/wje-dropdown.js.map +1 -1
- package/dist/wje-element.js +191 -700
- package/dist/wje-element.js.map +1 -1
- package/dist/wje-file-upload-item.js +51 -156
- package/dist/wje-file-upload-item.js.map +1 -1
- package/dist/wje-file-upload.js +181 -619
- package/dist/wje-file-upload.js.map +1 -1
- package/dist/wje-footer.js +7 -31
- package/dist/wje-footer.js.map +1 -1
- package/dist/wje-form.js +7 -32
- package/dist/wje-form.js.map +1 -1
- package/dist/wje-format-digital.js +26 -118
- package/dist/wje-format-digital.js.map +1 -1
- package/dist/wje-grid.js +7 -33
- package/dist/wje-grid.js.map +1 -1
- package/dist/wje-header.js +9 -35
- package/dist/wje-header.js.map +1 -1
- package/dist/wje-icon-library.js +12 -18
- package/dist/wje-icon-library.js.map +1 -1
- package/dist/wje-icon-picker.js +65 -320
- package/dist/wje-icon-picker.js.map +1 -1
- package/dist/wje-icon.js +1 -1
- package/dist/wje-img-comparer.js +37 -114
- package/dist/wje-img-comparer.js.map +1 -1
- package/dist/wje-img.js +50 -198
- package/dist/wje-img.js.map +1 -1
- package/dist/wje-infinite-scroll.js +94 -346
- package/dist/wje-infinite-scroll.js.map +1 -1
- package/dist/wje-input-file.js +23 -84
- package/dist/wje-input-file.js.map +1 -1
- package/dist/wje-input.js +78 -392
- package/dist/wje-input.js.map +1 -1
- package/dist/wje-item.js +11 -64
- package/dist/wje-item.js.map +1 -1
- package/dist/wje-kanban.js +124 -401
- package/dist/wje-kanban.js.map +1 -1
- package/dist/wje-label.js +9 -32
- package/dist/wje-label.js.map +1 -1
- package/dist/wje-level-indicator.js +38 -157
- package/dist/wje-level-indicator.js.map +1 -1
- package/dist/wje-list.js +10 -40
- package/dist/wje-list.js.map +1 -1
- package/dist/wje-main.js +7 -31
- package/dist/wje-main.js.map +1 -1
- package/dist/wje-masonry.js +66 -211
- package/dist/wje-masonry.js.map +1 -1
- package/dist/wje-master.js +45 -161
- package/dist/wje-master.js.map +1 -1
- package/dist/wje-menu-button.js +10 -38
- package/dist/wje-menu-button.js.map +1 -1
- package/dist/wje-menu-item.js +127 -577
- package/dist/wje-menu-item.js.map +1 -1
- package/dist/wje-menu-label.js +9 -35
- package/dist/wje-menu-label.js.map +1 -1
- package/dist/wje-menu.js +14 -49
- package/dist/wje-menu.js.map +1 -1
- package/dist/wje-option.js +48 -279
- package/dist/wje-option.js.map +1 -1
- package/dist/wje-options.js +130 -384
- package/dist/wje-options.js.map +1 -1
- package/dist/wje-orgchart-group.js +16 -52
- package/dist/wje-orgchart-group.js.map +1 -1
- package/dist/wje-orgchart-item.js +24 -93
- package/dist/wje-orgchart-item.js.map +1 -1
- package/dist/wje-orgchart.js +18 -68
- package/dist/wje-orgchart.js.map +1 -1
- package/dist/wje-pagination.js +113 -397
- package/dist/wje-pagination.js.map +1 -1
- package/dist/wje-popup.js +3 -3
- package/dist/wje-popup.js.map +1 -1
- package/dist/wje-progress-bar.js +53 -205
- package/dist/wje-progress-bar.js.map +1 -1
- package/dist/wje-qr-code.js +398 -2980
- package/dist/wje-qr-code.js.map +1 -1
- package/dist/wje-radio-group.js +52 -190
- package/dist/wje-radio-group.js.map +1 -1
- package/dist/wje-radio.js +24 -118
- package/dist/wje-radio.js.map +1 -1
- package/dist/wje-rate.js +62 -266
- package/dist/wje-rate.js.map +1 -1
- package/dist/wje-relative-time.js +24 -99
- package/dist/wje-relative-time.js.map +1 -1
- package/dist/wje-reorder-dropzone.js +9 -31
- package/dist/wje-reorder-dropzone.js.map +1 -1
- package/dist/wje-reorder-handle.js +67 -204
- package/dist/wje-reorder-handle.js.map +1 -1
- package/dist/wje-reorder-item.js +14 -44
- package/dist/wje-reorder-item.js.map +1 -1
- package/dist/wje-reorder.js +61 -246
- package/dist/wje-reorder.js.map +1 -1
- package/dist/wje-route.js +6 -24
- package/dist/wje-route.js.map +1 -1
- package/dist/wje-router-link.js +11 -39
- package/dist/wje-router-link.js.map +1 -1
- package/dist/wje-router-outlet.js +76 -172
- package/dist/wje-router-outlet.js.map +1 -1
- package/dist/wje-routerx.js +537 -1331
- package/dist/wje-routerx.js.map +1 -1
- package/dist/wje-row.js +9 -31
- package/dist/wje-row.js.map +1 -1
- package/dist/wje-select.js +326 -1152
- package/dist/wje-select.js.map +1 -1
- package/dist/wje-slider.js +44 -225
- package/dist/wje-slider.js.map +1 -1
- package/dist/wje-sliding-container.js +295 -1319
- package/dist/wje-sliding-container.js.map +1 -1
- package/dist/wje-split-view.js +35 -121
- package/dist/wje-split-view.js.map +1 -1
- package/dist/wje-status.js +14 -45
- package/dist/wje-status.js.map +1 -1
- package/dist/wje-step.js +9 -32
- package/dist/wje-step.js.map +1 -1
- package/dist/wje-stepper.js +109 -357
- package/dist/wje-stepper.js.map +1 -1
- package/dist/wje-store.js +67 -360
- package/dist/wje-store.js.map +1 -1
- package/dist/wje-tab-group.js +85 -314
- package/dist/wje-tab-group.js.map +1 -1
- package/dist/wje-tab-panel.js +7 -28
- package/dist/wje-tab-panel.js.map +1 -1
- package/dist/wje-tab.js +21 -198
- package/dist/wje-tab.js.map +1 -1
- package/dist/wje-textarea.js +64 -264
- package/dist/wje-textarea.js.map +1 -1
- package/dist/wje-thumbnail.js +10 -51
- package/dist/wje-thumbnail.js.map +1 -1
- package/dist/wje-toast.js +127 -632
- package/dist/wje-toast.js.map +1 -1
- package/dist/wje-toggle.js +52 -177
- package/dist/wje-toggle.js.map +1 -1
- package/dist/wje-toolbar-action.js +128 -456
- package/dist/wje-toolbar-action.js.map +1 -1
- package/dist/wje-toolbar.js +75 -270
- package/dist/wje-toolbar.js.map +1 -1
- package/dist/wje-tooltip.js +50 -161
- package/dist/wje-tooltip.js.map +1 -1
- package/dist/wje-tree-item.js +70 -301
- package/dist/wje-tree-item.js.map +1 -1
- package/dist/wje-tree.js +145 -489
- package/dist/wje-tree.js.map +1 -1
- package/dist/wje-visually-hidden.js +7 -34
- package/dist/wje-visually-hidden.js.map +1 -1
- package/package.json +3 -2
- package/dist/form-associated-element-DEQ4y-jn.js +0 -245
- package/dist/icon-CReYMzAK.js +0 -245
- package/dist/popup.element-CwXvVFK7.js +0 -2133
- package/dist/router-links-wjqCnncc.js +0 -156
|
@@ -1,136 +1,63 @@
|
|
|
1
1
|
var __defProp = Object.defineProperty;
|
|
2
2
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
3
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
4
|
-
import
|
|
5
|
-
import { event } from "./event.js";
|
|
6
|
-
const
|
|
7
|
-
const _AccordionItem = class _AccordionItem extends WJElement {
|
|
8
|
-
/**
|
|
9
|
-
* Constructor for the AccordionItem class.
|
|
10
|
-
*/
|
|
4
|
+
import e from "./wje-element.js";
|
|
5
|
+
import { event as o } from "./event.js";
|
|
6
|
+
const _r = class _r extends e {
|
|
11
7
|
constructor() {
|
|
12
8
|
super();
|
|
13
|
-
/**
|
|
14
|
-
* The class name for the Accordion Item element.
|
|
15
|
-
* @type {string}
|
|
16
|
-
*/
|
|
17
9
|
__publicField(this, "className", "AccordionItem");
|
|
18
|
-
this._instanceId = ++
|
|
10
|
+
this._instanceId = ++_r._instanceId;
|
|
19
11
|
}
|
|
20
|
-
/**
|
|
21
|
-
* Getter for the CSS stylesheet.
|
|
22
|
-
* @returns {object} The styles for the Accordion Item element.
|
|
23
|
-
*/
|
|
24
12
|
static get cssStyleSheet() {
|
|
25
|
-
return
|
|
13
|
+
return ':host{--wje-accordion-background: var(--wje-color-contrast-0);--wje-accordion-border: var(--wje-color-contrast-0);--wje-accordion-border-radius: var(--wje-border-radius-large);--wje-accordion-background-hover: var(--wje-color-contrast-1);--wje-accordion-border-hover: var(--wje-color-contrast-2);--wje-accordion-background-expanded: var(--wje-color-contrast-0);--wje-accordion-border-expanded: var(--wje-color-contrast-0);--wje-accordion-headline-color: var(--wje-color-contrast-11) !important;--wje-accordion-content-color: var(--wje-color-contrast-6);--wje-accordion-content-margin: 0 var(--wje-spacing-small, .75rem) var(--wje-spacing-small, .75rem)}:host([color="primary"]){--wje-accordion-background: var(--wje-color-primary-1);--wje-accordion-border: var(--wje-color-primary-1);--wje-accordion-background-hover: var(--wje-color-primary-2);--wje-accordion-border-hover: var(--wje-color-primary-2);--wje-accordion-background-expanded: transparent;--wje-accordion-border-expanded: var(--wje-color-primary-3);--wje-accordion-headline-color: var(--wje-color-contrast-11) !important;--wje-accordion-content-color: var(--wje-color-contrast-6)}:host([color="complete"]){--wje-accordion-background: var(--wje-color-complete-1);--wje-accordion-border: var(--wje-color-complete-1);--wje-accordion-background-hover: var(--wje-color-complete-2);--wje-accordion-border-hover: var(--wje-color-complete-2);--wje-accordion-background-expanded: transparent;--wje-accordion-border-expanded: var(--wje-color-complete-3);--wje-accordion-headline-color: var(--wje-color-contrast-11) !important;--wje-accordion-content-color: var(--wje-color-contrast-6)}:host([color="success"]){--wje-accordion-background: var(--wje-color-success-1);--wje-accordion-border: var(--wje-color-success-1);--wje-accordion-background-hover: var(--wje-color-success-2);--wje-accordion-border-hover: var(--wje-color-success-2);--wje-accordion-background-expanded: transparent;--wje-accordion-border-expanded: var(--wje-color-success-3);--wje-accordion-headline-color: var(--wje-color-contrast-11) !important;--wje-accordion-content-color: var(--wje-color-contrast-6)}:host([color="danger"]){--wje-accordion-background: var(--wje-color-danger-1);--wje-accordion-border: var(--wje-color-danger-1);--wje-accordion-background-hover: var(--wje-color-danger-2);--wje-accordion-border-hover: var(--wje-color-danger-2);--wje-accordion-background-expanded: transparent;--wje-accordion-border-expanded: var(--wje-color-danger-3);--wje-accordion-headline-color: var(--wje-color-contrast-11) !important;--wje-accordion-content-color: var(--wje-color-contrast-6)}:host([color="warning"]){--wje-accordion-background: var(--wje-color-warning-1);--wje-accordion-border: var(--wje-color-warning-1);--wje-accordion-background-hover: var(--wje-color-warning-2);--wje-accordion-border-hover: var(--wje-color-warning-2);--wje-accordion-background-expanded: transparent;--wje-accordion-border-expanded: var(--wje-color-warning-3);--wje-accordion-headline-color: var(--wje-color-contrast-11) !important;--wje-accordion-content-color: var(--wje-color-contrast-6)}:host([color="info"]){--wje-accordion-background: var(--wje-color-info-1);--wje-accordion-border: var(--wje-color-info-1);--wje-accordion-background-hover: var(--wje-color-info-2);--wje-accordion-border-hover: var(--wje-color-info-2);--wje-accordion-background-expanded: transparent;--wje-accordion-border-expanded: var(--wje-color-info-3);--wje-accordion-headline-color: var(--wje-color-contrast-11) !important;--wje-accordion-content-color: var(--wje-color-contrast-6)}:host{display:block;margin-bottom:.5rem}.native-accordion-item{display:block;background-color:var(--wje-accordion-background);border-radius:var(--wje-accordion-border-radius);border-width:1px;border-style:solid;border-color:var(--wje-accordion-border);transition:background-color .2s ease-in-out}.native-accordion-item:hover{background-color:var(--wje-accordion-background-hover);border-color:var(--wje-accordion-border-hover)}:host(.expanded) .native-accordion-item{background-color:var(--wje-accordion-background-expanded);border-color:var(--wje-accordion-border-expanded)}.headline{display:grid;grid-template-columns:1fr auto;align-items:center;font-size:var(--wje-font-size)!important;color:var(--wje-accordion-headline-color);line-height:normal!important;margin:0!important;padding:.75rem}[name=description]{font-size:var(--wje-font-size-small);color:var(--wje-color-contrast-6)}wje-icon{margin-left:auto;transform:rotate(var(--wje-accordion-marker-rotate, 0deg))}[part=content]{display:block;color:var(--wje-accordion-content-color);overflow:hidden;max-height:0;transition:max-height .25s ease-in-out}[part=content] slot{display:block;margin:var(--wje-accordion-content-margin)}:host(.expanded) [part=content]{max-height:100vh}';
|
|
26
14
|
}
|
|
27
|
-
/**
|
|
28
|
-
* Getter for the observed attributes.
|
|
29
|
-
* @returns {Array} An array containing the name of the observed attribute.
|
|
30
|
-
*/
|
|
31
15
|
static get observedAttributes() {
|
|
32
16
|
return [];
|
|
33
17
|
}
|
|
34
|
-
/**
|
|
35
|
-
* Method to setup attributes for the Accordion Item element.
|
|
36
|
-
*/
|
|
37
18
|
setupAttributes() {
|
|
38
19
|
this.isShadowRoot = "open";
|
|
39
20
|
}
|
|
40
|
-
/**
|
|
41
|
-
* Method to draw the Accordion Item element. This method returns a document fragment containing the drawn element.
|
|
42
|
-
* @returns {object} The document fragment containing the drawn element.
|
|
43
|
-
*/
|
|
44
21
|
draw() {
|
|
45
|
-
let
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
let
|
|
58
|
-
|
|
59
|
-
let
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
mark.setAttribute("name", "chevron-down");
|
|
64
|
-
let content = document.createElement("div");
|
|
65
|
-
content.setAttribute("part", "content");
|
|
66
|
-
content.setAttribute("id", `${baseId}-panel`);
|
|
67
|
-
content.setAttribute("role", "region");
|
|
68
|
-
content.setAttribute("aria-labelledby", headline.id);
|
|
69
|
-
let slot = document.createElement("slot");
|
|
70
|
-
slot.setAttribute("name", "content");
|
|
71
|
-
toggle.appendChild(mark);
|
|
72
|
-
headline.appendChild(slotHeadline);
|
|
73
|
-
headline.appendChild(toggle);
|
|
74
|
-
headline.appendChild(headlineDescription);
|
|
75
|
-
content.appendChild(slot);
|
|
76
|
-
native.appendChild(headline);
|
|
77
|
-
native.appendChild(content);
|
|
78
|
-
fragment.appendChild(native);
|
|
79
|
-
this.headline = headline;
|
|
80
|
-
this.toggle = toggle;
|
|
81
|
-
this.content = content;
|
|
82
|
-
return fragment;
|
|
22
|
+
let e2 = document.createDocumentFragment(), o2 = document.createElement("div");
|
|
23
|
+
o2.setAttribute("part", "native"), o2.classList.add("native-accordion-item");
|
|
24
|
+
let r2 = document.createElement("div");
|
|
25
|
+
r2.setAttribute("part", "headline"), r2.classList.add("headline");
|
|
26
|
+
const t = this.id || `wje-accordion-item-${this._instanceId}`;
|
|
27
|
+
r2.id = `${t}-header`;
|
|
28
|
+
let a = document.createElement("slot");
|
|
29
|
+
a.setAttribute("part", "description"), a.setAttribute("name", "description");
|
|
30
|
+
let c = document.createElement("slot");
|
|
31
|
+
c.setAttribute("name", "headline");
|
|
32
|
+
let n = document.createElement("slot");
|
|
33
|
+
n.setAttribute("part", "toggle"), n.setAttribute("name", "toggle");
|
|
34
|
+
let d = document.createElement("wje-icon");
|
|
35
|
+
d.setAttribute("name", "chevron-down");
|
|
36
|
+
let i = document.createElement("div");
|
|
37
|
+
i.setAttribute("part", "content"), i.setAttribute("id", `${t}-panel`), i.setAttribute("role", "region"), i.setAttribute("aria-labelledby", r2.id);
|
|
38
|
+
let s = document.createElement("slot");
|
|
39
|
+
return s.setAttribute("name", "content"), n.appendChild(d), r2.appendChild(c), r2.appendChild(n), r2.appendChild(a), i.appendChild(s), o2.appendChild(r2), o2.appendChild(i), e2.appendChild(o2), this.headline = r2, this.toggle = n, this.content = i, e2;
|
|
83
40
|
}
|
|
84
|
-
/**
|
|
85
|
-
* Method to execute after the Accordion Item element is drawn.
|
|
86
|
-
*/
|
|
87
41
|
afterDraw() {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
this.headline.
|
|
91
|
-
|
|
92
|
-
this.headline.setAttribute("aria-expanded", this.classList.contains("expanded") ? "true" : "false");
|
|
93
|
-
this.headline.addEventListener("click", () => {
|
|
94
|
-
if (this.classList.contains("collapsed")) {
|
|
95
|
-
event.dispatchCustomEvent(this, "wje-accordion-item:open");
|
|
96
|
-
this.toggle.style.setProperty("--wje-accordion-marker-rotate", "180deg");
|
|
97
|
-
this.expand();
|
|
98
|
-
} else {
|
|
99
|
-
event.dispatchCustomEvent(this, "wje-accordion-item:close");
|
|
100
|
-
this.toggle.style.setProperty("--wje-accordion-marker-rotate", "0deg");
|
|
101
|
-
this.collapse();
|
|
102
|
-
}
|
|
103
|
-
});
|
|
104
|
-
this.headline.addEventListener("keydown", (e) => {
|
|
105
|
-
if (e.key === "Enter" || e.key === " ") {
|
|
106
|
-
e.preventDefault();
|
|
107
|
-
this.headline.click();
|
|
108
|
-
}
|
|
42
|
+
this.classList.contains("expanded") || this.classList.add("collapsed"), this.content.inert = !this.classList.contains("expanded"), this.headline.setAttribute("role", "button"), this.headline.setAttribute("tabindex", "0"), this.headline.setAttribute("aria-controls", this.content.id), this.headline.setAttribute("aria-expanded", this.classList.contains("expanded") ? "true" : "false"), this.headline.addEventListener("click", () => {
|
|
43
|
+
this.classList.contains("collapsed") ? (o.dispatchCustomEvent(this, "wje-accordion-item:open"), this.toggle.style.setProperty("--wje-accordion-marker-rotate", "180deg"), this.expand()) : (o.dispatchCustomEvent(this, "wje-accordion-item:close"), this.toggle.style.setProperty("--wje-accordion-marker-rotate", "0deg"), this.collapse());
|
|
44
|
+
}), this.headline.addEventListener("keydown", (e2) => {
|
|
45
|
+
"Enter" !== e2.key && " " !== e2.key || (e2.preventDefault(), this.headline.click());
|
|
109
46
|
});
|
|
110
47
|
}
|
|
111
|
-
/**
|
|
112
|
-
* Collapses the accordion item and updates the headline ARIA state.
|
|
113
|
-
*/
|
|
114
48
|
collapse() {
|
|
115
49
|
var _a;
|
|
116
|
-
this.classList.remove("expanded");
|
|
117
|
-
this.classList.add("collapsed");
|
|
118
|
-
(_a = this.headline) == null ? void 0 : _a.setAttribute("aria-expanded", "false");
|
|
50
|
+
this.classList.remove("expanded"), this.classList.add("collapsed"), (_a = this.headline) == null ? void 0 : _a.setAttribute("aria-expanded", "false"), this.content && (this.content.inert = true);
|
|
119
51
|
}
|
|
120
|
-
/**
|
|
121
|
-
* Expands the accordion item and updates the headline ARIA state.
|
|
122
|
-
*/
|
|
123
52
|
expand() {
|
|
124
53
|
var _a;
|
|
125
|
-
this.classList.remove("collapsed");
|
|
126
|
-
this.classList.add("expanded");
|
|
127
|
-
(_a = this.headline) == null ? void 0 : _a.setAttribute("aria-expanded", "true");
|
|
54
|
+
this.classList.remove("collapsed"), this.classList.add("expanded"), (_a = this.headline) == null ? void 0 : _a.setAttribute("aria-expanded", "true"), this.content && (this.content.inert = false);
|
|
128
55
|
}
|
|
129
56
|
};
|
|
130
|
-
__publicField(
|
|
131
|
-
let
|
|
132
|
-
|
|
57
|
+
__publicField(_r, "_instanceId", 0);
|
|
58
|
+
let r = _r;
|
|
59
|
+
r.define("wje-accordion-item", r);
|
|
133
60
|
export {
|
|
134
|
-
|
|
61
|
+
r as default
|
|
135
62
|
};
|
|
136
63
|
//# sourceMappingURL=wje-accordion-item.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wje-accordion-item.js","sources":["../packages/wje-accordion-item/accordion-item.element.js","../packages/wje-accordion-item/accordion-item.js"],"sourcesContent":["import { default as WJElement, event } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * @summary This class represents an Accordion Item element, extending the WJElement class.\n * @documentation https://elements.webjet.sk/components/accordion-item\n * @status stable\n * @augments WJElement\n * @attribute {string} color - Applies a contextual color variant such as `primary`, `success`, `danger`, `warning`, `info`, or `complete`.\n * @slot headline - Slot for the clickable accordion headline content.\n * @slot description - Slot for supporting text shown below the headline.\n * @slot toggle - Slot for a custom toggle icon or toggle content.\n * @slot content - Slot for the expandable panel body.\n * @csspart native - The wrapper of the whole accordion item.\n * @csspart headline - The clickable headline area.\n * @csspart description - The description slot container inside the headline.\n * @csspart toggle - The toggle slot container and fallback chevron area.\n * @csspart content - The expandable content panel.\n * @cssproperty [--wje-accordion-background=var(--wje-color-contrast-0)] - Background color of the collapsed item wrapper.\n * @cssproperty [--wje-accordion-border=var(--wje-color-contrast-0)] - Border color of the collapsed item wrapper.\n * @cssproperty [--wje-accordion-border-radius=var(--wje-border-radius-large)] - Border radius of the item wrapper.\n * @cssproperty [--wje-accordion-background-hover=var(--wje-color-contrast-1)] - Background color used when the headline is hovered.\n * @cssproperty [--wje-accordion-border-hover=var(--wje-color-contrast-2)] - Border color used when the headline is hovered.\n * @cssproperty [--wje-accordion-background-expanded=var(--wje-color-contrast-0)] - Background color of the expanded item wrapper.\n * @cssproperty [--wje-accordion-border-expanded=var(--wje-color-contrast-0)] - Border color of the expanded item wrapper.\n * @cssproperty [--wje-accordion-headline-color=var(--wje-color-contrast-11)] - Text color of the headline area.\n * @cssproperty [--wje-accordion-content-color=var(--wje-color-contrast-6)] - Text color of the expandable content area.\n * @cssproperty [--wje-accordion-marker-rotate=0deg] - Rotation applied to the toggle marker icon.\n * // @fires wje-accordion-item:open - Dispatched when the item is expanded.\n * // @fires wje-accordion-item:close - Dispatched when the item is collapsed.\n * @tag wje-accordion-item\n */\nexport default class AccordionItem extends WJElement {\n static _instanceId = 0;\n /**\n * Constructor for the AccordionItem class.\n */\n constructor() {\n super();\n this._instanceId = ++AccordionItem._instanceId;\n }\n\n /**\n * The class name for the Accordion Item element.\n * @type {string}\n */\n className = 'AccordionItem';\n\n /**\n * Getter for the CSS stylesheet.\n * @returns {object} The styles for the Accordion Item element.\n */\n static get cssStyleSheet() {\n return styles;\n }\n\n /**\n * Getter for the observed attributes.\n * @returns {Array} An array containing the name of the observed attribute.\n */\n static get observedAttributes() {\n return [];\n }\n\n /**\n * Method to setup attributes for the Accordion Item element.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n }\n\n /**\n * Method to draw the Accordion Item element. This method returns a document fragment containing the drawn element.\n * @returns {object} The document fragment containing the drawn element.\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n let native = document.createElement('div');\n native.setAttribute('part', 'native');\n native.classList.add('native-accordion-item');\n\n let headline = document.createElement('div');\n headline.setAttribute('part', 'headline');\n headline.classList.add('headline');\n const baseId = this.id || `wje-accordion-item-${this._instanceId}`;\n headline.id = `${baseId}-header`;\n\n let headlineDescription = document.createElement('slot');\n headlineDescription.setAttribute('part', 'description');\n headlineDescription.setAttribute('name', 'description');\n\n let slotHeadline = document.createElement('slot');\n slotHeadline.setAttribute('name', 'headline');\n\n let toggle = document.createElement('slot');\n toggle.setAttribute('part', 'toggle');\n toggle.setAttribute('name', 'toggle');\n\n let mark = document.createElement('wje-icon');\n mark.setAttribute('name', 'chevron-down');\n\n let content = document.createElement('div');\n content.setAttribute('part', 'content');\n content.setAttribute('id', `${baseId}-panel`);\n content.setAttribute('role', 'region');\n content.setAttribute('aria-labelledby', headline.id);\n\n let slot = document.createElement('slot');\n slot.setAttribute('name', 'content');\n\n toggle.appendChild(mark);\n\n headline.appendChild(slotHeadline);\n headline.appendChild(toggle);\n headline.appendChild(headlineDescription);\n\n content.appendChild(slot);\n\n native.appendChild(headline);\n native.appendChild(content);\n\n fragment.appendChild(native);\n\n this.headline = headline;\n this.toggle = toggle;\n this.content = content;\n\n return fragment;\n }\n\n /**\n * Method to execute after the Accordion Item element is drawn.\n */\n afterDraw() {\n if (!this.classList.contains('expanded')) this.classList.add('collapsed');\n\n this.headline.setAttribute('role', 'button');\n this.headline.setAttribute('tabindex', '0');\n this.headline.setAttribute('aria-controls', this.content.id);\n this.headline.setAttribute('aria-expanded', this.classList.contains('expanded') ? 'true' : 'false');\n\n this.headline.addEventListener('click', () => {\n if (this.classList.contains('collapsed')) {\n event.dispatchCustomEvent(this, 'wje-accordion-item:open');\n this.toggle.style.setProperty('--wje-accordion-marker-rotate', '180deg');\n this.expand();\n } else {\n event.dispatchCustomEvent(this, 'wje-accordion-item:close');\n this.toggle.style.setProperty('--wje-accordion-marker-rotate', '0deg');\n this.collapse();\n }\n });\n\n this.headline.addEventListener('keydown', (e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n this.headline.click();\n }\n });\n }\n\n /**\n * Collapses the accordion item and updates the headline ARIA state.\n */\n collapse() {\n this.classList.remove('expanded');\n this.classList.add('collapsed');\n this.headline?.setAttribute('aria-expanded', 'false');\n }\n\n /**\n * Expands the accordion item and updates the headline ARIA state.\n */\n expand() {\n this.classList.remove('collapsed');\n this.classList.add('expanded');\n this.headline?.setAttribute('aria-expanded', 'true');\n }\n}\n","import AccordionItem from './accordion-item.element.js';\n\nexport default AccordionItem;\n\nAccordionItem.define('wje-accordion-item', AccordionItem);\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wje-accordion-item.js","sources":["../packages/wje-accordion-item/accordion-item.element.js","../packages/wje-accordion-item/accordion-item.js"],"sourcesContent":["import { default as WJElement, event } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * @summary This class represents an Accordion Item element, extending the WJElement class.\n * @documentation https://elements.webjet.sk/components/accordion-item\n * @status stable\n * @augments WJElement\n * @attribute {string} color - Applies a contextual color variant such as `primary`, `success`, `danger`, `warning`, `info`, or `complete`.\n * @slot headline - Slot for the clickable accordion headline content.\n * @slot description - Slot for supporting text shown below the headline.\n * @slot toggle - Slot for a custom toggle icon or toggle content.\n * @slot content - Slot for the expandable panel body.\n * @csspart native - The wrapper of the whole accordion item.\n * @csspart headline - The clickable headline area.\n * @csspart description - The description slot container inside the headline.\n * @csspart toggle - The toggle slot container and fallback chevron area.\n * @csspart content - The expandable content panel.\n * @cssproperty [--wje-accordion-background=var(--wje-color-contrast-0)] - Background color of the collapsed item wrapper.\n * @cssproperty [--wje-accordion-border=var(--wje-color-contrast-0)] - Border color of the collapsed item wrapper.\n * @cssproperty [--wje-accordion-border-radius=var(--wje-border-radius-large)] - Border radius of the item wrapper.\n * @cssproperty [--wje-accordion-background-hover=var(--wje-color-contrast-1)] - Background color used when the headline is hovered.\n * @cssproperty [--wje-accordion-border-hover=var(--wje-color-contrast-2)] - Border color used when the headline is hovered.\n * @cssproperty [--wje-accordion-background-expanded=var(--wje-color-contrast-0)] - Background color of the expanded item wrapper.\n * @cssproperty [--wje-accordion-border-expanded=var(--wje-color-contrast-0)] - Border color of the expanded item wrapper.\n * @cssproperty [--wje-accordion-headline-color=var(--wje-color-contrast-11)] - Text color of the headline area.\n * @cssproperty [--wje-accordion-content-color=var(--wje-color-contrast-6)] - Text color of the expandable content area.\n * @cssproperty [--wje-accordion-content-margin=0 var(--wje-spacing-small, 0.75rem) var(--wje-spacing-small, 0.75rem)] - Margin around the slotted expandable content.\n * @cssproperty [--wje-accordion-marker-rotate=0deg] - Rotation applied to the toggle marker icon.\n * // @fires wje-accordion-item:open - Dispatched when the item is expanded.\n * // @fires wje-accordion-item:close - Dispatched when the item is collapsed.\n * @tag wje-accordion-item\n */\nexport default class AccordionItem extends WJElement {\n static _instanceId = 0;\n /**\n * Constructor for the AccordionItem class.\n */\n constructor() {\n super();\n this._instanceId = ++AccordionItem._instanceId;\n }\n\n /**\n * The class name for the Accordion Item element.\n * @type {string}\n */\n className = 'AccordionItem';\n\n /**\n * Getter for the CSS stylesheet.\n * @returns {object} The styles for the Accordion Item element.\n */\n static get cssStyleSheet() {\n return styles;\n }\n\n /**\n * Getter for the observed attributes.\n * @returns {Array} An array containing the name of the observed attribute.\n */\n static get observedAttributes() {\n return [];\n }\n\n /**\n * Method to setup attributes for the Accordion Item element.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n }\n\n /**\n * Method to draw the Accordion Item element. This method returns a document fragment containing the drawn element.\n * @returns {object} The document fragment containing the drawn element.\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n let native = document.createElement('div');\n native.setAttribute('part', 'native');\n native.classList.add('native-accordion-item');\n\n let headline = document.createElement('div');\n headline.setAttribute('part', 'headline');\n headline.classList.add('headline');\n const baseId = this.id || `wje-accordion-item-${this._instanceId}`;\n headline.id = `${baseId}-header`;\n\n let headlineDescription = document.createElement('slot');\n headlineDescription.setAttribute('part', 'description');\n headlineDescription.setAttribute('name', 'description');\n\n let slotHeadline = document.createElement('slot');\n slotHeadline.setAttribute('name', 'headline');\n\n let toggle = document.createElement('slot');\n toggle.setAttribute('part', 'toggle');\n toggle.setAttribute('name', 'toggle');\n\n let mark = document.createElement('wje-icon');\n mark.setAttribute('name', 'chevron-down');\n\n let content = document.createElement('div');\n content.setAttribute('part', 'content');\n content.setAttribute('id', `${baseId}-panel`);\n content.setAttribute('role', 'region');\n content.setAttribute('aria-labelledby', headline.id);\n\n let slot = document.createElement('slot');\n slot.setAttribute('name', 'content');\n\n toggle.appendChild(mark);\n\n headline.appendChild(slotHeadline);\n headline.appendChild(toggle);\n headline.appendChild(headlineDescription);\n\n content.appendChild(slot);\n\n native.appendChild(headline);\n native.appendChild(content);\n\n fragment.appendChild(native);\n\n this.headline = headline;\n this.toggle = toggle;\n this.content = content;\n\n return fragment;\n }\n\n /**\n * Method to execute after the Accordion Item element is drawn.\n */\n afterDraw() {\n if (!this.classList.contains('expanded')) this.classList.add('collapsed');\n\n this.content.inert = !this.classList.contains('expanded');\n\n this.headline.setAttribute('role', 'button');\n this.headline.setAttribute('tabindex', '0');\n this.headline.setAttribute('aria-controls', this.content.id);\n this.headline.setAttribute('aria-expanded', this.classList.contains('expanded') ? 'true' : 'false');\n\n this.headline.addEventListener('click', () => {\n if (this.classList.contains('collapsed')) {\n event.dispatchCustomEvent(this, 'wje-accordion-item:open');\n this.toggle.style.setProperty('--wje-accordion-marker-rotate', '180deg');\n this.expand();\n } else {\n event.dispatchCustomEvent(this, 'wje-accordion-item:close');\n this.toggle.style.setProperty('--wje-accordion-marker-rotate', '0deg');\n this.collapse();\n }\n });\n\n this.headline.addEventListener('keydown', (e) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n this.headline.click();\n }\n });\n }\n\n /**\n * Collapses the accordion item, updates the headline ARIA state, and makes its content inert.\n */\n collapse() {\n this.classList.remove('expanded');\n this.classList.add('collapsed');\n this.headline?.setAttribute('aria-expanded', 'false');\n if (this.content) this.content.inert = true;\n }\n\n /**\n * Expands the accordion item, updates the headline ARIA state, and makes its content interactive.\n */\n expand() {\n this.classList.remove('collapsed');\n this.classList.add('expanded');\n this.headline?.setAttribute('aria-expanded', 'true');\n if (this.content) this.content.inert = false;\n }\n}\n","import AccordionItem from './accordion-item.element.js';\n\nexport default AccordionItem;\n\nAccordionItem.define('wje-accordion-item', AccordionItem);\n"],"names":["AccordionItem","WJElement","constructor","super","className","this","_instanceId","cssStyleSheet","observedAttributes","setupAttributes","isShadowRoot","draw","fragment","document","createDocumentFragment","native","createElement","setAttribute","classList","add","headline","baseId","id","headlineDescription","slotHeadline","toggle","mark","content","slot","appendChild","afterDraw","contains","inert","addEventListener","event","dispatchCustomEvent","style","setProperty","expand","collapse","e","key","preventDefault","click","remove","static","define"],"mappings":"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"}
|
package/dist/wje-accordion.js
CHANGED
|
@@ -1,123 +1,58 @@
|
|
|
1
1
|
var __defProp = Object.defineProperty;
|
|
2
2
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
3
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
class Accordion extends WJElement {
|
|
7
|
-
/**
|
|
8
|
-
* Constructor for the Accordion class.
|
|
9
|
-
*/
|
|
4
|
+
import t from "./wje-element.js";
|
|
5
|
+
class e extends t {
|
|
10
6
|
constructor() {
|
|
11
7
|
super();
|
|
12
|
-
/**
|
|
13
|
-
* The class name for the Accordion element.
|
|
14
|
-
* @type {string}
|
|
15
|
-
*/
|
|
16
8
|
__publicField(this, "className", "Accordion");
|
|
17
9
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
* If `true`, the `multiple` attribute is added.
|
|
21
|
-
* If `false`, the `multiple` attribute is removed.
|
|
22
|
-
* @param {boolean} value A boolean value indicating whether the element should support multiple selections.
|
|
23
|
-
*/
|
|
24
|
-
set multiple(value) {
|
|
25
|
-
if (value) {
|
|
26
|
-
this.setAttribute("multiple", "");
|
|
27
|
-
} else {
|
|
28
|
-
this.removeAttribute("multiple");
|
|
29
|
-
}
|
|
10
|
+
set multiple(t2) {
|
|
11
|
+
t2 ? this.setAttribute("multiple", "") : this.removeAttribute("multiple");
|
|
30
12
|
}
|
|
31
|
-
/**
|
|
32
|
-
* Determines whether the element has the `multiple` attribute.
|
|
33
|
-
* @returns {boolean} `true` if the `multiple` attribute is present, otherwise `false`.
|
|
34
|
-
*/
|
|
35
13
|
get multiple() {
|
|
36
14
|
return this.hasAttribute("multiple");
|
|
37
15
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
* @param {number|string} value The value to set for the `index` attribute.
|
|
41
|
-
*/
|
|
42
|
-
set index(value) {
|
|
43
|
-
this.setAttribute("index", value);
|
|
16
|
+
set index(t2) {
|
|
17
|
+
this.setAttribute("index", t2);
|
|
44
18
|
}
|
|
45
|
-
/**
|
|
46
|
-
* Retrieves the value of the `index` attribute as a number.
|
|
47
|
-
* @returns {number} The numerical value of the `index` attribute, or `0` if the attribute is not set.
|
|
48
|
-
*/
|
|
49
19
|
get index() {
|
|
50
20
|
return +this.getAttribute("index") || 0;
|
|
51
21
|
}
|
|
52
|
-
/**
|
|
53
|
-
* Getter for the CSS stylesheet.
|
|
54
|
-
* @returns {object} The styles for the Accordion element.
|
|
55
|
-
*/
|
|
56
22
|
static get cssStyleSheet() {
|
|
57
|
-
return
|
|
23
|
+
return ":host{display:block;width:100%}";
|
|
58
24
|
}
|
|
59
|
-
/**
|
|
60
|
-
* Getter for the observed attributes.
|
|
61
|
-
* @returns {Array} An array containing the name of the observed attribute.
|
|
62
|
-
*/
|
|
63
25
|
static get observedAttributes() {
|
|
64
26
|
return [];
|
|
65
27
|
}
|
|
66
|
-
/**
|
|
67
|
-
* Method to setup attributes for the Accordion element.
|
|
68
|
-
*/
|
|
69
28
|
setupAttributes() {
|
|
70
|
-
this.isShadowRoot = "open";
|
|
71
|
-
this.setAriaState({ role: "presentation" });
|
|
29
|
+
this.isShadowRoot = "open", this.setAriaState({ role: "presentation" });
|
|
72
30
|
}
|
|
73
|
-
/**
|
|
74
|
-
* Method to run before the element is drawn.
|
|
75
|
-
*/
|
|
76
31
|
beforeDraw() {
|
|
77
|
-
this.getAccordions().forEach((
|
|
78
|
-
|
|
79
|
-
accordion.classList.add("expanded");
|
|
80
|
-
}
|
|
32
|
+
this.getAccordions().forEach((t2, e2) => {
|
|
33
|
+
this.index && +this.index === e2 && t2.classList.add("expanded");
|
|
81
34
|
});
|
|
82
35
|
}
|
|
83
|
-
/**
|
|
84
|
-
* Method to draw the Accordion element.
|
|
85
|
-
* @returns {object} The document fragment containing the drawn element.
|
|
86
|
-
*/
|
|
87
36
|
draw() {
|
|
88
|
-
let
|
|
89
|
-
|
|
90
|
-
fragment.appendChild(slot);
|
|
91
|
-
this.slotEl = slot;
|
|
92
|
-
return fragment;
|
|
37
|
+
let t2 = document.createDocumentFragment(), e2 = document.createElement("slot");
|
|
38
|
+
return t2.appendChild(e2), this.slotEl = e2, t2;
|
|
93
39
|
}
|
|
94
|
-
/**
|
|
95
|
-
* Method to run after the element is drawn.
|
|
96
|
-
*/
|
|
97
40
|
afterDraw() {
|
|
98
|
-
this.addEventListener("wje-accordion-item:open", (
|
|
99
|
-
|
|
41
|
+
this.addEventListener("wje-accordion-item:open", (t2) => {
|
|
42
|
+
this.multiple || this.collapseAll(t2.detail.context);
|
|
100
43
|
});
|
|
101
44
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
*/
|
|
106
|
-
collapseAll(exception) {
|
|
107
|
-
this.getAccordions().forEach((accordion) => {
|
|
108
|
-
if (accordion !== exception) accordion.collapse();
|
|
45
|
+
collapseAll(t2) {
|
|
46
|
+
this.getAccordions().forEach((e2) => {
|
|
47
|
+
e2 !== t2 && e2.collapse();
|
|
109
48
|
});
|
|
110
49
|
}
|
|
111
|
-
/**
|
|
112
|
-
* Method to get the accordions.
|
|
113
|
-
* @returns {Array} An array containing the accordions.
|
|
114
|
-
*/
|
|
115
50
|
getAccordions() {
|
|
116
51
|
return Array.from(this.querySelectorAll(":scope > wje-accordion-item"));
|
|
117
52
|
}
|
|
118
53
|
}
|
|
119
|
-
|
|
54
|
+
e.define("wje-accordion", e);
|
|
120
55
|
export {
|
|
121
|
-
|
|
56
|
+
e as default
|
|
122
57
|
};
|
|
123
58
|
//# sourceMappingURL=wje-accordion.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wje-accordion.js","sources":["../packages/wje-accordion/accordion.element.js","../packages/wje-accordion/accordion.js"],"sourcesContent":["import { default as WJElement } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * @summary This class represents an Accordion element, extending the WJElement class.\n * @documentation https://elements.webjet.sk/components/accordion\n * @status stable\n * @augments WJElement\n * @attribute {boolean} multiple - Allows multiple accordion items to stay expanded at the same time.\n * @attribute {number} index - Sets which child accordion item should start expanded based on DOM order.\n * @slot default - Slot for direct `wje-accordion-item` children.\n * @tag wje-accordion\n */\nexport default class Accordion extends WJElement {\n /**\n * Constructor for the Accordion class.\n */\n constructor() {\n super();\n }\n\n /**\n * Sets the `multiple` attribute on the element.\n * If `true`, the `multiple` attribute is added.\n * If `false`, the `multiple` attribute is removed.\n * @param {boolean} value A boolean value indicating whether the element should support multiple selections.\n */\n set multiple(value) {\n if (value) {\n this.setAttribute('multiple', '');\n } else {\n this.removeAttribute('multiple');\n }\n }\n\n /**\n * Determines whether the element has the `multiple` attribute.\n * @returns {boolean} `true` if the `multiple` attribute is present, otherwise `false`.\n */\n get multiple() {\n return this.hasAttribute('multiple');\n }\n\n /**\n * Sets the value of the `index` attribute.\n * @param {number|string} value The value to set for the `index` attribute.\n */\n set index(value) {\n this.setAttribute('index', value);\n }\n\n /**\n * Retrieves the value of the `index` attribute as a number.\n * @returns {number} The numerical value of the `index` attribute, or `0` if the attribute is not set.\n */\n get index() {\n return +this.getAttribute('index') || 0;\n }\n\n /**\n * The class name for the Accordion element.\n * @type {string}\n */\n className = 'Accordion';\n\n /**\n * Getter for the CSS stylesheet.\n * @returns {object} The styles for the Accordion element.\n */\n static get cssStyleSheet() {\n return styles;\n }\n\n /**\n * Getter for the observed attributes.\n * @returns {Array} An array containing the name of the observed attribute.\n */\n static get observedAttributes() {\n return [];\n }\n\n /**\n * Method to setup attributes for the Accordion element.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n this.setAriaState({ role: 'presentation' });\n }\n\n /**\n * Method to run before the element is drawn.\n */\n beforeDraw() {\n this.getAccordions().forEach((accordion, index) => {\n if (this.index && +this.index === index) {\n accordion.classList.add('expanded');\n }\n });\n }\n\n /**\n * Method to draw the Accordion element.\n * @returns {object} The document fragment containing the drawn element.\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n let slot = document.createElement('slot');\n\n fragment.appendChild(slot);\n\n this.slotEl = slot;\n\n return fragment;\n }\n\n /**\n * Method to run after the element is drawn.\n */\n afterDraw() {\n this.addEventListener('wje-accordion-item:open', (e) => {\n if (!this.multiple) this.collapseAll(e.detail.context);\n });\n }\n\n /**\n * Method to run after the element is drawn.\n * @param exception\n */\n collapseAll(exception) {\n this.getAccordions().forEach((accordion) => {\n if (accordion !== exception) accordion.collapse();\n });\n }\n\n /**\n * Method to get the accordions.\n * @returns {Array} An array containing the accordions.\n */\n getAccordions() {\n return Array.from(this.querySelectorAll(':scope > wje-accordion-item'));\n }\n}\n","import Accordion from './accordion.element.js';\n\nexport default Accordion;\n\nAccordion.define('wje-accordion', Accordion);\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wje-accordion.js","sources":["../packages/wje-accordion/accordion.element.js","../packages/wje-accordion/accordion.js"],"sourcesContent":["import { default as WJElement } from '../wje-element/element.js';\nimport styles from './styles/styles.css?inline';\n\n/**\n * @summary This class represents an Accordion element, extending the WJElement class.\n * @documentation https://elements.webjet.sk/components/accordion\n * @status stable\n * @augments WJElement\n * @attribute {boolean} multiple - Allows multiple accordion items to stay expanded at the same time.\n * @attribute {number} index - Sets which child accordion item should start expanded based on DOM order.\n * @slot default - Slot for direct `wje-accordion-item` children.\n * @tag wje-accordion\n */\nexport default class Accordion extends WJElement {\n /**\n * Constructor for the Accordion class.\n */\n constructor() {\n super();\n }\n\n /**\n * Sets the `multiple` attribute on the element.\n * If `true`, the `multiple` attribute is added.\n * If `false`, the `multiple` attribute is removed.\n * @param {boolean} value A boolean value indicating whether the element should support multiple selections.\n */\n set multiple(value) {\n if (value) {\n this.setAttribute('multiple', '');\n } else {\n this.removeAttribute('multiple');\n }\n }\n\n /**\n * Determines whether the element has the `multiple` attribute.\n * @returns {boolean} `true` if the `multiple` attribute is present, otherwise `false`.\n */\n get multiple() {\n return this.hasAttribute('multiple');\n }\n\n /**\n * Sets the value of the `index` attribute.\n * @param {number|string} value The value to set for the `index` attribute.\n */\n set index(value) {\n this.setAttribute('index', value);\n }\n\n /**\n * Retrieves the value of the `index` attribute as a number.\n * @returns {number} The numerical value of the `index` attribute, or `0` if the attribute is not set.\n */\n get index() {\n return +this.getAttribute('index') || 0;\n }\n\n /**\n * The class name for the Accordion element.\n * @type {string}\n */\n className = 'Accordion';\n\n /**\n * Getter for the CSS stylesheet.\n * @returns {object} The styles for the Accordion element.\n */\n static get cssStyleSheet() {\n return styles;\n }\n\n /**\n * Getter for the observed attributes.\n * @returns {Array} An array containing the name of the observed attribute.\n */\n static get observedAttributes() {\n return [];\n }\n\n /**\n * Method to setup attributes for the Accordion element.\n */\n setupAttributes() {\n this.isShadowRoot = 'open';\n this.setAriaState({ role: 'presentation' });\n }\n\n /**\n * Method to run before the element is drawn.\n */\n beforeDraw() {\n this.getAccordions().forEach((accordion, index) => {\n if (this.index && +this.index === index) {\n accordion.classList.add('expanded');\n }\n });\n }\n\n /**\n * Method to draw the Accordion element.\n * @returns {object} The document fragment containing the drawn element.\n */\n draw() {\n let fragment = document.createDocumentFragment();\n\n let slot = document.createElement('slot');\n\n fragment.appendChild(slot);\n\n this.slotEl = slot;\n\n return fragment;\n }\n\n /**\n * Method to run after the element is drawn.\n */\n afterDraw() {\n this.addEventListener('wje-accordion-item:open', (e) => {\n if (!this.multiple) this.collapseAll(e.detail.context);\n });\n }\n\n /**\n * Method to run after the element is drawn.\n * @param exception\n */\n collapseAll(exception) {\n this.getAccordions().forEach((accordion) => {\n if (accordion !== exception) accordion.collapse();\n });\n }\n\n /**\n * Method to get the accordions.\n * @returns {Array} An array containing the accordions.\n */\n getAccordions() {\n return Array.from(this.querySelectorAll(':scope > wje-accordion-item'));\n }\n}\n","import Accordion from './accordion.element.js';\n\nexport default Accordion;\n\nAccordion.define('wje-accordion', Accordion);\n"],"names":["Accordion","WJElement","constructor","super","className","value","this","setAttribute","removeAttribute","multiple","hasAttribute","index","getAttribute","cssStyleSheet","observedAttributes","setupAttributes","isShadowRoot","setAriaState","role","getAccordions","forEach","accordion","classList","add","fragment","document","createDocumentFragment","slot","createElement","appendChild","slotEl","afterDraw","addEventListener","e","collapseAll","detail","context","exception","collapse","Array","from","querySelectorAll","define"],"mappings":";;;;AAae,MAAMA,UAAkBC,EAAAA;AAAAA,EAInC,cAAAC;AACIC,UAAAA;AA6CJC,qCAAY;AAAA,EA5CZ;AAAA,EAQA,IAAA,SAAaC,IAAAA;AACLA,IAAAA,KACAC,KAAKC,aAAa,YAAY,EAAA,IAE9BD,KAAKE,gBAAgB,UAAA;AAAA,EAE7B;AAAA,EAMA,IAAA,WAAIC;AACA,WAAOH,KAAKI,aAAa,UAAA;AAAA,EAC7B;AAAA,EAMA,IAAA,MAAUL,IAAAA;AACNC,SAAKC,aAAa,SAASF,EAAAA;AAAAA,EAC/B;AAAA,EAMA,IAAA,QAAIM;AACA,WAAA,CAAQL,KAAKM,aAAa,YAAY;AAAA,EAC1C;AAAA,EAYA,WAAA,gBAAWC;AACP;EACJ;AAAA,EAMA,WAAA,qBAAWC;AACP,WAAO,CAAA;AAAA,EACX;AAAA,EAKA,kBAAAC;AACIT,SAAKU,eAAe,QACpBV,KAAKW,aAAa,EAAEC,MAAM,eAAA,CAAA;AAAA,EAC9B;AAAA,EAKA;AACIZ,SAAKa,cAAAA,EAAgBC,QAAQ,CAACC,IAAWV,OAAAA;AACjCL,WAAKK,SAAAA,CAAUL,KAAKK,UAAUA,MAC9BU,GAAUC,UAAUC,IAAI,UAAA;AAAA,IAAA,CAAA;AAAA,EAGpC;AAAA,EAMA;AACI,QAAIC,KAAWC,SAASC,uBAAAA,GAEpBC,KAAOF,SAASG,cAAc,MAAA;AAMlC,WAJAJ,GAASK,YAAYF,EAAAA,GAErBrB,KAAKwB,SAASH,IAEPH;AAAAA,EACX;AAAA,EAKA,YAAAO;AACIzB,SAAK0B,iBAAiB,2BAA4BC,CAAAA,OAAAA;AACzC3B,WAAKG,YAAUH,KAAK4B,YAAYD,GAAEE,OAAOC,OAAAA;AAAAA,IAAAA,CAAAA;AAAAA,EAEtD;AAAA,EAMA,YAAYC,IAAAA;AACR/B,SAAKa,gBAAgBC,QAASC,CAAAA,OAAAA;AACtBA,MAAAA,OAAcgB,MAAWhB,GAAUiB,SAAAA;AAAAA,IAAAA,CAAAA;AAAAA,EAE/C;AAAA,EAMA;AACI,WAAOC,MAAMC,KAAKlC,KAAKmC,iBAAiB,6BAAA,CAAA;AAAA,EAC5C;AAAA;ACzIJzC,EAAU0C,OAAO,iBAAiB1C,CAAAA;"}
|