wj-elements 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/dark.css +1 -1
  2. package/dist/light.css +1 -1
  3. package/dist/{popup.element-BXak-Fgc.js → popup.element-Dj9j__Dh.js} +329 -350
  4. package/dist/styles.css +1 -1
  5. package/dist/wje-accordion-item.js +88 -0
  6. package/dist/wje-accordion.js +79 -0
  7. package/dist/wje-animation.js +10 -11
  8. package/dist/wje-avatar.js +31 -29
  9. package/dist/wje-badge.js +7 -7
  10. package/dist/wje-breadcrumb.js +11 -11
  11. package/dist/wje-button.js +22 -29
  12. package/dist/wje-carousel.js +8 -9
  13. package/dist/wje-checkbox.js +81 -23
  14. package/dist/wje-dialog.js +53 -25
  15. package/dist/wje-dropdown.js +36 -23
  16. package/dist/wje-element.js +100 -89
  17. package/dist/wje-file-upload-item.js +2 -3
  18. package/dist/wje-file-upload.js +40 -43
  19. package/dist/wje-icon-picker.js +1 -1
  20. package/dist/wje-icon.js +115 -3
  21. package/dist/wje-img-comparer.js +1 -2
  22. package/dist/wje-infinite-scroll.js +71 -41
  23. package/dist/wje-inline-edit.js +1 -2
  24. package/dist/wje-input-file.js +26 -18
  25. package/dist/wje-input.js +1 -1
  26. package/dist/wje-master.js +323 -168
  27. package/dist/wje-menu-item.js +33 -31
  28. package/dist/wje-menu.js +6 -6
  29. package/dist/wje-option.js +97 -3
  30. package/dist/wje-options.js +1 -1
  31. package/dist/wje-popup.js +1 -1
  32. package/dist/wje-progress-bar.js +5 -5
  33. package/dist/wje-radio-group.js +1 -1
  34. package/dist/wje-radio.js +1 -1
  35. package/dist/wje-relative-time.js +4 -13
  36. package/dist/wje-select.js +9 -10
  37. package/dist/wje-slider.js +40 -79
  38. package/dist/wje-tab.js +9 -9
  39. package/dist/wje-toast.js +16 -16
  40. package/dist/wje-toggle.js +39 -15
  41. package/dist/wje-tooltip.js +47 -23
  42. package/package.json +2 -1
  43. package/dist/custom-elements.json +0 -12216
  44. package/dist/icon.element-DOiXP3pi.js +0 -115
  45. package/dist/option.element-CpeafIM-.js +0 -98
  46. package/dist/styles-4vJ2wdTZ.js +0 -4
  47. package/dist/web-types.json +0 -2756
@@ -2,9 +2,8 @@ var b = Object.defineProperty;
2
2
  var j = (t, r, o) => r in t ? b(t, r, { enumerable: !0, configurable: !0, writable: !0, value: o }) : t[r] = o;
3
3
  var s = (t, r, o) => (j(t, typeof r != "symbol" ? r + "" : r, o), o);
4
4
  import h, { WjElementUtils as g, event as i } from "./wje-element.js";
