wj-elements 0.1.126 → 0.1.128

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 (98) hide show
  1. package/dist/{infinite-scroll.element-DEQ-AqTB.js → infinite-scroll.element-DcO1E5Es.js} +1 -4
  2. package/dist/{list.element-BkOOqBtW.js → list.element-TZXMx1rt.js} +1 -4
  3. package/dist/{popup.element-DvPGL_NN.js → popup.element-l8v-dMoK.js} +4 -10
  4. package/dist/{router-links-F7MJWhZi.js → router-links-I2vcmVCs.js} +8 -16
  5. package/dist/wje-accordion-item.js +1 -4
  6. package/dist/wje-accordion.js +1 -4
  7. package/dist/wje-animation.js +1 -4
  8. package/dist/wje-aside.js +1 -4
  9. package/dist/wje-avatar.js +1 -4
  10. package/dist/wje-badge.js +1 -4
  11. package/dist/wje-breadcrumb.js +1 -4
  12. package/dist/wje-breadcrumbs.js +1 -4
  13. package/dist/wje-button-group.js +1 -4
  14. package/dist/wje-button.js +1 -4
  15. package/dist/wje-card-content.js +1 -4
  16. package/dist/wje-card-controls.js +1 -4
  17. package/dist/wje-card-header.js +1 -4
  18. package/dist/wje-card-subtitle.js +1 -4
  19. package/dist/wje-card-title.js +1 -4
  20. package/dist/wje-card.js +1 -4
  21. package/dist/wje-carousel-item.js +1 -4
  22. package/dist/wje-carousel.js +1 -4
  23. package/dist/wje-checkbox.js +1 -4
  24. package/dist/wje-chip.js +1 -4
  25. package/dist/wje-col.js +1 -4
  26. package/dist/wje-color-picker.js +18 -38
  27. package/dist/wje-container.js +1 -4
  28. package/dist/wje-copy-button.js +1 -4
  29. package/dist/wje-dialog.js +1 -4
  30. package/dist/wje-divider.js +1 -4
  31. package/dist/wje-dropdown.js +2 -5
  32. package/dist/wje-element.js +78 -36
  33. package/dist/wje-file-upload-item.js +4 -6
  34. package/dist/wje-file-upload.js +1 -4
  35. package/dist/wje-footer.js +1 -4
  36. package/dist/wje-form.js +1 -4
  37. package/dist/wje-format-digital.js +2 -6
  38. package/dist/wje-grid.js +1 -4
  39. package/dist/wje-header.js +1 -4
  40. package/dist/wje-icon-picker.js +14 -6
  41. package/dist/wje-icon.js +1 -4
  42. package/dist/wje-img-comparer.js +1 -4
  43. package/dist/wje-img.js +9 -4
  44. package/dist/wje-infinite-scroll.js +1 -1
  45. package/dist/wje-input-file.js +1 -4
  46. package/dist/wje-input.js +5 -4
  47. package/dist/wje-item.js +1 -4
  48. package/dist/wje-kanban.js +2 -6
  49. package/dist/wje-label.js +1 -4
  50. package/dist/wje-list.js +1 -1
  51. package/dist/wje-main.js +1 -4
  52. package/dist/wje-masonry.js +2 -6
  53. package/dist/wje-master.js +5 -8
  54. package/dist/wje-menu-button.js +1 -4
  55. package/dist/wje-menu-item.js +4 -9
  56. package/dist/wje-menu-label.js +1 -4
  57. package/dist/wje-menu.js +1 -4
  58. package/dist/wje-option.js +2 -6
  59. package/dist/wje-options.js +3 -6
  60. package/dist/wje-orgchart-group.js +1 -4
  61. package/dist/wje-orgchart-item.js +2 -6
  62. package/dist/wje-orgchart.js +1 -4
  63. package/dist/wje-popup.js +1 -1
  64. package/dist/wje-progress-bar.js +1 -4
  65. package/dist/wje-qr-code.js +1 -4
  66. package/dist/wje-radio-group.js +1 -4
  67. package/dist/wje-radio.js +1 -4
  68. package/dist/wje-rate.js +1 -4
  69. package/dist/wje-relative-time.js +1 -4
  70. package/dist/wje-reorder-dropzone.js +1 -4
  71. package/dist/wje-reorder-handle.js +7 -16
  72. package/dist/wje-reorder-item.js +1 -4
  73. package/dist/wje-reorder.js +5 -12
  74. package/dist/wje-route.js +1 -4
  75. package/dist/wje-router-link.js +2 -5
  76. package/dist/wje-router-outlet.js +3 -8
  77. package/dist/wje-routerx.js +29 -59
  78. package/dist/wje-row.js +1 -4
  79. package/dist/wje-select.js +5 -11
  80. package/dist/wje-slider.js +2 -5
  81. package/dist/wje-sliding-container.js +1 -4
  82. package/dist/wje-split-view.js +1 -4
  83. package/dist/wje-status.js +1 -4
  84. package/dist/wje-step.js +1 -4
  85. package/dist/wje-stepper.js +122 -222
  86. package/dist/wje-store.js +1 -4
  87. package/dist/wje-tab-group.js +1 -4
  88. package/dist/wje-tab-panel.js +1 -4
  89. package/dist/wje-tab.js +1 -4
  90. package/dist/wje-textarea.js +1 -4
  91. package/dist/wje-thumbnail.js +1 -4
  92. package/dist/wje-toast.js +91 -17
  93. package/dist/wje-toggle.js +1 -4
  94. package/dist/wje-toolbar-action.js +1 -4
  95. package/dist/wje-toolbar.js +2 -5
  96. package/dist/wje-tooltip.js +1 -4
  97. package/dist/wje-visually-hidden.js +1 -4
  98. package/package.json +13 -6
