wj-elements 0.0.20 → 0.0.22

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 (81) hide show
  1. package/dist/wj-animation.js +0 -1
  2. package/dist/wj-aside.js +0 -1
  3. package/dist/wj-avatar.js +0 -1
  4. package/dist/wj-badge.js +0 -1
  5. package/dist/wj-breadcrumb.js +0 -1
  6. package/dist/wj-breadcrumbs.js +0 -1
  7. package/dist/wj-button-group.js +0 -1
  8. package/dist/wj-button.js +0 -1
  9. package/dist/wj-card-content.js +0 -1
  10. package/dist/wj-card-controls.js +0 -1
  11. package/dist/wj-card-header.js +0 -1
  12. package/dist/wj-card-subtitle.js +0 -1
  13. package/dist/wj-card-title.js +0 -1
  14. package/dist/wj-card.js +0 -1
  15. package/dist/wj-carousel-item.js +0 -1
  16. package/dist/wj-carousel.js +0 -1
  17. package/dist/wj-checkbox.js +0 -1
  18. package/dist/wj-chip.js +0 -1
  19. package/dist/wj-col.js +0 -1
  20. package/dist/wj-color-picker.js +0 -1
  21. package/dist/wj-container.js +0 -1
  22. package/dist/wj-copy-button.js +0 -1
  23. package/dist/wj-dialog.js +0 -1
  24. package/dist/wj-divider.js +0 -1
  25. package/dist/wj-dropdown.js +0 -1
  26. package/dist/wj-file-upload-item.js +1 -2
  27. package/dist/wj-file-upload.js +1 -2
  28. package/dist/wj-footer.js +0 -1
  29. package/dist/wj-form.js +0 -1
  30. package/dist/wj-format-digital.js +1 -2
  31. package/dist/wj-grid.js +0 -1
  32. package/dist/wj-header.js +0 -1
  33. package/dist/wj-icon-picker.js +0 -1
  34. package/dist/wj-icon.js +1 -1
  35. package/dist/wj-img-comparer.js +0 -1
  36. package/dist/wj-img.js +0 -1
  37. package/dist/wj-infinite-scroll.js +0 -1
  38. package/dist/wj-input-file.js +0 -1
  39. package/dist/wj-input.js +0 -1
  40. package/dist/wj-item.js +1 -1
  41. package/dist/wj-label.js +0 -1
  42. package/dist/wj-list.js +0 -1
  43. package/dist/wj-main.js +0 -1
  44. package/dist/wj-masonry.js +0 -1
  45. package/dist/wj-master.js +14 -488
  46. package/dist/wj-menu-button.js +0 -1
  47. package/dist/wj-menu-item.js +1 -2
  48. package/dist/wj-menu-label.js +0 -1
  49. package/dist/wj-menu.js +0 -1
  50. package/dist/wj-nav-menu.js +37 -0
  51. package/dist/wj-nav.js +61 -0
  52. package/dist/wj-option.js +58 -0
  53. package/dist/wj-options.js +45 -0
  54. package/dist/wj-popup.js +64 -31
  55. package/dist/wj-progress-bar.js +0 -1
  56. package/dist/wj-radio-group.js +0 -1
  57. package/dist/wj-radio.js +0 -1
  58. package/dist/wj-rate.js +0 -1
  59. package/dist/wj-relative-time.js +1 -2
  60. package/dist/wj-route.js +0 -1
  61. package/dist/wj-router-link.js +1 -2
  62. package/dist/wj-router-outlet.js +0 -1
  63. package/dist/wj-routerx.js +1 -2
  64. package/dist/wj-row.js +0 -1
  65. package/dist/wj-select.js +229 -0
  66. package/dist/wj-slider.js +0 -1
  67. package/dist/wj-split-view.js +0 -1
  68. package/dist/wj-tab-group.js +76 -0
  69. package/dist/wj-tab-panel.js +30 -0
  70. package/dist/wj-tab.js +36 -0
  71. package/dist/wj-textarea.js +0 -1
  72. package/dist/wj-thumbnail.js +0 -1
  73. package/dist/wj-toast.js +0 -1
  74. package/dist/wj-toggle.js +0 -1
  75. package/dist/wj-toolbar-action.js +0 -1
  76. package/dist/wj-toolbar.js +1 -2
  77. package/dist/wj-tooltip.js +0 -1
  78. package/dist/wj-visually-hidden.js +0 -1
  79. package/package.json +3 -3
  80. /package/dist/{localize-20081fd1.js → localize-DSOailh_.js} +0 -0
  81. /package/dist/{router-links-26e4a166.js → router-links-F7MJWhZi.js} +0 -0
