wj-elements 0.0.5 → 0.0.7

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 (71) hide show
  1. package/dist/localize-762a9f0f.js +43 -0
  2. package/dist/style.css +2 -2
  3. package/dist/wj-animation.js +65 -0
  4. package/dist/wj-aside.js +8 -10
  5. package/dist/wj-avatar.js +19 -21
  6. package/dist/wj-badge.js +16 -16
  7. package/dist/wj-breadcrumb.js +7 -11
  8. package/dist/wj-breadcrumbs.js +5 -7
  9. package/dist/wj-button-group.js +11 -13
  10. package/dist/wj-button.js +36 -39
  11. package/dist/wj-card-content.js +11 -13
  12. package/dist/wj-card-controls.js +6 -8
  13. package/dist/wj-card-header.js +11 -13
  14. package/dist/wj-card-subtitle.js +9 -11
  15. package/dist/wj-card-title.js +7 -9
  16. package/dist/wj-card.js +13 -15
  17. package/dist/wj-carousel-item.js +32 -0
  18. package/dist/wj-carousel.js +178 -0
  19. package/dist/wj-checkbox.js +11 -11
  20. package/dist/wj-chip.js +17 -17
  21. package/dist/wj-col.js +11 -12
  22. package/dist/wj-color-picker.js +192 -179
  23. package/dist/wj-container.js +7 -9
  24. package/dist/wj-copy-button.js +1 -3
  25. package/dist/wj-dialog.js +20 -22
  26. package/dist/wj-divider.js +7 -9
  27. package/dist/wj-dropdown.js +10 -14
  28. package/dist/wj-element.js +9 -9
  29. package/dist/wj-fetchAndParseCSS.js +43 -0
  30. package/dist/wj-file-upload-item.js +63 -0
  31. package/dist/wj-file-upload.js +221 -0
  32. package/dist/wj-footer.js +9 -11
  33. package/dist/wj-form.js +6 -8
  34. package/dist/wj-format-digital.js +51 -0
  35. package/dist/wj-grid.js +9 -10
  36. package/dist/wj-header.js +9 -11
  37. package/dist/wj-icon-picker.js +78 -58
  38. package/dist/wj-icon.js +45 -48
  39. package/dist/wj-img-comparer.js +12 -14
  40. package/dist/wj-img.js +14 -16
  41. package/dist/wj-infinite-scroll.js +27 -22
  42. package/dist/wj-input-file.js +47 -0
  43. package/dist/wj-input.js +30 -23
  44. package/dist/wj-item.js +1 -3
  45. package/dist/wj-label.js +10 -10
  46. package/dist/wj-list.js +1 -3
  47. package/dist/wj-main.js +1 -3
  48. package/dist/wj-masonry.js +133 -0
  49. package/dist/wj-master.js +284 -249
  50. package/dist/wj-menu-button.js +10 -12
  51. package/dist/wj-menu-item.js +49 -46
  52. package/dist/wj-menu-label.js +2 -2
  53. package/dist/wj-menu.js +8 -10
  54. package/dist/wj-popup.js +89 -88
  55. package/dist/wj-progress-bar.js +14 -16
  56. package/dist/wj-radio-group.js +5 -7
  57. package/dist/wj-radio.js +13 -15
  58. package/dist/wj-rate.js +127 -0
  59. package/dist/wj-relative-time.js +50 -0
  60. package/dist/wj-router-link.js +11 -13
  61. package/dist/wj-row.js +11 -12
  62. package/dist/wj-slider.js +6 -6
  63. package/dist/wj-split-view.js +1 -3
  64. package/dist/wj-textarea.js +17 -19
  65. package/dist/wj-thumbnail.js +12 -14
  66. package/dist/wj-toast.js +1 -1
  67. package/dist/wj-toggle.js +9 -9
  68. package/dist/wj-toolbar.js +13 -15
  69. package/dist/wj-tooltip.js +16 -18
  70. package/dist/wj-visually-hidden.js +6 -8
  71. package/package.json +1 -1
package/dist/wj-button.js CHANGED
@@ -1,17 +1,15 @@
1
1
  var d = Object.defineProperty;
2
- var c = (o, n, t) => n in o ? d(o, n, { enumerable: !0, configurable: !0, writable: !0, value: t }) : o[n] = t;
3
- var u = (o, n, t) => (c(o, typeof n != "symbol" ? n + "" : n, t), t);
4
- import w, { event as a } from "./wj-element.js";
2
+ var b = (t, e, o) => e in t ? d(t, e, { enumerable: !0, configurable: !0, writable: !0, value: o }) : t[e] = o;
3
+ var c = (t, e, o) => (b(t, typeof e != "symbol" ? e + "" : e, o), o);
4
+ import j, { WjElementUtils as h, event as i } from "./wj-element.js";
5
5
  import "./wj-store.js";
