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.
Files changed (233) hide show
  1. package/dist/animations.js +28 -51
  2. package/dist/animations.js.map +1 -1
  3. package/dist/base-path.js +19 -31
  4. package/dist/base-path.js.map +1 -1
  5. package/dist/custom-elements.json +11504 -11499
  6. package/dist/dark.css +1 -302
  7. package/dist/date.js +16 -36
  8. package/dist/date.js.map +1 -1
  9. package/dist/element-utils.js +20 -81
  10. package/dist/element-utils.js.map +1 -1
  11. package/dist/event.js +49 -165
  12. package/dist/event.js.map +1 -1
  13. package/dist/form-associated-element-BjeJn7j8.js +101 -0
  14. package/dist/{form-associated-element-DEQ4y-jn.js.map → form-associated-element-BjeJn7j8.js.map} +1 -1
  15. package/dist/icon-DmsqtDpL.js +102 -0
  16. package/dist/{icon-CReYMzAK.js.map → icon-DmsqtDpL.js.map} +1 -1
  17. package/dist/light.css +1 -731
  18. package/dist/localize.js +36 -111
  19. package/dist/localize.js.map +1 -1
  20. package/dist/packages/wje-accordion-item/accordion-item.element.d.ts +3 -2
  21. package/dist/permissions.js +14 -41
  22. package/dist/permissions.js.map +1 -1
  23. package/dist/popup.element-CbkhthPP.js +806 -0
  24. package/dist/{popup.element-CwXvVFK7.js.map → popup.element-CbkhthPP.js.map} +1 -1
  25. package/dist/router-links-CNsJ-elb.js +105 -0
  26. package/dist/{router-links-wjqCnncc.js.map → router-links-CNsJ-elb.js.map} +1 -1
  27. package/dist/skeleton.css +1 -197
  28. package/dist/styles.css +1 -866
  29. package/dist/universal-service.js +48 -109
  30. package/dist/universal-service.js.map +1 -1
  31. package/dist/utils.js +11 -18
  32. package/dist/utils.js.map +1 -1
  33. package/dist/web-types.json +760 -760
  34. package/dist/wje-accordion-item.js +33 -106
  35. package/dist/wje-accordion-item.js.map +1 -1
  36. package/dist/wje-accordion.js +19 -84
  37. package/dist/wje-accordion.js.map +1 -1
  38. package/dist/wje-animation.js +37 -4258
  39. package/dist/wje-animation.js.map +1 -1
  40. package/dist/wje-aside.js +9 -34
  41. package/dist/wje-aside.js.map +1 -1
  42. package/dist/wje-avatar.js +36 -126
  43. package/dist/wje-avatar.js.map +1 -1
  44. package/dist/wje-badge.js +10 -52
  45. package/dist/wje-badge.js.map +1 -1
  46. package/dist/wje-breadcrumb.js +205 -672
  47. package/dist/wje-breadcrumb.js.map +1 -1
  48. package/dist/wje-breadcrumbs.js +177 -633
  49. package/dist/wje-breadcrumbs.js.map +1 -1
  50. package/dist/wje-button-group.js +48 -153
  51. package/dist/wje-button-group.js.map +1 -1
  52. package/dist/wje-button.js +92 -413
  53. package/dist/wje-button.js.map +1 -1
  54. package/dist/wje-card-content.js +7 -30
  55. package/dist/wje-card-content.js.map +1 -1
  56. package/dist/wje-card-controls.js +7 -30
  57. package/dist/wje-card-controls.js.map +1 -1
  58. package/dist/wje-card-header.js +7 -30
  59. package/dist/wje-card-header.js.map +1 -1
  60. package/dist/wje-card-subtitle.js +7 -34
  61. package/dist/wje-card-subtitle.js.map +1 -1
  62. package/dist/wje-card-title.js +7 -34
  63. package/dist/wje-card-title.js.map +1 -1
  64. package/dist/wje-card.js +15 -71
  65. package/dist/wje-card.js.map +1 -1
  66. package/dist/wje-carousel-item.js +12 -56
  67. package/dist/wje-carousel-item.js.map +1 -1
  68. package/dist/wje-carousel.js +154 -509
  69. package/dist/wje-carousel.js.map +1 -1
  70. package/dist/wje-checkbox.js +50 -227
  71. package/dist/wje-checkbox.js.map +1 -1
  72. package/dist/wje-chip.js +43 -160
  73. package/dist/wje-chip.js.map +1 -1
  74. package/dist/wje-col.js +7 -20
  75. package/dist/wje-col.js.map +1 -1
  76. package/dist/wje-color-picker.js +445 -1464
  77. package/dist/wje-color-picker.js.map +1 -1
  78. package/dist/wje-container.js +9 -35
  79. package/dist/wje-container.js.map +1 -1
  80. package/dist/wje-copy-button.js +64 -204
  81. package/dist/wje-copy-button.js.map +1 -1
  82. package/dist/wje-dialog.js +85 -553
  83. package/dist/wje-dialog.js.map +1 -1
  84. package/dist/wje-divider.js +7 -34
  85. package/dist/wje-divider.js.map +1 -1
  86. package/dist/wje-dropdown.js +78 -305
  87. package/dist/wje-dropdown.js.map +1 -1
  88. package/dist/wje-element.js +191 -700
  89. package/dist/wje-element.js.map +1 -1
  90. package/dist/wje-file-upload-item.js +51 -156
  91. package/dist/wje-file-upload-item.js.map +1 -1
  92. package/dist/wje-file-upload.js +181 -619
  93. package/dist/wje-file-upload.js.map +1 -1
  94. package/dist/wje-footer.js +7 -31
  95. package/dist/wje-footer.js.map +1 -1
  96. package/dist/wje-form.js +7 -32
  97. package/dist/wje-form.js.map +1 -1
  98. package/dist/wje-format-digital.js +26 -118
  99. package/dist/wje-format-digital.js.map +1 -1
  100. package/dist/wje-grid.js +7 -33
  101. package/dist/wje-grid.js.map +1 -1
  102. package/dist/wje-header.js +9 -35
  103. package/dist/wje-header.js.map +1 -1
  104. package/dist/wje-icon-library.js +12 -18
  105. package/dist/wje-icon-library.js.map +1 -1
  106. package/dist/wje-icon-picker.js +65 -320
  107. package/dist/wje-icon-picker.js.map +1 -1
  108. package/dist/wje-icon.js +1 -1
  109. package/dist/wje-img-comparer.js +37 -114
  110. package/dist/wje-img-comparer.js.map +1 -1
  111. package/dist/wje-img.js +50 -198
  112. package/dist/wje-img.js.map +1 -1
  113. package/dist/wje-infinite-scroll.js +94 -346
  114. package/dist/wje-infinite-scroll.js.map +1 -1
  115. package/dist/wje-input-file.js +23 -84
  116. package/dist/wje-input-file.js.map +1 -1
  117. package/dist/wje-input.js +78 -392
  118. package/dist/wje-input.js.map +1 -1
  119. package/dist/wje-item.js +11 -64
  120. package/dist/wje-item.js.map +1 -1
  121. package/dist/wje-kanban.js +124 -401
  122. package/dist/wje-kanban.js.map +1 -1
  123. package/dist/wje-label.js +9 -32
  124. package/dist/wje-label.js.map +1 -1
  125. package/dist/wje-level-indicator.js +38 -157
  126. package/dist/wje-level-indicator.js.map +1 -1
  127. package/dist/wje-list.js +10 -40
  128. package/dist/wje-list.js.map +1 -1
  129. package/dist/wje-main.js +7 -31
  130. package/dist/wje-main.js.map +1 -1
  131. package/dist/wje-masonry.js +66 -211
  132. package/dist/wje-masonry.js.map +1 -1
  133. package/dist/wje-master.js +45 -161
  134. package/dist/wje-master.js.map +1 -1
  135. package/dist/wje-menu-button.js +10 -38
  136. package/dist/wje-menu-button.js.map +1 -1
  137. package/dist/wje-menu-item.js +127 -577
  138. package/dist/wje-menu-item.js.map +1 -1
  139. package/dist/wje-menu-label.js +9 -35
  140. package/dist/wje-menu-label.js.map +1 -1
  141. package/dist/wje-menu.js +14 -49
  142. package/dist/wje-menu.js.map +1 -1
  143. package/dist/wje-option.js +48 -279
  144. package/dist/wje-option.js.map +1 -1
  145. package/dist/wje-options.js +130 -384
  146. package/dist/wje-options.js.map +1 -1
  147. package/dist/wje-orgchart-group.js +16 -52
  148. package/dist/wje-orgchart-group.js.map +1 -1
  149. package/dist/wje-orgchart-item.js +24 -93
  150. package/dist/wje-orgchart-item.js.map +1 -1
  151. package/dist/wje-orgchart.js +18 -68
  152. package/dist/wje-orgchart.js.map +1 -1
  153. package/dist/wje-pagination.js +113 -397
  154. package/dist/wje-pagination.js.map +1 -1
  155. package/dist/wje-popup.js +3 -3
  156. package/dist/wje-popup.js.map +1 -1
  157. package/dist/wje-progress-bar.js +53 -205
  158. package/dist/wje-progress-bar.js.map +1 -1
  159. package/dist/wje-qr-code.js +398 -2980
  160. package/dist/wje-qr-code.js.map +1 -1
  161. package/dist/wje-radio-group.js +52 -190
  162. package/dist/wje-radio-group.js.map +1 -1
  163. package/dist/wje-radio.js +24 -118
  164. package/dist/wje-radio.js.map +1 -1
  165. package/dist/wje-rate.js +62 -266
  166. package/dist/wje-rate.js.map +1 -1
  167. package/dist/wje-relative-time.js +24 -99
  168. package/dist/wje-relative-time.js.map +1 -1
  169. package/dist/wje-reorder-dropzone.js +9 -31
  170. package/dist/wje-reorder-dropzone.js.map +1 -1
  171. package/dist/wje-reorder-handle.js +67 -204
  172. package/dist/wje-reorder-handle.js.map +1 -1
  173. package/dist/wje-reorder-item.js +14 -44
  174. package/dist/wje-reorder-item.js.map +1 -1
  175. package/dist/wje-reorder.js +61 -246
  176. package/dist/wje-reorder.js.map +1 -1
  177. package/dist/wje-route.js +6 -24
  178. package/dist/wje-route.js.map +1 -1
  179. package/dist/wje-router-link.js +11 -39
  180. package/dist/wje-router-link.js.map +1 -1
  181. package/dist/wje-router-outlet.js +76 -172
  182. package/dist/wje-router-outlet.js.map +1 -1
  183. package/dist/wje-routerx.js +537 -1331
  184. package/dist/wje-routerx.js.map +1 -1
  185. package/dist/wje-row.js +9 -31
  186. package/dist/wje-row.js.map +1 -1
  187. package/dist/wje-select.js +326 -1152
  188. package/dist/wje-select.js.map +1 -1
  189. package/dist/wje-slider.js +44 -225
  190. package/dist/wje-slider.js.map +1 -1
  191. package/dist/wje-sliding-container.js +295 -1319
  192. package/dist/wje-sliding-container.js.map +1 -1
  193. package/dist/wje-split-view.js +35 -121
  194. package/dist/wje-split-view.js.map +1 -1
  195. package/dist/wje-status.js +14 -45
  196. package/dist/wje-status.js.map +1 -1
  197. package/dist/wje-step.js +9 -32
  198. package/dist/wje-step.js.map +1 -1
  199. package/dist/wje-stepper.js +109 -357
  200. package/dist/wje-stepper.js.map +1 -1
  201. package/dist/wje-store.js +67 -360
  202. package/dist/wje-store.js.map +1 -1
  203. package/dist/wje-tab-group.js +85 -314
  204. package/dist/wje-tab-group.js.map +1 -1
  205. package/dist/wje-tab-panel.js +7 -28
  206. package/dist/wje-tab-panel.js.map +1 -1
  207. package/dist/wje-tab.js +21 -198
  208. package/dist/wje-tab.js.map +1 -1
  209. package/dist/wje-textarea.js +64 -264
  210. package/dist/wje-textarea.js.map +1 -1
  211. package/dist/wje-thumbnail.js +10 -51
  212. package/dist/wje-thumbnail.js.map +1 -1
  213. package/dist/wje-toast.js +127 -632
  214. package/dist/wje-toast.js.map +1 -1
  215. package/dist/wje-toggle.js +52 -177
  216. package/dist/wje-toggle.js.map +1 -1
  217. package/dist/wje-toolbar-action.js +128 -456
  218. package/dist/wje-toolbar-action.js.map +1 -1
  219. package/dist/wje-toolbar.js +75 -270
  220. package/dist/wje-toolbar.js.map +1 -1
  221. package/dist/wje-tooltip.js +50 -161
  222. package/dist/wje-tooltip.js.map +1 -1
  223. package/dist/wje-tree-item.js +70 -301
  224. package/dist/wje-tree-item.js.map +1 -1
  225. package/dist/wje-tree.js +145 -489
  226. package/dist/wje-tree.js.map +1 -1
  227. package/dist/wje-visually-hidden.js +7 -34
  228. package/dist/wje-visually-hidden.js.map +1 -1
  229. package/package.json +3 -2
  230. package/dist/form-associated-element-DEQ4y-jn.js +0 -245
  231. package/dist/icon-CReYMzAK.js +0 -245
  232. package/dist/popup.element-CwXvVFK7.js +0 -2133
  233. 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 WJElement from "./wje-element.js";