package/dist/wj-nav.js ADDED
@@ -0,0 +1,61 @@
1
+ var __defProp = Object.defineProperty;
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 from "./wj-element.js";
8
+ const styles = '/*!\n* direction.scss\n*/\n/* Skeleton Variables */\n/*------------------------------------------------------------------\n[11. Tabs & Accordians]\n*/\n/* Tabs\n------------------------------------\n*/\n.nav-tabs {\n display: flex;\n position: relative;\n}\n.nav-tabs > .nav-item {\n display: flex;\n justify-content: center;\n align-items: center;\n padding-left: 0;\n padding-right: 0;\n}\n.nav-tabs > .nav-item > a.active:hover, .nav-tabs > .nav-item > a.active:focus {\n border-color: #e0e0e0;\n color: #4b4b4b;\n background-color: #e0e0e0;\n}\n.nav-tabs > .nav-item > a {\n display: block;\n border-radius: 0;\n padding: 13px 17px;\n margin-right: 0;\n font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;\n font-weight: 500;\n letter-spacing: 0.06em;\n color: #757575;\n font-size: 10.5px;\n min-width: 70px;\n text-transform: uppercase;\n border-color: transparent;\n position: relative;\n line-height: 1.7em;\n cursor: pointer;\n}\n.nav-tabs > .nav-item > a:hover, .nav-tabs > .nav-item > a:focus {\n background: transparent;\n border-color: transparent;\n color: #4b4b4b;\n}\n.nav-tabs > .nav-item > a .tab-icon {\n margin-right: 6px;\n}\n.nav-tabs > .nav-item > a.active {\n color: #212121;\n}\n.nav-tabs ~ .tab-content {\n padding: 15px;\n}\n.nav-tabs ~ .tab-content > .tab-pane.slide-left, .nav-tabs ~ .tab-content > .tab-pane.slide-right {\n -webkit-transition: all 0.3s ease;\n transition: all 0.3s ease;\n}\n.nav-tabs ~ .tab-content > .tab-pane.slide-left.sliding, .nav-tabs ~ .tab-content > .tab-pane.slide-right.sliding {\n opacity: 0 !important;\n}\n.nav-tabs ~ .tab-content > .tab-pane.slide-left.active, .nav-tabs ~ .tab-content > .tab-pane.slide-right.active {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n -ms-transform: translate(0, 0);\n opacity: 1;\n}\n.nav-tabs ~ .tab-content > .tab-pane.slide-left.sliding {\n -webkit-transform: translate3d(10%, 0, 0);\n transform: translate3d(10%, 0, 0);\n -ms-transform: translate(10%, 0);\n}\n.nav-tabs ~ .tab-content > .tab-pane.slide-right.sliding {\n -webkit-transform: translate3d(-10%, 0, 0);\n transform: translate3d(-10%, 0, 0);\n -ms-transform: translate(-10%, 0);\n}\n.nav-tabs.nav-tabs-left, .nav-tabs.nav-tabs-right {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -webkit-flex-direction: column;\n -ms-flex-direction: column;\n flex-direction: column;\n -webkit-flex-shrink: 0;\n -ms-flex-negative: 0;\n flex-shrink: 0;\n}\n.nav-tabs.nav-tabs-left:after, .nav-tabs.nav-tabs-right:after {\n border-bottom: 0px;\n}\n.nav-tabs.nav-tabs-left > .nav-item, .nav-tabs.nav-tabs-right > .nav-item {\n float: none;\n}\n.nav-tabs.nav-tabs-left {\n float: left;\n padding-right: 0;\n}\n.nav-tabs.nav-tabs-left ~ .tab-content {\n border-left: 1px solid rgba(0, 0, 0, 0.1);\n -ms-flex: 1;\n -ms-flex-negative: 0;\n}\n.nav-tabs.nav-tabs-right {\n float: right;\n padding-right: 0;\n}\n.nav-tabs.nav-tabs-right ~ .tab-content {\n border-right: 1px solid rgba(0, 0, 0, 0.1);\n -ms-flex: 1;\n -ms-flex-negative: 0;\n}\n/* Tabs : Simple\n------------------------------------\n*/\n.nav-tabs-simple > .nav-item > a:after, .nav-tabs-simple > .nav-item > a.nav-tabs-info:after, .nav-tabs-simple > .nav-item > a.nav-tabs-warning:after, .nav-tabs-simple > .nav-item > a.nav-tabs-danger:after, .nav-tabs-simple > .nav-item > a.nav-tabs-complete:after, .nav-tabs-simple > .nav-item > a.nav-tabs-success:after, .nav-tabs-simple > .nav-item > a.nav-tabs-primary:after {\n position: absolute;\n -webkit-transition: all 0.1s linear 0s;\n transition: all 0.1s linear 0s;\n -webkit-backface-visibility: hidden;\n width: 100%;\n display: block;\n background-color: #D83C31;\n height: 0px;\n content: "";\n left: 0;\n z-index: 125;\n top: 100%;\n}\n.nav-tabs-simple {\n border-bottom: 0;\n}\n.nav-tabs-simple:after {\n content: "";\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n width: 100%;\n position: absolute;\n bottom: -2px;\n left: 0;\n}\n.nav-tabs-simple.no-border:after {\n border-bottom: 0 none;\n}\n.nav-tabs-simple > .nav-item {\n margin-bottom: 0;\n}\n.nav-tabs-simple > .nav-item > a {\n min-width: auto;\n}\n.nav-tabs-simple > .nav-item > a.nav-tabs-primary:after {\n background-color: #7252D3 !important;\n}\n.nav-tabs-simple > .nav-item > a.nav-tabs-success:after {\n background-color: #19AD79;\n}\n.nav-tabs-simple > .nav-item > a.nav-tabs-complete:after {\n background-color: #0072EC;\n}\n.nav-tabs-simple > .nav-item > a.nav-tabs-danger:after {\n background-color: #D83C31;\n}\n.nav-tabs-simple > .nav-item > a.nav-tabs-warning:after {\n background-color: #FFd945;\n}\n.nav-tabs-simple > .nav-item > a.nav-tabs-info:after {\n background-color: #3B4752;\n}\n.nav-tabs-simple > .nav-item > a.active:hover, .nav-tabs-simple > .nav-item > a.active:focus {\n background-color: transparent;\n border-color: transparent;\n}\n.nav-tabs-simple > .nav-item > a.active:after, .nav-tabs-simple > .nav-item > a:hover:after {\n height: 3px;\n}\n.nav-tabs-simple.nav-tabs-left:after, .nav-tabs-simple.nav-tabs-right:after {\n border-bottom: 0px;\n}\n.nav-tabs-simple.nav-tabs-left > .nav-item > a:after, .nav-tabs-simple.nav-tabs-right > .nav-item > a:after {\n width: 0px;\n height: 100%;\n top: 0;\n bottom: 0;\n position: absolute;\n}\n.nav-tabs-simple.nav-tabs-left > .nav-item > a.active:after, .nav-tabs-simple.nav-tabs-left > .nav-item > a:hover:after, .nav-tabs-simple.nav-tabs-right > .nav-item > a.active:after, .nav-tabs-simple.nav-tabs-right > .nav-item > a:hover:after {\n width: 3px;\n}\n.nav-tabs-simple.nav-tabs-left > .nav-item > a:after {\n right: 0;\n left: auto;\n}\n.nav-tabs-simple.nav-tabs-right > .nav-item > a:after {\n left: 0;\n}\n/* Tabs : Line Triangles\n------------------------------------\n*/\n.nav-tabs-linetriangle {\n border-bottom: 0;\n}\n.nav-tabs-linetriangle:after {\n content: "";\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n width: 100%;\n position: absolute;\n bottom: -1px;\n z-index: 100;\n left: 0;\n}\n.nav-tabs-linetriangle > .nav-item > a.active {\n background: transparent;\n box-shadow: none;\n border-color: transparent;\n}\n.nav-tabs-linetriangle > .nav-item > a.active:hover, .nav-tabs-linetriangle > .nav-item > a.active:focus, .nav-tabs-linetriangle > .nav-item > a.active:active {\n border-color: transparent;\n background-color: transparent;\n}\n.nav-tabs-linetriangle > .nav-item > a.active:after, .nav-tabs-linetriangle > .nav-item > a.active:before {\n content: "";\n left: 50%;\n pointer-events: none;\n position: absolute;\n z-index: 120;\n top: 98%;\n}\n.nav-tabs-linetriangle > .nav-item > a.active:after {\n width: 11px;\n height: 11px;\n display: block;\n background: white;\n border: solid rgba(0, 0, 0, 0.1);\n transform: rotate(-45deg);\n margin: -5px 0px 0px -5px;\n border-width: 0px 0px 1px 1px;\n}\n.nav-tabs-linetriangle > .nav-item > a span {\n font-size: 1em;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.nav-tabs-linetriangle > .nav-item > a:hover, .nav-tabs-linetriangle > .nav-item > a:focus {\n overflow: visible;\n -webkit-transition: color 0.2s ease 0s;\n transition: color 0.2s ease 0s;\n}\n.nav-tabs-linetriangle ~ .tab-content {\n background: #fff;\n}\n.nav-tabs-linetriangle.nav-tabs-left.nav-tabs:after {\n border-bottom: none;\n}\n.nav-tabs-linetriangle.nav-tabs-left.nav-tabs > .nav-item > a.active:before {\n border-top: 11px solid transparent;\n border-bottom: 11px solid transparent;\n border-left: 11px solid rgba(0, 0, 0, 0.2);\n}\n.nav-tabs-linetriangle.nav-tabs-left.nav-tabs > .nav-item > a.active:after {\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n border-left: 10px solid #f4f4f4;\n margin-top: 1px;\n margin-right: 2px;\n}\n.nav-tabs-linetriangle.nav-tabs-left.nav-tabs > .nav-item > a.active:after, .nav-tabs-linetriangle.nav-tabs-left.nav-tabs > .nav-item > a.active:before {\n top: auto;\n right: -22px;\n left: auto;\n}\n.nav-tabs-linetriangle.nav-tabs-right.nav-tabs:after {\n border-bottom: none;\n}\n.nav-tabs-linetriangle.nav-tabs-right.nav-tabs > .nav-item > a.active:before {\n border-top: 11px solid transparent;\n border-bottom: 11px solid transparent;\n border-right: 11px solid rgba(0, 0, 0, 0.2);\n}\n.nav-tabs-linetriangle.nav-tabs-right.nav-tabs > .nav-item > a.active:after {\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n border-right: 10px solid #f4f4f4;\n margin-top: 1px;\n margin-left: -9px;\n}\n.nav-tabs-linetriangle.nav-tabs-right.nav-tabs > .nav-item > a.active:after, .nav-tabs-linetriangle.nav-tabs-right.nav-tabs > .nav-item > a.active:before {\n top: auto;\n left: -11px;\n right: auto;\n}\n@media screen and (max-width: 58em) {\n .nav-tabs-linetriangle {\n font-size: 0.6em;\n }\n}\n/* Tabs : Line Triangles Custom\n------------------------------------\n*/\n.nav-tabs-linetriangle-custom {\n border-bottom: 0;\n}\n.nav-tabs-linetriangle-custom:after {\n content: "";\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n width: 100%;\n position: absolute;\n bottom: -1px;\n z-index: 100;\n left: 0;\n}\n.nav-tabs-linetriangle-custom > .nav-item {\n transition: all 0.3s linear;\n}\n.nav-tabs-linetriangle-custom > .nav-item > a {\n padding: 1rem 0.5rem !important;\n font-family: "Inter UI", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;\n text-transform: none;\n font-size: 12px !important;\n}\n.nav-tabs-linetriangle-custom > .nav-item > a.active {\n background: transparent;\n box-shadow: none;\n border-color: transparent;\n}\n.nav-tabs-linetriangle-custom > .nav-item > a.active:hover, .nav-tabs-linetriangle-custom > .nav-item > a.active:focus, .nav-tabs-linetriangle-custom > .nav-item > a.active:active {\n border-color: transparent;\n background-color: transparent;\n}\n.nav-tabs-linetriangle-custom > .nav-item > a.active:after, .nav-tabs-linetriangle-custom > .nav-item > a.active:before {\n content: "";\n left: 50%;\n pointer-events: none;\n position: absolute;\n z-index: 120;\n top: 98%;\n}\n.nav-tabs-linetriangle-custom > .nav-item > a.active:after {\n width: 11px;\n height: 11px;\n display: block;\n background: white;\n border: solid rgba(0, 0, 0, 0.1);\n transform: rotate(-45deg);\n margin: -5px 0px 0px -5px;\n border-width: 0px 0px 1px 1px;\n}\n.nav-tabs-linetriangle-custom > .nav-item > a span {\n font-size: 1em;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.nav-tabs-linetriangle-custom > .nav-item > a:hover, .nav-tabs-linetriangle-custom > .nav-item > a:focus {\n overflow: visible;\n -webkit-transition: color 0.2s ease 0s;\n transition: color 0.2s ease 0s;\n}\n.nav-tabs-linetriangle-custom ~ .tab-content {\n background: #eae0fb;\n border: 0 none !important;\n}\n.nav-tabs-linetriangle-custom.nav-tabs-left.nav-tabs {\n padding: 2rem !important;\n}\n.nav-tabs-linetriangle-custom.nav-tabs-left.nav-tabs:after {\n border-bottom: none;\n}\n.nav-tabs-linetriangle-custom.nav-tabs-left.nav-tabs > .nav-item {\n margin-bottom: 1rem;\n}\n.nav-tabs-linetriangle-custom.nav-tabs-left.nav-tabs > .nav-item > a {\n background-color: transparent;\n color: #212121;\n}\n.nav-tabs-linetriangle-custom.nav-tabs-left.nav-tabs > .nav-item > a i {\n font-size: 20px;\n margin-bottom: 10px;\n color: #757575;\n}\n.nav-tabs-linetriangle-custom.nav-tabs-left.nav-tabs > .nav-item > a.rounded-border {\n border-radius: 8px;\n}\n.nav-tabs-linetriangle-custom.nav-tabs-left.nav-tabs > .nav-item > a:hover {\n background: rgba(33, 33, 33, 0.05);\n}\n.nav-tabs-linetriangle-custom.nav-tabs-left.nav-tabs > .nav-item > a.active {\n color: #4e37b6;\n background-color: #eae0fb;\n}\n.nav-tabs-linetriangle-custom.nav-tabs-left.nav-tabs > .nav-item > a.active i {\n color: #4e37b6;\n}\n.nav-tabs-linetriangle-custom.nav-tabs-left.nav-tabs > .nav-item > a.active:before {\n border-top: 11px solid transparent;\n border-bottom: 11px solid transparent;\n border-left: 10px solid transparent;\n}\n.nav-tabs-linetriangle-custom.nav-tabs-left.nav-tabs > .nav-item > a.active:after {\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n border-left: 10px solid #eae0fb;\n margin-top: 1px;\n margin-right: 2px;\n}\n.nav-tabs-linetriangle-custom.nav-tabs-left.nav-tabs > .nav-item > a.active:after, .nav-tabs-linetriangle-custom.nav-tabs-left.nav-tabs > .nav-item > a.active:before {\n right: 0;\n left: unset;\n top: 50%;\n transform: translate(100%, -50%);\n margin-top: 0;\n margin-right: 0;\n}\n@media screen and (max-width: 58em) {\n .nav-tabs-linetriangle {\n font-size: 0.6em;\n }\n}\n/* Tabs : Fill-up\n------------------------------------\n*/\n.nav-tabs-fillup {\n -webkit-backface-visibility: hidden;\n -moz-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-perspective: 1000;\n -moz-perspective: 1000;\n perspective: 1000;\n}\n.nav-tabs-fillup > .nav-item {\n overflow: hidden;\n}\n.nav-tabs-fillup > .nav-item > a {\n -webkit-backface-visibility: hidden;\n -moz-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-transition: color 0.3s ease 0s;\n transition: color 0.3s ease 0s;\n background: transparent;\n}\n.nav-tabs-fillup > .nav-item > a:after {\n -webkit-backface-visibility: hidden;\n -moz-backface-visibility: hidden;\n backface-visibility: hidden;\n background: none repeat scroll 0 0 #19AD79;\n border: 1px solid #19AD79;\n content: "";\n height: calc(100% + 1px);\n left: 0;\n position: absolute;\n top: 0;\n -webkit-transform: translate3d(0, 100%, 0px);\n transform: translate3d(0, 100%, 0px);\n -webkit-transition: -webkit-transform 0.3s ease 0s;\n transition: transform 0.3s ease 0s;\n width: 100%;\n z-index: -1;\n}\n.nav-tabs-fillup > .nav-item > a:after.nav-tabs-primary {\n background: none repeat scroll 0 0 #7252D3;\n border: 1px solid #7252D3;\n}\n.nav-tabs-fillup > .nav-item > a:after.nav-tabs-success {\n background: none repeat scroll 0 0 #19AD79;\n border: 1px solid #19AD79;\n}\n.nav-tabs-fillup > .nav-item > a:after.nav-tabs-complete {\n background: none repeat scroll 0 0 #0072EC;\n border: 1px solid #0072EC;\n}\n.nav-tabs-fillup > .nav-item > a:after.nav-tabs-warning {\n background: none repeat scroll 0 0 #FFd945;\n border: 1px solid #FFd945;\n}\n.nav-tabs-fillup > .nav-item > a:after.nav-tabs-danger {\n background: none repeat scroll 0 0 #D83C31;\n border: 1px solid #D83C31;\n}\n.nav-tabs-fillup > .nav-item > a:after.nav-tabs-info {\n background: none repeat scroll 0 0 #3B4752;\n border: 1px solid #3B4752;\n}\n.nav-tabs-fillup > .nav-item > a span {\n -webkit-backface-visibility: hidden;\n -moz-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-transform: translate3d(0px, 5px, 0px);\n transform: translate3d(0px, 5px, 0px);\n -webkit-transition: -webkit-transform 0.5s ease 0s;\n transition: transform 0.5s ease 0s;\n display: block;\n font-weight: 700;\n line-height: 1.5;\n}\n.nav-tabs-fillup > .nav-item > a.active {\n z-index: 100;\n color: #fff;\n}\n.nav-tabs-fillup > .nav-item > a.active:hover, .nav-tabs-fillup > .nav-item > a.active:focus {\n border-color: transparent;\n background: transparent;\n color: #fff;\n}\n.nav-tabs-fillup > .nav-item > a.active:after {\n -webkit-transform: translate3d(0px, 0px, 0px);\n transform: translate3d(0px, 0px, 0px);\n -ms-transform: translate(0px, 0px);\n}\n.nav-tabs-fillup > .nav-item > a.active span {\n -webkit-transform: translate3d(0px, -5px, 0px);\n transform: translate3d(0px, -5px, 0px);\n -ms-transform: translate(0px, -5px);\n}\n.nav-tabs-fillup .icon:before {\n -webkit-transform: translate3d(0px, 5px, 0px);\n transform: translate3d(0px, 5px, 0px);\n -ms-transform: translate(0px, 5px);\n -webkit-transition: transform 0.5s ease 0s;\n transition: transform 0.5s ease 0s;\n display: block;\n margin: 0;\n}\n.nav-tabs-fillup ~ .tab-content {\n background: #fff;\n}\n.nav-tabs-fillup.nav-tabs-left, .nav-tabs-fillup.nav-tabs-right {\n border-bottom: none;\n}\n.nav-tabs-fillup.nav-tabs-left:after, .nav-tabs-fillup.nav-tabs-right:after {\n border-bottom: none;\n}\n.nav-tabs-fillup.nav-tabs-left > .nav-item > a:after, .nav-tabs-fillup.nav-tabs-right > .nav-item > a:after {\n width: calc(100% + 1px);\n height: 100%;\n}\n.nav-tabs-fillup.nav-tabs-left > .nav-item.active a:after, .nav-tabs-fillup.nav-tabs-right > .nav-item.active a:after {\n -webkit-transform: translate3d(0px, 0px, 0px);\n transform: translate3d(0px, 0px, 0px);\n -ms-transform: translate(0px, 0px);\n}\n.nav-tabs-fillup.nav-tabs-left > .nav-item > a:after {\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n -ms-transform: translate(100%, 0);\n}\n.nav-tabs-fillup.nav-tabs-left > .nav-item > a span {\n -webkit-transform: translate3d(5px, 0, 0px);\n transform: translate3d(5px, 0, 0px);\n -ms-transform: translate(5px, 0);\n}\n.nav-tabs-fillup.nav-tabs-left > .nav-item.active a span {\n -webkit-transform: translate3d(-5px, 0, 0px);\n transform: translate3d(-5px, 0, 0px);\n -ms-transform: translate(-5px, 0);\n}\n.nav-tabs-fillup.nav-tabs-left > .nav-item.active .icon:before {\n -webkit-transform: translate3d(-5px, 0, 0px);\n transform: translate3d(-5px, 0, 0px);\n -ms-transform: translate(-5px, 0);\n}\n.nav-tabs-fillup.nav-tabs-right > .nav-item > a:after {\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n -ms-transform: translate(-100%, 0);\n left: -1px;\n}\n.nav-tabs-fillup.nav-tabs-right > .nav-item > a span {\n -webkit-transform: translate3d(-5px, 0, 0px);\n transform: translate3d(-5px, 0, 0px);\n -ms-transform: translate(-5px, 0);\n}\n.nav-tabs-fillup.nav-tabs-right > .nav-item.active a span {\n -webkit-transform: translate3d(5px, 0, 0px);\n transform: translate3d(5px, 0, 0px);\n -ms-transform: translate(5px, 0);\n}\n.nav-tabs-fillup.nav-tabs-right > .nav-item.active .icon:before {\n -webkit-transform: translate3d(5px, 0, 0px);\n transform: translate3d(5px, 0, 0px);\n -ms-transform: translate(5px, 0);\n}\n.nav-tabs-header {\n overflow: scroll;\n width: 100%;\n}\n.nav-tabs-header .nav-tabs {\n width: auto;\n white-space: nowrap;\n}\n.nav-tabs-header .nav-tabs > .nav-item {\n display: inline-block;\n float: inherit;\n}\n.nav-tabs-header.nav-tabs-linetriangle {\n height: 54px;\n overflow-y: hidden;\n}\n.nav-tabs-header.nav-tabs-linetriangle:after {\n border-bottom: 1px solid rgba(0, 0, 0, 0.1);\n width: 100%;\n position: relative;\n bottom: 3px;\n z-index: 120;\n content: "";\n clear: both;\n}\n.nav-tabs-header.nav-tabs-linetriangle ~ .tab-content {\n position: relative;\n top: -12px;\n}\n.nav-tabs-header ~ .tab-content {\n overflow: hidden;\n padding: 15px;\n}\n.nav-tab-dropdown .cs-select {\n width: 100% !important;\n max-width: 100%;\n}\n.nav-tab-dropdown .cs-select .cs-placeholder {\n height: 48px;\n padding: 12px 34px 15px 15px;\n font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;\n font-weight: 500;\n letter-spacing: 0.06em;\n font-size: 10.5px;\n text-transform: uppercase;\n}\n.nav-tab-dropdown .cs-select .cs-backdrop {\n border: 1px solid transparent;\n border-bottom: 1px solid rgba(33, 33, 33, 0.14);\n}\n/* Panel Groups\n------------------------------------\n*/\n.card-group {\n margin-bottom: 18px;\n}\n.card-group.horizontal {\n display: block;\n}\n.card-group summary {\n font-family: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;\n text-transform: uppercase;\n display: inline-block;\n letter-spacing: 0.06em;\n font-size: 10.5px;\n font-weight: 500;\n margin: 0;\n padding: 0;\n line-height: normal;\n overflow: hidden;\n text-overflow: ellipsis;\n -webkit-text-stroke: 0px;\n filter: alpha(opacity=40);\n -webkit-transition: opacity 0.3s ease;\n transition: opacity 0.3s ease;\n list-style-type: none;\n}\n.card-group summary::marker {\n display: none;\n list-style-type: none;\n}\n.card-group summary:after {\n font-family: "pages-icon";\n content: "\\e987";\n font-size: 17px;\n position: absolute;\n right: 17px;\n top: 36%;\n color: #4b4b4b;\n}\n.card-group summary:focus-visible {\n outline: 0;\n}\n.card-group .card-header {\n padding: 13px 18px 10px 22px;\n}\n.card-group .card-header.collapsed {\n background-color: #fff;\n}\n.card-group .card-header + .card-collapse .card-body {\n border: 0;\n}\n.card-group .card-header .card-title {\n width: 100%;\n}\n.card-group .card-header .card-title > a {\n color: #4b4b4b;\n font-size: inherit;\n padding: inherit;\n margin: inherit;\n display: block;\n opacity: 1;\n}\n.card-group .card-header .card-title > a:hover {\n color: #4b4b4b !important;\n}\n.card-group .card-header .card-title > a:hover:after {\n color: #4b4b4b !important;\n}\n.card-group .card-header .card-title > a:after {\n font-family: "pages-icon";\n content: "\\e987";\n font-size: 17px;\n position: absolute;\n right: 13px;\n top: 36%;\n color: #4b4b4b;\n}\n.card-group .card-header .card-title > a.collapsed {\n color: rgba(75, 75, 75, 0.7);\n opacity: 1;\n}\n.card-group .card-header .card-title > a.collapsed:after {\n content: "\\e986";\n color: rgba(75, 75, 75, 0.7);\n}\n.card-group .card {\n box-shadow: none;\n border: 1px solid rgba(33, 33, 33, 0.14);\n -webkit-box-flex: 1;\n -webkit-flex: 1 0 0;\n -ms-flex: 1 0 0;\n flex: 1 0 0;\n}\n.card-group .card + .card {\n margin-top: 2px;\n}\n.card-group .card .card-body {\n height: auto;\n}\n.card-group .card.card-default {\n box-shadow: none;\n border: 1px solid rgba(33, 33, 33, 0.1);\n}\n.card-group .card[open] .card-header:after {\n content: "\\e986";\n color: rgba(75, 75, 75, 0.7);\n}\n.card-group .card-file summary:after {\n transform: rotate(180deg);\n right: -3px;\n}\n.card-group .card-file[open] summary:after {\n transform: rotate(0deg);\n}\n.nav-pills > .nav-item:first-child {\n padding-left: 0;\n}\n.nav-pills > .nav-item > a {\n color: #4b4b4b;\n}\n.nav-pills > .nav-item.active > a, .nav-pills > .nav-item.active > a:hover, .nav-pills > .nav-item.active > a:focus {\n color: #4b4b4b;\n background-color: #e0e0e0;\n}\n@media (max-width: 767px) {\n .nav.nav-tabs.nav-stack-sm .nav-item {\n float: none;\n }\n .nav.nav-tabs.nav-stack-sm.nav-tabs-linetriangle > li.active > a:after, .nav.nav-tabs.nav-stack-sm.nav-tabs-linetriangle > li.active > a:before {\n display: none;\n }\n}\n.rotate-90 {\n transform: rotateZ(90deg);\n transition: transform 0.3s ease;\n}\n.collapsed > .rotate-90, .collapsible:not(.collapsed) > .rotate-90 {\n transform: rotateZ(0deg);\n transition: transform 0.3s ease;\n}';
9
+ class Nav extends WJElement {
10
+ constructor() {
11
+ super(template);
12
+ __publicField(this, "className", "Nav");
13
+ this.store.define("nav", [], null);
14
+ this.active = 0;
15
+ this.store.subscribe("nav", (key, state, oldState) => {
16
+ this.data = state;
17
+ this.refresh();
18
+ });
19
+ }
20
+ static get cssStyleSheet() {
21
+ return styles;
22
+ }
23
+ static get observedAttributes() {
24
+ return ["show-collapsed-indicator", "collapsed", "last"];
25
+ }
26
+ setupAttributes() {
27
+ this.isShadowRoot = "open";
28
+ }
29
+ beforeDraw(context, store, params) {
30
+ this.store.dispatch(this.defaultStoreActions.loadAction("itemActions")(this.actions));
31
+ this.store.makeEveryArrayEntryAsStoreState("item", this.data, "id");
32
+ }
33
+ draw(context, store, params) {
34
+ let fragment = document.createDocumentFragment();
35
+ let div = document.createElement("div");
36
+ div.classList.add("nav", "nav-tabs", "nav-tabs-simple", "mb-3");
37
+ this.store.getState().nav.forEach((item) => {
38
+ let element = new NavItem({
39
+ data: item,
40
+ actions: this.jsonActions,
41
+ nav: this
42
+ });
43
+ div.appendChild(element);
44
+ });
45
+ fragment.appendChild(div);
46
+ return fragment;
47
+ }
48
+ afterDraw(context, store, params) {
49
+ this.shadowRoot.addEventListener("wj-nav-change", (e) => {
50
+ let nav = store.getState().nav.map((i) => {
51
+ i.id == e.detail.data.id ? i.active = true : i.active = false;
52
+ return i;
53
+ });
54
+ store.dispatch(this.defaultStoreActions.loadAction("nav")(nav));
55
+ });
56
+ }
57
+ }
58
+ window.customElements.define("wj-nav", Nav);
59
+ export {
60
+ Nav
61
+ };
@@ -0,0 +1,58 @@
1
+ var __defProp = Object.defineProperty;
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 "./wj-element.js";
8
+ const styles = "/*\n[ WJ Option ]\n*/\n:host {\n --wj-option-padding-top: .5rem;\n --wj-option-padding-bottom: .5rem;\n --wj-option-highlighted: var(--wj-color-contrast-3);\n display: block;\n}\n:host wj-icon {\n visibility: hidden;\n margin-inline: 0.5rem;\n}\n\n:host([selected]) wj-icon {\n visibility: visible;\n}\n\n.native-option {\n display: flex;\n align-items: center;\n padding-top: var(--wj-option-padding-top);\n padding-bottom: var(--wj-option-padding-bottom);\n}\n\n.native-option:hover {\n background-color: var(--wj-option-highlighted);\n}\n\n::slotted([slot=start]) {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n margin-inline-end: 0.5rem;\n}\n\n::slotted([slot=end]) {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n margin-inline: auto 0.5rem;\n}";
9
+ class Option extends WJElement {
10
+ constructor() {
11
+ super();
12
+ __publicField(this, "className", "Option");
13
+ }
14
+ set selected(value) {
15
+ return value ? this.setAttribute("selected", "") : this.removeAttribute("selected");
16
+ }
17
+ set value(value) {
18
+ this.setAttribute("value", value);
19
+ }
20
+ set text(value) {
21
+ this.innerText = value;
22
+ }
23
+ static get cssStyleSheet() {
24
+ return styles;
25
+ }
26
+ static get observedAttributes() {
27
+ return [];
28
+ }
29
+ setupAttributes() {
30
+ this.isShadowRoot = "open";
31
+ }
32
+ draw(context, store, params) {
33
+ let fragment = document.createDocumentFragment();
34
+ let element = document.createElement("div");
35
+ element.classList.add("native-option");
36
+ element.setAttribute("part", "native");
37
+ let icon = document.createElement("wj-icon");
38
+ icon.setAttribute("name", "check");
39
+ let start = document.createElement("slot");
40
+ start.setAttribute("name", "start");
41
+ let slot = document.createElement("slot");
42
+ let end = document.createElement("slot");
43
+ end.setAttribute("name", "end");
44
+ element.appendChild(icon);
45
+ element.appendChild(start);
46
+ element.appendChild(slot);
47
+ element.appendChild(end);
48
+ fragment.appendChild(element);
49
+ return fragment;
50
+ }
51
+ afterDraw() {
52
+ event.addListener(this, "click", "wj:option-change");
53
+ }
54
+ }
55
+ customElements.get("wj-option") || window.customElements.define("wj-option", Option);
56
+ export {
57
+ Option
58
+ };
@@ -0,0 +1,45 @@
1
+ var __defProp = Object.defineProperty;
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 "./wj-element.js";
8
+ class Options extends WJElement {
9
+ constructor() {
10
+ super();
11
+ __publicField(this, "className", "Options");
12
+ }
13
+ static get cssStyleSheet() {
14
+ return styles;
15
+ }
16
+ static get observedAttributes() {
17
+ return [];
18
+ }
19
+ setupAttributes() {
20
+ this.isShadowRoot = "open";
21
+ }
22
+ async beforeDraw() {
23
+ this.response = await this.getPages();
24
+ let fragment = document.createDocumentFragment();
25
+ this.response.forEach((item, index) => {
26
+ let option = document.createElement("wj-option");
27
+ option.setAttribute("value", item[this.itemValue] || item.value);
28
+ option.innerText = item[this.itemText] || item.text;
29
+ fragment.appendChild(option);
30
+ });
31
+ this.parentElement.appendChild(fragment);
32
+ event.dispatchCustomEvent(this, "wj:options-load", {});
33
+ }
34
+ async getPages(page) {
35
+ const response = await fetch(this.url);
36
+ if (!response.ok) {
37
+ throw new Error(`An error occurred: ${response.status}`);
38
+ }
39
+ return await response.json();
40
+ }
41
+ }
42
+ customElements.get("wj-options") || window.customElements.define("wj-options", Options);
43
+ export {
44
+ Options
45
+ };
package/dist/wj-popup.js CHANGED
@@ -5,7 +5,6 @@ var __publicField = (obj, key, value) => {
5
5
  return value;
6
6
  };