5
- import "./wje-icon.js";
6
- import { I as p } from "./icon.element-DOiXP3pi.js";
7
- const u = (t) => t === "false" || t === "null" || t === "NaN" || t === "undefined" || t === "0" ? !1 : !!t, v = ':host(.wje-button-solid.wje-color-primary){--wje-button-background-color: var(--wje-color-primary-10);--wje-button-border-color: var(--wje-color-primary-11);--wje-button-color: var(--wje-color-contrast-0)}:host(.wje-button-outline.wje-color-primary){--wje-button-border-color: var(--wje-color-primary-6);--wje-button-color: var(--wje-color-primary-6)}:host(.wje-button-solid.wje-color-complete){--wje-button-background-color: var(--wje-color-complete-10);--wje-button-border-color: var(--wje-color-complete-11);--wje-button-color: var(--wje-color-contrast-0)}:host(.wje-button-outline.wje-color-complete){--wje-button-border-color: var(--wje-color-complete-6);--wje-button-color: var(--wje-color-complete-6)}:host(.wje-button-solid.wje-color-success){--wje-button-background-color: var(--wje-color-success-10);--wje-button-border-color: var(--wje-color-success-11);--wje-button-color: var(--wje-color-contrast-0)}:host(.wje-button-outline.wje-color-success){--wje-button-border-color: var(--wje-color-success-6);--wje-button-color: var(--wje-color-success-6)}:host(.wje-button-solid.wje-color-warning){--wje-button-background-color: var(--wje-color-warning-10);--wje-button-border-color: var(--wje-color-warning-11);--wje-button-color: var(--wje-color-black)}:host(.wje-button-outline.wje-color-warning){--wje-button-border-color: var(--wje-color-warning-6);--wje-button-color: var(--wje-color-warning-6)}:host(.wje-button-solid.wje-color-danger){--wje-button-background-color: var(--wje-color-danger-10);--wje-button-border-color: var(--wje-color-danger-11);--wje-button-color: var(--wje-color-contrast-0)}:host(.wje-button-outline.wje-color-danger){--wje-button-border-color: var(--wje-color-danger-6);--wje-button-color: var(--wje-color-danger-6)}:host(.wje-button-solid.wje-color-neutral){--wje-button-background-color: var(--wje-color-contrast-10);--wje-button-border-color: var(--wje-color-contrast-11);--wje-button-color: var(--wje-color-contrast-0)}:host(.wje-button-outline.wje-color-neutral){--wje-button-border-color: var(--wje-color-contrast-6);--wje-button-color: var(--wje-color-contrast-6)}:host(.wje-button-solid.wje-color-default){--wje-button-background-color: transparent;--wje-button-border-color: var(--wje-color-contrast-4);--wje-button-color: var(--wje-color-contrast-11)}:host(.wje-button-outline.wje-color-default){--wje-button-border-color: var(--wje-color-contrast-4);--wje-button-color: var(--wje-color-contrast-11)}:host{--wje-button-border-radius: var(--wje-border-radius-medium);--wje-button-border-width: 1px;--wje-button-border-style: solid;--wje-button-border-color: var(--wje-color-contrast-1);--wje-button-margin-inline: 0;--wje-padding-top: .4rem;--wje-padding-start: .5rem;--wje-padding-end: .5rem;--wje-padding-bottom: .4rem;display:inline-flex;position:relative;width:auto;cursor:pointer;margin-inline:var(--wje-button-margin-inline)}:host(.wje-button-group-button){display:block}.button-native{font-family:var(--wje-font-family);font-size:var(--wje-font-size);display:flex;position:relative;align-items:center;width:100%;height:100%;min-height:inherit;overflow:hidden;border-width:var(--wje-button-border-width);border-style:var(--wje-button-border-style);border-color:var(--wje-button-border-color);outline:none;background-color:var(--wje-button-background-color);color:var(--wje-button-color);line-height:1;contain:layout style;cursor:pointer;z-index:0;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;border-radius:var(--wje-button-border-radius);padding-top:var(--wje-padding-top);padding-bottom:var(--wje-padding-bottom);padding-inline:var(--wje-padding-start) var(--wje-padding-end)}@media (any-hover: hover){:host(.wje-button-solid.wje-color-primary:hover){--wje-button-background-color: var(--wje-color-primary-9);--wje-button-border-color: var(--wje-color-primary-10);--wje-button-color: var(--wje-color-contrast-0)}:host(.wje-button-outline.wje-color-primary:hover){--wje-button-background-color: var(--wje-color-primary-1);--wje-button-border-color: var(--wje-color-primary-11);--wje-button-color: var(--wje-color-primary-11)}:host(.wje-button-solid.wje-color-complete:hover){--wje-button-background-color: var(--wje-color-complete-9);--wje-button-border-color: var(--wje-color-complete-10);--wje-button-color: var(--wje-color-contrast-0)}:host(.wje-button-outline.wje-color-complete:hover){--wje-button-background-color: var(--wje-color-complete-1);--wje-button-border-color: var(--wje-color-complete-11);--wje-button-color: var(--wje-color-complete-11)}:host(.wje-button-solid.wje-color-success:hover){--wje-button-background-color: var(--wje-color-success-9);--wje-button-border-color: var(--wje-color-success-10);--wje-button-color: var(--wje-color-contrast-0)}:host(.wje-button-outline.wje-color-success:hover){--wje-button-background-color: var(--wje-color-success-1);--wje-button-border-color: var(--wje-color-success-11);--wje-button-color: var(--wje-color-success-11)}:host(.wje-button-solid.wje-color-warning:hover){--wje-button-background-color: var(--wje-color-warning-9);--wje-button-border-color: var(--wje-color-warning-10);--wje-button-color: var(--wje-color-black)}:host(.wje-button-outline.wje-color-warning:hover){--wje-button-background-color: var(--wje-color-warning-1);--wje-button-border-color: var(--wje-color-warning-11);--wje-button-color: var(--wje-color-warning-11)}:host(.wje-button-solid.wje-color-danger:hover){--wje-button-background-color: var(--wje-color-danger-9);--wje-button-border-color: var(--wje-color-danger-10);--wje-button-color: var(--wje-color-contrast-0)}:host(.wje-button-outline.wje-color-danger:hover){--wje-button-background-color: var(--wje-color-danger-1);--wje-button-border-color: var(--wje-color-danger-11);--wje-button-color: var(--wje-color-danger-11)}:host(.wje-button-solid.wje-color-neutral:hover){--wje-button-background-color: var(--wje-color-contrast-9);--wje-button-border-color: var(--wje-color-contrast-10);--wje-button-color: var(--wje-color-contrast-0)}:host(.wje-button-outline.wje-color-neutral:hover){--wje-button-background-color: var(--wje-color-contrast-1);--wje-button-border-color: var(--wje-color-contrast-11);--wje-button-color: var(--wje-color-contrast-11)}:host(.wje-button-solid.wje-color-default:hover){--wje-button-background-color: var(--wje-color-contrast-1);--wje-button-border-color: var(--wje-color-contrast-2);--wje-button-color: var(--wje-color-contrast-9)}:host(.wje-button-outline.wje-color-default:hover){--wje-button-background-color: var(--wje-color-contrast-1);--wje-button-border-color: var(--wje-color-contrast-2);--wje-button-color: var(--wje-color-contrast-9)}:host(.wje-button-link:hover){--wje-button-background-color: var(--wje-color-contrast-1) !important;--wje-button-border-color: transparent !important;color:var(--wje-color-contrast-9)!important}}.button-inner{display:flex;position:relative;flex-flow:row nowrap;flex-shrink:0;align-items:center;justify-content:center;width:100%;height:100%;z-index:1}:host(.button-solid.wje-color){background-color:var(--wje-button-background-color);color:var(--wje-button-color)}:host(.wje-button-link){--wje-button-border-width: 1px;--wje-button-border-color: transparent;--wje-button-background-color: transparent !important}:host(.wje-button-disabled){cursor:default;opacity:.5;pointer-events:none}:host(.wje-button-round){--wje-button-border-radius: var(--wje-border-radius-pill)}:host(.wje-button-circle){--wje-button-border-radius: var(--wje-border-radius-circle);aspect-ratio:1/1}:host(.wje-button-large){--wje-padding-top: .6rem;--wje-padding-start: .7rem;--wje-padding-end: .7rem;--wje-padding-bottom: .6rem}:host(.wje-button-small){--wje-padding-top: .25rem;--wje-padding-start: .25rem;--wje-padding-end: .25rem;--wje-padding-bottom: .25rem}::slotted(wje-icon[slot="start"]){margin:0 .3rem 0 -.3rem}::slotted(wje-icon[slot="end"]){margin:0 -.2rem 0 .3rem}:host(:not([only-caret])) slot[name=caret]{padding:0 0 0 .3rem}:host([only-caret]) slot[name=caret]{padding:0;display:block}:host(.wje-button-group-first:not(.wje-button-group-last)) .button-native{border-start-end-radius:0;border-end-end-radius:0}:host(.wje-button-group-inner) .button-native{border-radius:0}:host(.wje-button-group-last:not(.wje-button-group-first)) .button-native{border-start-start-radius:0;border-end-start-radius:0}:host(.wje-button-group-button:not(.wje-button-group-first)){margin-inline-start:calc(-1 * var(--wje-button-border-width))!important}::slotted([slot="toggle"]){display:none}::slotted([slot="toggle"].show){display:block}';
5
+ import v from "./wje-icon.js";
6
+ const w = (t) => t === "false" || t === "null" || t === "NaN" || t === "undefined" || t === "0" ? !1 : !!t, p = ':host(.wje-button-solid.wje-color-primary){--wje-button-background-color: var(--wje-color-primary-10);--wje-button-border-color: var(--wje-color-primary-11);--wje-button-color: var(--wje-color-contrast-0)}:host(.wje-button-outline.wje-color-primary){--wje-button-border-color: var(--wje-color-primary-6);--wje-button-color: var(--wje-color-primary-6)}:host(.wje-button-solid.wje-color-complete){--wje-button-background-color: var(--wje-color-complete-10);--wje-button-border-color: var(--wje-color-complete-11);--wje-button-color: var(--wje-color-contrast-0)}:host(.wje-button-outline.wje-color-complete){--wje-button-border-color: var(--wje-color-complete-6);--wje-button-color: var(--wje-color-complete-6)}:host(.wje-button-solid.wje-color-success){--wje-button-background-color: var(--wje-color-success-10);--wje-button-border-color: var(--wje-color-success-11);--wje-button-color: var(--wje-color-contrast-0)}:host(.wje-button-outline.wje-color-success){--wje-button-border-color: var(--wje-color-success-6);--wje-button-color: var(--wje-color-success-6)}:host(.wje-button-solid.wje-color-warning){--wje-button-background-color: var(--wje-color-warning-10);--wje-button-border-color: var(--wje-color-warning-11);--wje-button-color: var(--wje-color-black)}:host(.wje-button-outline.wje-color-warning){--wje-button-border-color: var(--wje-color-warning-6);--wje-button-color: var(--wje-color-warning-6)}:host(.wje-button-solid.wje-color-danger){--wje-button-background-color: var(--wje-color-danger-10);--wje-button-border-color: var(--wje-color-danger-11);--wje-button-color: var(--wje-color-contrast-0)}:host(.wje-button-outline.wje-color-danger){--wje-button-border-color: var(--wje-color-danger-6);--wje-button-color: var(--wje-color-danger-6)}:host(.wje-button-solid.wje-color-neutral){--wje-button-background-color: var(--wje-color-contrast-10);--wje-button-border-color: var(--wje-color-contrast-11);--wje-button-color: var(--wje-color-contrast-0)}:host(.wje-button-outline.wje-color-neutral){--wje-button-border-color: var(--wje-color-contrast-6);--wje-button-color: var(--wje-color-contrast-6)}:host(.wje-button-solid.wje-color-default){--wje-button-background-color: transparent;--wje-button-border-color: var(--wje-color-contrast-4);--wje-button-color: var(--wje-color-contrast-11)}:host(.wje-button-outline.wje-color-default){--wje-button-border-color: var(--wje-color-contrast-4);--wje-button-color: var(--wje-color-contrast-11)}:host{--wje-button-border-radius: var(--wje-border-radius-medium);--wje-button-border-width: 1px;--wje-button-border-style: solid;--wje-button-border-color: var(--wje-color-contrast-1);--wje-button-margin-inline: 0;--wje-padding-top: .4rem;--wje-padding-start: .5rem;--wje-padding-end: .5rem;--wje-padding-bottom: .4rem;display:inline-flex;position:relative;width:auto;cursor:pointer;margin-inline:var(--wje-button-margin-inline)}:host(.wje-button-group-button){display:block}.button-native{font-family:var(--wje-font-family);font-size:var(--wje-font-size);display:flex;position:relative;align-items:center;width:100%;height:100%;min-height:inherit;overflow:hidden;border-width:var(--wje-button-border-width);border-style:var(--wje-button-border-style);border-color:var(--wje-button-border-color);outline:none;background-color:var(--wje-button-background-color);color:var(--wje-button-color);line-height:1;contain:layout style;cursor:pointer;z-index:0;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;border-radius:var(--wje-button-border-radius);padding-top:var(--wje-padding-top);padding-bottom:var(--wje-padding-bottom);padding-inline:var(--wje-padding-start) var(--wje-padding-end)}@media (any-hover: hover){:host(.wje-button-solid.wje-color-primary:hover){--wje-button-background-color: var(--wje-color-primary-9);--wje-button-border-color: var(--wje-color-primary-10);--wje-button-color: var(--wje-color-contrast-0)}:host(.wje-button-outline.wje-color-primary:hover){--wje-button-background-color: var(--wje-color-primary-1);--wje-button-border-color: var(--wje-color-primary-11);--wje-button-color: var(--wje-color-primary-11)}:host(.wje-button-solid.wje-color-complete:hover){--wje-button-background-color: var(--wje-color-complete-9);--wje-button-border-color: var(--wje-color-complete-10);--wje-button-color: var(--wje-color-contrast-0)}:host(.wje-button-outline.wje-color-complete:hover){--wje-button-background-color: var(--wje-color-complete-1);--wje-button-border-color: var(--wje-color-complete-11);--wje-button-color: var(--wje-color-complete-11)}:host(.wje-button-solid.wje-color-success:hover){--wje-button-background-color: var(--wje-color-success-9);--wje-button-border-color: var(--wje-color-success-10);--wje-button-color: var(--wje-color-contrast-0)}:host(.wje-button-outline.wje-color-success:hover){--wje-button-background-color: var(--wje-color-success-1);--wje-button-border-color: var(--wje-color-success-11);--wje-button-color: var(--wje-color-success-11)}:host(.wje-button-solid.wje-color-warning:hover){--wje-button-background-color: var(--wje-color-warning-9);--wje-button-border-color: var(--wje-color-warning-10);--wje-button-color: var(--wje-color-black)}:host(.wje-button-outline.wje-color-warning:hover){--wje-button-background-color: var(--wje-color-warning-1);--wje-button-border-color: var(--wje-color-warning-11);--wje-button-color: var(--wje-color-warning-11)}:host(.wje-button-solid.wje-color-danger:hover){--wje-button-background-color: var(--wje-color-danger-9);--wje-button-border-color: var(--wje-color-danger-10);--wje-button-color: var(--wje-color-contrast-0)}:host(.wje-button-outline.wje-color-danger:hover){--wje-button-background-color: var(--wje-color-danger-1);--wje-button-border-color: var(--wje-color-danger-11);--wje-button-color: var(--wje-color-danger-11)}:host(.wje-button-solid.wje-color-neutral:hover){--wje-button-background-color: var(--wje-color-contrast-9);--wje-button-border-color: var(--wje-color-contrast-10);--wje-button-color: var(--wje-color-contrast-0)}:host(.wje-button-outline.wje-color-neutral:hover){--wje-button-background-color: var(--wje-color-contrast-1);--wje-button-border-color: var(--wje-color-contrast-11);--wje-button-color: var(--wje-color-contrast-11)}:host(.wje-button-solid.wje-color-default:hover){--wje-button-background-color: var(--wje-color-contrast-1);--wje-button-border-color: var(--wje-color-contrast-2);--wje-button-color: var(--wje-color-contrast-9)}:host(.wje-button-outline.wje-color-default:hover){--wje-button-background-color: var(--wje-color-contrast-1);--wje-button-border-color: var(--wje-color-contrast-2);--wje-button-color: var(--wje-color-contrast-9)}:host(.wje-button-link:hover){--wje-button-background-color: var(--wje-color-contrast-1);--wje-button-border-color: transparent;color:var(--wje-color-contrast-9)}}.button-inner{display:flex;position:relative;flex-flow:row nowrap;flex-shrink:0;align-items:center;justify-content:center;width:100%;height:100%;z-index:1}:host(.button-solid.wje-color){background-color:var(--wje-button-background-color);color:var(--wje-button-color)}:host(.wje-button-link){--wje-button-border-width: 1px;--wje-button-border-color: transparent;--wje-button-background-color: transparent}:host(.wje-button-disabled){cursor:default;opacity:.5;pointer-events:none}:host(.wje-button-round){--wje-button-border-radius: var(--wje-border-radius-pill)}:host(.wje-button-circle){--wje-button-border-radius: var(--wje-border-radius-circle);aspect-ratio:1/1}:host(.wje-button-large){--wje-padding-top: .6rem;--wje-padding-start: .7rem;--wje-padding-end: .7rem;--wje-padding-bottom: .6rem}:host(.wje-button-small){--wje-padding-top: .25rem;--wje-padding-start: .25rem;--wje-padding-end: .25rem;--wje-padding-bottom: .25rem}::slotted(wje-icon[slot="start"]){margin:0 .3rem 0 -.3rem}::slotted(wje-icon[slot="end"]){margin:0 -.2rem 0 .3rem}:host(:not([only-caret])) slot[name=caret]{padding:0 0 0 .3rem}:host([only-caret]) slot[name=caret]{padding:0;display:block}:host(.wje-button-group-first:not(.wje-button-group-last)) .button-native{border-start-end-radius:0;border-end-end-radius:0}:host(.wje-button-group-inner) .button-native{border-radius:0}:host(.wje-button-group-last:not(.wje-button-group-first)) .button-native{border-start-start-radius:0;border-end-start-radius:0}:host(.wje-button-group-button:not(.wje-button-group-first)){margin-inline-start:calc(-1 * var(--wje-button-border-width))!important}::slotted([slot="toggle"]){display:none}::slotted([slot="toggle"].show){display:block}';
8
7
  class d extends h {
9
8
  /**
10
9
  * Button constructor
@@ -17,7 +16,7 @@ class d extends h {
17
16
  * @type {Object}
18
17
  */
19
18
  s(this, "depandencies", {
20
- "wje-icon": p
19
+ "wje-icon": v
21
20
  });
22
21
  /**
23
22
  * Class name
@@ -29,21 +28,16 @@ class d extends h {
29
28
  * @param {Event} e - The event
30
29
  */
31
30
  s(this, "eventDialogOpen", (o) => {
32
- document.dispatchEvent(
33
- new CustomEvent(
34
- this.dialog,
35
- {
36
- bubbles: !0
37
- }
38
- )
39
- );
31
+ i.dispatchCustomEvent(this, this.dialog, {
32
+ bubbles: !0
33
+ });
40
34
  });
41
35
  /**
42
36
  * Toggle states method
43
37
  */
44
38
  s(this, "toggleStates", () => {
45
- this.slotToggle.assignedNodes().filter((l) => l.nodeType === Node.ELEMENT_NODE).forEach((l) => {
46
- l.classList.contains("show") ? l.classList.remove("show") : l.classList.add("show");
39
+ this.slotToggle.assignedNodes().filter((a) => a.nodeType === Node.ELEMENT_NODE).forEach((a) => {
40
+ a.classList.contains("show") ? a.classList.remove("show") : a.classList.add("show");
47
41
  });
48
42
  });
49
43
  }
@@ -66,7 +60,7 @@ class d extends h {
66
60
  * @param {boolean} value - The value to set
67
61
  */
68
62
  set disabled(o) {
69
- this.setAttribute("disabled", "");
63
+ o ? this.setAttribute("disabled", "") : this.removeAttribute("disabled");
70
64
  }
71
65
  /**
72
66
  * Get disabled state
@@ -108,14 +102,14 @@ class d extends h {
108
102
  * @param {boolean} value - The value to set
109
103
  */
110
104
  set stopPropagation(o) {
111
- this.setAttribute("stop-propagation", u(o));
105
+ this.setAttribute("stop-propagation", w(o));
112
106
  }
113
107
  /**
114
108
  * Get stop propagation
115
109
  * @returns {boolean} stopPropagation - The stop propagation
116
110
  */
117
111
  get stopPropagation() {
118
- return u(this.getAttribute("stop-propagation"));
112
+ return w(this.getAttribute("stop-propagation"));
119
113
  }
120
114
  /**
121
115
  * Get CSS stylesheet
@@ -123,7 +117,7 @@ class d extends h {
123
117
  * @returns {Object} styles - The CSS styles
124
118
  */
125
119
  static get cssStyleSheet() {
126
- return v;
120
+ return p;
127
121
  }
128
122
  /**
129
123
  * Get observed attributes
@@ -131,7 +125,7 @@ class d extends h {
131
125
  * @returns {Array<string>} observedAttributes - The observed attributes
132
126
  */
133
127
  static get observedAttributes() {
134
- return [];
128
+ return ["disabled"];
135
129
  }
136
130
  /**
137
131
  * Setup attributes
@@ -146,30 +140,29 @@ class d extends h {
146
140
  * @param {Object} params - The parameters
147
141
  * @returns {Object} fragment - The document fragment
148
142
  */
149
- draw(o, l, m) {
150
- let w = document.createDocumentFragment();
151
- if (this.disabled && this.classList.add("wje-button-disabled"), this.variant && this.classList.add("wje-button-" + this.variant), this.hasAttribute("round") && this.classList.add("wje-button-round"), this.hasAttribute("circle") && this.classList.add("wje-button-circle"), this.outline && this.classList.add("wje-outline"), this.fill && this.classList.add("wje-button-" + this.fill), this.size && this.classList.add("wje-button-" + this.size), this.hasAttribute("color") ? this.classList.add("wje-color-" + this.color, "wje-color") : this.classList.add("wje-color-default", "wje-color"), this.hasAttribute("caret") || this.hasAttribute("only-caret")) {
152
- let a = document.createElement("wje-icon");
153
- a.style.setProperty("--wje-icon-size", "14px"), a.setAttribute("slot", "caret"), a.setAttribute("name", "chevron-down"), this.appendChild(a);
143
+ draw(o, a, m) {
144
+ let u = document.createDocumentFragment();
145
+ if (this.classList.remove("wje-button-disabled"), this.disabled && this.classList.add("wje-button-disabled"), this.variant && this.classList.add("wje-button-" + this.variant), this.hasAttribute("round") && this.classList.add("wje-button-round"), this.hasAttribute("circle") && this.classList.add("wje-button-circle"), this.outline && this.classList.add("wje-outline"), this.fill && this.classList.add("wje-button-" + this.fill), this.size && this.classList.add("wje-button-" + this.size), this.hasAttribute("color") ? this.classList.add("wje-color-" + this.color, "wje-color") : this.classList.add("wje-color-default", "wje-color"), this.querySelectorAll("[slot=caret]").length < 1 && this.hasAttribute("caret") || this.hasAttribute("only-caret")) {
146
+ let l = document.createElement("wje-icon");
147
+ l.style.setProperty("--wje-icon-size", "14px"), l.setAttribute("slot", "caret"), l.setAttribute("name", "chevron-down"), this.appendChild(l);
154
148
  }
155
149
  if (this.active) {
156
150
  this.classList.add("wje-active");
157
- let a = document.createElement("wje-icon");
158
- a.setAttribute("name", "check"), this.appendChild(a);
151
+ let l = document.createElement("wje-icon");
152
+ l.setAttribute("name", "check"), this.appendChild(l);
159
153
  }
160
- this.disabled && this.classList.add("wje-disabled");
161
154
  let c = document.createElement(this.hasAttribute("href") ? "a" : "button");
162
155
  c.classList.add("button-native"), c.setAttribute("part", "native");
163
156
  let n = document.createElement("span");
164
157
  n.classList.add("button-inner");
165
158
  let e = document.createElement("slot");
166
- return e.setAttribute("name", "icon-only"), n.appendChild(e), e = document.createElement("slot"), e.setAttribute("name", "start"), n.appendChild(e), e = document.createElement("slot"), n.appendChild(e), e = document.createElement("slot"), e.setAttribute("name", "end"), n.appendChild(e), e = document.createElement("slot"), e.setAttribute("name", "caret"), n.appendChild(e), this.hasToggle = g.hasSlot(this, "toggle"), this.hasToggle && (this.slotToggle = document.createElement("slot"), this.slotToggle.setAttribute("name", "toggle"), n.appendChild(this.slotToggle)), c.appendChild(n), w.appendChild(c), w;
159
+ return e.setAttribute("name", "icon-only"), n.appendChild(e), e = document.createElement("slot"), e.setAttribute("name", "start"), n.appendChild(e), e = document.createElement("slot"), n.appendChild(e), e = document.createElement("slot"), e.setAttribute("name", "end"), n.appendChild(e), e = document.createElement("slot"), e.setAttribute("name", "caret"), n.appendChild(e), this.hasToggle = g.hasSlot(this, "toggle"), this.hasToggle && (this.slotToggle = document.createElement("slot"), this.slotToggle.setAttribute("name", "toggle"), n.appendChild(this.slotToggle)), c.appendChild(n), u.appendChild(c), u;
167
160
  }
168
161
  /**
169
162
  * After draw method
170
163
  */
171
164
  afterDraw() {
172
- this.hasToggle && (this.toggle === "off" ? this.slotToggle.assignedNodes()[1].classList.add("show") : this.slotToggle.assignedNodes()[0].classList.add("show")), i.addListener(this, "click", "wje:button-click", null, { stopPropagation: this.stopPropagation }), i.addListener(this, "click", null, this.eventDialogOpen), this.hasToggle && i.addListener(this, "click", "wje-button:toggle", this.toggleStates, { stopPropagation: this.stopPropagation });
165
+ this.hasToggle && (this.toggle === "off" ? this.slotToggle.assignedNodes()[1].classList.add("show") : this.slotToggle.assignedNodes()[0].classList.add("show")), this.hasAttribute("dialog") ? i.addListener(this, "click", null, this.eventDialogOpen) : i.addListener(this, "click", "wje-button:click", null), this.hasToggle && i.addListener(this, "click", "wje-button:toggle", this.toggleStates, { stopPropagation: this.stopPropagation });
173
166
  }
174
167
  /**
175
168
  * Before disconnect method
@@ -1,8 +1,8 @@
1
- var p = Object.defineProperty;
2
- var v = (o, a, e) => a in o ? p(o, a, { enumerable: !0, configurable: !0, writable: !0, value: e }) : o[a] = e;
3
- var u = (o, a, e) => (v(o, typeof a != "symbol" ? a + "" : a, e), e);
1
+ var v = Object.defineProperty;
2
+ var p = (o, a, e) => a in o ? v(o, a, { enumerable: !0, configurable: !0, writable: !0, value: e }) : o[a] = e;
3
+ var u = (o, a, e) => (p(o, typeof a != "symbol" ? a + "" : a, e), e);
4
4
  import m from "./wje-element.js";
5
- const b = ":host{--wje-scroll-hint: 0px;--wje-carousel-width: 100%;--wje-carousel-height: auto}.native-carousel{position:relative;width:var(--wje-carousel-width, 100%);height:var(--wje-carousel-height, 300px);scroll-behavior:smooth}.carousel-slides{display:flex;transition:transform .5s ease;align-items:center;justify-items:center;overflow:auto;overscroll-behavior-x:contain;scrollbar-width:none;-ms-overflow-style:none;aspect-ratio:var(--wje-aspect-ratio, 4/3);scroll-snap-type:x mandatory;scroll-padding-inline:0;overflow-y:hidden;padding-inline:var(--wje-spacing-inline, 0);gap:.5rem}.carousel-slides::-webkit-scrollbar{display:none}::slotted(wje-carousel-item){flex:0 0 var(--wje-carousel-size, 100%);height:100%}wje-button{position:absolute;top:50%;border:none;cursor:pointer;z-index:2}.prev{left:-1rem;transform:translate(-100%,-50%)}.next{right:-1rem;transform:translate(100%,-50%)}.pagination{position:relative;bottom:-.5rem;left:50%;transform:translate(-50%,100%);display:flex;z-index:2;justify-content:center}.pagination-item{cursor:pointer;height:15px;width:15px;margin:0 2px;background-color:var(--wje-color-contrast-4);display:inline-block;border-radius:50%}.pagination-item.active{background-color:var(--wje-color)}.thumbnails{display:flex;justify-content:center;align-items:center;overflow-x:auto;gap:.5rem;padding:0 .5rem;margin-top:.5rem;margin-bottom:.5rem;box-sizing:border-box;overflow-y:hidden}.thumbnails wje-thumbnail{--wje-thumbnail-width: 48px;--wje-thumbnail-height: 48px;--wje-thumbnail-border-radius: 0;cursor:pointer;border:1px solid transparent}.thumbnails .active{border:1px solid var(--wje-color-primary-11)}";
5
+ const b = ":host{--wje-scroll-hint: 0px;--wje-carousel-width: 100%;--wje-carousel-height: auto;--wje-carousel-size: 100% }.native-carousel{position:relative;width:var(--wje-carousel-width, 100%);height:var(--wje-carousel-height, 300px);scroll-behavior:smooth}.carousel-slides{display:flex;transition:transform .5s ease;align-items:center;justify-items:center;overflow:auto;overscroll-behavior-x:contain;scrollbar-width:none;-ms-overflow-style:none;aspect-ratio:var(--wje-aspect-ratio, 4 / 3);scroll-snap-type:x mandatory;scroll-padding-inline:0;overflow-y:hidden;padding-inline:var(--wje-spacing-inline, 0);gap:.5rem}.carousel-slides::-webkit-scrollbar{display:none}::slotted(wje-carousel-item){flex:0 0 var(--wje-carousel-size);height:100%}wje-button{position:absolute;top:50%;border:none;cursor:pointer;z-index:2}.prev{left:-1rem;transform:translate(-100%,-50%)}.next{right:-1rem;transform:translate(100%,-50%)}.pagination{position:relative;bottom:-.5rem;left:50%;transform:translate(-50%,100%);display:flex;z-index:2;justify-content:center}.pagination-item{cursor:pointer;height:15px;width:15px;margin:0 2px;background-color:var(--wje-color-contrast-4);display:inline-block;border-radius:50%}.pagination-item.active{background-color:var(--wje-color)}.thumbnails{display:flex;justify-content:center;align-items:center;overflow-x:auto;gap:.5rem;padding:0 .5rem;margin-top:.5rem;margin-bottom:.5rem;box-sizing:border-box;overflow-y:hidden}.thumbnails wje-thumbnail{--wje-thumbnail-width: 48px;--wje-thumbnail-height: 48px;--wje-thumbnail-border-radius: 0;cursor:pointer;border:1px solid transparent}.thumbnails .active{border:1px solid var(--wje-color-primary-11)}";
6
6
  class f extends m {
7
7
  constructor() {
8
8
  super();
@@ -48,7 +48,7 @@ class f extends m {
48
48
  let s = document.createElement("div");
49
49
  s.classList.add("carousel-slides");
50
50
  let l = document.createElement("slot");
51
- return s.appendChild(l), t.appendChild(s), this.navigation && (t.appendChild(this.createPreviousButton()), t.appendChild(this.createNextButton())), this.pagination && t.appendChild(this.createPagination()), this.thumbnails && t.appendChild(this.createThumbnails()), r.appendChild(t), this.slides = s, r;
51
+ return s.appendChild(l), t.appendChild(s), this.navigation && (this.prevButton = this.createPreviousButton(), this.nextButton = this.createNextButton(), t.appendChild(this.prevButton), t.appendChild(this.nextButton)), this.pagination && t.appendChild(this.createPagination()), this.thumbnails && t.appendChild(this.createThumbnails()), r.appendChild(t), this.slides = s, r;
52
52
  }
53
53
  afterDraw() {
54
54
  this.setIntersectionObserver(), this.getSlidesWithClones().forEach((i, n) => {
@@ -56,7 +56,6 @@ class f extends m {
56
56
  }), this.slidePerPage = this.getAttribute("slide-per-page") || 1;
57
57
  let e = 100 / +this.slidePerPage;
58
58
  this.style.setProperty("--wje-carousel-size", e + "%"), this.goToSlide(this.activeSlide, "auto"), this.slides.addEventListener("scrollend", (i) => {
59
- console.log("scrollend", this.entriesMap);
60
59
  const n = this.getSlides(), t = [...this.entriesMap.values()].find((s) => s.isIntersecting);
61
60
  if (t != null && t.target.classList.contains("clone")) {
62
61
  const s = +t.target.getAttribute("clone-index");
@@ -93,7 +92,7 @@ class f extends m {
93
92
  left: d.left - h.left + this.slides.scrollLeft,
94
93
  top: d.top - h.top + this.slides.scrollTop,
95
94
  behavior: i === "smooth" ? "smooth" : "auto"
96
- });
95
+ }), this.navigation && !this.loop && (this.nextButton.removeAttribute("disabled"), this.prevButton.removeAttribute("disabled"), this.activeSlide === r.length - 1 && this.nextButton.setAttribute("disabled", ""), this.activeSlide === 0 && this.prevButton.setAttribute("disabled", ""));
97
96
  }
98
97
  cloneFirstAndLastItems() {
99
98
  const e = this.getSlides();
@@ -125,13 +124,13 @@ class f extends m {
125
124
  }
126
125
  createNextButton() {
127
126
  const e = document.createElement("wje-button");
128
- return e.classList.add("next"), e.innerHTML = '<wje-icon name="chevron-right" size="large"></wje-icon', e.setAttribute("circle", ""), e.setAttribute("fill", "link"), e.addEventListener("click", (i) => {
127
+ return e.classList.add("next"), e.innerHTML = '<wje-icon name="chevron-right" size="large"></wje-icon>', e.setAttribute("circle", ""), e.setAttribute("fill", "link"), e.addEventListener("click", (i) => {
129
128
  this.nextSlide();
130
129
  }), e;
131
130
  }
132
131
  createPreviousButton() {
133
132
  const e = document.createElement("wje-button");
134
- return e.classList.add("prev"), e.innerHTML = '<wje-icon name="chevron-left" size="large"></wje-icon', e.setAttribute("circle", ""), e.setAttribute("fill", "link"), e.addEventListener("click", (i) => {
133
+ return e.classList.add("prev"), e.innerHTML = '<wje-icon name="chevron-left" size="large"></wje-icon>', e.setAttribute("circle", ""), e.setAttribute("fill", "link"), e.addEventListener("click", (i) => {
135
134
  this.previousSlide();
136
135
  }), e;
137
136
  }
@@ -1,46 +1,104 @@
1
- var b = Object.defineProperty;
2
- var h = (c, t, e) => t in c ? b(c, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : c[t] = e;
3
- var i = (c, t, e) => (h(c, typeof t != "symbol" ? t + "" : t, e), e);
4
- import l, { event as a } from "./wje-element.js";
5
- const s = ':host{--wje-grey-check-icon: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAAQAgMAAADsa5zLAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAMUExURUdwTHBwcG9vb3BwcBFjhIYAAAAEdFJOUwBG9tQE3MceAAAAVUlEQVQoz2NgGLKA0QGIDwDxBSCeAMEYgAWI2YCK2CagYgwgDcRSDhgYbAkKzsSKGdgakCyY6ADES7BiiCkgJ4PYyybgxAhQAsRZDrgxCpDEg4cAAAAp2ibhZRGLHgAAAABJRU5ErkJggg==) left center;--wje-white-check-icon: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAAQAgMAAADsa5zLAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAMUExURUdwTP///////////waf0AoAAAAEdFJOUwBG9tQE3MceAAAAVUlEQVQoz2NgGLKA0QGIDwDxBSCeAMEYgAWI2YCK2CagYgwgDcRSDhgYbAkKzsSKGdgakCyY6ADES7BiiCkgJ4PYyybgxAhQAsRZDrgxCpDEg4cAAAAp2ibhZRGLHgAAAABJRU5ErkJggg==) left center;--wje-checkbox-margin-top: 0;--wje-checkbox-margin-bottom: .5rem;--wje-checkbox-margin-inline: 0;--wje-checkbox-width: 16px;--wje-checkbox-height: 16px;display:block;margin-top:var(--wje-checkbox-margin-top);margin-bottom:var(--wje-checkbox-margin-bottom);margin-inline:var(--wje-checkbox-margin-inline);line-height:100%;padding-left:0}:host label{display:inline-block;cursor:pointer;position:relative;padding-left:25px;min-width:var(--wje-checkbox-width);min-height:var(--wje-checkbox-height);margin-bottom:0;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host label:before{content:"";position:absolute;width:16px;height:16px;left:0;-webkit-box-sizing:inherit;box-sizing:border-box;background-color:var(--wje-color-contrast-lowest);border:1px solid var(--wje-border-color)}.native-checkbox label{transition:border .14s linear 0s,color .14s linear 0s,background-color .14s linear 0s}.native-checkbox label:hover{color:var(--wje-color-contrast-higher)}.native-checkbox label:before{border-radius:3px;transition:border .14s linear 0s,color .14s linear 0s,background-color .14s linear 0s}.native-checkbox input[type=checkbox]{position:absolute;margin:0;z-index:-1;width:16px;height:16px;opacity:0;display:none}.native-checkbox input[type=checkbox]+label:after{content:"";position:absolute;left:0;border-right:0 solid transparent;border-bottom:0 solid transparent;width:16px;height:16px;overflow:hidden}.native-checkbox.checkbox-circle label:after{border-radius:99px}.native-checkbox.checkbox-circle label:before{border-radius:99px}.native-checkbox input[type=checkbox]:checked+label:after{content:"";background:var(--wje-grey-check-icon);background-size:160px 16px;background-repeat:no-repeat;animation-name:checkbox-check;animation-duration:.32s;animation-timing-function:steps(9);animation-fill-mode:forwards;animation-iteration-count:1}.native-checkbox input[type=checkbox]:hover:active:not(:checked)+label:before{background-color:#00000014}.native-checkbox input[type=checkbox]:focus+label{color:var(--wje-color-contrast-higher)}.native-checkbox input[type=checkbox]:focus+label:before{outline:none!important;box-shadow:#78c8fe 0 0}.native-checkbox input[type=checkbox][disabled]+label{cursor:not-allowed!important;color:var(--wje-color-contrast-high);opacity:.58}.native-checkbox input[type=checkbox][disabled]+label:before{cursor:not-allowed!important;background:#ececec}.native-checkbox input[type=checkbox]:indeterminate+label:after{background:none;background-color:var(--wje-color-contrast-high);width:10px;height:2px;top:6px;margin:3px;border-radius:2px}.native-checkbox.right label{padding-left:0;padding-right:26px}.native-checkbox.right label:before{right:0;left:auto}.native-checkbox.right input[type=checkbox]:checked+label{position:relative}.native-checkbox.right input[type=checkbox]:checked+label:after{position:absolute;right:0;left:auto}.success input[type=checkbox]:checked+label:before,.success input[type=checkbox]:indeterminate+label:before{border-color:var(--wje-color-success);background-color:var(--wje-color-success)}.primary input[type=checkbox]:checked+label:before,.primary input[type=checkbox]:indeterminate+label:before{border-color:var(--wje-color-primary);background-color:var(--wje-color-primary)}.complete input[type=checkbox]:checked+label:before,.complete input[type=checkbox]:indeterminate+label:before{border-color:var(--wje-color-complete);background-color:var(--wje-color-complete)}.warning input[type=checkbox]:checked+label:before,.warning input[type=checkbox]:indeterminate+label:before{border-color:var(--wje-color-warning);background-color:var(--wje-color-warning)}.danger input[type=checkbox]:checked+label:before,.danger input[type=checkbox]:indeterminate+label:before{border-color:var(--wje-color-danger);background-color:var(--wje-color-danger)}.info input[type=checkbox]:checked+label:before,.info input[type=checkbox]:indeterminate+label:before{border-color:var(--wje-color-info);background-color:var(--wje-color-info)}.info input[type=checkbox]:checked+label:after,.danger input[type=checkbox]:checked+label:after,.complete input[type=checkbox]:checked+label:after,.primary input[type=checkbox]:checked+label:after,.success input[type=checkbox]:checked+label:after{background:var(--wje-white-check-icon)}.info input[type=checkbox]:indeterminate+label:after,.danger input[type=checkbox]:indeterminate+label:after,.complete input[type=checkbox]:indeterminate+label:after,.primary input[type=checkbox]:indeterminate+label:after,.success input[type=checkbox]:indeterminate+label:after{background-color:var(--wje-color-contrast-lowest)}@keyframes shrink-bounce{0%{transform:scale(1)}33%{transform:scale(.85)}to{transform:scale(1)}}@keyframes checkbox-check{0%{background-position:0}to{background-position:-144px}}.js-focus-visible .native-checkbox input[type=checkbox]:focus:not(.focus-visible)+label:before{box-shadow:none}input[type=checkbox]{accent-color:var(--wje-color-primary)!important;font-size:50px}';
6
- class d extends l {
1
+ var s = Object.defineProperty;
2
+ var h = (c, t, e) => t in c ? s(c, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : c[t] = e;
3
+ var l = (c, t, e) => (h(c, typeof t != "symbol" ? t + "" : t, e), e);
4
+ import b, { event as a } from "./wje-element.js";
5
+ const d = ':host{--wje-grey-check-icon: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAAQAgMAAADsa5zLAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAMUExURUdwTHBwcG9vb3BwcBFjhIYAAAAEdFJOUwBG9tQE3MceAAAAVUlEQVQoz2NgGLKA0QGIDwDxBSCeAMEYgAWI2YCK2CagYgwgDcRSDhgYbAkKzsSKGdgakCyY6ADES7BiiCkgJ4PYyybgxAhQAsRZDrgxCpDEg4cAAAAp2ibhZRGLHgAAAABJRU5ErkJggg==) left center;--wje-white-check-icon: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAAQAgMAAADsa5zLAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAMUExURUdwTP///////////waf0AoAAAAEdFJOUwBG9tQE3MceAAAAVUlEQVQoz2NgGLKA0QGIDwDxBSCeAMEYgAWI2YCK2CagYgwgDcRSDhgYbAkKzsSKGdgakCyY6ADES7BiiCkgJ4PYyybgxAhQAsRZDrgxCpDEg4cAAAAp2ibhZRGLHgAAAABJRU5ErkJggg==) left center;--wje-checkbox-margin-top: 0;--wje-checkbox-margin-bottom: .5rem;--wje-checkbox-margin-inline: 0;--wje-checkbox-width: 16px;--wje-checkbox-height: 16px;display:block;margin-top:var(--wje-checkbox-margin-top);margin-bottom:var(--wje-checkbox-margin-bottom);margin-inline:var(--wje-checkbox-margin-inline);line-height:100%;padding-left:0}:host label{display:inline-block;cursor:pointer;position:relative;padding-left:25px;min-width:var(--wje-checkbox-width);min-height:var(--wje-checkbox-height);margin-bottom:0;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host label:before{content:"";position:absolute;width:16px;height:16px;left:0;-webkit-box-sizing:inherit;box-sizing:border-box;background-color:var(--wje-color-contrast-lowest);border:1px solid var(--wje-border-color)}.native-checkbox label{transition:border .14s linear 0s,color .14s linear 0s,background-color .14s linear 0s}.native-checkbox label:hover{color:var(--wje-color-contrast-highest)}.native-checkbox label:before{border-radius:3px;transition:border .14s linear 0s,color .14s linear 0s,background-color .14s linear 0s}.native-checkbox input[type=checkbox]{position:absolute;margin:0;z-index:-1;width:16px;height:16px;opacity:0;display:none}.native-checkbox input[type=checkbox]+label:after{content:"";position:absolute;left:0;border-right:0 solid transparent;border-bottom:0 solid transparent;width:16px;height:16px;overflow:hidden}.native-checkbox.checkbox-circle label:after{border-radius:99px}.native-checkbox.checkbox-circle label:before{border-radius:99px}.native-checkbox input[type=checkbox]:checked+label:after{content:"";background:var(--wje-grey-check-icon);background-size:160px 16px;background-repeat:no-repeat;animation-name:checkbox-check;animation-duration:.32s;animation-timing-function:steps(9);animation-fill-mode:forwards;animation-iteration-count:1}.native-checkbox input[type=checkbox]:hover:active:not(:checked)+label:before{background-color:#00000014}.native-checkbox input[type=checkbox]:focus+label{color:var(--wje-color-contrast-highest)}.native-checkbox input[type=checkbox]:focus+label:before{outline:none!important;box-shadow:#78c8fe 0 0}.native-checkbox input[type=checkbox][disabled]+label{cursor:not-allowed!important;color:var(--wje-color-contrast-high);opacity:.58}.native-checkbox input[type=checkbox][disabled]+label:before{cursor:not-allowed!important;background:#ececec}.native-checkbox input[type=checkbox]:indeterminate+label:after{background:none;background-color:var(--wje-color-contrast-high);width:10px;height:2px;top:6px;margin:3px;border-radius:2px}.native-checkbox.right label{padding-left:0;padding-right:26px}.native-checkbox.right label:before{right:0;left:auto}.native-checkbox.right input[type=checkbox]:checked+label{position:relative}.native-checkbox.right input[type=checkbox]:checked+label:after{position:absolute;right:0;left:auto}.success :is(input[type=checkbox]:checked+label):before,.success :is(input[type=checkbox]:indeterminate+label):before{border-color:var(--wje-color-success);background-color:var(--wje-color-success)}.primary :is(input[type=checkbox]:checked+label):before,.primary :is(input[type=checkbox]:indeterminate+label):before{border-color:var(--wje-color-primary);background-color:var(--wje-color-primary)}.complete :is(input[type=checkbox]:checked+label):before,.complete :is(input[type=checkbox]:indeterminate+label):before{border-color:var(--wje-color-complete);background-color:var(--wje-color-complete)}.warning :is(input[type=checkbox]:checked+label):before,.warning :is(input[type=checkbox]:indeterminate+label):before{border-color:var(--wje-color-warning);background-color:var(--wje-color-warning)}.danger :is(input[type=checkbox]:checked+label):before,.danger :is(input[type=checkbox]:indeterminate+label):before{border-color:var(--wje-color-danger);background-color:var(--wje-color-danger)}.info :is(input[type=checkbox]:checked+label):before,.info :is(input[type=checkbox]:indeterminate+label):before{border-color:var(--wje-color-info);background-color:var(--wje-color-info)}.info :is(input[type=checkbox]:checked+label):after,.danger :is(input[type=checkbox]:checked+label):after,.complete :is(input[type=checkbox]:checked+label):after,.primary :is(input[type=checkbox]:checked+label):after,.success :is(input[type=checkbox]:checked+label):after{background:var(--wje-white-check-icon)}.info :is(input[type=checkbox]:indeterminate+label):after,.danger :is(input[type=checkbox]:indeterminate+label):after,.complete :is(input[type=checkbox]:indeterminate+label):after,.primary :is(input[type=checkbox]:indeterminate+label):after,.success :is(input[type=checkbox]:indeterminate+label):after{background-color:var(--wje-color-contrast-lowest)}@keyframes shrink-bounce{0%{transform:scale(1)}33%{transform:scale(.85)}to{transform:scale(1)}}@keyframes checkbox-check{0%{background-position:0}to{background-position:-144px}}.js-focus-visible .native-checkbox input[type=checkbox]:focus:not(.focus-visible)+label:before{box-shadow:none}input[type=checkbox]{accent-color:var(--wje-color-primary)!important;font-size:50px}';
6
+ class p extends b {
7
+ /**
8
+ * Checkbox constructor.
9
+ */
7
10
  constructor() {
8
11
  super();
9
- i(this, "className", "Checkbox");
10
- i(this, "inputEvent", (e) => {
11
- this.checked = e.target.checked;
12
- });
13
- this._checked = !1;
12
+ /**
13
+ * The class name.
14
+ */
15
+ l(this, "className", "Checkbox");
14
16
  }
17
+ /**
18
+ * @summary Set checked attribute
19
+ * @returns {boolean} true if the toggle is checked, false otherwise
20
+ */
21
+ set disabled(e) {
22
+ e ? this.setAttribute("disabled", "") : this.removeAttribute("disabled");
23
+ }
24
+ /**
25
+ * @summary Get disabled attribute
26
+ * @returns {boolean} true if the toggle is disabled, false otherwise
27
+ */
28
+ get disabled() {
29
+ return this.hasAttribute("disabled");
30
+ }
31
+ /**
32
+ * @summary Set checked attribute
33
+ * @returns {boolean} true if the toggle is checked, false otherwise
34
+ */
15
35
  set checked(e) {
16
- this._checked = e, e ? this.setAttribute("checked", "") : this.removeAttribute("checked");
36
+ e ? this.setAttribute("checked", "") : this.removeAttribute("checked");
17
37
  }
38
+ /**
39
+ * @summary Get checked attribute
40
+ * @returns {boolean} true if the toggle is checked, false otherwise
41
+ */
18
42
  get checked() {
19
- return this._checked;
43
+ return this.hasAttribute("checked");
20
44
  }
45
+ /**
46
+ * Getter for the CSS stylesheet.
47
+ * @returns {string} The CSS stylesheet.
48
+ */
21
49
  static get cssStyleSheet() {
22
- return s;
50
+ return d;
23
51
  }
24
52
  static get observedAttributes() {
25
- return ["checked"];
53
+ return ["checked", "disabled"];
26
54
  }
55
+ /**
56
+ * Sets up the attributes for the checkbox.
57
+ */
27
58
  setupAttributes() {
28
59
  this.isShadowRoot = "open";
29
60
  }
30
- draw(e, p, k) {
31
- let n = document.createDocumentFragment(), o = document.createElement("div");
32
- o.classList.add("native-checkbox"), this.variant === "circle" && o.classList.add("checkbox-circle"), this.color && o.classList.add(this.color), this.input = document.createElement("input"), this.input.type = "checkbox", this.input.id = "checkbox", this.input.name = this.name = "checkbox", this.input.checked = this.hasAttribute("checked"), this.input.disabled = this.hasAttribute("disabled"), this.input.indeterminate = this.hasAttribute("indeterminate");
61
+ /**
62
+ * Draws the checkbox.
63
+ * @param {object} context - The context.
64
+ * @param {object} store - The store.
65
+ * @param {object} params - The parameters.
66
+ * @returns {DocumentFragment} The created fragment.
67
+ */
68
+ draw(e, k, u) {
69
+ let n = document.createDocumentFragment(), i = document.createElement("div");
70
+ i.classList.add("native-checkbox"), this.variant === "circle" && i.classList.add("checkbox-circle"), this.color && i.classList.add(this.color);
71
+ let o = document.createElement("input");
72
+ o.type = "checkbox", o.id = "checkbox", o.name = this.name = "checkbox", o.checked = this.hasAttribute("checked"), o.disabled = this.hasAttribute("disabled"), o.indeterminate = this.hasAttribute("indeterminate");
33
73
  let r = document.createElement("label");
34
- return r.htmlFor = "checkbox", r.innerHTML = "<slot></slot>", o.appendChild(this.input), o.appendChild(r), n.appendChild(o), n;
74
+ return r.htmlFor = "checkbox", r.innerHTML = "<slot></slot>", i.appendChild(o), i.appendChild(r), this.input = o, n.appendChild(i), n;
35
75
  }
76
+ /**
77
+ * Adds an event listener after drawing the checkbox.
78
+ */
36
79
  afterDraw() {
37
- a.addListener(this, "click", "wje:checkbox:change"), a.addListener(this, "click", "wje:checkbox:input");
80
+ this.disabled || (this.input.addEventListener("input", (e) => {
81
+ this.checked = e.target.checked, a.dispatchCustomEvent(this, "wje-toggle:input");
82
+ }), this.input.addEventListener("change", (e) => {
83
+ this.checked = e.target.checked, a.dispatchCustomEvent(this, "wje-toggle:change");
84
+ }));
38
85
  }
86
+ /**
87
+ * Handles the input event.
88
+ * @param {Event} e - The event.
89
+ */
90
+ // inputEvent = (e) => {
91
+ // this.checked = this.input.checked;
92
+ // event.dispatchCustomEvent(this, "wje-checkbox:change");
93
+ // }
94
+ /**
95
+ * Removes the event listener when the checkbox is disconnected.
96
+ */
39
97
  disconnectedCallback() {
40
- a.removeElement(this);
98
+ a.removeElement(this.input);
41
99
  }
42
100
  }
43
- l.define("wje-checkbox", d);
101
+ b.define("wje-checkbox", p);
44
102
  export {
45
- d as default
103
+ p as default
46
104
  };
@@ -1,13 +1,23 @@
1
1
  var u = Object.defineProperty;
2
2
  var f = (o, t, e) => t in o ? u(o, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : o[t] = e;
3
- var p = (o, t, e) => (f(o, typeof t != "symbol" ? t + "" : t, e), e);
4
- import v, { event as h } from "./wje-element.js";
3
+ var s = (o, t, e) => (f(o, typeof t != "symbol" ? t + "" : t, e), e);
4
+ import v, { event as p } from "./wje-element.js";
5
5
  import "./wje-icon.js";
6
- const x = ':host{--wje-dialog-width: 600px;--wje-dialog-height: 600px;--wje-dialog-border-radius: var(--wje-border-radius-large);--wje-dialog-border-width: var(--wje-border-width);--wje-dialog-border-style: var(--wje-border-style);--wje-dialog-border-color: var(--wje-border-color);--wje-dialog-margin-top: auto;--wje-dialog-margin-start: auto;--wje-dialog-margin-end: auto;--wje-dialog-margin-bottom: auto}:host .close{margin-left:auto}:host .modal-content{border-radius:3px;box-shadow:none}:host .dialog-header{position:relative;border-bottom:0;padding-inline:var(--wje-dialog-padding, 1rem);padding-top:var(--wje-dialog-padding, 1rem);padding-bottom:var(--wje-dialog-padding, 0);display:flex;align-items:center}:host .dialog-header span{font-family:var(--wje-font-family-secondary);font-size:10.5px;text-transform:uppercase;display:inline-block;letter-spacing:.06em;font-weight:500;margin:0;padding:0;line-height:normal;overflow:hidden;text-overflow:ellipsis;filter:alpha(opacity=40)}:host .dialog-content{box-shadow:none;padding-inline:var(--wje-dialog-padding, 1rem);white-space:normal;z-index:1}:host .dialog-footer{display:flex;justify-content:end;border-top:none;box-shadow:none;margin-top:0;padding-inline:var(--wje-dialog-padding-inline, 1rem);padding-top:var(--wje-dialog-padding-top, 1rem);padding-bottom:var(--wje-dialog-padding-bottom, 1rem)}dialog::backdrop{opacity:var(--wje-backdrop-opacity);background-color:var(--wje-backdrop)}:host(.separator) .dialog-header:after{content:"";height:1px;background:#00000014;left:var(--wje-dialog-padding, 1rem);right:var(--wje-dialog-padding, 1rem);position:absolute;bottom:0}:host dialog{box-sizing:border-box;transition:all .2s!important;width:var(--wje-dialog-width);height:var(--wje-dialog-height);box-shadow:0 .5rem 1rem #00000026;border-radius:var(--wje-dialog-border-radius);border-width:var(--wje-dialog-border-width);border-style:var(--wje-dialog-border-style);border-color:var(--wje-dialog-border-color);margin-top:var(--wje-dialog-margin-top);margin-bottom:var(--wje-dialog-margin-bottom);margin-inline:var(--wje-dialog-margin-start) var(--wje-dialog-margin-end);padding:0}:host(.stick-up){--wje-dialog-width: 300px !important;--wje-dialog-height: fit-content;--wje-dialog-border-radius: 0 0 8px 8px;--wje-dialog-border-width: 0 1px 1px 1px;--wje-dialog-margin-top: 0;--wje-dialog-translate-from: translateY(-110%);--wje-dialog-template-to: translateX(0)}:host(.slide-up){--wje-dialog-width: 300px !important;--wje-dialog-height: fit-content;--wje-dialog-border-radius: 8px;--wje-dialog-border-width: 1px;--wje-dialog-opacity-from: 0;--wje-dialog-translate-from: scale(.9);--wje-dialog-translate-to: scale(1)}:host(.fill-in){--wje-dialog-width: 100%;--wje-dialog-height: 100%;--wje-dialog-border-radius: 0 0 0 0 !important;--wje-dialog-border-width: 0;--wje-dialog-margin-top: 0;--wje-dialog-margin-start: 0;--wje-dialog-margin-end: 0;--wje-dialog-margin-bottom: 0;--wje-dialog-translate-from: scale(.95);--wje-dialog-translate-to: scale(1)}:host(.fill-in) dialog{min-width:var(--wje-dialog-width);min-height:var(--wje-dialog-height)}:host(.slide-left){--wje-dialog-width: 300px !important;--wje-dialog-height: 100% !important;--wje-dialog-border-radius: 0;--wje-dialog-border-width: 0 1px 0 0;--wje-dialog-margin-top: 0;--wje-dialog-margin-start: 0;--wje-dialog-margin-end: auto;--wje-dialog-margin-bottom: 0}:host(.slide-left) dialog{min-height:var(--wje-dialog-height);--wje-dialog-translate-from: translateX(-110%);--wje-dialog-template-to: translateX(0)}:host(.slide-right){--wje-dialog-width: 300px !important;--wje-dialog-height: 100% !important;--wje-dialog-border-radius: 0;--wje-dialog-border-width: 0 0 0 1px;--wje-dialog-margin-top: 0;--wje-dialog-margin-start: auto;--wje-dialog-margin-end: 0;--wje-dialog-margin-bottom: 0}:host(.slide-right) dialog{min-height:var(--wje-dialog-height);--wje-dialog-translate-from: translateX(110%);--wje-dialog-template-to: translateX(0)}:host(.small){--wje-dialog-width: 300px !important}:host(.medium){--wje-dialog-width: 500px !important}:host(.large){--wje-dialog-width: 600px !important}:host(.ex-large){--wje-dialog-width: 900px !important}dialog[open]{animation:show .5s ease normal}@keyframes show{0%{opacity:var(--wje-dialog-opacity-from, 1);transform:var(--wje-dialog-translate-from)}to{opacity:1;transform:var(--wje-dialog-translate-to)}}';
7
- class j extends v {
6
+ const x = ':host{--wje-dialog-width: 600px;--wje-dialog-height: 600px;--wje-dialog-border-radius: var(--wje-border-radius-large);--wje-dialog-border-width: var(--wje-border-width);--wje-dialog-border-style: var(--wje-border-style);--wje-dialog-border-color: var(--wje-border-color);--wje-dialog-margin-top: auto;--wje-dialog-margin-start: auto;--wje-dialog-margin-end: auto;--wje-dialog-margin-bottom: auto;--wje-dialog-padding: 1rem;--wje-dialog-padding-inline: 1rem;--wje-dialog-padding-top: 1rem;--wje-dialog-padding-bottom: 1rem}:host .close{margin-left:auto}:host .modal-content{border-radius:3px;box-shadow:none}:host .dialog-header{position:relative;border-bottom:0;padding-inline:var(--wje-dialog-padding);padding-top:var(--wje-dialog-padding);padding-bottom:var(--wje-dialog-padding);display:flex;align-items:center}:host .dialog-header span{font-family:var(--wje-font-family-secondary);font-size:10.5px;text-transform:uppercase;display:inline-block;letter-spacing:.06em;font-weight:500;margin:0;padding:0;line-height:normal;overflow:hidden;text-overflow:ellipsis;filter:alpha(opacity=40)}:host .dialog-content{box-shadow:none;padding-inline:var(--wje-dialog-padding);white-space:normal;z-index:1}:host .dialog-footer{display:flex;justify-content:end;border-top:none;box-shadow:none;margin-top:0;padding-inline:var(--wje-dialog-padding-inline);padding-top:var(--wje-dialog-padding-top);padding-bottom:var(--wje-dialog-padding-bottom)}dialog::backdrop{opacity:var(--wje-backdrop-opacity);background-color:var(--wje-backdrop)}dialog:focus-visible{outline:none}:host(.separator) .dialog-header:after{content:"";height:1px;background:#00000014;left:var(--wje-dialog-padding);right:var(--wje-dialog-padding);position:absolute;bottom:0}:host dialog{box-sizing:border-box;transition:all .2s!important;width:var(--wje-dialog-width);height:var(--wje-dialog-height);box-shadow:0 .5rem 1rem #00000026;border-radius:var(--wje-dialog-border-radius);border-width:var(--wje-dialog-border-width);border-style:var(--wje-dialog-border-style);border-color:var(--wje-dialog-border-color);margin-top:var(--wje-dialog-margin-top);margin-bottom:var(--wje-dialog-margin-bottom);margin-inline:var(--wje-dialog-margin-start) var(--wje-dialog-margin-end);padding:0}:host(.stick-up){--wje-dialog-width: 300px !important;--wje-dialog-height: fit-content;--wje-dialog-border-radius: 0 0 8px 8px;--wje-dialog-border-width: 0 1px 1px 1px;--wje-dialog-margin-top: 0;--wje-dialog-translate-from: translateY(-110%);--wje-dialog-template-to: translateX(0)}:host(.slide-up){--wje-dialog-width: 300px !important;--wje-dialog-height: fit-content;--wje-dialog-border-radius: 8px;--wje-dialog-border-width: 1px;--wje-dialog-opacity-from: 0;--wje-dialog-translate-from: scale(.9);--wje-dialog-translate-to: scale(1)}:host(.fill-in){--wje-dialog-width: 100%;--wje-dialog-height: 100%;--wje-dialog-border-radius: 0 0 0 0 !important;--wje-dialog-border-width: 0;--wje-dialog-margin-top: 0;--wje-dialog-margin-start: 0;--wje-dialog-margin-end: 0;--wje-dialog-margin-bottom: 0;--wje-dialog-translate-from: scale(.95);--wje-dialog-translate-to: scale(1)}:host(.fill-in) dialog{min-width:var(--wje-dialog-width);min-height:var(--wje-dialog-height)}:host(.slide-left){--wje-dialog-width: 300px !important;--wje-dialog-height: 100% !important;--wje-dialog-border-radius: 0;--wje-dialog-border-width: 0 1px 0 0;--wje-dialog-margin-top: 0;--wje-dialog-margin-start: 0;--wje-dialog-margin-end: auto;--wje-dialog-margin-bottom: 0}:host(.slide-left) dialog{min-height:var(--wje-dialog-height);--wje-dialog-translate-from: translateX(-110%);--wje-dialog-template-to: translateX(0)}:host(.slide-right){--wje-dialog-width: 300px !important;--wje-dialog-height: 100% !important;--wje-dialog-border-radius: 0;--wje-dialog-border-width: 0 0 0 1px;--wje-dialog-margin-top: 0;--wje-dialog-margin-start: auto;--wje-dialog-margin-end: 0;--wje-dialog-margin-bottom: 0}:host(.slide-right) dialog{min-height:var(--wje-dialog-height);--wje-dialog-translate-from: translateX(110%);--wje-dialog-template-to: translateX(0)}:host(.small){--wje-dialog-width: 300px !important}:host(.medium){--wje-dialog-width: 500px !important}:host(.large){--wje-dialog-width: 600px !important}:host(.ex-large){--wje-dialog-width: 900px !important}dialog[open]{animation:show .5s ease normal}@keyframes show{0%{opacity:var(--wje-dialog-opacity-from, 1);transform:var(--wje-dialog-translate-from)}to{opacity:1;transform:var(--wje-dialog-translate-to)}}';
7
+ class c extends v {
8
8
  constructor() {
9
9
  super();
10
- p(this, "className", "Dialog");
10
+ s(this, "className", "Dialog");
11
+ s(this, "onOpen", (e) => {
12
+ Promise.resolve(this.beforeOpen(this)).then((g) => {
13
+ this.dialog.showModal(), this.dialog.open && Promise.resolve(this.afterOpen(this));
14
+ });
15
+ });
16
+ s(this, "onClose", (e) => {
17
+ Promise.resolve(this.beforeClose(this)).then((g) => {
18
+ this.dialog.close(), this.dialog.open && Promise.resolve(this.afterClose(this));
19
+ });
20
+ });
11
21
  }
12
22
  set placement(e) {
13
23
  this.setAttribute("placement", e);
@@ -15,6 +25,12 @@ class j extends v {
15
25
  get placement() {
16
26
  return this.getAttribute("placement") || "slide-up";
17
27
  }
28
+ set async(e) {
29
+ this.setAttribute("async", "");
30
+ }
31
+ get async() {
32
+ return this.hasAttribute("async");
33
+ }
18
34
  static get cssStyleSheet() {
19
35
  return x;
20
36
  }
@@ -24,35 +40,47 @@ class j extends v {
24
40
  setupAttributes() {
25
41
  this.isShadowRoot = "open";
26
42
  }
27
- draw(e, c, l) {
28
- let s = document.createDocumentFragment();
29
- this.classList.add("modal", "fade", this.placement, l.size);
43
+ draw(e, g, r) {
44
+ let w = document.createDocumentFragment();
45
+ this.classList.add("fade", this.placement, r.size);
30
46
  let b = document.createElement("slot"), a = document.createElement("dialog");
31
47
  a.classList.add("modal-dialog");
32
- let g = document.createElement("wje-icon");
33
- g.setAttribute("name", "x"), g.setAttribute("slot", "icon-only");
48
+ let h = document.createElement("wje-icon");
49
+ h.setAttribute("name", "x"), h.setAttribute("slot", "icon-only");
34
50
  let i = document.createElement("wje-button");
35
51
  i.setAttribute("fill", "link"), i.setAttribute("size", "small"), i.classList.add("close"), i.addEventListener("click", () => {
36
- a.close();
37
- }), i.appendChild(g);
52
+ this.close();
53
+ }), i.appendChild(h);
38
54
  let d = document.createElement("div");
39
- d.setAttribute("part", "header"), d.classList.add("dialog-header"), d.innerHTML = `<span>${this.title}</span>`, d.appendChild(i);
40
- let w = document.createElement("slot");
41
- w.setAttribute("name", "header"), d.appendChild(w);
55
+ d.setAttribute("part", "header"), d.classList.add("dialog-header"), this.hasAttribute("headline") && (d.innerHTML = `<span>${this.headline}</span>`), d.appendChild(i);
56
+ let m = document.createElement("slot");
57
+ m.setAttribute("name", "header"), d.appendChild(m);
42
58
  let n = document.createElement("div");
43
59
  n.setAttribute("part", "body"), n.classList.add("dialog-content"), n.appendChild(b);
44
- let r = document.createElement("div");
45
- r.setAttribute("part", "footer"), r.classList.add("dialog-footer"), r.innerHTML = "";
46
- let m = document.createElement("slot");
47
- return m.setAttribute("name", "footer"), r.appendChild(m), a.appendChild(d), a.appendChild(n), a.appendChild(r), s.appendChild(a), this.dialog = a, s;
60
+ let l = document.createElement("div");
61
+ l.setAttribute("part", "footer"), l.classList.add("dialog-footer"), l.innerHTML = "";
62
+ let j = document.createElement("slot");
63
+ return j.setAttribute("name", "footer"), l.appendChild(j), a.appendChild(d), a.appendChild(n), a.appendChild(l), w.appendChild(a), this.dialog = a, w;
48
64
  }
49
- afterDraw(e, c, l) {
50
- l.trigger && document.addEventListener(l.trigger, () => {
51
- h.dispatchCustomEvent(this.dialog, "wje-dialog:click"), this.dialog.showModal(), this.dialog.open && h.dispatchCustomEvent(this.dialog, "wje-dialog:open");
52
- });
65
+ close() {
66
+ this.onClose();
67
+ }
68
+ afterDraw(e, g, r) {
69
+ this.button = document.querySelector(`[dialog=${r.trigger}]`), r.trigger && p.addListener(this.button, r.trigger, null, this.onOpen);
70
+ }
71
+ beforeOpen() {
72
+ }
73
+ afterOpen() {
74
+ }
75
+ beforeClose() {
76
+ }
77
+ afterClose() {
78
+ }
79
+ disconnectedCallback() {
80
+ p.removeElement(this.button), p.removeElement(this.dialog);
53
81
  }
54
82
  }
55
- j.define("wje-dialog", j);
83
+ c.define("wje-dialog", c);
56
84
  export {
57
- j as default
85
+ c as default
58
86
  };
@@ -1,26 +1,34 @@
1
- var c = Object.defineProperty;
2
- var u = (i, t, e) => t in i ? c(i, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[t] = e;
3
- var s = (i, t, e) => (u(i, typeof t != "symbol" ? t + "" : t, e), e);
4
- import h, { event as p } from "./wje-element.js";
5
- import { P as m } from "./popup.element-BXak-Fgc.js";
6
- class l extends h {
1
+ var d = Object.defineProperty;
2
+ var u = (r, t, e) => t in r ? d(r, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[t] = e;
3
+ var i = (r, t, e) => (u(r, typeof t != "symbol" ? t + "" : t, e), e);
4
+ import m, { event as a } from "./wje-element.js";
5
+ import { P as w } from "./popup.element-Dj9j__Dh.js";
6
+ class h extends m {
7
7
  constructor() {
8
8
  super();
9
- s(this, "depandencies", {
10
- "wje-popup": m
9
+ i(this, "depandencies", {
10
+ "wje-popup": w
11
11
  });
12
- s(this, "className", "Dropdown");
12
+ i(this, "className", "Dropdown");
13
13
  /**
14
- * @summary Show tooltip
14
+ * @summary Open the popup
15
+ * @param e
15
16
  */
16
- s(this, "onShow", () => {
17
- this.popup.show();
17
+ i(this, "onOpen", async (e) => {
18
+ this.classList.add("active"), Promise.resolve(this.beforeShow(this)).then((l) => {
19
+ if (!this.classList.contains("active"))
20
+ throw new Error("beforeShow method returned false or not string");
21
+ this.popup.show(), Promise.resolve(this.afterShow(this));
22
+ }).catch((l) => {
23
+ this.classList.remove("active"), this.popup.hide();
24
+ });
18
25
  });
19
- /**
20
- * @summary Hide tooltip
26
+ /*
27
+ * @summary Close the popup
28
+ * @param e
21
29
  */
22
- s(this, "onHide", () => {
23
- this.popup.hide();
30
+ i(this, "onClose", async (e) => {
31
+ this.classList.remove("active"), this.popup.hide();
24
32
  });
25
33
  }
26
34
  set trigger(e) {
@@ -35,21 +43,26 @@ class l extends h {
35
43
  setupAttributes() {
36
44
  this.isShadowRoot = "open";
37
45
  }
38
- draw(e, g, w) {
39
- let a = document.createDocumentFragment();
46
+ draw(e, l, f) {
47
+ let c = document.createDocumentFragment();
40
48
  this.classList.add("wje-placement", "wje-" + this.placement || "wje-start");
41
49
  let o = document.createElement("div");
42
50
  o.setAttribute("part", "native"), o.classList.add("native-dropdown");
43
51
  let n = document.createElement("slot");
44
52
  n.setAttribute("name", "trigger"), n.setAttribute("slot", "anchor");
45
- let d = document.createElement("slot"), r = document.createElement("wje-popup");
46
- return r.setAttribute("placement", this.placement), r.setAttribute("offset", this.offset), r.appendChild(n), r.appendChild(d), this.trigger === "click" && r.setAttribute("manual", ""), o.appendChild(r), a.appendChild(o), this.popup = r, this.anchorSlot = n, a;
53
+ let p = document.createElement("slot"), s = document.createElement("wje-popup");
54
+ return s.setAttribute("placement", this.placement), s.setAttribute("offset", this.offset), s.appendChild(n), s.appendChild(p), s.setAttribute("manual", ""), o.appendChild(s), c.appendChild(o), this.popup = s, this.anchorSlot = n, c;
47
55
  }
48
56
  afterDraw() {
49
- this.trigger != "click" && (p.addListener(this.anchorSlot, "mouseenter", null, this.onShow), p.addListener(this.anchorSlot, "mouseleave", null, this.onHide));
57
+ this.trigger != "click" ? (a.addListener(this, "mouseenter", null, this.onOpen), a.addListener(this, "mouseleave", null, this.onClose)) : a.addListener(this.anchorSlot, "click", null, this.onOpen), this.hasAttribute("collapsible") && a.addListener(Array.from(this.querySelectorAll("wje-menu-item")), "click", "wje-menu-item:click", this.onClose);
58
+ }
59
+ beforeShow() {
60
+ return this.content;
61
+ }
62
+ afterShow() {
50
63
  }
51
64
  }
52
- l.define("wje-dropdown", l);
65
+ h.define("wje-dropdown", h);
53
66
  export {
54
- l as default
67
+ h as default
55
68
  };