package/dist/wje-store.js CHANGED
@@ -1,9 +1,6 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
- var __publicField = (obj, key, value) => {
4
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
- return value;
6
- };
3
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
7
4
  class PubSub {
8
5
  constructor() {
9
6
  this.events = {};
@@ -1,9 +1,6 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
- var __publicField = (obj, key, value) => {
4
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
- return value;
6
- };
3
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
7
4
  import WJElement from "./wje-element.js";
8
5
  const styles = "/*\n[ WJ Tab Group ]\n*/\n\n:host {\n --wje-tab-top: 0;\n --wje-tab-start: 0;\n --wje-tab-end: 0;\n --wje-tab-bottom: 0;\n}\n.native-tab-group {\n\n display: flex;\n flex-direction: column;\n\n overflow: hidden;\n position: relative;\n}\n\n.native-tab-group > header {\n display: flex;\n flex-direction: column;\n\n & > nav {\n display: flex;\n }\n}\n\n.native-tab-group > section {\n width: 100%;\n\n & > article {\n scroll-snap-align: start;\n overflow-y: auto;\n overscroll-behavior-y: contain;\n }\n}\n\n/*TOP*/\n:host([variant=top]) {\n --wje-tab-top: auto !important;\n --wje-tab-writing-mode: horizontal-tb;\n .native-tab-group {\n flex-direction: column;\n }\n nav {\n border-bottom: 1px solid var(--wje-border-color);\n }\n}\n\n/*START*/\n:host([variant=start]){\n --wje-tab-start: auto !important;\n --wje-tab-writing-mode: vertical-rl;\n .native-tab-group {\n flex-direction: row;\n }\n nav {\n flex-direction: column;\n border-right: 1px solid var(--wje-border-color);\n }\n}\n\n/*END*/\n:host([variant=end]){\n --wje-tab-writing-mode: vertical-rl;\n .native-tab-group {\n flex-direction: row-reverse;\n }\n nav {\n flex-direction: column;\n border-left: 1px solid var(--wje-border-color);\n }\n}\n\n/*BOTTOM*/\n:host([variant=bottom]) {\n --wje-tab-bottom: auto !important;\n --wje-tab-writing-mode: horizontal-tb;\n .native-tab-group {\n flex-direction: column-reverse;\n }\n nav {\n border-top: 1px solid var(--wje-border-color);\n }\n}";
9
6
  class TabGroup extends WJElement {
@@ -1,9 +1,6 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
- var __publicField = (obj, key, value) => {
4
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
- return value;
6
- };
3
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
7
4
  import WJElement from "./wje-element.js";
8
5
  const styles = "/*\n[ WJ Tab Panel ]\n*/\n\n:host {\n display: none;\n flex-wrap: wrap;\n align-items: center;\n padding: 1rem;\n}\n\n:host([active]) {\n display: block;\n}";
9
6
  class TabPanel extends WJElement {
package/dist/wje-tab.js CHANGED
@@ -1,9 +1,6 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
- var __publicField = (obj, key, value) => {
4
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
- return value;
6
- };
3
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
7
4
  import WJElement, { event } from "./wje-element.js";
8
5
  const styles = '/*\n[ WJ Tab ]\n*/\n\n:host {\n display: block;\n position: relative;\n .native-tab {\n display: flex;\n align-items: center;\n white-space: nowrap;\n font-family: var(--wje-tab-font-family);\n font-size: var(--wje-tab-font-size);\n letter-spacing: var(--wje-tab-letter-spacing);\n text-transform: var(--wje-tab-text-transfrom);\n font-weight: var(--wje-tab-font-weight);\n text-decoration: none;\n padding-inline: var(--wje-tab-padding-inline);\n padding-top: var(--wje-tab-padding-top);\n padding-bottom: var(--wje-tab-padding-bottom);\n border-radius: var(--wje-tab-border-radius);\n color: var(--wje-color);\n line-height: var(--wje-tab-line-height);\n & > svg {\n inline-size: 1.5em;\n pointer-events: none;\n }\n\n &:hover {\n background: var(--wje-tab-color-hover);\n &:after {\n display: block;\n }\n }\n\n &:after {\n content: " ";\n display: none;\n block-size: 0.15rem;\n writing-mode: var(--wje-tab-writing-mode);\n background: var(--wje-tab-color-active);\n position: absolute;\n bottom: var(--wje-tab-bottom);\n left: var(--wje-tab-start);\n right: var(--wje-tab-end);\n top: var(--wje-tab-top);\n }\n }\n}\n\n:host([disabled]) a {\n opacity: 0.5;\n cursor: not-allowed;\n background: inherit;\n &:after {\n display: none;\n }\n}\n\n:host([active]) a:after {\n display: block;\n}';
9
6
  class Tab extends WJElement {
@@ -1,9 +1,6 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
- var __publicField = (obj, key, value) => {
4
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
- return value;
6
- };
3
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
7
4
  import WJElement, { event } from "./wje-element.js";
8
5
  const styles = '/*\n[ WJ Textarea ]\n*/\n\n:host {\n width: 100%;\n margin-bottom: var(--wje-textarea-margin-bottom);\n display: block;\n .wrapper {\n display: flex;\n width: 100%;\n border-width: var(--wje-textarea-border-width);\n border-style: var(--wje-textarea-border-style);\n border-color: var(--wje-textarea-border-color);\n border-radius: var(--wje-textarea-border-radius);\n box-sizing: border-box;\n }\n textarea {\n font-family: var(--wje-textarea-font-family);\n color: var(--wje-textarea-color);\n font-size: 14px;\n border: 0 none;\n padding: 0 var(--wje-textarea-padding);\n &:focus {\n outline: none;\n }\n }\n}\n\n:host([resize="auto"]) textarea,\n:host([resize="none"]) textarea {\n resize: none;\n}\n\n.native-textarea {\n .input-wrapper {\n width: 100%;\n line-height: normal;\n }\n &.default {\n background-color: var(--wje-textarea-background-color);\n font-family: var(--wje-textarea-font-family);\n position: relative;\n padding-inline: 0;\n padding-top: 0;\n transition: background-color 0.2s ease;\n cursor: text;\n &.focused {\n .wrapper {\n border-color: var(--wje-textarea-border-color-focus) !important;\n }\n label {\n opacity: 0.67;\n font-size: 12px;\n letter-spacing: normal;\n }\n }\n textarea {\n border: none;\n padding-top: 0;\n background: none;\n box-shadow: none;\n width: calc(100% - var(--wje-textarea-padding) * 2);\n max-width: calc(100% - var(--wje-textarea-padding) * 2);\n min-width: calc(100% - var(--wje-textarea-padding) * 2);\n }\n label {\n padding: 0 var(--wje-textarea-padding);\n display: block;\n opacity: 1;\n cursor: text;\n transition: opacity 0.2s ease;\n line-height: var(--wje-textarea-line-height);\n padding-top: .25rem;\n &.fade {\n opacity: 0.5;\n font-size: 12px;\n letter-spacing: normal;\n }\n }\n ::slotted([slot="start"]) {\n border-left: none;\n border-top: none;\n border-bottom: none;\n }\n\n ::slotted([slot="end"]) {\n border-right: none;\n border-top: none;\n border-bottom: none;\n }\n }\n &.standard {\n font-family: var(--wje-textarea-font-family);\n position: relative;\n border-radius: var(--wje-textarea-border-radius);\n padding: 0;\n transition: background-color 0.2s ease;\n cursor: text;\n &.focused {\n .wrapper {\n border-color: var(--wje-textarea-border-color-focus) !important;\n }\n }\n textarea {\n background-color: var(--wje-textarea-background-color);\n display: block;\n min-height: 32px;\n box-shadow: none;\n width: 100%;\n box-sizing: border-box;\n border-radius: var(--wje-textarea-border-radius);\n }\n label {\n margin: 0;\n display: inline-block;\n opacity: 1;\n cursor: text;\n transition: opacity 0.2s ease;\n line-height: var(--wje-textarea-line-height);\n }\n ::slotted([slot="start"]) {\n border-right: none;\n border-radius: var(--wje-textarea-border-radius) 0 0 var(--wje-textarea-border-radius);\n }\n\n ::slotted([slot="end"]) {\n border-left: none;\n border-radius: 0 var(--wje-textarea-border-radius) var(--wje-textarea-border-radius) 0;\n }\n\n &.has-start textarea{\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n\n &.has-end textarea{\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .error-message {\n position: static;\n background: transparent;\n padding: 0.25rem 0;\n left: auto;\n transform: none;\n color: var(--wje-textarea-color-invalid);\n font-size: 12px;\n line-height: normal;\n }\n }\n}\n\n.counter {\n float: right;\n}';
9
6
  class Textarea extends WJElement {
@@ -1,9 +1,6 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
- var __publicField = (obj, key, value) => {
4
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
- return value;
6
- };
3
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
7
4
  import WJElement from "./wje-element.js";
8
5
  const styles = "/*\n[ WJ Thumbnail ]\n*/\n\n:host {\n width: var(--wje-thumbnail-width);\n height: var(--wje-thumbnail-height);\n display: block;\n border-radius: var(--wje-border-radius);\n}\n\n:host([circle]) ::slotted(img) {\n border-radius: 50%;\n}\n::slotted(wje-img),\n::slotted(img) {\n border-radius: var(--wje-thumbnail-border-radius);\n width: 100%;\n height: 100%;\n object-fit: cover;\n overflow: hidden;\n}";
9
6
  class Thumbnail extends WJElement {
package/dist/wje-toast.js CHANGED
@@ -1,11 +1,8 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
- var __publicField = (obj, key, value) => {
4
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
- return value;
6
- };
7
- import WJElement, { event } from "./wje-element.js";
8
- const styles = '/*\n[ WJ Toast ]\n*/\n\n:host {\n position: relative;\n z-index: 9999;\n width: 300px;\n margin: .5rem 0;\n display: block;\n}\n\n.native-toast {\n display: flex;\n align-items: center;\n padding: 1rem;\n overflow: hidden;\n margin: 0;\n border-width: 1px;\n border-style: solid;\n border-radius: var(--wje-border-radius-large);\n position: relative;\n\n slot[name="avatar"]::slotted(wje-avatar) {\n margin-right: .5rem;\n }\n\n .content {\n font-size: var(--wje-font-size-small);\n .headline {\n font-size: var(--wje-font-size);\n font-weight: var(--wje-font-weight-bold);\n }\n }\n\n wje-button {\n --wje-button-margin-inline: auto 0;\n margin-left: auto !important;\n }\n\n .countdown {\n position: absolute;\n left: 0;\n bottom: 0;\n width: 100%;\n height: 4px;\n .countdown-bar {\n height: 100%;\n }\n }\n}\n\n:host([position=top]) {\n animation: slideDown .3s ease-out forwards;\n top: 1rem;\n left: auto;\n right: auto;\n}\n\n@keyframes slideDown {\n 0% {\n transform: translateY(-100%);\n }\n 100% {\n transform: translateY(0);\n }\n}\n\n/*PRIMARY*/\n:host([color=primary]) .native-toast {\n background-color: var(--wje-color-primary-1);\n color: var(--wje-color-primary-9);\n border-color: var(--wje-color-primary-3);\n}\n\n/*COMPLETE*/\n:host([color=complete]) .native-toast {\n background-color: var(--wje-color-complete-1);\n color: var(--wje-color-complete-9);\n border-color: var(--wje-color-complete-3);\n}\n\n/*SUCCESS*/\n:host([color=success]) .native-toast {\n background-color: var(--wje-color-success-1);\n color: var(--wje-color-success-9);\n border-color: var(--wje-color-success-3);\n}\n\n/*WARNING*/\n:host([color=warning]) .native-toast{\n background-color: var(--wje-color-warning-1);\n color: var(--wje-color-warning-11);\n border-color: var(--wje-color-warning-3);\n}\n\n/*DANGER*/\n:host([color=danger]) .native-toast {\n background-color: var(--wje-color-danger-1);\n color: var(--wje-color-danger-9);\n border-color: var(--wje-color-danger-3);\n}\n\n/*INFO*/\n:host([color=info]) .native-toast {\n background-color: var(--wje-color-info-1);\n color: var(--wje-color-info-11);\n border-color: var(--wje-color-info-4);\n}\n\n/*CONTRAST*/\n:host([color=contrast]) .native-toast {\n background-color: var(--wje-color-contrast-2);\n color: var(--wje-color-contrast-9);\n border-color: var(--wje-color-contrast-3);\n}\n\n\n\n\n\n\n\n\n\n/*PRIMARY*/\n:host([color=primary]) .countdown-bar {\n background-color: var(--wje-color-primary-9);\n}\n\n/*COMPLETE*/\n:host([color=complete]) .countdown-bar {\n background-color: var(--wje-color-complete-9);\n}\n\n/*SUCCESS*/\n:host([color=success]) .countdown-bar {\n background-color: var(--wje-color-success-9);\n}\n\n/*WARNING*/\n:host([color=warning]) .countdown-bar{\n background-color: var(--wje-color-warning-9);\n}\n\n/*DANGER*/\n:host([color=danger]) .countdown-bar {\n background-color: var(--wje-color-danger-9);\n}\n\n/*INFO*/\n:host([color=info]) .countdown-bar {\n background-color: var(--wje-color-info-9);\n}\n\n/*CONTRAST*/\n:host([color=contrast]) .countdown-bar {\n background-color: var(--wje-color-contrast-9);\n}';
3
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
4
+ import WJElement, { WjElementUtils, event } from "./wje-element.js";
5
+ const styles = '/*\n[ WJ Toast ]\n*/\n\n:host {\n position: relative;\n z-index: 9999;\n width: 300px;\n margin: .5rem 0;\n display: block;\n}\n\n.native-toast {\n display: flex;\n align-items: center;\n padding: 1rem;\n overflow: hidden;\n margin: 0;\n border-width: 1px;\n border-style: solid;\n border-radius: var(--wje-border-radius-large);\n position: relative;\n\n &.has-media slot[name="media"] {\n flex: 0 0 1.5rem;\n width: 1.5rem;\n display: flex;\n margin-right: .5rem;\n justify-content: center;\n }\n\n .content {\n font-size: var(--wje-font-size-small);\n .headline {\n font-size: var(--wje-font-size);\n font-weight: var(--wje-font-weight-bold);\n }\n }\n\n wje-button {\n --wje-button-margin-inline: auto 0;\n margin-left: auto !important;\n }\n\n .countdown {\n position: absolute;\n left: 0;\n bottom: 0;\n width: 100%;\n height: 4px;\n .countdown-bar {\n height: 100%;\n }\n }\n}\n\n:host([position=top]) {\n animation: slideDown .3s ease-out forwards;\n top: 1rem;\n left: auto;\n right: auto;\n}\n\n:host::part(icon) {\n margin-right: .5rem;\n}\n\n@keyframes slideDown {\n 0% {\n transform: translateY(-100%);\n }\n 100% {\n transform: translateY(0);\n }\n}\n\n/*PRIMARY*/\n:host([color=primary]) .native-toast {\n background-color: var(--wje-color-primary-1);\n color: var(--wje-color-primary-9);\n border-color: var(--wje-color-primary-3);\n}\n\n/*COMPLETE*/\n:host([color=complete]) .native-toast {\n background-color: var(--wje-color-complete-1);\n color: var(--wje-color-complete-9);\n border-color: var(--wje-color-complete-3);\n}\n\n/*SUCCESS*/\n:host([color=success]) .native-toast {\n background-color: var(--wje-color-success-1);\n color: var(--wje-color-success-9);\n border-color: var(--wje-color-success-3);\n}\n\n/*WARNING*/\n:host([color=warning]) .native-toast{\n background-color: var(--wje-color-warning-1);\n color: var(--wje-color-warning-11);\n border-color: var(--wje-color-warning-3);\n}\n\n/*DANGER*/\n:host([color=danger]) .native-toast {\n background-color: var(--wje-color-danger-1);\n color: var(--wje-color-danger-9);\n border-color: var(--wje-color-danger-3);\n}\n\n/*INFO*/\n:host([color=info]) .native-toast {\n background-color: var(--wje-color-info-1);\n color: var(--wje-color-info-11);\n border-color: var(--wje-color-info-4);\n}\n\n/*CONTRAST*/\n:host([color=contrast]) .native-toast {\n background-color: var(--wje-color-contrast-2);\n color: var(--wje-color-contrast-9);\n border-color: var(--wje-color-contrast-3);\n}\n\n\n\n\n\n\n\n\n\n/*PRIMARY*/\n:host([color=primary]) .countdown-bar {\n background-color: var(--wje-color-primary-9);\n}\n\n/*COMPLETE*/\n:host([color=complete]) .countdown-bar {\n background-color: var(--wje-color-complete-9);\n}\n\n/*SUCCESS*/\n:host([color=success]) .countdown-bar {\n background-color: var(--wje-color-success-9);\n}\n\n/*WARNING*/\n:host([color=warning]) .countdown-bar{\n background-color: var(--wje-color-warning-9);\n}\n\n/*DANGER*/\n:host([color=danger]) .countdown-bar {\n background-color: var(--wje-color-danger-9);\n}\n\n/*INFO*/\n:host([color=info]) .countdown-bar {\n background-color: var(--wje-color-info-9);\n}\n\n/*CONTRAST*/\n:host([color=contrast]) .countdown-bar {\n background-color: var(--wje-color-contrast-9);\n}';
9
6
  class Toast extends WJElement {
10
7
  /**
11
8
  * Toast constructor
@@ -80,51 +77,113 @@ class Toast extends WJElement {
80
77
  if (this.toastStack.parentElement === null) {
81
78
  document.body.append(this.toastStack);
82
79
  }
83
- this.toastStack.appendChild(this);
80
+ this.toastStack.append(this);
84
81
  this.show();
85
82
  this.addEventListener("wje-toast:after-hide", this.removeChildAndStack);
86
83
  });
87
84
  });
88
85
  this.toastStack = Object.assign(document.createElement("div"), { className: "wje-toast-stack" });
89
86
  }
87
+ /**
88
+ * Set headline
89
+ * @param value
90
+ */
90
91
  set headline(value) {
91
92
  this.setAttribute("headline", value);
92
93
  }
94
+ /**
95
+ * Get headline
96
+ * @returns {string}
97
+ */
93
98
  get headline() {
94
99
  return this.getAttribute("headline");
95
100
  }
101
+ /**
102
+ * Set open
103
+ * @param value
104
+ */
96
105
  set open(value) {
97
106
  this.setAttribute("open", value);
98
107
  }
108
+ /**
109
+ * Get open
110
+ * @returns {string}
111
+ */
99
112
  get open() {
100
113
  return this.getAttribute("open");
101
114
  }
115
+ /**
116
+ * Set duration
117
+ * @param value
118
+ */
102
119
  set duration(value) {
103
120
  this.setAttribute("duration", value);
104
121
  }
122
+ /**
123
+ * Get duration
124
+ * @returns {number}
125
+ */
105
126
  get duration() {
106
127
  return +this.getAttribute("duration");
107
128
  }
129
+ /**
130
+ * Set closable
131
+ * @param value
132
+ */
108
133
  set closable(value) {
109
134
  if (value)
110
135
  this.setAttribute("closable", value);
111
136
  }
137
+ /**
138
+ * Get closable
139
+ * @returns {string}
140
+ */
112
141
  get closable() {
113
142
  return this.getAttribute("closable");
114
143
  }
144
+ /**
145
+ * Set color
146
+ * @param value
147
+ */
115
148
  set color(value) {
116
149
  this.setAttribute("color", value);
117
150
  }
151
+ /**
152
+ * Get color
153
+ * @returns {string}
154
+ */
118
155
  get color() {
119
156
  return this.getAttribute("color");
120
157
  }
158
+ /**
159
+ * Set countdown
160
+ * @param value
161
+ */
121
162
  set countdown(value) {
122
163
  if (value)
123
164
  this.setAttribute("countdown", value);
124
165
  }
166
+ /**
167
+ * Get countdown
168
+ * @returns {boolean}
169
+ */
125
170
  get countdown() {
126
171
  return this.hasAttribute("countdown");
127
172
  }
173
+ /**
174
+ * Set icon
175
+ * @param value
176
+ */
177
+ set icon(value) {
178
+ this.setAttribute("icon", value);
179
+ }
180
+ /**
181
+ * Get icon
182
+ * @returns {string}
183
+ */
184
+ get icon() {
185
+ return this.getAttribute("icon");
186
+ }
128
187
  /**
129
188
  * Get CSS stylesheet
130
189
  * @static
@@ -139,9 +198,9 @@ class Toast extends WJElement {
139
198
  * @static
140
199
  * @returns {Array<string>}
141
200
  */
142
- static get observedAttributes() {
143
- return ["open", "color", "duration"];
144
- }
201
+ // static get observedAttributes() {
202
+ // return ["open", "color", "duration"];
203
+ // }
145
204
  /**
146
205
  * Called when an attribute changes.
147
206
  *
@@ -169,14 +228,21 @@ class Toast extends WJElement {
169
228
  let native = document.createElement("div");
170
229
  native.setAttribute("part", "native");
171
230
  native.classList.add("native-toast");
172
- let avatarSlot = document.createElement("slot");
173
- avatarSlot.setAttribute("name", "avatar");
174
- avatarSlot.classList.add("avatar");
231
+ let mediaSlot = document.createElement("slot");
232
+ mediaSlot.setAttribute("name", "media");
233
+ mediaSlot.classList.add("media");
234
+ mediaSlot.addEventListener("slotchange", () => {
235
+ if (WjElementUtils.hasSlotContent(this.context, "media")) {
236
+ mediaSlot.parentElement.classList.add("has-media");
237
+ } else {
238
+ mediaSlot.parentElement.classList.remove("has-media");
239
+ }
240
+ });
175
241
  let content = document.createElement("div");
176
242
  content.classList.add("content");
177
243
  content.innerHTML = `<div class="headline">${this.headline}</div><div class="message"><slot></slot></div>`;
178
- let icon = document.createElement("wje-icon");
179
- icon.setAttribute("name", "x");
244
+ let iconX = document.createElement("wje-icon");
245
+ iconX.setAttribute("name", "x");
180
246
  let closeBtn = document.createElement("wje-button");
181
247
  closeBtn.setAttribute("fill", "link");
182
248
  closeBtn.setAttribute("color", this.color);
@@ -186,9 +252,17 @@ class Toast extends WJElement {
186
252
  countdownEl.classList.add("countdown");
187
253
  let countdownBar = document.createElement("div");
188
254
  countdownBar.classList.add("countdown-bar");
189
- closeBtn.appendChild(icon);
255
+ closeBtn.appendChild(iconX);
190
256
  countdownEl.appendChild(countdownBar);
191
- native.appendChild(avatarSlot);
257
+ if (this.hasAttribute("icon") && this.icon) {
258
+ let icon = document.createElement("wje-icon");
259
+ icon.setAttribute("name", this.icon);
260
+ icon.setAttribute("color", this.color);
261
+ icon.setAttribute("slot", "media");
262
+ icon.setAttribute("part", "icon");
263
+ this.appendChild(icon);
264
+ }
265
+ native.appendChild(mediaSlot);
192
266
  native.appendChild(content);
193
267
  if (this.hasAttribute("closable"))
194
268
  native.appendChild(closeBtn);
@@ -1,9 +1,6 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
- var __publicField = (obj, key, value) => {
4
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
- return value;
6
- };
3
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
7
4
  import WJElement, { event } from "./wje-element.js";
8
5
  const styles = '/*\n[ WJ Toggle ]\n*/\n\n:host {\n --wje-toggle-color-base: var(--wje-color-contrast-3);\n --wje-toggle-width: 30px;\n --wje-toggle-height: 18px;\n --wje-toggle-border-radius: 50px;\n --wje-toggle-handle-width: 13px;\n --wje-toggle-handle-height: 13px;\n --wje-toggle-handle-border-radius: 9px;\n --wje-toggle-handle-color: #fff;\n --wje-toggle-handle-shadow: 1px 0 1px 0.5px rgba(0,0,0,0.12), 2px 4px 6px rgba(0,0,0,0.2);\n --wje-toggle-handle-shadow-checked: 1px 1px 0 rgba(0,0,0,0.08), -3px 3px 6px rgba(0,0,0,0.3);\n --wje-toggle-duration: 250ms;\n --wje-toggle-curve: cubic-bezier(.4,0,.2,1);\n}\n\n:host([color=primary]) input:checked + label > .label-wrapper {\n --wje-toggle-color-base: var(--wje-color-primary-9) !important;\n}\n\n:host([color=complete]) input:checked + label > .label-wrapper {\n --wje-toggle-color-base: var(--wje-color-complete-9);\n}\n\n:host([color=success]) input:checked + label > .label-wrapper {\n --wje-toggle-color-base: var(--wje-color-success-9) !important;\n}\n\n:host([color=warning]) input:checked + label > .label-wrapper {\n --wje-toggle-color-base: var(--wje-color-warning-9);\n}\n\n:host([color=danger]) input:checked + label > .label-wrapper {\n --wje-toggle-color-base: var(--wje-color-danger-9);\n}\n\n:host([color=info]) input:checked + label > .label-wrapper {\n --wje-toggle-color-base: var(--wje-color-info-9);\n}\n\n.native-toggle {\n display: flex;\n}\n\nlabel {\n display: flex;\n cursor: pointer;\n align-items: center;\n user-select: none;\n .label-wrapper {\n width: var(--wje-toggle-width) !important;\n min-width: var(--wje-toggle-width);\n height: var(--wje-toggle-height);\n position: relative;\n display: flex;\n align-items: center;\n &:before {\n content: "";\n position: absolute;\n cursor: pointer;\n width: 100%;\n height: 100%;\n top: auto;\n left: 0;\n background: var(--wje-toggle-color-base);\n background-size: 300%;\n background-position: right;\n border-radius: var(--wje-toggle-border-radius);\n border: none;\n box-shadow: inset 0 0 0 1px rgba(0,0,0,0.12);\n transition: background calc(var(--wje-toggle-duration) + (var(--wje-toggle-duration) * 0.24)), box-shadow var(--wje-toggle-duration);\n transition-timing-function: var(--wje-toggle-curve);\n }\n &:after {\n content: "";\n position: absolute;\n transform: translateX(0%);\n background: var(--wje-toggle-handle-color);\n width: var(--wje-toggle-handle-width);\n height: var(--wje-toggle-handle-height);\n border-radius: var(--wje-toggle-handle-border-radius);\n top: auto;\n left: 2px;\n box-shadow: var(--wje-toggle-handle-shadow);\n transition: transform, box-shadow;\n transition-duration: var(--wje-toggle-duration);\n transition-timing-function: var(--wje-toggle-curve);\n }\n }\n}\ninput[type="checkbox"][disabled] {\n & + label {\n cursor: not-allowed !important;\n color: var(--wje-color-contrast-9);\n opacity: 0.58;\n\n &:before {\n cursor: not-allowed !important;\n }\n }\n}\n\ninput[type="checkbox"]{\n position: absolute;\n z-index: -1;\n opacity: 0;\n &:checked{\n & + label {\n .label-wrapper:before {\n background-position: left;\n box-shadow: inset 0 0 0 1px rgba(0,0, 0,0.12);\n }\n .label-wrapper:after{\n transform: translateX(calc(var(--wje-toggle-width) - var(--wje-toggle-handle-width) - 4px));\n box-shadow: var(--wje-toggle-handle-shadow-checked);\n }\n }\n }\n &:focus {\n & + label {\n .label-wrapper:before{\n outline: none !important;\n box-shadow: inset 0 0 0 1px rgba(0,0,0,0.12), 0 0 0 0 #78c8fe;\n }\n }\n }\n &[disabled]:active{\n & + label {\n .label-wrapper:after {\n transform: scaleX(1.1);\n transform-origin: center left;\n transition: transform step-start;\n }\n }\n }\n &:checked{\n &[disabled]:active{\n & + label {\n .label-wrapper:after{\n transform: translateX(calc(100% - 6px)) scaleX(1.1);\n transform-origin: center right;\n }\n }\n }\n }\n &:hover{\n &:active{\n & + label {\n .label-wrapper:before{\n background-color:transparent;\n }\n }\n }\n }\n}\n\n:host .text {\n margin-inline: .5rem 0;\n}\n\n/*Placememt*/\n:host([placement=end]) {\n label {\n width: 100%;\n }\n .text {\n margin-inline: 0 .5rem;\n width: 100%;\n }\n}\n\nslot {\n display: flex;\n align-items: center;\n width: 100%;\n}';
9
6
  class Toggle extends WJElement {
@@ -1,9 +1,6 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
- var __publicField = (obj, key, value) => {
4
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
- return value;
6
- };
3
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
7
4
  import WJElement from "./wje-element.js";
8
5
  const styles = "/*\n[ WJ Toolbar Action ]\n*/\n\n:host {\n .native-toolbar-action {\n display: flex;\n }\n}";
9
6
  class ToolbarAction extends WJElement {
@@ -1,11 +1,8 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
- var __publicField = (obj, key, value) => {
4
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
- return value;
6
- };
3
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
7
4
  import WJElement from "./wje-element.js";
8
- import { w as withRouterLinks } from "./router-links-F7MJWhZi.js";
5
+ import { w as withRouterLinks } from "./router-links-I2vcmVCs.js";
9
6
  const styles = '/*\n[ WJ Toolbar ]\n*/\n\n:host {\n --wje-toolbar-background: var(--wje-background);\n --wje-toolbar-height: auto;\n --wje-toolbar-min-height: 70px;\n --wje-toolbar-padding-top: 1rem;\n --wje-toolbar-padding-bottom: 1rem;\n --wje-toolbar-padding-inline: 1.5rem;\n --wje-toolbar-border-color: var(--wje-border-color);\n --wje-toolbar-top: 0;\n width: 100%;\n height: var(--wje-toolbar-height);\n}\n\n.native-toolbar {\n background-color: var(--wje-toolbar-background);\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n justify-content: flex-start;\n border-bottom: 1px solid var(--wje-toolbar-border-color);\n padding-inline: var(--wje-toolbar-padding-inline);\n padding-top: var(--wje-toolbar-padding-top);\n padding-bottom: var(--wje-toolbar-padding-bottom);\n box-shadow: 0 10px 30px 0 rgba(82,63,105,.05);\n}\n\n::slotted {\n grid-column: span 4;\n}\n\n::slotted([slot="start"]) {\n margin-right: auto;\n}\n\n:host([sticky]) {\n position: sticky;\n top: var(--wje-toolbar-top);\n z-index: 99;\n}';
10
7
  class Toolbar extends withRouterLinks(WJElement) {
11
8
  /**
@@ -1,9 +1,6 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
- var __publicField = (obj, key, value) => {
4
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
- return value;
6
- };
3
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
7
4
  import WJElement, { event } from "./wje-element.js";
8
5
  const styles = '/*\n[ WJ Tooltip ]\n*/\n\n.native-tooltip {\n display: flex;\n align-items: center;\n padding: var(--wje-tooltip-spacing);\n color: var(--wje-tooltip-color);\n background-color: var(--wje-tooltip-background);\n font-weight: var(--wje-tooltip-font-weight);\n font-size: var(--wje-tooltip-font-size);\n border-radius: var(--wje-tooltip-border-radius);\n line-height: var(--wje-tooltip-line-height);\n box-sizing: border-box;\n box-shadow: var(--wje-tooltip-shadow);\n}\n\n::slotted([slot="start"]) {\n margin: 0 .3rem 0 0;\n}\n\n::slotted([slot="end"]) {\n margin: 0 0 0 .3rem;\n}\n\n.arrow {\n position: absolute;\n width: 10px;\n height: 10px;\n background: var(--wje-tooltip-arrow-color);\n transform: rotate(45deg);\n}\n';
9
6
  class Tooltip extends WJElement {
@@ -1,9 +1,6 @@
1
1
  var __defProp = Object.defineProperty;
2
2
  var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
- var __publicField = (obj, key, value) => {
4
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
- return value;
6
- };
3
+ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
7
4
  import WJElement from "./wje-element.js";
8
5
  const styles = "/*\n[ WJ Visually Hidden ]\n*/\n\n:host(:not(:focus-within)) {\n position: absolute !important;\n width: 1px !important;\n height: 1px !important;\n clip: rect(0 0 0 0) !important;\n clip-path: inset(50%) !important;\n border: none !important;\n overflow: hidden !important;\n white-space: nowrap !important;\n padding: 0 !important;\n}\n";
9
6
  class VisuallyHidden extends WJElement {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "wj-elements",
3
3
  "description": "WebJET Elements is a modern set of user interface tools harnessing the power of web components designed to simplify web application development.",
4
- "version": "0.1.126",
4
+ "version": "0.1.128",
5
5
  "homepage": "https://github.com/lencys/wj-elements",
6
6
  "author": "Lukáš Ondrejček <lukas.ondrejcek@gmail.com>",
7
7
  "license": "MIT",
@@ -30,7 +30,9 @@
30
30
  "preview": "vite preview --mode production",
31
31
  "watch": "vite build --watch --mode development",
32
32
  "analyze": "cem analyze",
33
- "create-element": "node wje-cli-script/create-element.cjs"
33
+ "create-element": "node wje-cli-script/create-element.cjs",
34
+ "test": "web-test-runner --group default",
35
+ "test:watch": "web-test-runner --watch --group default"
34
36
  },
35
37
  "exports": {
36
38
  ".": {
@@ -57,15 +59,20 @@
57
59
  },
58
60
  "devDependencies": {
59
61
  "@custom-elements-manifest/analyzer": "^0.9.3",
62
+ "@open-wc/testing": "^3.2.0",
63
+ "@web/test-runner": "^0.19.0",
64
+ "@web/test-runner-commands": "^0.9.0",
65
+ "@web/test-runner-playwright": "^0.11.0",
66
+ "animate.css": "^4.1.1",
60
67
  "custom-element-jet-brains-integration": "^1.4.4",
68
+ "dotenv": "^16.4.5",
61
69
  "javascript-obfuscator": "^4.1.0",
62
70
  "miragejs": "^0.1.48",
71
+ "playwright": "^1.48.1",
63
72
  "rollup-plugin-terser": "^7.0.2",
64
73
  "sass": "^1.63.5",
65
74
  "terser": "^5.29.2",
66
75
  "vite": "^5.1.2",
67
- "vite-plugin-javascript-obfuscator": "^3.1.0",
68
- "dotenv": "^16.4.5",
69
- "animate.css": "^4.1.1"
76
+ "vite-plugin-javascript-obfuscator": "^3.1.0"
70
77
  }
71
- }
78
+ }