7
7
  import WJElement, { event } from "./wj-element.js";
8
- import "./wj-store.js";
9
8
  const min = Math.min;
10
9
  const max = Math.max;
11
10
  const round = Math.round;
@@ -254,7 +253,6 @@ const computePosition$1 = async (reference, floating, config) => {
254
253
  } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));
255
254
  }
256
255
  i = -1;
257
- continue;
258
256
  }
259
257
  }
260
258
  return {
@@ -308,6 +306,7 @@ async function detectOverflow(state, options) {
308
306
  y: 1
309
307
  };
310
308
  const elementClientRect = rectToClientRect(platform2.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform2.convertOffsetParentRelativeRectToViewportRelativeRect({
309
+ elements,
311
310
  rect,
312
311
  offsetParent,
313
312
  strategy
@@ -319,7 +318,7 @@ async function detectOverflow(state, options) {
319
318
  right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x
320
319
  };
321
320
  }
322
- const arrow = (options) => ({
321
+ const arrow$1 = (options) => ({
323
322
  name: "arrow",
324
323
  options,
325
324
  async fn(state) {
@@ -366,7 +365,7 @@ const arrow = (options) => ({
366
365
  const max2 = clientSize - arrowDimensions[length] - maxPadding;
367
366
  const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;
368
367
  const offset2 = clamp(min$1, center, max2);
369
- const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center != offset2 && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;
368
+ const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset2 && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;
370
369
  const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max2 : 0;
371
370
  return {
372
371
  [axis]: coords[axis] + alignmentOffset,
@@ -381,7 +380,7 @@ const arrow = (options) => ({
381
380
  };
382
381
  }
383
382
  });
384
- const flip = function(options) {
383
+ const flip$1 = function(options) {
385
384
  if (options === void 0) {
386
385
  options = {};
387
386
  }
@@ -521,20 +520,29 @@ const offset = function(options) {
521
520
  name: "offset",
522
521
  options,
523
522
  async fn(state) {
523
+ var _middlewareData$offse, _middlewareData$arrow;
524
524
  const {
525
525
  x,
526
- y
526
+ y,
527
+ placement,
528
+ middlewareData
527
529
  } = state;
528
530
  const diffCoords = await convertValueToCoords(state, options);
531
+ if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {
532
+ return {};
533
+ }
529
534
  return {
530
535
  x: x + diffCoords.x,
531
536
  y: y + diffCoords.y,
532
- data: diffCoords
537
+ data: {
538
+ ...diffCoords,
539
+ placement
540
+ }
533
541
  };
534
542
  }
535
543
  };
536
544
  };
537
- const size = function(options) {
545
+ const size$1 = function(options) {
538
546
  if (options === void 0) {
539
547
  options = {};
540
548
  }
@@ -618,7 +626,7 @@ function getNodeName(node) {
618
626
  }
619
627
  function getWindow(node) {
620
628
  var _node$ownerDocument;
621
- return (node == null ? void 0 : (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;
629
+ return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;
622
630
  }
623
631
  function getDocumentElement(node) {
624
632
  var _ref;
@@ -821,8 +829,9 @@ function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetPar
821
829
  if (domElement) {
822
830
  const win = getWindow(domElement);
823
831
  const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;
824
- let currentIFrame = win.frameElement;
825
- while (currentIFrame && offsetParent && offsetWin !== win) {
832
+ let currentWin = win;
833
+ let currentIFrame = currentWin.frameElement;
834
+ while (currentIFrame && offsetParent && offsetWin !== currentWin) {
826
835
  const iframeScale = getScale(currentIFrame);
827
836
  const iframeRect = currentIFrame.getBoundingClientRect();
828
837
  const css = getComputedStyle(currentIFrame);
@@ -834,7 +843,8 @@ function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetPar
834
843
  height *= iframeScale.y;
835
844
  x += left;
836
845
  y += top;
837
- currentIFrame = getWindow(currentIFrame).frameElement;
846
+ currentWin = getWindow(currentIFrame);
847
+ currentIFrame = currentWin.frameElement;
838
848
  }
839
849
  }
840
850
  return rectToClientRect({
@@ -844,15 +854,27 @@ function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetPar
844
854
  y
845
855
  });
846
856
  }
857
+ const topLayerSelectors = [":popover-open", ":modal"];
858
+ function isTopLayer(floating) {
859
+ return topLayerSelectors.some((selector) => {
860
+ try {
861
+ return floating.matches(selector);
862
+ } catch (e) {
863
+ return false;
864
+ }
865
+ });
866
+ }
847
867
  function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
848
868
  let {
869
+ elements,
849
870
  rect,
850
871
  offsetParent,
851
872
  strategy
852
873
  } = _ref;
853
- const isOffsetParentAnElement = isHTMLElement(offsetParent);
874
+ const isFixed = strategy === "fixed";
854
875
  const documentElement = getDocumentElement(offsetParent);
855
- if (offsetParent === documentElement) {
876
+ const topLayer = elements ? isTopLayer(elements.floating) : false;
877
+ if (offsetParent === documentElement || topLayer && isFixed) {
856
878
  return rect;
857
879
  }
858
880
  let scroll = {
@@ -861,7 +883,8 @@ function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
861
883
  };
862
884
  let scale = createCoords(1);
863
885
  const offsets = createCoords(0);
864
- if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== "fixed") {
886
+ const isOffsetParentAnElement = isHTMLElement(offsetParent);
887
+ if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
865
888
  if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) {
866
889
  scroll = getNodeScroll(offsetParent);
867
890
  }
@@ -1020,7 +1043,14 @@ function getClippingRect(_ref) {
1020
1043
  };
1021
1044
  }
1022
1045
  function getDimensions(element) {
1023
- return getCssDimensions(element);
1046
+ const {
1047
+ width,
1048
+ height
1049
+ } = getCssDimensions(element);
1050
+ return {
1051
+ width,
1052
+ height
1053
+ };
1024
1054
  }
1025
1055
  function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
1026
1056
  const isOffsetParentAnElement = isHTMLElement(offsetParent);
@@ -1044,9 +1074,11 @@ function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
1044
1074
  offsets.x = getWindowScrollBarX(documentElement);
1045
1075
  }
1046
1076
  }
1077
+ const x = rect.left + scroll.scrollLeft - offsets.x;
1078
+ const y = rect.top + scroll.scrollTop - offsets.y;
1047
1079
  return {
1048
- x: rect.left + scroll.scrollLeft - offsets.x,
1049
- y: rect.top + scroll.scrollTop - offsets.y,
1080
+ x,
1081
+ y,
1050
1082
  width: rect.width,
1051
1083
  height: rect.height
1052
1084
  };
@@ -1062,7 +1094,7 @@ function getTrueOffsetParent(element, polyfill) {
1062
1094
  }
1063
1095
  function getOffsetParent(element, polyfill) {
1064
1096
  const window2 = getWindow(element);
1065
- if (!isHTMLElement(element)) {
1097
+ if (!isHTMLElement(element) || isTopLayer(element)) {
1066
1098
  return window2;
1067
1099
  }
1068
1100
  let offsetParent = getTrueOffsetParent(element, polyfill);
@@ -1074,20 +1106,15 @@ function getOffsetParent(element, polyfill) {
1074
1106
  }
1075
1107
  return offsetParent || getContainingBlock(element) || window2;
1076
1108
  }
1077
- const getElementRects = async function(_ref) {
1078
- let {
1079
- reference,
1080
- floating,
1081
- strategy
1082
- } = _ref;
1109
+ const getElementRects = async function(data) {
1083
1110
  const getOffsetParentFn = this.getOffsetParent || getOffsetParent;
1084
1111
  const getDimensionsFn = this.getDimensions;
1085
1112
  return {
1086
- reference: getRectRelativeToOffsetParent(reference, await getOffsetParentFn(floating), strategy),
1113
+ reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),
1087
1114
  floating: {
1088
1115
  x: 0,
1089
1116
  y: 0,
1090
- ...await getDimensionsFn(floating)
1117
+ ...await getDimensionsFn(data.floating)
1091
1118
  }
1092
1119
  };
1093
1120
  };
@@ -1111,8 +1138,9 @@ function observeMove(element, onMove) {
1111
1138
  let timeoutId;
1112
1139
  const root = getDocumentElement(element);
1113
1140
  function cleanup() {
1141
+ var _io;
1114
1142
  clearTimeout(timeoutId);
1115
- io && io.disconnect();
1143
+ (_io = io) == null || _io.disconnect();
1116
1144
  io = null;
1117
1145
  }
1118
1146
  function refresh(skip, threshold) {
@@ -1204,7 +1232,8 @@ function autoUpdate(reference, floating, update, options) {
1204
1232
  resizeObserver.unobserve(floating);
1205
1233
  cancelAnimationFrame(reobserveFrame);
1206
1234
  reobserveFrame = requestAnimationFrame(() => {
1207
- resizeObserver && resizeObserver.observe(floating);
1235
+ var _resizeObserver;
1236
+ (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);
1208
1237
  });
1209
1238
  }
1210
1239
  update();
@@ -1229,18 +1258,22 @@ function autoUpdate(reference, floating, update, options) {
1229
1258
  }
1230
1259
  update();
1231
1260
  return () => {
1261
+ var _resizeObserver2;
1232
1262
  ancestors.forEach((ancestor) => {
1233
1263
  ancestorScroll && ancestor.removeEventListener("scroll", update);
1234
1264
  ancestorResize && ancestor.removeEventListener("resize", update);
1235
1265
  });
1236
- cleanupIo && cleanupIo();
1237
- resizeObserver && resizeObserver.disconnect();
1266
+ cleanupIo == null || cleanupIo();
1267
+ (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();
1238
1268
  resizeObserver = null;
1239
1269
  if (animationFrame) {
1240
1270
  cancelAnimationFrame(frameId);
1241
1271
  }
1242
1272
  };
1243
1273
  }
1274
+ const flip = flip$1;
1275
+ const size = size$1;
1276
+ const arrow = arrow$1;
1244
1277
  const computePosition = (reference, floating, options) => {
1245
1278
  const cache = /* @__PURE__ */ new Map();
1246
1279
  const mergedOptions = {
@@ -5,7 +5,6 @@ var __publicField = (obj, key, value) => {
5
5
  return value;
6
6
  };
7
7
  import WJElement from "./wj-element.js";
8
- import "./wj-store.js";
9
8
  const styles = "/*\n[ WJ Progress bar ]\n*/\n:host(.wj-color-primary) #bar {\n --wj-progress-bar-color: var(--wj-color-primary);\n}\n\n:host(.wj-color-complete) #bar {\n --wj-progress-bar-color: var(--wj-color-complete);\n}\n\n:host(.wj-color-success) #bar {\n --wj-progress-bar-color: var(--wj-color-success);\n}\n\n:host(.wj-color-warning) #bar {\n --wj-progress-bar-color: var(--wj-color-warning);\n}\n\n:host(.wj-color-danger) #bar {\n --wj-progress-bar-color: var(--wj-color-danger);\n}\n\n:host(.wj-color-dark) #bar {\n --wj-progress-bar-color: var(--wj-color-contrast-0);\n}\n\n:host(.wj-color-light) #bar {\n --wj-progress-bar-color: var(--wj-color-contrast-11);\n}\n\n:host {\n --wj-progress-bar-color: var(--wj-color-contrast-6);\n --wj-progress-bar-text-size: .75rem;\n --wj-progress-bar-text-color: var(--wj-color);\n}\n:host .progress {\n position: relative;\n display: flex;\n align-items: center;\n}\n:host .slot-wrapper {\n display: flex;\n position: absolute;\n top: 0;\n align-items: center;\n width: 100%;\n height: 100%;\n justify-content: center;\n}\n:host #bar {\n stroke: var(--wj-progress-bar-color);\n}\n:host text {\n transform: rotate(90deg);\n transform-origin: center;\n text-anchor: middle;\n dominant-baseline: middle;\n font-size: var(--wj-progress-bar-text-size);\n fill: var(--wj-progress-bar-text-color);\n}\n\n:host(.wj-color) #bar {\n stroke: var(--wj-progress-bar-color);\n}\n\n::slotted([slot=start]) {\n margin-inline: 0 1rem;\n}\n\n::slotted([slot=end]) {\n margin-inline: 1rem 0;\n}";
10
9
  class ProgressBar extends WJElement {
11
10
  constructor() {
@@ -6,7 +6,6 @@ var __publicField = (obj, key, value) => {
6
6
  };
7
7
  import WJElement from "./wj-element.js";
8
8
  import { Radio } from "./wj-radio.js";
9
- import "./wj-store.js";
10
9
  const styles = "/*\n[ WJ Radio Group ]\n*/\n.wj-inline {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n gap: 0.5rem;\n}";
11
10
  class RadioGroup extends WJElement {
12
11
  constructor() {
package/dist/wj-radio.js CHANGED
@@ -5,7 +5,6 @@ var __publicField = (obj, key, value) => {
5
5
  return value;
6
6
  };
7
7
  import WJElement, { event } from "./wj-element.js";
8
- import "./wj-store.js";
9
8
  const styles = '/*\n[ WJ Radio ]\n*/\n:host {\n --wj-radio-margin-top: 0;\n --wj-radio-margin-bottom: .5rem;\n --wj-radio-margin-inline: 0;\n display: block;\n margin-top: var(--wj-radio-margin-top);\n margin-bottom: var(--wj-radio-margin-bottom);\n margin-inline: var(--wj-radio-margin-inline);\n line-height: 100%;\n padding-left: 0;\n}\n:host label {\n display: inline-flex;\n cursor: pointer;\n position: relative;\n padding-left: 1.5rem;\n min-width: 16px;\n min-height: 16px;\n margin-bottom: 0;\n -webkit-touch-callout: none; /* iOS Safari */\n -webkit-user-select: none; /* Safari */\n -moz-user-select: none; /* Old versions of Firefox */\n -ms-user-select: none; /* Internet Explorer/Edge */\n user-select: none; /* Non-prefixed version, currently supported by Chrome, Opera and Firefox */\n align-items: center;\n}\n:host label:before {\n content: "";\n position: absolute;\n width: 16px;\n height: 16px;\n left: 0;\n -webkit-box-sizing: inherit;\n box-sizing: border-box;\n background-color: var(--wj-color-contrast-1);\n border: 1px solid var(--wj-color-contrast-4);\n}\n\n.native-radio input[type=radio] + label:before {\n border-radius: var(--wj-border-radius-circle);\n transition: border 0.3s 0s cubic-bezier(0.455, 0.03, 0.215, 1.33);\n}\n.native-radio input[type=radio]:checked + label:before {\n border-color: var(--wj-color-contrast-6);\n border-width: 5px;\n}\n.native-radio input[type=radio]:focus + label {\n color: var(--wj-color);\n}\n.native-radio input[type=radio]:focus + label:before {\n outline: none !important;\n box-shadow: 0 0 0 0 #78c8fe;\n}\n.native-radio input[type=radio] {\n opacity: 0;\n position: absolute;\n top: 3px;\n width: 16px;\n height: 16px;\n}\n.native-radio input[type=radio][disabled] + label {\n cursor: not-allowed !important;\n color: var(--wj-color-contrast-9);\n opacity: 0.5;\n}\n.native-radio input[type=radio][disabled] + label:before {\n cursor: not-allowed !important;\n}\n\n.success input[type=radio]:checked + label:before {\n border-color: var(--wj-color-success);\n}\n.primary input[type=radio]:checked + label:before {\n border-color: var(--wj-color-primary);\n}\n.complete input[type=radio]:checked + label:before {\n border-color: var(--wj-color-complete);\n}\n.warning input[type=radio]:checked + label:before {\n border-color: var(--wj-color-warning);\n}\n.danger input[type=radio]:checked + label:before {\n border-color: var(--wj-color-danger);\n}\n.neutral input[type=radio]:checked + label:before {\n border-color: var(--wj-color-info);\n}';
10
9
  class Radio extends WJElement {
11
10
  constructor() {
package/dist/wj-rate.js CHANGED
@@ -5,7 +5,6 @@ var __publicField = (obj, key, value) => {
5
5
  return value;
6
6
  };
7
7
  import WJElement from "./wj-element.js";
8
- import "./wj-store.js";
9
8
  const styles = "/*\n[ WJ Rate ]\n*/\n:host {\n display: flex;\n}\n\n.native-rate {\n position: relative;\n display: flex;\n gap: var(--wj-rate-gap, 0.25rem);\n}\n\n.wj-rate-icon {\n position: relative;\n cursor: pointer;\n}\n\n.selected {\n color: var(--wj-color-danger);\n}\n\n:host(:not([readonly])) .wj-rate-icon:hover {\n transform: scale(1.2);\n}\n\n.half wj-icon:first-child {\n color: white;\n}\n\n.half wj-icon:last-child {\n color: currentColor;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n:host([disabled]) .native-rate {\n pointer-events: none;\n opacity: 0.5;\n}";
10
9
  class Rate extends WJElement {
11
10
  constructor() {
@@ -5,8 +5,7 @@ var __publicField = (obj, key, value) => {
5
5
  return value;
6
6
  };
7
7
  import WJElement from "./wj-element.js";
8
- import { L as Localizer } from "./localize-20081fd1.js";
9
- import "./wj-store.js";
8
+ import { L as Localizer } from "./localize-DSOailh_.js";
10
9
  const styles = "/*\n[ WJ Avatar ]\n*/";
11
10
  class RelativeTime extends WJElement {
12
11
  constructor() {
package/dist/wj-route.js CHANGED
@@ -5,7 +5,6 @@ var __publicField = (obj, key, value) => {
5
5
  return value;
6
6
  };
7
7
  import WJElement from "./wj-element.js";
8
- import "./wj-store.js";
9
8
  class Route extends WJElement {
10
9
  constructor() {
11
10
  super();
@@ -5,8 +5,7 @@ var __publicField = (obj, key, value) => {
5
5
  return value;
6
6
  };
7
7
  import WJElement from "./wj-element.js";
8
- import { b as bindRouterLinks } from "./router-links-26e4a166.js";
9
- import "./wj-store.js";
8
+ import { b as bindRouterLinks } from "./router-links-F7MJWhZi.js";
10
9
  const styles = "/*\n[ WJ Router Link ]\n*/\n:host {\n display: block;\n background: transparent !important;\n}\n\n:host(.active) {\n cursor: pointer;\n font-weight: bold;\n}";
11
10
  class RouterLink extends WJElement {
12
11
  constructor() {
@@ -1,5 +1,4 @@
1
1
  import "./wj-element.js";
2
- import "./wj-store.js";
3
2
  class AnimationHook {
4
3
  constructor(options = {}) {
5
4
  this.options = options;
@@ -5,8 +5,7 @@ var __publicField = (obj, key, value) => {
5
5
  return value;
6
6
  };
7
7
  import WJElement from "./wj-element.js";
8
- import { r as routerLinks } from "./router-links-26e4a166.js";
9
- import "./wj-store.js";
8
+ import { r as routerLinks } from "./router-links-F7MJWhZi.js";
10
9
  var DEFAULT_DELIMITER = "/";
11
10
  function balanced(open, close, str, index) {
12
11
  var count = 0;
package/dist/wj-row.js CHANGED
@@ -5,7 +5,6 @@ var __publicField = (obj, key, value) => {
5
5
  return value;
6
6
  };
7
7
  import WJElement from "./wj-element.js";
8
- import "./wj-store.js";
9
8
  const styles = "/*!\n* direction.scss\n*/\n/* Skeleton Variables */\n/*\n[ Row ]\n*/\n:host {\n display: flex;\n flex-wrap: wrap;\n}\n:host(.wj-wrap) {\n flex-wrap: wrap !important;\n}\n:host {\n --wj-gutter-x: 1.5rem;\n --wj-gutter-y: 0;\n display: flex;\n flex-wrap: nowrap;\n margin-top: calc(var(--wj-gutter-y) * -1);\n margin-right: calc(var(--wj-gutter-x) * -0.5);\n margin-left: calc(var(--wj-gutter-x) * -0.5);\n}\n:host(.g-0),\n:host(.gx-0) {\n --wj-gutter-x: 0;\n}\n:host(.g-0),\n:host(.gy-0) {\n --wj-gutter-y: 0;\n}\n:host(.g-1),\n:host(.gx-1) {\n --wj-gutter-x: 0.25rem;\n}\n:host(.g-1),\n:host(.gy-1) {\n --wj-gutter-y: 0.25rem;\n}\n:host(.g-2),\n:host(.gx-2) {\n --wj-gutter-x: 0.5rem;\n}\n:host(.g-2),\n:host(.gy-2) {\n --wj-gutter-y: 0.5rem;\n}\n:host(.g-3),\n:host(.gx-3) {\n --wj-gutter-x: 1rem;\n}\n:host(.g-3),\n:host(.gy-3) {\n --wj-gutter-y: 1rem;\n}\n:host(.g-4),\n:host(.gx-4) {\n --wj-gutter-x: 1.5rem;\n}\n:host(.g-4),\n:host(.gy-4) {\n --wj-gutter-y: 1.5rem;\n}\n:host(.g-5),\n:host(.gx-5) {\n --wj-gutter-x: 3rem;\n}\n:host(.g-5),\n:host(.gy-5) {\n --wj-gutter-y: 3rem;\n}\n@media (min-width: 576px) {\n :host(.g-sm-0),\n :host(.gx-sm-0) {\n --wj-gutter-x: 0;\n }\n :host(.g-sm-0),\n :host(.gy-sm-0) {\n --wj-gutter-y: 0;\n }\n :host(.g-sm-1),\n :host(.gx-sm-1) {\n --wj-gutter-x: 0.25rem;\n }\n :host(.g-sm-1),\n :host(.gy-sm-1) {\n --wj-gutter-y: 0.25rem;\n }\n :host(.g-sm-2),\n :host(.gx-sm-2) {\n --wj-gutter-x: 0.5rem;\n }\n :host(.g-sm-2),\n :host(.gy-sm-2) {\n --wj-gutter-y: 0.5rem;\n }\n :host(.g-sm-3),\n :host(.gx-sm-3) {\n --wj-gutter-x: 1rem;\n }\n :host(.g-sm-3),\n :host(.gy-sm-3) {\n --wj-gutter-y: 1rem;\n }\n :host(.g-sm-4),\n :host(.gx-sm-4) {\n --wj-gutter-x: 1.5rem;\n }\n :host(.g-sm-4),\n :host(.gy-sm-4) {\n --wj-gutter-y: 1.5rem;\n }\n :host(.g-sm-5),\n :host(.gx-sm-5) {\n --wj-gutter-x: 3rem;\n }\n :host(.g-sm-5),\n :host(.gy-sm-5) {\n --wj-gutter-y: 3rem;\n }\n}\n@media (min-width: 768px) {\n :host(.g-md-0),\n :host(.gx-md-0) {\n --wj-gutter-x: 0;\n }\n :host(.g-md-0),\n :host(.gy-md-0) {\n --wj-gutter-y: 0;\n }\n :host(.g-md-1),\n :host(.gx-md-1) {\n --wj-gutter-x: 0.25rem;\n }\n :host(.g-md-1),\n :host(.gy-md-1) {\n --wj-gutter-y: 0.25rem;\n }\n :host(.g-md-2),\n :host(.gx-md-2) {\n --wj-gutter-x: 0.5rem;\n }\n :host(.g-md-2),\n :host(.gy-md-2) {\n --wj-gutter-y: 0.5rem;\n }\n :host(.g-md-3),\n :host(.gx-md-3) {\n --wj-gutter-x: 1rem;\n }\n :host(.g-md-3),\n :host(.gy-md-3) {\n --wj-gutter-y: 1rem;\n }\n :host(.g-md-4),\n :host(.gx-md-4) {\n --wj-gutter-x: 1.5rem;\n }\n :host(.g-md-4),\n :host(.gy-md-4) {\n --wj-gutter-y: 1.5rem;\n }\n :host(.g-md-5),\n :host(.gx-md-5) {\n --wj-gutter-x: 3rem;\n }\n :host(.g-md-5),\n :host(.gy-md-5) {\n --wj-gutter-y: 3rem;\n }\n}\n@media (min-width: 992px) {\n :host(.g-lg-0),\n :host(.gx-lg-0) {\n --wj-gutter-x: 0;\n }\n :host(.g-lg-0),\n :host(.gy-lg-0) {\n --wj-gutter-y: 0;\n }\n :host(.g-lg-1),\n :host(.gx-lg-1) {\n --wj-gutter-x: 0.25rem;\n }\n :host(.g-lg-1),\n :host(.gy-lg-1) {\n --wj-gutter-y: 0.25rem;\n }\n :host(.g-lg-2),\n :host(.gx-lg-2) {\n --wj-gutter-x: 0.5rem;\n }\n :host(.g-lg-2),\n :host(.gy-lg-2) {\n --wj-gutter-y: 0.5rem;\n }\n :host(.g-lg-3),\n :host(.gx-lg-3) {\n --wj-gutter-x: 1rem;\n }\n :host(.g-lg-3),\n :host(.gy-lg-3) {\n --wj-gutter-y: 1rem;\n }\n :host(.g-lg-4),\n :host(.gx-lg-4) {\n --wj-gutter-x: 1.5rem;\n }\n :host(.g-lg-4),\n :host(.gy-lg-4) {\n --wj-gutter-y: 1.5rem;\n }\n :host(.g-lg-5),\n :host(.gx-lg-5) {\n --wj-gutter-x: 3rem;\n }\n :host(.g-lg-5),\n :host(.gy-lg-5) {\n --wj-gutter-y: 3rem;\n }\n}\n@media (min-width: 1200px) {\n :host(.g-xl-0),\n :host(.gx-xl-0) {\n --wj-gutter-x: 0;\n }\n :host(.g-xl-0),\n :host(.gy-xl-0) {\n --wj-gutter-y: 0;\n }\n :host(.g-xl-1),\n :host(.gx-xl-1) {\n --wj-gutter-x: 0.25rem;\n }\n :host(.g-xl-1),\n :host(.gy-xl-1) {\n --wj-gutter-y: 0.25rem;\n }\n :host(.g-xl-2),\n :host(.gx-xl-2) {\n --wj-gutter-x: 0.5rem;\n }\n :host(.g-xl-2),\n :host(.gy-xl-2) {\n --wj-gutter-y: 0.5rem;\n }\n :host(.g-xl-3),\n :host(.gx-xl-3) {\n --wj-gutter-x: 1rem;\n }\n :host(.g-xl-3),\n :host(.gy-xl-3) {\n --wj-gutter-y: 1rem;\n }\n :host(.g-xl-4),\n :host(.gx-xl-4) {\n --wj-gutter-x: 1.5rem;\n }\n :host(.g-xl-4),\n :host(.gy-xl-4) {\n --wj-gutter-y: 1.5rem;\n }\n :host(.g-xl-5),\n :host(.gx-xl-5) {\n --wj-gutter-x: 3rem;\n }\n :host(.g-xl-5),\n :host(.gy-xl-5) {\n --wj-gutter-y: 3rem;\n }\n}\n@media (min-width: 1400px) {\n :host(.g-xxl-0),\n :host(.gx-xxl-0) {\n --wj-gutter-x: 0;\n }\n :host(.g-xxl-0),\n :host(.gy-xxl-0) {\n --wj-gutter-y: 0;\n }\n :host(.g-xxl-1),\n :host(.gx-xxl-1) {\n --wj-gutter-x: 0.25rem;\n }\n :host(.g-xxl-1),\n :host(.gy-xxl-1) {\n --wj-gutter-y: 0.25rem;\n }\n :host(.g-xxl-2),\n :host(.gx-xxl-2) {\n --wj-gutter-x: 0.5rem;\n }\n :host(.g-xxl-2),\n :host(.gy-xxl-2) {\n --wj-gutter-y: 0.5rem;\n }\n :host(.g-xxl-3),\n :host(.gx-xxl-3) {\n --wj-gutter-x: 1rem;\n }\n :host(.g-xxl-3),\n :host(.gy-xxl-3) {\n --wj-gutter-y: 1rem;\n }\n :host(.g-xxl-4),\n :host(.gx-xxl-4) {\n --wj-gutter-x: 1.5rem;\n }\n :host(.g-xxl-4),\n :host(.gy-xxl-4) {\n --wj-gutter-y: 1.5rem;\n }\n :host(.g-xxl-5),\n :host(.gx-xxl-5) {\n --wj-gutter-x: 3rem;\n }\n :host(.g-xxl-5),\n :host(.gy-xxl-5) {\n --wj-gutter-y: 3rem;\n }\n}\n:host(.wj-justify-content-center) {\n justify-content: center !important;\n}\n:host(.wj-justify-content-end) {\n justify-content: flex-end !important;\n}\n:host(.wj-justify-content-between) {\n justify-content: space-between !important;\n}\n:host(.wj-justify-content-around) {\n justify-content: space-around !important;\n}\n:host(.wj-align-items-start) {\n align-items: baseline !important;\n}\n:host(.wj-align-items-center) {\n align-items: center !important;\n}\n:host(.wj-align-items-end) {\n align-items: flex-end !important;\n}";
10
9
  class Row extends WJElement {
11
10
  constructor() {