6
- const b = (o) => o === "false" || o === "null" || o === "NaN" || o === "undefined" || o === "0" ? !1 : !!o, j = `/*!
7
- * direction.scss
8
- */:host(.wj-button-solid.wj-color-primary){--wj-button-background-color: #7252D3;--wj-button-color: #fff}:host(.wj-button-outline.wj-color-primary){--wj-button-border-color: #7252d3;--wj-button-color: #7252D3}:host(.wj-button-solid.wj-color-complete){--wj-button-background-color: #0072EC;--wj-button-color: #fff}:host(.wj-button-outline.wj-color-complete){--wj-button-border-color: #0072ec;--wj-button-color: #0072EC}:host(.wj-button-solid.wj-color-success){--wj-button-background-color: #19AD79;--wj-button-color: #fff}:host(.wj-button-outline.wj-color-success){--wj-button-border-color: #19ad79;--wj-button-color: #19AD79}:host(.wj-button-solid.wj-color-warning){--wj-button-background-color: #FFd945;--wj-button-color: #4b4b4b}:host(.wj-button-outline.wj-color-warning){--wj-button-border-color: #ffd945;--wj-button-color: #FFd945}:host(.wj-button-solid.wj-color-danger){--wj-button-background-color: #D83C31;--wj-button-color: #fff}:host(.wj-button-outline.wj-color-danger){--wj-button-border-color: #d83c31;--wj-button-color: #D83C31}:host(.wj-button-solid.wj-color-neutral){--wj-button-background-color: #212121;--wj-button-color: #fff}:host(.wj-button-outline.wj-color-neutral){--wj-button-border-color: #212121;--wj-button-color: #212121}:host(.wj-button-solid.wj-color-default){--wj-button-background-color: #fff;--wj-button-color: #4b4b4b}:host(.wj-button-outline.wj-color-default){--wj-button-border-color: rgba(33, 33, 33, .17);--wj-button-background-color: #fff;--wj-button-color: #4b4b4b}:host{--wj-button-border-radius: 4px;--wj-button-border-width: 1px;--wj-button-border-style: solid;--wj-button-border-color: rgba(33, 33, 33, .17);--wj-button-margin-inline: 0;--wj-padding-top: .4rem;--wj-padding-start: .5rem;--wj-padding-end: .5rem;--wj-padding-bottom: .4rem;display:inline-flex;position:relative;width:auto;cursor:pointer;margin-inline:var(--wj-button-margin-inline)}:host(.wj-button-group-button){display:block}.button-native{font-family:var(--wj-font-family);font-size:var(--wj-font-size);display:flex;position:relative;align-items:center;width:100%;height:100%;min-height:inherit;overflow:hidden;border-width:var(--wj-button-border-width);border-style:var(--wj-button-border-style);border-color:var(--wj-button-border-color);outline:none;background-color:var(--wj-button-background-color);color:var(--wj-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(--wj-button-border-radius);padding-top:var(--wj-padding-top);padding-bottom:var(--wj-padding-bottom);padding-left:var(--wj-padding-start);padding-right:var(--wj-padding-end)}@media (any-hover: hover){:host(.wj-button-solid:hover){--wj-button-background-color: #845ae0;--wj-button-border-color: #7252D3;--wj-button-color: #fff}:host(.wj-button-outline:hover){--wj-button-background-color: rgba(114, 82, 211, .1);--wj-button-border-color: #7252D3;--wj-button-color: #7252D3}:host(.wj-button-solid.wj-color-complete:hover){--wj-button-background-color: #0f8ff9;--wj-button-border-color: #0072EC;--wj-button-color: #fff}:host(.wj-button-outline.wj-color-complete:hover){--wj-button-background-color: rgba(0, 114, 236, .1);--wj-button-border-color: #0072EC;--wj-button-color: #0072EC}:host(.wj-button-solid.wj-color-success:hover){--wj-button-background-color: #26bf93;--wj-button-border-color: #19AD79;--wj-button-color: #fff}:host(.wj-button-outline.wj-color-success:hover){--wj-button-background-color: rgba(25, 173, 121, .1);--wj-button-border-color: #19AD79;--wj-button-color: #19AD79}:host(.wj-button-solid.wj-color-warning:hover){--wj-button-background-color: #ffe858;--wj-button-border-color: #FFd945;--wj-button-color: #4b4b4b}:host(.wj-button-outline.wj-color-warning:hover){--wj-button-background-color: rgba(255, 217, 69, .1);--wj-button-border-color: #FFd945;--wj-button-color: #FFd945}:host(.wj-button-solid.wj-color-danger:hover){--wj-button-background-color: #e6533c;--wj-button-border-color: #D83C31;--wj-button-color: #fff}:host(.wj-button-outline.wj-color-danger:hover){--wj-button-background-color: rgba(216, 60, 49, .1);--wj-button-border-color: #D83C31;--wj-button-color: #D83C31}:host(.wj-button-solid.wj-color-neutral:hover){--wj-button-background-color: #373737;--wj-button-border-color: #212121;--wj-button-color: #fff}:host(.wj-button-outline.wj-color-neutral:hover){--wj-button-background-color: rgba(33, 33, 33, .1);--wj-button-border-color: #212121;--wj-button-color: #212121}:host(.wj-button-solid.wj-color-default:hover){--wj-button-background-color: rgba(245, 245, 245, .19);--wj-button-border-color: #e0e0e0;--wj-button-color: #4b4b4b}:host(.wj-button-outline.wj-color-default:hover){--wj-button-background-color: rgba(224, 224, 224, .1);--wj-button-border-color: #e0e0e0;--wj-button-color: #4b4b4b}:host(.wj-button-link:hover){--wj-button-background-color: rgba(128, 128, 128, .2) !important;--wj-button-border-color: transparent !important;color:#4b4b4b!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.wj-color){background-color:var(--wj-button-background-color);color:var(--wj-button-color)}:host(.wj-button-solid){--wj-button-background-color: #7252D3;--wj-button-color: #fff}:host(.wj-button-outline){--wj-button-border-color: #7252d3;--wj-button-background-color: transparent;--wj-button-color: #7252D3}:host(.wj-button-link){--wj-button-border-width: 1px;--wj-button-border-color: transparent;--wj-button-background-color: transparent !important}:host(.wj-button-disabled){cursor:default;opacity:.5;pointer-events:none}:host(.wj-button-round){--wj-button-border-radius: 100px}:host(.wj-button-large){--wj-padding-top: .6rem;--wj-padding-start: .7rem;--wj-padding-end: .7rem;--wj-padding-bottom: .6rem}:host(.wj-button-small){--wj-padding-top: .25rem;--wj-padding-start: .25rem;--wj-padding-end: .25rem;--wj-padding-bottom: .25rem}::slotted(wj-icon[slot=start]){margin:0 .3rem 0 -.3rem}::slotted(wj-icon[slot=end]){margin:0 -.2rem 0 .3rem}::slotted(wj-icon[slot=caret]){margin:0 0 0 .3rem}slot[name=caret]{display:block}:host(.wj-button-group-first:not(.wj-button-group-last)) .button-native{border-start-end-radius:0;border-end-end-radius:0}:host(.wj-button-group-inner) .button-native{border-radius:0}:host(.wj-button-group-last:not(.wj-button-group-first)) .button-native{border-start-start-radius:0;border-end-start-radius:0}:host(.wj-button-group-button:not(.wj-button-group-first)){margin-inline-start:calc(-1 * var(--wj-button-border-width))!important}
6
+ const u = (t) => t === "false" || t === "null" || t === "NaN" || t === "undefined" || t === "0" ? !1 : !!t, g = `:host(.wj-button-solid.wj-color-primary){--wj-button-background-color: var(--wj-color-primary-10);--wj-button-border-color: var(--wj-color-primary-11);--wj-button-color: var(--wj-color-contrast-0)}:host(.wj-button-outline.wj-color-primary){--wj-button-border-color: var(--wj-color-primary-6);--wj-button-color: var(--wj-color-primary-6)}:host(.wj-button-solid.wj-color-complete){--wj-button-background-color: var(--wj-color-complete-10);--wj-button-border-color: var(--wj-color-complete-11);--wj-button-color: var(--wj-color-contrast-0)}:host(.wj-button-outline.wj-color-complete){--wj-button-border-color: var(--wj-color-complete-6);--wj-button-color: var(--wj-color-complete-6)}:host(.wj-button-solid.wj-color-success){--wj-button-background-color: var(--wj-color-success-10);--wj-button-border-color: var(--wj-color-success-11);--wj-button-color: var(--wj-color-contrast-0)}:host(.wj-button-outline.wj-color-success){--wj-button-border-color: var(--wj-color-success-6);--wj-button-color: var(--wj-color-success-6)}:host(.wj-button-solid.wj-color-warning){--wj-button-background-color: var(--wj-color-warning-10);--wj-button-border-color: var(--wj-color-warning-11);--wj-button-color: var(--wj-color-black)}:host(.wj-button-outline.wj-color-warning){--wj-button-border-color: var(--wj-color-warning-6);--wj-button-color: var(--wj-color-warning-6)}:host(.wj-button-solid.wj-color-danger){--wj-button-background-color: var(--wj-color-danger-10);--wj-button-border-color: var(--wj-color-danger-11);--wj-button-color: var(--wj-color-contrast-0)}:host(.wj-button-outline.wj-color-danger){--wj-button-border-color: var(--wj-color-danger-6);--wj-button-color: var(--wj-color-danger-6)}:host(.wj-button-solid.wj-color-neutral){--wj-button-background-color: var(--wj-color-contrast-10);--wj-button-border-color: var(--wj-color-contrast-11);--wj-button-color: var(--wj-color-contrast-0)}:host(.wj-button-outline.wj-color-neutral){--wj-button-border-color: var(--wj-color-contrast-6);--wj-button-color: var(--wj-color-contrast-6)}:host(.wj-button-solid.wj-color-default){--wj-button-background-color: transparent;--wj-button-border-color: var(--wj-color-contrast-4);--wj-button-color: var(--wj-color-contrast-11)}:host(.wj-button-outline.wj-color-default){--wj-button-border-color: var(--wj-color-contrast-4);--wj-button-color: var(--wj-color-contrast-11)}:host{--wj-button-border-radius: 4px;--wj-button-border-width: 1px;--wj-button-border-style: solid;--wj-button-border-color: var(--wj-color-contrast-1);--wj-button-margin-inline: 0;--wj-padding-top: .4rem;--wj-padding-start: .5rem;--wj-padding-end: .5rem;--wj-padding-bottom: .4rem;display:inline-flex;position:relative;width:auto;cursor:pointer;margin-inline:var(--wj-button-margin-inline)}:host(.wj-button-group-button){display:block}.button-native{font-family:var(--wj-font-family);font-size:var(--wj-font-size);display:flex;position:relative;align-items:center;width:100%;height:100%;min-height:inherit;overflow:hidden;border-width:var(--wj-button-border-width);border-style:var(--wj-button-border-style);border-color:var(--wj-button-border-color);outline:none;background-color:var(--wj-button-background-color);color:var(--wj-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(--wj-button-border-radius);padding-top:var(--wj-padding-top);padding-bottom:var(--wj-padding-bottom);padding-inline:var(--wj-padding-start) var(--wj-padding-end)}@media (any-hover: hover){:host(.wj-button-solid.wj-color-primary:hover){--wj-button-background-color: var(--wj-color-primary-9);--wj-button-border-color: var(--wj-color-primary-10);--wj-button-color: var(--wj-color-contrast-0)}:host(.wj-button-outline.wj-color-primary:hover){--wj-button-background-color: var(--wj-color-primary-1);--wj-button-border-color: var(--wj-color-primary-11);--wj-button-color: var(--wj-color-primary-11)}:host(.wj-button-solid.wj-color-complete:hover){--wj-button-background-color: var(--wj-color-complete-9);--wj-button-border-color: var(--wj-color-complete-10);--wj-button-color: var(--wj-color-contrast-0)}:host(.wj-button-outline.wj-color-complete:hover){--wj-button-background-color: var(--wj-color-complete-1);--wj-button-border-color: var(--wj-color-complete-11);--wj-button-color: var(--wj-color-complete-11)}:host(.wj-button-solid.wj-color-success:hover){--wj-button-background-color: var(--wj-color-success-9);--wj-button-border-color: var(--wj-color-success-10);--wj-button-color: var(--wj-color-contrast-0)}:host(.wj-button-outline.wj-color-success:hover){--wj-button-background-color: var(--wj-color-success-1);--wj-button-border-color: var(--wj-color-success-11);--wj-button-color: var(--wj-color-success-11)}:host(.wj-button-solid.wj-color-warning:hover){--wj-button-background-color: var(--wj-color-warning-9);--wj-button-border-color: var(--wj-color-warning-10);--wj-button-color: var(--wj-color-black)}:host(.wj-button-outline.wj-color-warning:hover){--wj-button-background-color: var(--wj-color-warning-1);--wj-button-border-color: var(--wj-color-warning-11);--wj-button-color: var(--wj-color-warning-11)}:host(.wj-button-solid.wj-color-danger:hover){--wj-button-background-color: var(--wj-color-danger-9);--wj-button-border-color: var(--wj-color-danger-10);--wj-button-color: var(--wj-color-contrast-0)}:host(.wj-button-outline.wj-color-danger:hover){--wj-button-background-color: var(--wj-color-danger-1);--wj-button-border-color: var(--wj-color-danger-11);--wj-button-color: var(--wj-color-danger-11)}:host(.wj-button-solid.wj-color-neutral:hover){--wj-button-background-color: var(--wj-color-contrast-9);--wj-button-border-color: var(--wj-color-contrast-10);--wj-button-color: var(--wj-color-contrast-0)}:host(.wj-button-outline.wj-color-neutral:hover){--wj-button-background-color: var(--wj-color-contrast-1);--wj-button-border-color: var(--wj-color-contrast-11);--wj-button-color: var(--wj-color-contrast-11)}:host(.wj-button-solid.wj-color-default:hover){--wj-button-background-color: var(--wj-color-contrast-1);--wj-button-border-color: var(--wj-color-contrast-2);--wj-button-color: var(--wj-color-contrast-9)}:host(.wj-button-outline.wj-color-default:hover){--wj-button-background-color: var(--wj-color-contrast-1);--wj-button-border-color: var(--wj-color-contrast-2);--wj-button-color: var(--wj-color-contrast-9)}:host(.wj-button-link:hover){--wj-button-background-color: var(--wj-color-contrast-1) !important;--wj-button-border-color: transparent !important;color:var(--wj-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.wj-color){background-color:var(--wj-button-background-color);color:var(--wj-button-color)}:host(.wj-button-link){--wj-button-border-width: 1px;--wj-button-border-color: transparent;--wj-button-background-color: transparent !important}:host(.wj-button-disabled){cursor:default;opacity:.5;pointer-events:none}:host(.wj-button-round){--wj-button-border-radius: var(--wj-border-radius-pill)}:host(.wj-button-circle){--wj-button-border-radius: var(--wj-border-radius-circle);aspect-ratio:1/1}:host(.wj-button-large){--wj-padding-top: .6rem;--wj-padding-start: .7rem;--wj-padding-end: .7rem;--wj-padding-bottom: .6rem}:host(.wj-button-small){--wj-padding-top: .25rem;--wj-padding-start: .25rem;--wj-padding-end: .25rem;--wj-padding-bottom: .25rem}::slotted(wj-icon[slot=start]){margin:0 .3rem 0 -.3rem}::slotted(wj-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(.wj-button-group-first:not(.wj-button-group-last)) .button-native{border-start-end-radius:0;border-end-end-radius:0}:host(.wj-button-group-inner) .button-native{border-radius:0}:host(.wj-button-group-last:not(.wj-button-group-first)) .button-native{border-start-start-radius:0;border-end-start-radius:0}:host(.wj-button-group-button:not(.wj-button-group-first)){margin-inline-start:calc(-1 * var(--wj-button-border-width))!important}::slotted([slot=toggle]){display:none}::slotted([slot=toggle].show){display:block}
9
7
  `;
10
- class h extends w {
8
+ class p extends j {
11
9
  constructor() {
12
10
  super();
13
- u(this, "className", "Button");
14
- u(this, "eventDialogOpen", (t) => {
11
+ c(this, "className", "Button");
12
+ c(this, "eventDialogOpen", (o) => {
15
13
  document.dispatchEvent(
16
14
  new CustomEvent(
17
15
  this.dialog,
@@ -21,45 +19,44 @@ class h extends w {
21
19
  )
22
20
  );
23
21
  });
22
+ c(this, "toggleStates", () => {
23
+ this.slotToggle.assignedNodes().filter((l) => l.nodeType === Node.ELEMENT_NODE).forEach((l) => {
24
+ l.classList.contains("show") ? l.classList.remove("show") : l.classList.add("show");
25
+ });
26
+ });
24
27
  }
25
- set active(t) {
28
+ set active(o) {
26
29
  this.setAttribute("active", "");
27
30
  }
28
31
  get active() {
29
32
  return this.hasAttribute("active");
30
33
  }
31
- set disabled(t) {
34
+ set disabled(o) {
32
35
  this.setAttribute("disabled", "");
33
36
  }
34
37
  get disabled() {
35
38
  return this.hasAttribute("disabled");
36
39
  }
37
- set fill(t) {
38
- this.setAttribute("fill", t);
40
+ set fill(o) {
41
+ this.setAttribute("fill", o);
39
42
  }
40
43
  get fill() {
41
44
  return this.getAttribute("fill") || "solid";
42
45
  }
43
- set outline(t) {
46
+ set outline(o) {
44
47
  this.setAttribute("outline", "");
45
48
  }
46
49
  get outline() {
47
50
  return this.hasAttribute("outline");
48
51
  }
49
- set round(t) {
50
- this.setAttribute("round", "");
51
- }
52
- get round() {
53
- return this.hasAttribute("round");
54
- }
55
- set stopPropagation(t) {
56
- this.setAttribute("stop-propagation", b(t));
52
+ set stopPropagation(o) {
53
+ this.setAttribute("stop-propagation", u(o));
57
54
  }
58
55
  get stopPropagation() {
59
- return console.log("SP:", b(this.getAttribute("stop-propagation")), this.innerHTML, this.getAttribute("stop-propagation")), b(this.getAttribute("stop-propagation"));
56
+ return u(this.getAttribute("stop-propagation"));
60
57
  }
61
58
  static get cssStyleSheet() {
62
- return j;
59
+ return g;
63
60
  }
64
61
  static get observedAttributes() {
65
62
  return [];
@@ -67,33 +64,33 @@ class h extends w {
67
64
  setupAttributes() {
68
65
  this.isShadowRoot = "open";
69
66
  }
70
- draw(t, p, g) {
71
- let s = document.createDocumentFragment();
72
- if (this.disabled && this.classList.add("wj-button-disabled"), this.variant && this.classList.add("wj-button-" + this.variant), this.round && this.classList.add("wj-button-round"), this.outline && this.classList.add("wj-outline"), this.fill && this.classList.add("wj-button-" + this.fill), this.size && this.classList.add("wj-button-" + this.size), this.hasAttribute("color") ? this.classList.add("wj-color-" + this.color, "wj-color") : this.classList.add("wj-color-default", "wj-color"), this.hasAttribute("caret")) {
73
- let i = document.createElement("wj-icon");
74
- i.style.setProperty("--wj-icon-size", "14px"), i.setAttribute("slot", "caret"), i.setAttribute("name", "chevron-down"), this.appendChild(i);
67
+ draw(o, l, v) {
68
+ let w = document.createDocumentFragment();
69
+ if (this.disabled && this.classList.add("wj-button-disabled"), this.variant && this.classList.add("wj-button-" + this.variant), this.hasAttribute("round") && this.classList.add("wj-button-round"), this.hasAttribute("circle") && this.classList.add("wj-button-circle"), this.outline && this.classList.add("wj-outline"), this.fill && this.classList.add("wj-button-" + this.fill), this.size && this.classList.add("wj-button-" + this.size), this.hasAttribute("color") ? this.classList.add("wj-color-" + this.color, "wj-color") : this.classList.add("wj-color-default", "wj-color"), this.hasAttribute("caret") || this.hasAttribute("only-caret")) {
70
+ let a = document.createElement("wj-icon");
71
+ a.style.setProperty("--wj-icon-size", "14px"), a.setAttribute("slot", "caret"), a.setAttribute("name", "chevron-down"), this.appendChild(a);
75
72
  }
76
73
  if (this.active) {
77
74
  this.classList.add("wj-active");
78
- let i = document.createElement("wj-icon");
79
- i.setAttribute("name", "check"), this.appendChild(i);
75
+ let a = document.createElement("wj-icon");
76
+ a.setAttribute("name", "check"), this.appendChild(a);
80
77
  }
81
78
  this.disabled && this.classList.add("wj-disabled");
82
- let l = document.createElement(this.hasAttribute("href") ? "a" : "button");
83
- l.classList.add("button-native"), l.setAttribute("part", "native");
84
- let e = document.createElement("span");
85
- e.classList.add("button-inner");
79
+ let s = document.createElement(this.hasAttribute("href") ? "a" : "button");
80
+ s.classList.add("button-native"), s.setAttribute("part", "native");
81
+ let n = document.createElement("span");
82
+ n.classList.add("button-inner");
86
83
  let r = document.createElement("slot");
87
- return r.setAttribute("name", "icon-only"), e.appendChild(r), r = document.createElement("slot"), r.setAttribute("name", "start"), e.appendChild(r), r = document.createElement("slot"), e.appendChild(r), r = document.createElement("slot"), r.setAttribute("name", "end"), e.appendChild(r), r = document.createElement("slot"), r.setAttribute("name", "caret"), e.appendChild(r), l.appendChild(e), s.appendChild(l), s;
84
+ return r.setAttribute("name", "icon-only"), n.appendChild(r), r = document.createElement("slot"), r.setAttribute("name", "start"), n.appendChild(r), r = document.createElement("slot"), n.appendChild(r), r = document.createElement("slot"), r.setAttribute("name", "end"), n.appendChild(r), r = document.createElement("slot"), r.setAttribute("name", "caret"), n.appendChild(r), this.hasToggle = h.hasSlot(this, "toggle"), this.hasToggle && (this.slotToggle = document.createElement("slot"), this.slotToggle.setAttribute("name", "toggle"), n.appendChild(this.slotToggle)), s.appendChild(n), w.appendChild(s), w;
88
85
  }
89
86
  afterDraw() {
90
- console.log("Stop propagation: ", this.stopPropagation), a.addListener(this, "click", "wj:button-click", null, { stopPropagation: this.stopPropagation }), a.addListener(this, "click", null, this.eventDialogOpen);
87
+ this.hasToggle && (this.toggle === "off" ? this.slotToggle.assignedNodes()[1].classList.add("show") : this.slotToggle.assignedNodes()[0].classList.add("show")), i.addListener(this, "click", "wj:button-click", null, { stopPropagation: this.stopPropagation }), i.addListener(this, "click", null, this.eventDialogOpen), this.hasToggle && i.addListener(this, "click", "wj-button:toggle", this.toggleStates, { stopPropagation: this.stopPropagation });
91
88
  }
92
89
  beforeDisconnect() {
93
90
  this.removeEventListener("click", this.eventDialogOpen);
94
91
  }
95
92
  }
96
- customElements.get("wj-button") || window.customElements.define("wj-button", h);
93
+ customElements.get("wj-button") || window.customElements.define("wj-button", p);
97
94
  export {
98
- h as Button
95
+ p as Button
99
96
  };
@@ -1,16 +1,14 @@
1
- var a = Object.defineProperty;
2
- var d = (e, t, n) => t in e ? a(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
3
- var s = (e, t, n) => (d(e, typeof t != "symbol" ? t + "" : t, n), n);
1
+ var s = Object.defineProperty;
2
+ var d = (e, t, o) => t in e ? s(e, t, { enumerable: !0, configurable: !0, writable: !0, value: o }) : e[t] = o;
3
+ var r = (e, t, o) => (d(e, typeof t != "symbol" ? t + "" : t, o), o);
4
4
  import i from "./wj-element.js";
5
5
  import "./wj-store.js";
6
- const m = `/*!
7
- * direction.scss
8
- */:host{--wj-card-padding: 0 1rem 1rem;display:block;padding:var(--wj-card-padding)}:host.no-padding .row{margin-left:0;margin-right:0}:host.no-bottom-padding{padding-bottom:0}:host.no-top-padding{padding-top:0}:host .title{margin-top:0}:host.scrollable{margin-bottom:20px}:host h3{line-height:34px;font-size:26px}
6
+ const m = `:host{--wj-card-padding: 0 1rem 1rem;display:block;padding:var(--wj-card-padding)}:host.no-padding .row{margin-left:0;margin-right:0}:host.no-bottom-padding{padding-bottom:0}:host.no-top-padding{padding-top:0}:host .title{margin-top:0}:host.scrollable{margin-bottom:20px}:host h3{line-height:34px;font-size:26px}
9
7
  `;
10
- class c extends i {
8
+ class p extends i {
11
9
  constructor() {
12
10
  super();
13
- s(this, "className", "CardContent");
11
+ r(this, "className", "CardContent");
14
12
  }
15
13
  static get cssStyleSheet() {
16
14
  return m;
@@ -18,12 +16,12 @@ class c extends i {
18
16
  setupAttributes() {
19
17
  this.isShadowRoot = "open";
20
18
  }
21
- draw(n, p, l) {
22
- let o = document.createDocumentFragment(), r = document.createElement("slot");
23
- return o.appendChild(r), o;
19
+ draw(o, c, l) {
20
+ let n = document.createDocumentFragment(), a = document.createElement("slot");
21
+ return n.appendChild(a), n;
24
22
  }
25
23
  }
26
- customElements.get("wj-card-content") || window.customElements.define("wj-card-content", c);
24
+ customElements.get("wj-card-content") || window.customElements.define("wj-card-content", p);
27
25
  export {
28
- c as CardContent
26
+ p as CardContent
29
27
  };
@@ -1,16 +1,14 @@
1
1
  var a = Object.defineProperty;
2
2
  var i = (e, t, o) => t in e ? a(e, t, { enumerable: !0, configurable: !0, writable: !0, value: o }) : e[t] = o;
3
- var n = (e, t, o) => (i(e, typeof t != "symbol" ? t + "" : t, o), o);
3
+ var s = (e, t, o) => (i(e, typeof t != "symbol" ? t + "" : t, o), o);
4
4
  import l from "./wj-element.js";
5
5
  import "./wj-store.js";
6
- const c = `/*!
7
- * direction.scss
8
- */:host{--wj-color: #212529;--wj-card-subtitle-font-size: 28px;--wj-card-subtitle-font-family: Montserrat, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;font-family:var(--wj-card-subtitle-font-family);text-transform:uppercase;display:inline-block;letter-spacing:.06em;font-size:10.5px;font-weight:500;margin:0;padding:0;line-height:normal;overflow:hidden;text-overflow:ellipsis;filter:alpha(opacity=40);-webkit-transition:opacity .3s ease;transition:opacity .3s ease;position:absolute;right:1rem;top:.5rem}
6
+ const c = `:host{--wj-card-subtitle-font-size: 28px;--wj-card-subtitle-font-family: var(--wj-font-family-secondary);font-family:var(--wj-card-subtitle-font-family);text-transform:uppercase;display:inline-block;letter-spacing:.06em;font-size:10.5px;font-weight:500;margin:0;padding:0;line-height:normal;overflow:hidden;text-overflow:ellipsis;filter:alpha(opacity=40);transition:opacity .3s ease;position:absolute;right:1rem;top:.5rem}
9
7
  `;
10
8
  class m extends l {
11
9
  constructor() {
12
10
  super();
13
- n(this, "className", "CardControls");
11
+ s(this, "className", "CardControls");
14
12
  }
15
13
  static get cssStyleSheet() {
16
14
  return c;
@@ -18,9 +16,9 @@ class m extends l {
18
16
  setupAttributes() {
19
17
  this.isShadowRoot = "open";
20
18
  }
21
- draw(o, p, d) {
22
- let s = document.createDocumentFragment(), r = document.createElement("slot");
23
- return s.appendChild(r), s;
19
+ draw(o, d, p) {
20
+ let r = document.createDocumentFragment(), n = document.createElement("slot");
21
+ return r.appendChild(n), r;
24
22
  }
25
23
  }
26
24
  customElements.get("wj-card-controls") || window.customElements.define("wj-card-controls", m);
@@ -1,26 +1,24 @@
1
- var n = Object.defineProperty;
2
- var d = (t, e, r) => e in t ? n(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r;
3
- var o = (t, e, r) => (d(t, typeof e != "symbol" ? e + "" : e, r), r);
4
- import c from "./wj-element.js";
1
+ var d = Object.defineProperty;
2
+ var n = (t, e, r) => e in t ? d(t, e, { enumerable: !0, configurable: !0, writable: !0, value: r }) : t[e] = r;
3
+ var s = (t, e, r) => (n(t, typeof e != "symbol" ? e + "" : e, r), r);
4
+ import i from "./wj-element.js";
5
5
  import "./wj-store.js";
6
- const i = `/*!
7
- * direction.scss
8
- */:host{background:transparent;border-radius:0;border-bottom:0;padding:1rem 1rem .5rem;position:relative;display:flex;flex-direction:column;color:var(--wj-color-contrast)}:host(.wj-separator):after{content:"";height:1px;background:rgba(0,0,0,.08);margin-top:.5rem}
6
+ const c = `:host{--wj-card-header-padding: 1rem 1rem .5rem;background:transparent;border-radius:0;border-bottom:0;padding:var(--wj-card-header-padding);position:relative;display:flex;flex-direction:column}:host(.wj-separator):after{content:"";height:1px;background:rgba(0,0,0,.08);margin-top:.5rem}
9
7
  `;
10
- class m extends c {
8
+ class m extends i {
11
9
  constructor() {
12
10
  super();
13
- o(this, "className", "CardHeader");
11
+ s(this, "className", "CardHeader");
14
12
  }
15
13
  static get cssStyleSheet() {
16
- return i;
14
+ return c;
17
15
  }
18
16
  setupAttributes() {
19
17
  this.isShadowRoot = "open";
20
18
  }
21
- draw(r, l, p) {
22
- let a = document.createDocumentFragment(), s = document.createElement("slot");
23
- return this.hasAttribute("separator") && this.classList.add("wj-separator"), a.appendChild(s), a;
19
+ draw(r, p, l) {
20
+ let a = document.createDocumentFragment(), o = document.createElement("slot");
21
+ return this.hasAttribute("separator") && this.classList.add("wj-separator"), a.appendChild(o), a;
24
22
  }
25
23
  }
26
24
  customElements.get("wj-card-header") || window.customElements.define("wj-card-header", m);
@@ -1,19 +1,17 @@
1
1
  var l = Object.defineProperty;
2
- var c = (s, t, e) => t in s ? l(s, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : s[t] = e;
3
- var n = (s, t, e) => (c(s, typeof t != "symbol" ? t + "" : t, e), e);
4
- import m from "./wj-element.js";
2
+ var c = (r, t, e) => t in r ? l(r, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : r[t] = e;
3
+ var s = (r, t, e) => (c(r, typeof t != "symbol" ? t + "" : t, e), e);
4
+ import d from "./wj-element.js";
5
5
  import "./wj-store.js";
6
- const d = `/*!
7
- * direction.scss
8
- */:host{--wj-card-subtitle-font-size: 10.5px;--wj-card-subtitle-font-family: Montserrat, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif}:host{-webkit-transition:opacity .3s ease;transition:opacity .3s ease;font-family:var(--wj-card-subtitle-font-family);font-size:var(--wj-card-subtitle-font-size);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)}
6
+ const m = `:host{--wj-card-subtitle-font-size: 10.5px;--wj-card-subtitle-font-family: var(--wj-font-family-secondary);--wj-card-subtitle-padding: 0;transition:opacity .3s ease;font-family:var(--wj-card-subtitle-font-family);font-size:var(--wj-card-subtitle-font-size);text-transform:uppercase;display:inline-block;letter-spacing:.06em;font-weight:500;margin:0;padding:var(--wj-card-subtitle-padding);line-height:normal;overflow:hidden;text-overflow:ellipsis;filter:alpha(opacity=40)}
9
7
  `;
10
- class u extends m {
8
+ class u extends d {
11
9
  constructor() {
12
10
  super();
13
- n(this, "className", "CardTitle");
11
+ s(this, "className", "CardTitle");
14
12
  }
15
13
  static get cssStyleSheet() {
16
- return d;
14
+ return m;
17
15
  }
18
16
  static get observedAttributes() {
19
17
  return [];
@@ -21,9 +19,9 @@ class u extends m {
21
19
  setupAttributes() {
22
20
  this.isShadowRoot = "open";
23
21
  }
24
- beforeDraw(e, r, i) {
22
+ beforeDraw(e, i, n) {
25
23
  }
26
- draw(e, r, i) {
24
+ draw(e, i, n) {
27
25
  let a = document.createDocumentFragment(), o = document.createElement("slot");
28
26
  return a.appendChild(o), a;
29
27
  }
@@ -1,19 +1,17 @@
1
- var s = Object.defineProperty;
2
- var l = (e, t, i) => t in e ? s(e, t, { enumerable: !0, configurable: !0, writable: !0, value: i }) : e[t] = i;
3
- var a = (e, t, i) => (l(e, typeof t != "symbol" ? t + "" : t, i), i);
4
- import o from "./wj-element.js";
1
+ var l = Object.defineProperty;
2
+ var s = (e, t, i) => t in e ? l(e, t, { enumerable: !0, configurable: !0, writable: !0, value: i }) : e[t] = i;
3
+ var a = (e, t, i) => (s(e, typeof t != "symbol" ? t + "" : t, i), i);
4
+ import d from "./wj-element.js";
5
5
  import "./wj-store.js";
6
- const d = `/*!
7
- * direction.scss
8
- */:host{--wj-card-title-font-size: 24px;--wj-card-title-font-weight: 500;--wj-card-title-margin: 0;--wj-card-title-padding: 0;--wj-card-title-line-height: 1.2}:host{font-size:var(--wj-card-title-font-size);font-weight:var(--wj-card-title-font-weight);margin:var(--wj-card-title-margin);padding:var(--wj-card-title-padding);line-height:var(--wj-card-title-line-height);display:block;position:relative}
6
+ const o = `:host{--wj-card-title-font-size: 24px;--wj-card-title-font-weight: 500;--wj-card-title-margin: 0;--wj-card-title-padding: 0;--wj-card-title-line-height: 1.2;font-size:var(--wj-card-title-font-size);font-weight:var(--wj-card-title-font-weight);margin:var(--wj-card-title-margin);padding:var(--wj-card-title-padding);line-height:var(--wj-card-title-line-height);display:block;position:relative}
9
7
  `;
10
- class c extends o {
8
+ class c extends d {
11
9
  constructor() {
12
10
  super();
13
11
  a(this, "className", "CardTitle");
14
12
  }
15
13
  static get cssStyleSheet() {
16
- return d;
14
+ return o;
17
15
  }
18
16
  static get observedAttributes() {
19
17
  return [];
package/dist/wj-card.js CHANGED
@@ -1,29 +1,27 @@
1
- var c = Object.defineProperty;
2
- var d = (r, o, t) => o in r ? c(r, o, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[o] = t;
3
- var n = (r, o, t) => (d(r, typeof o != "symbol" ? o + "" : o, t), t);
4
- import i from "./wj-element.js";
1
+ var n = Object.defineProperty;
2
+ var l = (r, o, a) => o in r ? n(r, o, { enumerable: !0, configurable: !0, writable: !0, value: a }) : r[o] = a;
3
+ var e = (r, o, a) => (l(r, typeof o != "symbol" ? o + "" : o, a), a);
4
+ import d from "./wj-element.js";
5
5
  import "./wj-store.js";
6
- const l = `/*!
7
- * direction.scss
8
- */:host{--wj-card-margin-top: 0;--wj-card-margin-bottom: 1rem;--wj-card-margin-inline: 0;--wj-card-border-color: transparent;--wj-color-base: #fff;--wj-color-contrast: #4b4b4b}:host(.wj-color-primary){--wj-color-base: #7252D3 !important;--wj-color-contrast: #fff !important}:host(.wj-color-complete){--wj-color-base: #0072EC !important;--wj-color-contrast: #fff !important}:host(.wj-color-success){--wj-color-base: #19AD79 !important;--wj-color-contrast: #fff !important}:host(.wj-color-warning){--wj-color-base: #FFd945 !important;--wj-color-contrast: #4b4b4b !important}:host(.wj-color-danger){--wj-color-base: #D83C31 !important;--wj-color-contrast: #fff !important}:host(.wj-color-info){--wj-color-base: #3B4752 !important;--wj-color-contrast: #fff !important}:host(.wj-color-menu){--wj-color-base: #2b303b !important;--wj-color-contrast: #fff !important}:host{background-color:var(--wj-color-base, red);color:var(--wj-color-contrast);-webkit-transition:all .2s ease;transition:all .2s ease;margin-top:var(--wj-card-margin-top);margin-bottom:var(--wj-card-margin-bottom);margin-inline:var(--wj-card-margin-inline);box-shadow:#0000001f 0 4px 16px;border-color:var(--wj-border-color);border-style:var(--wj-border-style);border-width:var(--wj-border-size);border-radius:var(--wj-border-radius);font-family:var(--wj-font-family);font-size:var(--wj-font-size);line-height:var(--wj-line-height);position:relative;width:100%;word-wrap:normal;display:flex;flex-direction:column;contain:content;overflow:hidden;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}:host.card-collapsed .card-header .card-controls .card-icon-collapse:before{content:""}:host.card-maximized .card-header .card-controls .card-icon-maximize:before{content:""}:host.card-bordered{border:1px solid rgba(224,224,224,.7)}:host.card-borderless{border:none;box-shadow:none}:host.card-condensed .card-header{padding:9px 13px 0;min-height:32px}:host.card-condensed .card-header .card-title{opacity:.4}:host.card-condensed .card-body{padding:13px}:host.card-hover .card-header .card-title{opacity:.4}:host.card-hover:hover .card-header .card-title{opacity:1}:host.card-transparent{background:transparent;border:none;-webkit-box-shadow:none;box-shadow:none}:host.card-transparent .card-body{background:transparent}:host.full-height{height:100%}:host.full-height .card-body{height:auto;width:100%;height:100%}:host.card-featured{-webkit-box-shadow:-1px 1px 3px 0px rgba(121,129,135,.14);box-shadow:-1px 1px 3px #79818724;width:calc(100% - 50px);float:right}:host.card-featured .card-title h4{font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:16px;text-transform:uppercase;color:inherit}:host.card-featured .card-body h3{line-height:34px;font-size:26px}:host.card-featured .footer .username{line-height:8px;padding-top:10px;font-size:16px}:host.card-featured .footer .buttons li{display:inline;list-style:none;font-weight:700;margin-left:20px}:host.card-featured .footer .buttons li:first-child{margin-left:0}:host.card-featured .footer .buttons .heart{color:#d83c31}:host.card-featured .footer .buttons .comment{color:#4b4b4b}:host.card-featured .ribbon{width:38px;height:38px;margin-left:-39px;float:left;-webkit-box-shadow:inset -3px 0px 3px 0px rgba(0,0,0,.14);box-shadow:inset -3px 0 3px #00000024}:host.card-featured .ribbon.green{background:#0072EC}:host.card-featured .ribbon.blue{background:#19AD79}:host.hover-fill:hover{background:#f4f4f4}:host.hover-stroke:hover{border:1px solid #e0e0e0}:host(.wj-color){background-color:var(--wj-color-base, red);color:var(--wj-color-contrast)}
6
+ const i = `:host{--wj-card-margin-top: 0;--wj-card-margin-bottom: 1rem;--wj-card-margin-inline: 0;--wj-card-border-color: transparent}:host(.wj-color-primary){--wj-card-background: var(--wj-color-primary)}:host(.wj-color-complete){--wj-card-background: var(--wj-color-complete)}:host(.wj-color-success){--wj-card-background: var(--wj-color-success)}:host(.wj-color-warning){--wj-card-background: var(--wj-color-warning)}:host(.wj-color-danger){--wj-card-background: var(--wj-color-danger)}:host(.wj-color-info){--wj-card-background: var(--wj-color-info)}:host(.wj-color-menu){--wj-card-background: var(--wj-color-menu)}:host(.wj-color-primary){--wj-card-color: var(--wj-color-white)}:host(.wj-color-complete){--wj-card-color: var(--wj-color-white)}:host(.wj-color-success){--wj-card-color: var(--wj-color-white)}:host(.wj-color-warning){--wj-card-color: var(--wj-color)}:host(.wj-color-danger){--wj-card-color: var(--wj-color-white)}:host(.wj-color-info){--wj-card-color: var(--wj-color-white)}:host(.wj-color-menu){--wj-card-color: var(--wj-color-white) !important}:host{background-color:var(--wj-card-background);color:var(--wj-card-color)!important;margin-top:var(--wj-card-margin-top);margin-bottom:var(--wj-card-margin-bottom);margin-inline:var(--wj-card-margin-inline);box-shadow:var(--wj-box-shadow-large);border-color:var(--wj-border-color);border-style:var(--wj-border-style);border-width:var(--wj-border-size);border-radius:var(--wj-border-radius-medium);font-family:var(--wj-font-family);font-size:var(--wj-font-size);line-height:var(--wj-line-height);position:relative;width:100%;word-wrap:normal;display:flex;flex-direction:column;contain:content;overflow:hidden;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}:host(.wj-color){background-color:var(--wj-card-background, #fff);color:var(--wj-card-color)}
9
7
  `;
10
- class h extends i {
8
+ class s extends d {
11
9
  constructor() {
12
10
  super();
13
- n(this, "className", "Card");
11
+ e(this, "className", "Card");
14
12
  }
15
13
  static get cssStyleSheet() {
16
- return l;
14
+ return i;
17
15
  }
18
16
  setupAttributes() {
19
17
  this.isShadowRoot = "open";
20
18
  }
21
- draw(t, b, e) {
22
- let a = document.createDocumentFragment(), s = document.createElement("slot");
23
- return e.color && this.classList.add("wj-color-" + e.color, "wj-color"), a.appendChild(s), a;
19
+ draw(a, j, c) {
20
+ let t = document.createDocumentFragment(), w = document.createElement("slot");
21
+ return c.color && this.classList.add("wj-color-" + c.color, "wj-color"), t.appendChild(w), t;
24
22
  }
25
23
  }
26
- customElements.get("wj-card") || window.customElements.define("wj-card", h);
24
+ customElements.get("wj-card") || window.customElements.define("wj-card", s);
27
25
  export {
28
- h as Card
26
+ s as Card
29
27
  };
@@ -0,0 +1,32 @@
1
+ var n = Object.defineProperty;
2
+ var l = (e, t, s) => t in e ? n(e, t, { enumerable: !0, configurable: !0, writable: !0, value: s }) : e[t] = s;
3
+ var r = (e, t, s) => (l(e, typeof t != "symbol" ? t + "" : t, s), s);
4
+ import c from "./wj-element.js";
5
+ import "./wj-store.js";
6
+ const m = `:host{--aspect-ratio: inherit;display:flex;align-items:center;justify-content:center;flex-direction:column;width:var(--wj-carousel-size, 100%);max-height:100%;aspect-ratio:var(--aspect-ratio);scroll-snap-align:center;scroll-snap-stop:always}.native-carousel-item{width:100%;height:100%;display:flex}::slotted(wj-img){width:100%!important;height:100%!important;object-fit:contain;display:flex}
7
+ `;
8
+ class d extends c {
9
+ constructor() {
10
+ super();
11
+ r(this, "className", "CarouselItem");
12
+ }
13
+ static get cssStyleSheet() {
14
+ return m;
15
+ }
16
+ static get observedAttributes() {
17
+ return [];
18
+ }
19
+ setupAttributes() {
20
+ this.isShadowRoot = "open";
21
+ }
22
+ draw(s, u, p) {
23
+ let i = document.createDocumentFragment(), a = document.createElement("div");
24
+ a.classList.add("native-carousel-item"), a.setAttribute("part", "native");
25
+ let o = document.createElement("slot");
26
+ return a.appendChild(o), i.appendChild(a), i;
27
+ }
28
+ }
29
+ customElements.get("wj-carousel-item") || window.customElements.define("wj-carousel-item", d);
30
+ export {
31
+ d as CarouselItem
32
+ };
@@ -0,0 +1,178 @@
1
+ var g = Object.defineProperty;
2
+ var p = (o, a, e) => a in o ? g(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
+ import v from "./wj-element.js";
5
+ import "./wj-store.js";
6
+ const b = `/*!
7
+ * direction.scss
8
+ */:host{--wj-scroll-hint: 0px;--wj-carousel-width: 100%;--wj-carousel-height: auto}.native-carousel{position:relative;width:var(--wj-carousel-width, 100%);height:var(--wj-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(--wj-aspect-ratio, 4/3);scroll-snap-type:x mandatory;scroll-padding-inline:0;overflow-y:hidden;padding-inline:var(--wj-spacing-inline, 0);gap:.5rem}.carousel-slides::-webkit-scrollbar{display:none}::slotted(wj-carousel-item){flex:0 0 var(--wj-carousel-size, 100%);height:100%}wj-button{position:absolute;top:50%;border:none;cursor:pointer;z-index:2}.prev{left:-1rem;transform:translate(-100%,-50%)}.next{right:-.5rem;transform:translate(100%,-50%)}.pagination{position:absolute;bottom:-.5rem;left:50%;transform:translate(-50%,100%);display:flex;z-index:2}.pagination-item{cursor:pointer;height:15px;width:15px;margin:0 2px;background-color:var(--wj-color-contrast-4);display:inline-block;border-radius:50%}.pagination-item.active{background-color:var(--wj-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 wj-thumbnail{--wj-thumbnail-width: 48px;--wj-thumbnail-height: 48px;--wj-thumbnail-border-radius: 0;cursor:pointer;border:1px solid transparent}.thumbnails .active{border:1px solid var(--wj-color-primary-11)}
9
+ `;
10
+ class f extends v {
11
+ constructor() {
12
+ super();
13
+ u(this, "className", "Carousel");
14
+ this.activeSlide = 0, this.slidePerPage = 1;
15
+ }
16
+ set activeSlide(e) {
17
+ this.setAttribute("active-slide", e);
18
+ }
19
+ get activeSlide() {
20
+ return +this.getAttribute("active-slide") || 0;
21
+ }
22
+ get pagination() {
23
+ return this.hasAttribute("pagination");
24
+ }
25
+ get navigation() {
26
+ return this.hasAttribute("navigation");
27
+ }
28
+ get thumbnails() {
29
+ return this.hasAttribute("thumbnails");
30
+ }
31
+ get loop() {
32
+ return this.hasAttribute("loop");
33
+ }
34
+ static get cssStyleSheet() {
35
+ return b;
36
+ }
37
+ static get observedAttributes() {
38
+ return ["active-slide"];
39
+ }
40
+ attributeChangedCallback(e, i, n) {
41
+ e === "active-slide" && (this.pagination && this.changePagination(), this.thumbnails && this.changeThumbnails());
42
+ }
43
+ setupAttributes() {
44
+ this.isShadowRoot = "open";
45
+ }
46
+ draw(e, i, n) {
47
+ let r = document.createDocumentFragment(), t = document.createElement("div");
48
+ t.classList.add("native-carousel");
49
+ let s = document.createElement("div");
50
+ s.classList.add("carousel-slides");
51
+ let l = document.createElement("slot");
52
+ 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, this.cloneFirstAndLastItems(), r;
53
+ }
54
+ setIntersectionObserver() {
55
+ this.intersectionObserver = new IntersectionObserver((e) => {
56
+ e.forEach((i) => {
57
+ this.entriesMap.set(i.target, i);
58
+ });
59
+ }, {
60
+ root: this.context.querySelector(".carousel-slides"),
61
+ threshold: 0.5
62
+ }), this.entriesMap = /* @__PURE__ */ new Map(), this.records = this.intersectionObserver.takeRecords(), this.records.forEach((e) => {
63
+ this.entriesMap.set(e.target, e);
64
+ });
65
+ }
66
+ afterDraw() {
67
+ this.setIntersectionObserver(), this.getSlidesWithClones().forEach((i, n) => {
68
+ this.intersectionObserver.observe(i);
69
+ }), this.slidePerPage = this.getAttribute("slide-per-page") || 1;
70
+ let e = 100 / +this.slidePerPage;
71
+ this.style.setProperty("--wj-carousel-size", e + "%"), this.goToSlide(this.activeSlide, "auto"), this.slides.addEventListener("scrollend", (i) => {
72
+ const n = this.getSlides(), t = [...this.entriesMap.values()].find((s) => s.isIntersecting);
73
+ if (t != null && t.target.classList.contains("clone")) {
74
+ const s = t.target.getAttribute("clone-index");
75
+ this.activeSlide = s, this.goToSlide(+s, "auto");
76
+ } else if (t) {
77
+ let s = n.indexOf(t.target);
78
+ this.activeSlide = s;
79
+ }
80
+ });
81
+ }
82
+ goToSlide(e, i = "smooth", n = !0) {
83
+ const r = this.getSlides(), t = this.getSlidesWithClones();
84
+ t.forEach((m, S) => {
85
+ m.classList.remove("active");
86
+ });
87
+ let s = this.loop ? (e + r.length) % r.length : Math.min(Math.max(e, 0), r.length - 1);
88
+ this.activeSlide = s;
89
+ const l = Math.min(Math.max(e + (this.loop ? this.slidePerPage : 0), 0), t.length - 1), c = this.getSlidesWithClones()[l];
90
+ c.classList.add("active");
91
+ let d = c.getBoundingClientRect(), h = this.slides.getBoundingClientRect();
92
+ this.slides.scrollTo({
93
+ left: d.left - h.left + this.slides.scrollLeft,
94
+ top: d.top - h.top + this.slides.scrollTop,
95
+ behavior: i === "smooth" ? "smooth" : "auto"
96
+ });
97
+ }
98
+ cloneFirstAndLastItems() {
99
+ const e = this.getSlides();
100
+ if (e.length && this.loop) {
101
+ const i = e[0].cloneNode(!0);
102
+ i.classList.add("clone"), i.setAttribute("clone-index", 0), this.appendChild(i);
103
+ const n = e[e.length - 1].cloneNode(!0);
104
+ n.classList.add("clone"), n.setAttribute("clone-index", e.length - 1), this.insertBefore(n, this.firstChild);
105
+ }
106
+ }
107
+ removeActiveSlide() {
108
+ this.getSlidesWithClones().forEach((e, i) => {
109
+ e.classList.remove("active");
110
+ }), this.pagination && this.context.querySelectorAll(".pagination-item").forEach((e) => {
111
+ e.classList.remove("active");
112
+ }), this.thumbnails && this.context.querySelectorAll("wj-thumbnail").forEach((e) => {
113
+ e.classList.remove("active");
114
+ });
115
+ }
116
+ changePagination() {
117
+ this.pagination && (this.removeActiveSlide(), this.context.querySelectorAll(".pagination-item").forEach((e, i) => {
118
+ i === this.activeSlide && e.classList.add("active");
119
+ }));
120
+ }
121
+ changeThumbnails() {
122
+ this.thumbnails && (this.removeActiveSlide(), this.context.querySelectorAll("wj-thumbnail").forEach((e, i) => {
123
+ i === this.activeSlide && e.classList.add("active");
124
+ }));
125
+ }
126
+ createNextButton() {
127
+ const e = document.createElement("wj-button");
128
+ return e.classList.add("next"), e.innerHTML = '<wj-icon name="chevron-right" size="large"></wj-icon', e.setAttribute("circle", ""), e.setAttribute("fill", "link"), e.addEventListener("click", (i) => {
129
+ this.nextSlide();
130
+ }), e;
131
+ }
132
+ createPreviousButton() {
133
+ const e = document.createElement("wj-button");
134
+ return e.classList.add("prev"), e.innerHTML = '<wj-icon name="chevron-left" size="large"></wj-icon', e.setAttribute("circle", ""), e.setAttribute("fill", "link"), e.addEventListener("click", (i) => {
135
+ this.previousSlide();
136
+ }), e;
137
+ }
138
+ createPagination() {
139
+ const e = document.createElement("div");
140
+ return e.classList.add("pagination"), this.getSlides().forEach((n, r) => {
141
+ const t = document.createElement("div");
142
+ t.classList.add("pagination-item"), t.addEventListener("click", (s) => {
143
+ this.removeActiveSlide(), s.target.classList.add("active"), this.goToSlide(r);
144
+ }), e.appendChild(t);
145
+ }), e;
146
+ }
147
+ createThumbnails() {
148
+ const e = document.createElement("div");
149
+ return e.classList.add("thumbnails"), this.getSlides().forEach((n, r) => {
150
+ const t = document.createElement("wj-thumbnail");
151
+ t.innerHTML = `<img src="${n.querySelector("wj-img").getAttribute("src")}"></img>`, t.addEventListener("click", (s) => {
152
+ this.removeActiveSlide(), s.target.closest("wj-thumbnail").classList.add("active"), this.goToSlide(r);
153
+ }), e.appendChild(t);
154
+ }), e;
155
+ }
156
+ nextSlide() {
157
+ this.goToSlide(this.activeSlide + this.slidePerPage);
158
+ }
159
+ previousSlide() {
160
+ this.goToSlide(this.activeSlide - this.slidePerPage);
161
+ }
162
+ getSlides() {
163
+ return Array.from(this.querySelectorAll("wj-carousel-item:not(.clone)"));
164
+ }
165
+ getSlidesWithClones() {
166
+ return Array.from(this.querySelectorAll("wj-carousel-item"));
167
+ }
168
+ canGoNext() {
169
+ return this.querySelector(".native-carousel").scrollLeft < this.querySelector(".native-carousel").scrollWidth;
170
+ }
171
+ canGoPrevious() {
172
+ return this.querySelector(".native-carousel").scrollLeft > 0;
173
+ }
174
+ }
175
+ customElements.get("wj-carousel") || window.customElements.define("wj-carousel", f);
176
+ export {
177
+ f as Carousel
178
+ };