5
- import { event } from "./event.js";
6
- const styles = "/*\n[ WJ Accordion Item ]\n*/\n\n:host {\n --wje-accordion-background: var(--wje-color-contrast-0);\n --wje-accordion-border: var(--wje-color-contrast-0);\n --wje-accordion-border-radius: var(--wje-border-radius-large);\n --wje-accordion-background-hover: var(--wje-color-contrast-1);\n --wje-accordion-border-hover: var(--wje-color-contrast-2);\n --wje-accordion-background-expanded: var(--wje-color-contrast-0);\n --wje-accordion-border-expanded: var(--wje-color-contrast-0);\n --wje-accordion-headline-color: var(--wje-color-contrast-11) !important;\n --wje-accordion-content-color: var(--wje-color-contrast-6);\n}\n\n:host([color='primary']) {\n --wje-accordion-background: var(--wje-color-primary-1);\n --wje-accordion-border: var(--wje-color-primary-1);\n --wje-accordion-background-hover: var(--wje-color-primary-2);\n --wje-accordion-border-hover: var(--wje-color-primary-2);\n --wje-accordion-background-expanded: transparent;\n --wje-accordion-border-expanded: var(--wje-color-primary-3);\n --wje-accordion-headline-color: var(--wje-color-contrast-11) !important;\n --wje-accordion-content-color: var(--wje-color-contrast-6);\n}\n\n:host([color='complete']) {\n --wje-accordion-background: var(--wje-color-complete-1);\n --wje-accordion-border: var(--wje-color-complete-1);\n --wje-accordion-background-hover: var(--wje-color-complete-2);\n --wje-accordion-border-hover: var(--wje-color-complete-2);\n --wje-accordion-background-expanded: transparent;\n --wje-accordion-border-expanded: var(--wje-color-complete-3);\n --wje-accordion-headline-color: var(--wje-color-contrast-11) !important;\n --wje-accordion-content-color: var(--wje-color-contrast-6);\n}\n\n:host([color='success']) {\n --wje-accordion-background: var(--wje-color-success-1);\n --wje-accordion-border: var(--wje-color-success-1);\n --wje-accordion-background-hover: var(--wje-color-success-2);\n --wje-accordion-border-hover: var(--wje-color-success-2);\n --wje-accordion-background-expanded: transparent;\n --wje-accordion-border-expanded: var(--wje-color-success-3);\n --wje-accordion-headline-color: var(--wje-color-contrast-11) !important;\n --wje-accordion-content-color: var(--wje-color-contrast-6);\n}\n\n:host([color='danger']) {\n --wje-accordion-background: var(--wje-color-danger-1);\n --wje-accordion-border: var(--wje-color-danger-1);\n --wje-accordion-background-hover: var(--wje-color-danger-2);\n --wje-accordion-border-hover: var(--wje-color-danger-2);\n --wje-accordion-background-expanded: transparent;\n --wje-accordion-border-expanded: var(--wje-color-danger-3);\n --wje-accordion-headline-color: var(--wje-color-contrast-11) !important;\n --wje-accordion-content-color: var(--wje-color-contrast-6);\n}\n\n:host([color='warning']) {\n --wje-accordion-background: var(--wje-color-warning-1);\n --wje-accordion-border: var(--wje-color-warning-1);\n --wje-accordion-background-hover: var(--wje-color-warning-2);\n --wje-accordion-border-hover: var(--wje-color-warning-2);\n --wje-accordion-background-expanded: transparent;\n --wje-accordion-border-expanded: var(--wje-color-warning-3);\n --wje-accordion-headline-color: var(--wje-color-contrast-11) !important;\n --wje-accordion-content-color: var(--wje-color-contrast-6);\n}\n\n:host([color='info']) {\n --wje-accordion-background: var(--wje-color-info-1);\n --wje-accordion-border: var(--wje-color-info-1);\n --wje-accordion-background-hover: var(--wje-color-info-2);\n --wje-accordion-border-hover: var(--wje-color-info-2);\n --wje-accordion-background-expanded: transparent;\n --wje-accordion-border-expanded: var(--wje-color-info-3);\n --wje-accordion-headline-color: var(--wje-color-contrast-11) !important;\n --wje-accordion-content-color: var(--wje-color-contrast-6);\n}\n\n:host {\n display: block;\n margin-bottom: 0.5rem;\n}\n\n/*:host(.expanding) #content {*/\n/* display: none;*/\n/*}*/\n\n/*:host(.collapsing) #content {*/\n/* max-height: 0;*/\n/*}*/\n\n.native-accordion-item {\n display: block;\n background-color: var(--wje-accordion-background);\n border-radius: var(--wje-accordion-border-radius);\n border-width: 1px;\n border-style: solid;\n border-color: var(--wje-accordion-border);\n transition: background-color 200ms ease-in-out;\n &:hover {\n background-color: var(--wje-accordion-background-hover);\n border-color: var(--wje-accordion-border-hover);\n }\n}\n\n:host(.expanded) .native-accordion-item {\n background-color: var(--wje-accordion-background-expanded);\n border-color: var(--wje-accordion-border-expanded);\n}\n\n.headline {\n display: grid;\n grid-template-columns: 1fr auto;\n align-items: center;\n font-size: var(--wje-font-size) !important;\n color: var(--wje-accordion-headline-color);\n line-height: normal !important;\n margin: 0 !important;\n padding: 0.75rem;\n}\n\n[name='description'] {\n font-size: var(--wje-font-size-small);\n color: var(--wje-color-contrast-6);\n}\n\nwje-icon {\n margin-left: auto;\n transform: rotate(var(--wje-accordion-marker-rotate, 0deg));\n}\n\n[part='content'] {\n /*background: var(--wje-accordion-background);*/\n display: block;\n color: var(--wje-accordion-content-color);\n overflow: hidden;\n max-height: 0;\n transition: max-height 250ms ease-in-out;\n}\n\n[part='content'] slot {\n display: block;\n margin: 0 0.75rem 0.75rem 0.75rem;\n}\n\n:host(.expanded) [part='content'] {\n /*display: block;*/\n /*padding: 0 .75rem .75rem .75rem;*/\n max-height: 100vh;\n}\n";
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 = ++_AccordionItem._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 styles;
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 fragment = document.createDocumentFragment();
46
- let native = document.createElement("div");
47
- native.setAttribute("part", "native");
48
- native.classList.add("native-accordion-item");
49
- let headline = document.createElement("div");
50
- headline.setAttribute("part", "headline");
51
- headline.classList.add("headline");
52
- const baseId = this.id || `wje-accordion-item-${this._instanceId}`;
53
- headline.id = `${baseId}-header`;
54
- let headlineDescription = document.createElement("slot");
55
- headlineDescription.setAttribute("part", "description");
56
- headlineDescription.setAttribute("name", "description");
57
- let slotHeadline = document.createElement("slot");
58
- slotHeadline.setAttribute("name", "headline");
59
- let toggle = document.createElement("slot");
60
- toggle.setAttribute("part", "toggle");
61
- toggle.setAttribute("name", "toggle");
62
- let mark = document.createElement("wje-icon");
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
- if (!this.classList.contains("expanded")) this.classList.add("collapsed");
89
- this.headline.setAttribute("role", "button");
90
- this.headline.setAttribute("tabindex", "0");
91
- this.headline.setAttribute("aria-controls", this.content.id);
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(_AccordionItem, "_instanceId", 0);
131
- let AccordionItem = _AccordionItem;
132
- AccordionItem.define("wje-accordion-item", AccordionItem);
57
+ __publicField(_r, "_instanceId", 0);
58
+ let r = _r;
59
+ r.define("wje-accordion-item", r);
133
60
  export {
134
- AccordionItem as default
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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"}
@@ -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 WJElement from "./wje-element.js";
5
- const styles = "/*\n[ WJ Accordion ]\n*/\n\n:host {\n display: block;\n width: 100%;\n}\n";
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
- * Sets the `multiple` attribute on the element.
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
- * Sets the value of the `index` attribute.
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 styles;
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((accordion, index) => {
78
- if (this.index && +this.index === index) {
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 fragment = document.createDocumentFragment();
89
- let slot = document.createElement("slot");
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", (e) => {
99
- if (!this.multiple) this.collapseAll(e.detail.context);
41
+ this.addEventListener("wje-accordion-item:open", (t2) => {
42
+ this.multiple || this.collapseAll(t2.detail.context);
100
43
  });
101
44
  }
102
- /**
103
- * Method to run after the element is drawn.
104
- * @param exception
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
- Accordion.define("wje-accordion", Accordion);
54
+ e.define("wje-accordion", e);
120
55
  export {
121
- Accordion as default
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":";;;;;AAae,MAAM,kBAAkB,UAAU;AAAA;AAAA;AAAA;AAAA,EAI7C,cAAc;AACV,UAAK;AA6CT;AAAA;AAAA;AAAA;AAAA,qCAAY;AAAA,EA5CZ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQA,IAAI,SAAS,OAAO;AAChB,QAAI,OAAO;AACP,WAAK,aAAa,YAAY,EAAE;AAAA,IACpC,OAAO;AACH,WAAK,gBAAgB,UAAU;AAAA,IACnC;AAAA,EACJ;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,IAAI,WAAW;AACX,WAAO,KAAK,aAAa,UAAU;AAAA,EACvC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,IAAI,MAAM,OAAO;AACb,SAAK,aAAa,SAAS,KAAK;AAAA,EACpC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,IAAI,QAAQ;AACR,WAAO,CAAC,KAAK,aAAa,OAAO,KAAK;AAAA,EAC1C;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA,WAAW,gBAAgB;AACvB,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,WAAW,qBAAqB;AAC5B,WAAO,CAAA;AAAA,EACX;AAAA;AAAA;AAAA;AAAA,EAKA,kBAAkB;AACd,SAAK,eAAe;AACpB,SAAK,aAAa,EAAE,MAAM,eAAc,CAAE;AAAA,EAC9C;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa;AACT,SAAK,cAAa,EAAG,QAAQ,CAAC,WAAW,UAAU;AAC/C,UAAI,KAAK,SAAS,CAAC,KAAK,UAAU,OAAO;AACrC,kBAAU,UAAU,IAAI,UAAU;AAAA,MACtC;AAAA,IACJ,CAAC;AAAA,EACL;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,OAAO;AACH,QAAI,WAAW,SAAS,uBAAsB;AAE9C,QAAI,OAAO,SAAS,cAAc,MAAM;AAExC,aAAS,YAAY,IAAI;AAEzB,SAAK,SAAS;AAEd,WAAO;AAAA,EACX;AAAA;AAAA;AAAA;AAAA,EAKA,YAAY;AACR,SAAK,iBAAiB,2BAA2B,CAAC,MAAM;AACpD,UAAI,CAAC,KAAK,SAAU,MAAK,YAAY,EAAE,OAAO,OAAO;AAAA,IACzD,CAAC;AAAA,EACL;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,YAAY,WAAW;AACnB,SAAK,cAAa,EAAG,QAAQ,CAAC,cAAc;AACxC,UAAI,cAAc,UAAW,WAAU,SAAQ;AAAA,IACnD,CAAC;AAAA,EACL;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,gBAAgB;AACZ,WAAO,MAAM,KAAK,KAAK,iBAAiB,6BAA6B,CAAC;AAAA,EAC1E;AACJ;AC1IA,UAAU,OAAO,iBAAiB,SAAS;"}
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;"}